diff options
author | bnewbold <bnewbold@robocracy.org> | 2017-01-16 16:24:09 -0800 |
---|---|---|
committer | bnewbold <bnewbold@robocracy.org> | 2017-01-16 16:28:35 -0800 |
commit | 6c9ec4f093ecfa48fe3a4a3fa99de16c5676d7dc (patch) | |
tree | 09402fb4b41e36473bba33ca1604a07d0d2c6ea3 /examples/hodgkin_huxley_neron_potential/model.modelica | |
parent | 6ab08f6b19734ac925ab9cafd567cb2f7735af6b (diff) | |
download | modelthing-6c9ec4f093ecfa48fe3a4a3fa99de16c5676d7dc.tar.gz modelthing-6c9ec4f093ecfa48fe3a4a3fa99de16c5676d7dc.zip |
update remaining models
Diffstat (limited to 'examples/hodgkin_huxley_neron_potential/model.modelica')
-rw-r--r-- | examples/hodgkin_huxley_neron_potential/model.modelica | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/hodgkin_huxley_neron_potential/model.modelica b/examples/hodgkin_huxley_neron_potential/model.modelica new file mode 100644 index 0000000..7e44547 --- /dev/null +++ b/examples/hodgkin_huxley_neron_potential/model.modelica @@ -0,0 +1,32 @@ +model HodgkinHuxley + "Model of action potential in squid neurons (1952)" + parameter Real C_m =1.0 "membrane capacitance"; + parameter Real g_Na =120 "conductance"; + parameter Real g_K =36 "conductance"; + parameter Real g_L =0.3 "conductance"; + parameter Real V_Na =115 "potential"; + parameter Real V_K =-12 "potential"; + parameter Real V_lk =-49.387 "leak reveral potential"; + parameter Real E_Na =-190 "equilibrium potential"; + parameter Real E_K =-63 "equilibrium potential"; + parameter Real E_lk =-85.613 "equilibrium potential"; + parameter Real n =0.31768 "dimensionless; 0 to 1"; + parameter Real m =0.05293 "dimensionless; 0 to 1"; + parameter Real h =0.59612 "dimensionless; 0 to 1"; + Real V_m "membrane voltage potential"; + Real I =1.0 "membrane current"; + Real alpha_n, alpha_m, alpha_h "rate constants"; + Real beta_n, beta_m, beta_h "rate constants"; +equation + C_m * der(V_m) = I - g_Na * m^3 * h * (V_m - E_Na) - g_K * n^4 * (V_m - E_K) - G_lk * (V_m - E_lk); + der(n) = alpha_n - n * (alpha_n + beta_n); + der(m) = alpha_m - m * (alpha_m + beta_m); + der(h) = alpha_h - h * (alpha_h + beta_h); + + alpha_n = 0.01 * (V_m + 10) / (e^((V_m + 10)/10) - 1); + alpha_m = 0.1 * (V_m + 25) / (e^((V_m + 25)/10) - 1); + alpha_h = 0.07 * e^(V_m / 20); + beta_n = 0.125 * e^(V_m / 80); + beta_m = 4*e^(V_m/18); + beta_h = 1 / (e^((V_m + 30)/10) + 1); +end HodgkinHuxley; |