- Author:
- Shelley Fong <s.fong@auckland.ac.nz>
- Date:
- 2022-01-13 14:21:58+13:00
- Desc:
- Adding massSprintDamper system for no active sites in filament
- Permanent Source URI:
- https://staging.physiomeproject.org/workspace/7a9/rawfile/47388c934341fb1a6b489a530c3816186f234965/BG_TRPN_tension_koff.cellml
<?xml version='1.0' encoding='UTF-8'?>
<model name="individual_TRPN" xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cellml="http://www.cellml.org/cellml/1.1#" xmlns:xlink="http://www.w3.org/1999/xlink">
<import xlink:href="units_and_constants/units_BG.cellml">
<units name="mM" units_ref="mM"/>
<units name="fmol" units_ref="fmol"/>
<units name="per_fmol" units_ref="per_fmol"/>
<units name="J_per_mol" units_ref="J_per_mol"/>
<units name="fmol_per_sec" units_ref="fmol_per_sec"/>
<units name="C_per_mol" units_ref="C_per_mol"/>
<units name="J_per_C" units_ref="J_per_C"/>
<units name="microm3" units_ref="microm3"/>
<units name="fF" units_ref="fF"/>
<units name="fC" units_ref="fC"/>
<units name="fA" units_ref="fA"/>
<units name="per_second" units_ref="per_second"/>
<units name="millivolt" units_ref="millivolt"/>
<units name="per_sec" units_ref="per_sec"/>
<units name="J_per_K_per_mol" units_ref="J_per_K_per_mol"/>
<units name="fmol_per_L" units_ref="fmol_per_L"/>
<units name="fmol_per_L_per_sec" units_ref="fmol_per_L_per_sec"/>
<units name="per_sec_per_fmol_per_L" units_ref="per_sec_per_fmol_per_L"/>
<units name="uM" units_ref="uM"/>
<units name="mM_per_sec" units_ref="mM_per_sec"/>
<units name="uM_per_sec" units_ref="uM_per_sec"/>
<units name="pL" units_ref="pL"/>
<units name="m_to_u" units_ref="m_to_u"/>
</import>
<units name="mm">
<unit prefix="milli" units="metre"/>
</units>
<units name="mm2">
<unit exponent="2" units="mm"/>
</units>
<units name="N_per_mm2">
<unit units="newton"/>
<unit exponent="-1" units="mm2"/>
</units>
<units name="mm2_per_N">
<unit exponent="-1" units="N_per_mm2"/>
</units>
<units name="N_per_mm2_per_sec">
<unit units="N_per_mm2"/>
<unit exponent="-1" units="second"/>
</units>
<units name="mm3_per_mol">
<unit exponent="3" units="mm"/>
<unit exponent="-1" units="mole"/>
</units>
<units name="J_per_mm3">
<unit units="joule"/>
<unit exponent="-3" units="mm"/>
</units>
<units name="mil_to_1">
<unit units="second"/>
<unit exponent="-1" prefix="milli" units="second"/>
</units>
<units name="J_per_mol2">
<unit units="J_per_mol"/>
<unit exponent="-1" units="mole"/>
</units>
<units name="Js_per_mol2">
<unit units="J_per_mol2"/>
<unit units="second"/>
</units>
<units name="fmol_to_mol">
<unit exponent="-1" prefix="femto" units="mole"/>
<unit units="mole"/>
</units>
<import xlink:href="units_and_constants/constants_BG.cellml">
<component component_ref="constants" name="constants"/>
</import>
<component name="environment">
<variable name="time" public_interface="out" units="second"/>
<!-- Tension-->
<variable name="tension" public_interface="out" units="N_per_mm2"/>
<!-- var Area: mm2 {init: 7.85e-5, pub: out};
var strainlength: mm {init: 1, pub: out};
var q_XB: fmol {init: 5.7, pub: out};-->
<variable initial_value="1e0" name="stimSt" units="second"/>
<variable initial_value="1e0" name="stimDur" units="second"/>
<variable initial_value="5e-1" name="tR" units="second"/>
<variable initial_value="2500" name="stimMag" units="N_per_mm2"/>
<variable initial_value="0e-12" name="stimHolding" units="N_per_mm2"/>
<variable name="m" units="N_per_mm2_per_sec"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>m</ci>
<apply>
<divide/>
<ci>stimMag</ci>
<ci>tR</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>tension</ci>
<piecewise>
<piece>
<apply>
<plus/>
<ci>stimHolding</ci>
<apply>
<times/>
<ci>m</ci>
<apply>
<plus/>
<apply>
<minus/>
<ci>time</ci>
<ci>stimSt</ci>
</apply>
<ci>tR</ci>
</apply>
</apply>
</apply>
<apply>
<and/>
<apply>
<lt/>
<ci>time</ci>
<ci>stimSt</ci>
</apply>
<apply>
<gt/>
<ci>time</ci>
<apply>
<minus/>
<ci>stimSt</ci>
<ci>tR</ci>
</apply>
</apply>
</apply>
</piece>
<piece>
<apply>
<plus/>
<ci>stimMag</ci>
<ci>stimHolding</ci>
</apply>
<apply>
<and/>
<apply>
<geq/>
<ci>time</ci>
<ci>stimSt</ci>
</apply>
<apply>
<lt/>
<ci>time</ci>
<apply>
<plus/>
<ci>stimSt</ci>
<ci>stimDur</ci>
</apply>
</apply>
</apply>
</piece>
<piece>
<apply>
<plus/>
<ci>stimHolding</ci>
<apply>
<times/>
<apply>
<minus/>
<ci>m</ci>
</apply>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<ci>time</ci>
<ci>stimSt</ci>
</apply>
<ci>tR</ci>
</apply>
<ci>stimDur</ci>
</apply>
</apply>
</apply>
<apply>
<and/>
<apply>
<lt/>
<ci>time</ci>
<apply>
<plus/>
<ci>stimSt</ci>
<ci>tR</ci>
<ci>stimDur</ci>
</apply>
</apply>
<apply>
<geq/>
<ci>time</ci>
<apply>
<plus/>
<ci>stimSt</ci>
<ci>stimDur</ci>
</apply>
</apply>
</apply>
</piece>
<otherwise>
<ci>stimHolding</ci>
</otherwise>
</piecewise>
</apply>
</math>
<!-- initial values-->
<variable initial_value="6.82e-1" name="q_Cai_init" units="fmol"/>
<variable initial_value="2.57" name="q_TRPN_init" units="fmol"/>
<variable initial_value="1e-6" name="q_Ca_TRPN_init" units="fmol"/>
<!-- Global value-->
<variable name="q_Cai" public_interface="out" units="fmol"/>
<variable name="q_TRPN" public_interface="out" units="fmol"/>
<variable name="q_Ca_TRPN" public_interface="out" units="fmol"/>
<!-- From submodule-->
<variable name="q_Cai_mTRPN" public_interface="in" units="fmol"/>
<variable name="q_TRPN_mTRPN" public_interface="in" units="fmol"/>
<variable name="q_Ca_TRPN_mTRPN" public_interface="in" units="fmol"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>q_Cai</ci>
<apply>
<plus/>
<ci>q_Cai_mTRPN</ci>
<ci>q_Cai_init</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>q_TRPN</ci>
<apply>
<plus/>
<ci>q_TRPN_mTRPN</ci>
<ci>q_TRPN_init</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>q_Ca_TRPN</ci>
<apply>
<plus/>
<ci>q_Ca_TRPN_mTRPN</ci>
<ci>q_Ca_TRPN_init</ci>
</apply>
</apply>
</math>
</component>
<component name="TRPN_parameters">
<variable initial_value="83.2553" name="kappa_R_TRPNCa" public_interface="out" units="fmol_per_sec"/>
<variable initial_value="1.00748" name="K_Cai" public_interface="out" units="per_fmol"/>
<variable initial_value="1.00748" name="K_TRPN" public_interface="out" units="per_fmol"/>
<variable initial_value="0.0698328" name="K_Ca_TRPN" public_interface="out" units="per_fmol"/>
</component>
<component name="TRPN">
<variable name="time" public_interface="in" units="second"/>
<variable name="R" public_interface="in" units="J_per_K_per_mol"/>
<variable name="T" public_interface="in" units="kelvin"/>
<!-- parameters-->
<variable name="kappa_R_TRPNCa" public_interface="in" units="fmol_per_sec"/>
<variable name="K_Cai" public_interface="in" units="per_fmol"/>
<variable name="K_TRPN" public_interface="in" units="per_fmol"/>
<variable name="K_Ca_TRPN" public_interface="in" units="per_fmol"/>
<!-- Input from global environment-->
<variable name="q_Cai_global" public_interface="in" units="fmol"/>
<variable name="q_TRPN_global" public_interface="in" units="fmol"/>
<variable name="q_Ca_TRPN_global" public_interface="in" units="fmol"/>
<!-- Output to global environment-->
<variable initial_value="1e-16" name="q_Cai" public_interface="out" units="fmol"/>
<variable initial_value="1e-16" name="q_TRPN" public_interface="out" units="fmol"/>
<variable initial_value="1e-16" name="q_Ca_TRPN" public_interface="out" units="fmol"/>
<!-- Tension and transformer-->
<variable name="tension" public_interface="in" units="N_per_mm2"/>
<!-- var Area: mm2 {pub: in};
var strainlength: mm {pub: in};
var q_XB: mole {pub: in};
var m: mil_to_1 {init: 1e3};
var conv: mm3_per_mol;-->
<!-- conv = Area*strainlength/q_XB;-->
<!-- var A: dimensionless {init: 1.0247382029957026};
var k: dimensionless {init: 0.011770022274421879};-->
<!-- mu_TF = conv*A*exp(-k*tension);-->
<!-- var q_kf: fmol;
var K_kf: per_fmol {init: 1};
var mu_kf: J_per_mol;-->
<!-- q_kf = 1{fmol}*A*exp(-k*tension);
mu_kf = R*T*ln(K_kf*q_kf);-->
<variable name="mu_tension" units="J_per_mol"/>
<variable initial_value="-0.0118" name="kf_coeff" units="dimensionless"/>
<variable name="n" units="J_per_mol"/>
<variable initial_value="1" name="hh" units="mm2_per_N"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>n</ci>
<apply>
<times/>
<ci>kf_coeff</ci>
<ci>R</ci>
<ci>T</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_tension</ci>
<apply>
<times/>
<ci>hh</ci>
<ci>n</ci>
<ci>tension</ci>
</apply>
</apply>
</math>
<!-- Constitutive parameters-->
<variable name="mu_Cai" units="J_per_mol"/>
<variable name="mu_TRPN" units="J_per_mol"/>
<variable name="mu_Ca_TRPN" units="J_per_mol"/>
<variable name="v_R_TRPNCa" units="fmol_per_sec"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>mu_Cai</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_Cai</ci>
<ci>q_Cai_global</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_TRPN</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_TRPN</ci>
<ci>q_TRPN_global</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>mu_Ca_TRPN</ci>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
<apply>
<ln/>
<apply>
<times/>
<ci>K_Ca_TRPN</ci>
<ci>q_Ca_TRPN_global</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_R_TRPNCa</ci>
<apply>
<times/>
<ci>kappa_R_TRPNCa</ci>
<apply>
<minus/>
<apply>
<exp/>
<apply>
<divide/>
<apply>
<plus/>
<ci>mu_Cai</ci>
<ci>mu_TRPN</ci>
</apply>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
</apply>
</apply>
</apply>
<apply>
<exp/>
<apply>
<divide/>
<apply>
<plus/>
<ci>mu_Ca_TRPN</ci>
<ci>mu_tension</ci>
</apply>
<apply>
<times/>
<ci>R</ci>
<ci>T</ci>
</apply>
</apply>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_Cai</ci>
</apply>
<apply>
<minus/>
<ci>v_R_TRPNCa</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_TRPN</ci>
</apply>
<apply>
<minus/>
<ci>v_R_TRPNCa</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_Ca_TRPN</ci>
</apply>
<ci>v_R_TRPNCa</ci>
</apply>
</math>
</component>
<component name="active_sites">
<!-- y is the dimensionalised value of z. z is the fraction of active sites available for XB binding-->
<variable name="time" public_interface="in" units="second"/>
<variable initial_value="0" name="q_y" units="fmol"/>
<variable initial_value="200" name="q_yT" units="fmol"/>
<variable name="v" units="fmol_per_sec"/>
<variable name="u1" units="J_per_mol"/>
<variable name="u2" units="J_per_mol"/>
<variable name="q_Ca_TRPN" public_interface="in" units="fmol"/>
<variable initial_value="8" name="alpha_0" units="per_sec"/>
<variable initial_value="1" name="h" units="Js_per_mol2"/>
<variable initial_value="1" name="f" units="fmol_to_mol"/>
<variable name="k" units="J_per_mol2"/>
<variable initial_value="1" name="D" units="Js_per_mol2"/>
<variable initial_value="3" name="n" units="dimensionless"/>
<variable initial_value="1.0953" name="q_CaTRPN50" units="fmol"/>
<!--0.0288235294117647 mM-->
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>k</ci>
<apply>
<times/>
<ci>h</ci>
<ci>alpha_0</ci>
<apply>
<power/>
<apply>
<divide/>
<ci>q_Ca_TRPN</ci>
<ci>q_CaTRPN50</ci>
</apply>
<ci>n</ci>
</apply>
</apply>
</apply>
</math>
<!-- *********************** system is OVERCONSTRAINED but the solve works ***********************
forcing term-->
<variable name="fRHS" units="J_per_mol"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>fRHS</ci>
<apply>
<times/>
<ci>q_yT</ci>
<ci>k</ci>
<ci>f</ci>
</apply>
</apply>
<!-- u2 = v*D*f;-->
<apply>
<eq/>
<ci>u2</ci>
<apply>
<minus/>
<ci>fRHS</ci>
<ci>u1</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>u1</ci>
<apply>
<times/>
<ci>q_y</ci>
<ci>k</ci>
<ci>f</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>v</ci>
<apply>
<divide/>
<ci>u2</ci>
<apply>
<times/>
<ci>D</ci>
<ci>f</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>q_y</ci>
</apply>
<ci>v</ci>
</apply>
</math>
<!-- check-->
<variable name="u_total" units="J_per_mol"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>u_total</ci>
<apply>
<plus/>
<ci>u1</ci>
<ci>u2</ci>
</apply>
</apply>
</math>
</component>
<connection>
<map_components component_1="environment" component_2="TRPN"/>
<map_variables variable_1="time" variable_2="time"/>
<map_variables variable_1="q_Cai_mTRPN" variable_2="q_Cai"/>
<map_variables variable_1="q_Cai" variable_2="q_Cai_global"/>
<map_variables variable_1="q_TRPN_mTRPN" variable_2="q_TRPN"/>
<map_variables variable_1="q_TRPN" variable_2="q_TRPN_global"/>
<map_variables variable_1="q_Ca_TRPN_mTRPN" variable_2="q_Ca_TRPN"/>
<map_variables variable_1="q_Ca_TRPN" variable_2="q_Ca_TRPN_global"/>
<map_variables variable_1="tension" variable_2="tension"/>
<!-- vars Area and Area;
vars strainlength and strainlength;
vars q_XB and q_XB;-->
</connection>
<connection>
<map_components component_1="environment" component_2="active_sites"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
<connection>
<map_components component_1="environment" component_2="active_sites"/>
<map_variables variable_1="q_Ca_TRPN" variable_2="q_Ca_TRPN"/>
</connection>
<connection>
<map_components component_1="TRPN" component_2="TRPN_parameters"/>
<map_variables variable_1="kappa_R_TRPNCa" variable_2="kappa_R_TRPNCa"/>
<map_variables variable_1="K_Cai" variable_2="K_Cai"/>
<map_variables variable_1="K_TRPN" variable_2="K_TRPN"/>
<map_variables variable_1="K_Ca_TRPN" variable_2="K_Ca_TRPN"/>
</connection>
<connection>
<map_components component_1="constants" component_2="TRPN"/>
<map_variables variable_1="R" variable_2="R"/>
<map_variables variable_1="T" variable_2="T"/>
</connection>
</model>