static void nrn_state(_NrnThread* _nt, _Memb_list* _ml, int _type){ double _break, _save; Node *_nd; double _v; int* _ni; int _iml, _cntml; #if CACHEVEC _ni = _ml->_nodeindices; #endif _cntml = _ml->_nodecount; for (_iml = 0; _iml < _cntml; ++_iml) { _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml]; _nd = _ml->_nodelist[_iml]; #if CACHEVEC if (use_cachevec) { _v = VEC_V(_ni[_iml]); }else #endif { _nd = _ml->_nodelist[_iml]; _v = NODEV(_nd); } _break = t + .5*dt; _save = t; v=_v; { ek = _ion_ek; { { for (; t < _break; t += dt) { error = states(); if(error){fprintf(stderr,"at line 76 in file kht.mod:\n \n"); nrn_complain(_p); abort_run(error);} }} t = _save; } }} }
static int state (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {int _reset=0; int error = 0; { double* _savstate1 = _thread[_dith1]._pval; double* _dlist2 = _thread[_dith1]._pval + 1; int _counte = -1; if (!_recurse) { _recurse = 1; {int _id; for(_id=0; _id < 1; _id++) { _savstate1[_id] = _p[_slist1[_id]];}} error = nrn_newton_thread(_newtonspace1, 1,_slist2, _p, state, _dlist2, _ppvar, _thread, _nt); _recurse = 0; if(error) {abort_run(error);}} { Dcai = ( - beta * ica ) - ( phi * ( cai - caiBase ) ) ; {int _id; for(_id=0; _id < 1; _id++) { if (_deriv1_advance) { _dlist2[++_counte] = _p[_dlist1[_id]] - (_p[_slist1[_id]] - _savstate1[_id])/dt; }else{ _dlist2[++_counte] = _p[_slist1[_id]] - _savstate1[_id];}}} } } return _reset;}
static int state (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {int _reset=0; int error = 0; { double* _savstate1 = _thread[_dith1]._pval; double* _dlist2 = _thread[_dith1]._pval + 2; int _counte = -1; if (!_recurse) { _recurse = 1; {int _id; for(_id=0; _id < 2; _id++) { _savstate1[_id] = _p[_slist1[_id]];}} error = nrn_newton_thread(_newtonspace1, 2,_slist2, _p, state, _dlist2, _ppvar, _thread, _nt); _recurse = 0; if(error) {abort_run(error);}} { Dko = ( 1e8 ) * ik / ( fhspace * FARADAY ) + ( kbath - ko ) / txfer ; Dnai = - ( 1e8 ) * ina / ( inspace * FARADAY ) + ( narest - nai ) / naxfer ; {int _id; for(_id=0; _id < 2; _id++) { if (_deriv1_advance) { _dlist2[++_counte] = _p[_dlist1[_id]] - (_p[_slist1[_id]] - _savstate1[_id])/dt; }else{ _dlist2[++_counte] = _p[_slist1[_id]] - _savstate1[_id];}}} } } return _reset;}
static int states (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {int _reset=0; int error = 0; { double* _savstate1 = _thread[_dith1]._pval; double* _dlist2 = _thread[_dith1]._pval + 2; int _counte = -1; if (!_recurse) { _recurse = 1; {int _id; for(_id=0; _id < 2; _id++) { _savstate1[_id] = _p[_slist1[_id]];}} error = nrn_newton_thread(_newtonspace1, 2,_slist2, _p, states, _dlist2, _ppvar, _thread, _nt); _recurse = 0; if(error) {abort_run(error);}} { rates ( _threadargscomma_ v ) ; Dm = ( minf - m ) / mtau ; Dn = ( ninf - n ) / ntau ; {int _id; for(_id=0; _id < 2; _id++) { if (_deriv1_advance) { _dlist2[++_counte] = _p[_dlist1[_id]] - (_p[_slist1[_id]] - _savstate1[_id])/dt; }else{ _dlist2[++_counte] = _p[_slist1[_id]] - _savstate1[_id];}}} } } return _reset;}
static int state () {_reset=0; { static int _recurse = 0; int _counte = -1; if (!_recurse) { _recurse = 1; {int _id; for(_id=0; _id < 1; _id++) { _savstate1[_id] = _p[_slist1[_id]];}} error = newton(1,_slist2, _p, state, _dlist2); _recurse = 0; if(error) {abort_run(error);}} { drive_channel = - 0.002 * ica ; if ( drive_channel <= 0. ) { drive_channel = 0. ; } Dcai = drive_channel - cai * ctau ; {int _id; for(_id=0; _id < 1; _id++) { if (_deriv1_advance) { _dlist2[++_counte] = _p[_dlist1[_id]] - (_p[_slist1[_id]] - _savstate1[_id])/dt; }else{ _dlist2[++_counte] = _p[_slist1[_id]] - _savstate1[_id];}}} } } return _reset;}
static int state (double* _p, Datum* _ppvar, Datum* _thread, _NrnThread* _nt) {int _reset=0; int error = 0; { double* _savstate1 = _thread[_dith1]._pval; double* _dlist2 = _thread[_dith1]._pval + 1; int _counte = -1; if (!_recurse) { _recurse = 1; {int _id; for(_id=0; _id < 1; _id++) { _savstate1[_id] = _p[_slist1[_id]];}} error = nrn_newton_thread(_newtonspace1, 1,_slist2, _p, state, _dlist2, _ppvar, _thread, _nt); _recurse = 0; if(error) {abort_run(error);}} { drive_channel = - ( 10000.0 ) * ica / ( 2.0 * FARADAY * depth ) ; if ( drive_channel <= 0. ) { drive_channel = 0. ; } Dca = drive_channel / 18.0 + ( cainf - ca ) / taur * 7.0 ; cai = ca ; {int _id; for(_id=0; _id < 1; _id++) { if (_deriv1_advance) { _dlist2[++_counte] = _p[_dlist1[_id]] - (_p[_slist1[_id]] - _savstate1[_id])/dt; }else{ _dlist2[++_counte] = _p[_slist1[_id]] - _savstate1[_id];}}} } } return _reset;}
static void nrn_state(_NrnThread* _nt, _Memb_list* _ml, int _type){ double _break, _save; Node *_nd; double _v; int* _ni; int _iml, _cntml; #if CACHEVEC _ni = _ml->_nodeindices; #endif _cntml = _ml->_nodecount; for (_iml = 0; _iml < _cntml; ++_iml) { _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml]; _nd = _ml->_nodelist[_iml]; #if CACHEVEC if (use_cachevec) { _v = VEC_V(_ni[_iml]); }else #endif { _nd = _ml->_nodelist[_iml]; _v = NODEV(_nd); } _break = t + .5*dt; _save = t; v=_v; { ica = _ion_ica; cai = _ion_cai; cai = _ion_cai; { { for (; t < _break; t += dt) { error = euler(_ninits, 1, _slist1, _dlist1, _p, &t, dt, state, &_temp1); if(error){fprintf(stderr,"at line 87 in file capump.mod:\n SOLVE state METHOD euler\n"); nrn_complain(_p); abort_run(error);} }} t = _save; state(); } { } _ion_cai = cai; }} }
static void nrn_state(_NrnThread* _nt, _Memb_list* _ml, int _type){ double _break, _save; Node *_nd; double _v; int* _ni; int _iml, _cntml; #if CACHEVEC _ni = _ml->_nodeindices; #endif _cntml = _ml->_nodecount; for (_iml = 0; _iml < _cntml; ++_iml) { _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml]; _nd = _ml->_nodelist[_iml]; #if CACHEVEC if (use_cachevec) { _v = VEC_V(_ni[_iml]); }else #endif { _nd = _ml->_nodelist[_iml]; _v = NODEV(_nd); } _break = t + .5*dt; _save = t; v=_v; { ica = _ion_ica; cai = _ion_cai; cai = _ion_cai; { { for (; t < _break; t += dt) { error = _deriv1_advance = 1; derivimplicit(_ninits, 1, _slist1, _dlist1, _p, &t, dt, state, &_temp1); _deriv1_advance = 0; if(error){fprintf(stderr,"at line 72 in file cad_0403.mod:\n SOLVE state METHOD derivimplicit\n"); nrn_complain(_p); abort_run(error);} }} t = _save; } { /*VERBATIM*/ /* printf("CAD.MOD cai:%.10lf\t",cai);*/ } _ion_cai = cai; }} }