source: project/release/3/oru/examples/dsb94.scm @ 11412

Last change on this file since 11412 was 11412, checked in by Ivan Raikov, 13 years ago

Repository synchronized.

File size: 2.6 KB
Line 
1;;  -*- Hen -*-
2
3
4(require-extension oru-macros)
5(require-extension oru-nmodl)
6(require-extension oru-hh)
7
8(define dsb94
9  (oru-model dsb94
10      ((input v ca)
11       
12       (const Vrest = -68)
13
14       (defun linoid (A B v d)  (/ A (+ 1 (exp (/ (- v d) B)))))
15       (defun invexp (A B v d)  (/ A (exp (/ (- v d) B))))
16       
17       (component (type ion-channel) ;; KC current
18
19         (component (type gate)
20                 
21            ;; rate functions
22            (defun KC_bmf (v)   (invexp  0.11 14.9 v 35))
23            (const KC_amf = 7.5)
24           
25            (defun KC_ahf (ca)  (/ 4.0 (* 1000.0 ca)))
26
27            (hh-ionic-conductance 
28             (KC  ;; ion name: exported variables will be of the form {ion}_{id}
29              (initial-m (/ KC_amf (+ KC_amf (KC_bmf Vrest))) ) 
30              (initial-h (/ 1.0 (+ 1 (KC_ahf ca))))
31              (m-power   1)
32              (h-power   2)
33              (m-alpha   KC_amf)
34              (m-beta    (KC_bmf v))
35              (h-inf     (/ 1.0 (+ 1 (KC_ahf ca))))
36              (h-tau     10.0)))
37
38            ;; state definitions exported by this component: KA_m KA_h
39            )
40
41         (component (type pore)
42            (const  gbar_KC  = 0.08)
43            (output gbar_KC ))
44
45         (component (type permeating-substance) (name k)
46           (const e_KC = -85)
47           (output e_KC ))
48
49       )
50
51       
52       (component (type ion-channel) ;; KA current
53
54         (component (type gate)
55                 
56            ;; rate functions
57            (defun KA_amf (v)   (linoid  1.4 -12 v -27))
58            (defun KA_bmf (v)   (linoid  0.49  4 v -30))
59            (defun KA_ahf (v)   (linoid  0.0175  8 v -50))
60            (defun KA_bhf (v)   (linoid  1.3 -10 v -13))
61           
62            (hh-ionic-conductance 
63             (KA  ;; ion name: exported variables will be of the form {ion}_{id}
64              (initial-m (/ (KA_amf Vrest) (+ (KA_amf Vrest) (KA_bmf Vrest))) ) 
65              (initial-h (/ (KA_ahf Vrest) (+ (KA_ahf Vrest) (KA_bhf Vrest))) )
66              (m-power   4)
67              (h-power   1)
68              (m-alpha   (KA_amf v))
69              (h-alpha   (KA_ahf v))
70              (m-beta    (KA_bmf v))
71              (h-beta    (KA_bhf v))))
72
73            ;; state definitions exported by this component: KA_m KA_h
74            )
75
76         (component (type pore)
77            (const  gbar_KA  = 0.015)
78            (output gbar_KA )
79            )
80
81         (component (type permeating-substance) (name k)
82           (const e_KA = -85)
83           (output e_KA)
84           )
85
86
87       ))
88
89      (let ((dsb94-1 (oru:hh-transformer dsb94))) 
90        (print "dependency graph: " ((oru 'depgraph*) dsb94-1))
91        (print "exports: " ((oru 'exports) dsb94-1))
92        (print "imports: " ((oru 'imports) dsb94-1))
93        (for-each (lambda (x) 
94                    (print "component " x ": " ((oru 'component-exports) dsb94-1 (second x)))
95                    (print "component " x " subcomponents: " ((oru 'component-subcomps) dsb94-1 (second x))))
96                  ((oru 'components) dsb94-1))
97        (oru:nmodl-translator dsb94-1)
98       
99        ))
100  )
Note: See TracBrowser for help on using the repository browser.