Changeset 28033 in project for release/4/nemo/trunk/nemo-matlab.scm


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

nemo: added several variants of membrane potential equation

File:
1 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)
Note: See TracChangeset for help on using the changeset viewer.