Changeset 28033 in project


Ignore:
Timestamp:
01/04/13 07:56:09 (7 years ago)
Author:
Ivan Raikov
Message:

nemo: added several variants of membrane potential equation

Location:
release/4/nemo/trunk
Files:
2 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • release/4/nemo/trunk/nemo-matlab.scm

    r28024 r28033  
    785785             (i-gates       (lookup-def 'i-gates gate-complex-info))
    786786
    787              (capcomp       (any (match-lambda ((name 'membrane-capacitance id) (list name id)) (else #f)) components))
    788              (mcap          (and capcomp (car ((dis 'component-exports) sys (cid capcomp)))))
     787             (comprc         (any (match-lambda ((name 'membrane-tau id) (list name id)) (else #f)) components))
     788             (mrc            (and comprc (car ((dis 'component-exports) sys (cid comprc)))))
    789789               
    790              (rcomp           (any (match-lambda ((name 'membrane-resistance id) (list name id)) (else #f)) components))
    791              (mres            (and rcomp (car ((dis 'component-exports) sys (cid rcomp)))))
    792                
    793              (rarea           (any (match-lambda ((name 'membrane-area id) (list name id)) (else #f)) components))
    794              (marea           (and rarea (car ((dis 'component-exports) sys (cid rarea)))))
    795                
    796 
     790             (areacomp        (any (match-lambda ((name 'membrane-area id) (list name id)) (else #f)) components))
     791             (marea           (and areacomp (car ((dis 'component-exports) sys (cid areacomp)))))
    797792
    798793             (i-eqs (filter-map
     
    956951
    957952
    958              (v-eq    (cond ((and mcap mres marea (member 'v globals) (not (null? i-names)))
    959                              (list 'v (rhsexpr/MATLAB `(/ (* (neg ,(sum i-names)) ,marea) (* 2. ,mres ,mcap)))))
    960                             ((and marea (member 'v globals) (not (null? i-names)))
    961                              (list 'v (rhsexpr/MATLAB `(* (neg ,(sum i-names)) ,marea))))
    962                             ((and (member 'v globals) (not (null? i-names)))
    963                              (list 'v (rhsexpr/MATLAB `(neg ,(sum i-names)))))
    964                             (else #f)))
    965 
     953             (v-eq    (and (member 'v globals) (not (null? i-names))
     954                           (cond ((and mrc marea)
     955                                  (list 'v (rhsexpr/MATLAB `(/ (* (neg ,(sum i-names)) ,marea) ,mrc))))
     956                                 (marea
     957                                  (list 'v (rhsexpr/MATLAB `(* (neg ,(sum i-names)) ,marea))))
     958                                 (mrc
     959                                  (list 'v (rhsexpr/MATLAB `(/ (neg ,(sum i-names)) ,mrc))))
     960                                 (else
     961                                  (list 'v (rhsexpr/MATLAB `(neg ,(sum i-names)))))
     962                                 )))
    966963             
    967964             (state-index-map  (let ((acc (fold (lambda (def ax)
  • release/4/nemo/trunk/nemo-nest.scm

    r28028 r28033  
    21082108             (i-gates         (lookup-def 'i-gates gate-complex-info))
    21092109
    2110              (capcomp         (any (match-lambda ((name 'membrane-capacitance id) (list name id)) (else #f)) components))
    2111              (mcap            (and capcomp (car ((dis 'component-exports) sys (cid capcomp)))))
     2110             (comprc         (any (match-lambda ((name 'membrane-tau id) (list name id)) (else #f)) components))
     2111             (mrc            (and comprc (car ((dis 'component-exports) sys (cid comprc)))))
    21122112               
    2113              (rcomp           (any (match-lambda ((name 'membrane-resistance id) (list name id)) (else #f)) components))
    2114              (mres            (and rcomp (car ((dis 'component-exports) sys (cid rcomp)))))
    2115                
    2116              (rarea           (any (match-lambda ((name 'membrane-area id) (list name id)) (else #f)) components))
    2117              (marea           (and rarea (car ((dis 'component-exports) sys (cid rarea)))))
     2113             (areacomp        (any (match-lambda ((name 'membrane-area id) (list name id)) (else #f)) components))
     2114             (marea           (and areacomp (car ((dis 'component-exports) sys (cid areacomp)))))
    21182115               
    21192116             (i-eqs (filter-map
     
    22732270                                                       (* (neg ,(sum i-names)) ,marea)))))
    22742271                            (else (list 'v 0.0))))
     2272
     2273             (v-eq    (and (member 'v globals) (not (null? i-names))
     2274                           (let ((istim "(node.B_.I_stim_)" ))
     2275                             (cond ((and mrc marea)
     2276                                    (list 'v (rhsexpr/C++ `(/ (+ ,istim (* (neg ,(sum i-names)) ,marea)) ,mrc))))
     2277                                   (marea
     2278                                    (list 'v (rhsexpr/C++ `(+ istim (* (neg ,(sum i-names)) ,marea)))))
     2279                                   (mrc
     2280                                    (list 'v (rhsexpr/C++ `(/ (+ istim (neg ,(sum i-names))) ,mrc))))
     2281                                   (else
     2282                                    (list 'v (rhsexpr/C++ `(+istim (neg ,(sum i-names))))))
     2283                                   ))))
    22752284
    22762285             
  • release/4/nemo/trunk/nemo.setup

    r28020 r28033  
    44  (make-pathname #f fn ##sys#load-dynamic-extension))   
    55
    6 (define nemo-version 8.0)
     6(define nemo-version 8.1)
    77
    88(use make)
Note: See TracChangeset for help on using the changeset viewer.