(1) Assignment of a variable by an explicit algebraic equation (rather than a derivative) at every timestep
(2) Assignment of a variable (or rate) by a time-dependent function
To illustrate, I have a snippet of code that accomplishes this in NMODL:
Code: Select all
BREAKPOINT {
SOLVE states METHOD cnexp
}
DERIVATIVE states {
E = E0*exp(-t/tau_in)
Ve = (kcat*E*S)/((1+H/Ka)*(Km + S + S*S/Ki))
S' = alpha*S0*exp(-delta*(t)) - Ve
H' = Ve - beta*H
}
From above, there are 3 species: E, S, and H.
Ve is an intermediate variable that is calculated at every timestep in order to calculate S' and H', which is a function of the concentrations of the 3 species at the current timestep (and other constant parameters).
E is assigned a value based on exponential decay at every timestep (i.e., not a differential equation).
S' is the derivative of S which contains a time-dependent function -- another exponential decay.
My question is essentially asking if there is an equivalent way in RxD to:
(i) refer to the time variable (like 't' in NMODL) in assignments as in the "E" variable.
(ii) create assignment definitions that are explicitly algebraic (ie, not a derivative) as in the "Ve" variable.
(iii) create assignments including external functions such as exp().
Thank you, and I appreciate any assistance on this matter.