Location: 12 L Platform 1 model codes @ a8a92308e217 / USMC / Vm_stim_experiment_Exported.cellml

Author:
aram148 <42922407+aram148@users.noreply.github.com>
Date:
2022-07-22 15:47:05+12:00
Desc:
Added documentation for VSM model
Permanent Source URI:
https://models.cellml.org/workspace/6b0/rawfile/a8a92308e217ac5626809237dd90a31240b22834/USMC/Vm_stim_experiment_Exported.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="Vm_stim_experiment" xmlns="http://www.cellml.org/cellml/1.0#" xmlns:cellml="http://www.cellml.org/cellml/1.0#" xmlns:cmeta="http://www.cellml.org/metadata/1.0#">
    <units name="ms">
        <unit prefix="milli" units="second"/>
    </units>
    <units name="per_ms">
        <unit exponent="-1" units="ms"/>
    </units>
    <units name="per_s">
        <unit exponent="-1" units="second"/>
    </units>
    <units name="mV">
        <unit prefix="milli" units="volt"/>
    </units>
    <units name="per_mV">
        <unit exponent="-1" units="mV"/>
    </units>
    <units name="mV_per_ms">
        <unit units="mV"/>
        <unit exponent="-1" units="ms"/>
    </units>
    <units name="mV_per_s">
        <unit units="mV"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="per_ms_mV">
        <unit exponent="-1" units="ms"/>
        <unit exponent="-1" units="mV"/>
    </units>
    <units name="pA_per_pF">
        <unit prefix="pico" units="ampere"/>
        <unit exponent="-1" prefix="pico" units="farad"/>
    </units>
    <units name="pF">
        <unit prefix="pico" units="farad"/>
    </units>
    <units name="nS_per_pF">
        <unit prefix="nano" units="siemens"/>
        <unit exponent="-1" prefix="pico" units="farad"/>
    </units>
    <units name="nS">
        <unit prefix="nano" units="siemens"/>
    </units>
    <units name="pA">
        <unit prefix="pico" units="ampere"/>
    </units>
    <units name="mM">
        <unit prefix="milli" units="mole"/>
        <unit exponent="-1" units="litre"/>
    </units>
    <units name="uM">
        <unit prefix="micro" units="mole"/>
        <unit exponent="-1" units="litre"/>
    </units>
    <units name="per_mM">
        <unit exponent="-1" units="mM"/>
    </units>
    <units name="mM4">
        <unit exponent="4" units="mM"/>
    </units>
    <units name="mM_per_ms">
        <unit units="mM"/>
        <unit units="per_ms"/>
    </units>
    <units name="mM_per_s">
        <unit units="mM"/>
        <unit units="per_s"/>
    </units>
    <units name="mM_per_s_mV">
        <unit units="mM_per_s"/>
        <unit units="per_mV"/>
    </units>
    <units name="fM">
        <unit prefix="femto" units="mole"/>
        <unit exponent="-1" units="litre"/>
    </units>
    <units name="fM_per_s2mM_per_ms">
        <unit exponent="-1" units="ms"/>
        <unit units="second"/>
        <unit exponent="-1" units="fM"/>
        <unit units="mM"/>
    </units>
    <units name="per_K">
        <unit exponent="-1" units="kelvin"/>
    </units>
    <units name="J_per_K_mol">
        <unit units="joule"/>
        <unit exponent="-1" units="mole"/>
        <unit exponent="-1" units="kelvin"/>
    </units>
    <units name="C_per_mmol">
        <unit units="coulomb"/>
        <unit exponent="-1" prefix="milli" units="mole"/>
    </units>
    <units name="m3">
        <unit exponent="3" units="metre"/>
    </units>
    <units name="fm3">
        <unit prefix="femto" units="m3"/>
    </units>
    <units name="cm">
        <unit prefix="centi" units="metre"/>
    </units>
    <units name="uA">
        <unit prefix="micro" units="ampere"/>
    </units>
    <units name="uA_per_cmsq">
        <unit units="uA"/>
        <unit exponent="-2" units="cm"/>
    </units>
    <units name="mS">
        <unit prefix="milli" units="siemens"/>
    </units>
    <units name="mS_per_cmsq">
        <unit units="mS"/>
        <unit exponent="-2" units="cm"/>
    </units>
    <units name="uF">
        <unit prefix="micro" units="farad"/>
    </units>
    <units name="uF_per_cmsq">
        <unit units="uF"/>
        <unit exponent="-2" units="cm"/>
    </units>
    <component name="mPulse_protocol_s">
        <variable name="time" public_interface="in" units="second"/>
        <variable cmeta:id="steady_state_time" name="t_ss" public_interface="in" units="second"/>
        <variable cmeta:id="activation_holding_potential" name="V_actHolding" public_interface="in" units="mV"/>
        <variable cmeta:id="activation_duration" name="t_act" public_interface="in" units="second"/>
        <variable cmeta:id="activation_test_potential" name="V_actTest" public_interface="in" units="mV"/>
        <variable cmeta:id="interpulse" name="t_intp" public_interface="in" units="second"/>
        <variable cmeta:id="period" name="stimPeriod" units="second"/>
        <variable cmeta:id="localTimer" name="t" units="second"/>
        <variable cmeta:id="pulse_number" name="np" public_interface="in" units="dimensionless"/>
        <variable name="V" public_interface="out" units="mV"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>stimPeriod</ci>
                <apply>
                    <plus/>
                    <ci>t_act</ci>
                    <ci>t_intp</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>t</ci>
                <apply>
                    <minus/>
                    <apply>
                        <minus/>
                        <ci>time</ci>
                        <ci>t_ss</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>stimPeriod</ci>
                        <apply>
                            <floor/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>time</ci>
                                    <ci>t_ss</ci>
                                </apply>
                                <ci>stimPeriod</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply id="activation_protocol_clamping">
                <eq/>
                <ci>V</ci>
                <piecewise>
                    <piece>
                        <ci>V_actHolding</ci>
                        <apply>
                            <leq/>
                            <ci>time</ci>
                            <ci>t_ss</ci>
                        </apply>
                    </piece>
                    <piece>
                        <ci>V_actTest</ci>
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>time</ci>
                                <ci>t_ss</ci>
                            </apply>
                            <apply>
                                <leq/>
                                <ci>t</ci>
                                <ci>t_act</ci>
                            </apply>
                            <apply>
                                <leq/>
                                <ci>time</ci>
                                <apply>
                                    <plus/>
                                    <ci>t_ss</ci>
                                    <apply>
                                        <times/>
                                        <ci>stimPeriod</ci>
                                        <ci>np</ci>
                                    </apply>
                                </apply>
                            </apply>
                        </apply>
                    </piece>
                    <otherwise>
                        <ci>V_actHolding</ci>
                    </otherwise>
                </piecewise>
            </apply>
        </math>
    </component>
    <component name="Vstim_para">
        <variable initial_value="0" name="t_ss" public_interface="out" units="second"/>
        <variable initial_value="-80" name="V_actHolding" public_interface="out" units="mV"/>
        <variable initial_value="0.1" name="t_act" public_interface="out" units="second"/>
        <variable initial_value="0" name="V_actTest" public_interface="out" units="mV"/>
        <variable initial_value="0.33" name="t_intp" public_interface="out" units="second"/>
        <variable initial_value="10" name="np" public_interface="out" units="dimensionless"/>
    </component>
    <!--    def comp Vm as
        var time: second {pub: in};
        var V: mV {pub: out};
        var p1: mV_per_s;
        var p2: mV;
        var t0: second;
        var tss: second {init: 0};-->
    <!--        V = p1*(time-t0-tss)+p2;-->
    <!--        p1 = sel
            case time-tss < 0.4742{second}:
                0{mV_per_s};
            case (time-tss >= 0.4742{second}) and (time-tss < 9.7684{second}):
                0.6008{mV_per_s};
            case (time-tss >= 9.7684{second}) and (time-tss < 10.8076{second}):
                -4.2966{mV_per_s};
            case (time-tss >= 10.8076{second}) and (time-tss < 12.0313{second}):
                3.6283{mV_per_s};
            case (time-tss >= 12.0313{second}) and (time-tss < 18.3268{second}):
                6.7127{mV_per_s};
            case (time-tss >= 18.3268{second}) and (time-tss < 19.7879{second}):
                3.6151{mV_per_s};
            case (time-tss >= 19.7879{second}) and (time-tss < 21.9031{second}):
                -6.8481{mV_per_s};
            case (time-tss >= 21.9031{second}) and (time-tss < 55.9040{second}):
                -0.0369{mV_per_s};
            case (time-tss >= 55.9040{second}) and (time-tss < 56.2152{second}):
                -66.1632{mV_per_s};
            case (time-tss >= 56.2152{second}) and (time-tss < 62.6048{second}):
                -1.456{mV_per_s};
            case (time-tss >= 62.6048{second}) and (time-tss < 82.4301{second}):
                -0.1557{mV_per_s};
            case (time-tss >= 82.4301{second}) and (time-tss < 113.9610{second}):
                -0.0623{mV_per_s};
            otherwise:
                0{mM_per_s};
        endsel;-->
    <!--        p2 = sel
            case time-tss < 0.4742{second}:
                -63.0930{mV};
            case (time-tss >= 0.4742{second}) and (time-tss < 9.7684{second}):
                -63.0930{mV};
            case (time-tss >= 9.7684{second}) and (time-tss < 10.8076{second}):
                -60.7620{mV};
            case (time-tss >= 10.8076{second}) and (time-tss < 12.0313{second}):
                -65.2270{mV};
            case (time-tss >= 12.0313{second}) and (time-tss < 18.3268{second}):
                -60.7870{mV};
            case (time-tss >= 18.3268{second}) and (time-tss < 19.7879{second}):
                -18.5270{mV};
            case (time-tss >= 19.7879{second}) and (time-tss < 21.9031{second}):
                -13.600{mV};
            case (time-tss >= 21.9031{second}) and (time-tss < 55.9040{second}):
                -27.7300{mV};
            case (time-tss >= 55.9040{second}) and (time-tss < 56.2152{second}):
                -28.9850{mV};
            case (time-tss >= 56.2152{second}) and (time-tss < 62.6048{second}):
                -49.5750{mV};
            case (time-tss >= 62.6048{second}) and (time-tss < 82.4301{second}):
                -58.3060{mV};
            case (time-tss >= 82.4301{second}) and (time-tss < 113.9610{second}):
                -61.4480{mV};
            otherwise:
                -63.411{mV};
        endsel;-->
    <!--        t0 = sel
            case time-tss < 0.4742{second}:
                0{second};
            case (time-tss >= 0.4742{second}) and (time-tss < 9.7684{second}):
                0.4742{second};
            case (time-tss >= 9.7684{second}) and (time-tss < 10.8076{second}):
                9.7684{second};
            case (time-tss >= 10.8076{second}) and (time-tss < 12.0313{second}):
                10.8076{second};
            case (time-tss >= 12.0313{second}) and (time-tss < 18.3268{second}):
                12.0313{second};
            case (time-tss >= 18.3268{second}) and (time-tss < 19.7879{second}):
                18.3268{second};
            case (time-tss >= 19.7879{second}) and (time-tss < 21.9031{second}):
                19.7879{second};
            case (time-tss >= 21.9031{second}) and (time-tss < 55.9040{second}):
                21.9031{second};
            case (time-tss >= 55.9040{second}) and (time-tss < 56.2151{second}):
                55.9040{second};
            case (time-tss >= 56.2151{second}) and (time-tss < 62.6048{second}):
                56.2151{second};
            case (time-tss >= 62.6048{second}) and (time-tss < 82.4301{second}):
                62.6048{second};
            case (time-tss >= 82.4301{second}) and (time-tss < 113.9610{second}):
                82.4299{second};
            otherwise:
                0{second};
        endsel;
    enddef;-->
    <component name="control_para">
        <variable initial_value="2.9836" name="Nai" public_interface="out" units="mM"/>
        <variable initial_value="1" name="inhPump" public_interface="out" units="dimensionless"/>
        <variable initial_value="11" name="K_Cahalf" public_interface="out" units="mV"/>
    </component>
    <component name="outputs">
        <variable name="time" public_interface="in" units="second"/>
        <variable name="V" public_interface="in" units="mV"/>
        <variable name="Cai" public_interface="in" units="mM"/>
        <variable name="J_VOCC" public_interface="in" units="mM_per_s"/>
        <variable name="J_CaPump" public_interface="in" units="mM_per_s"/>
        <variable name="J_NaCa" public_interface="in" units="mM_per_s"/>
        <variable name="K_1" public_interface="in" units="per_s"/>
    </component>
    <component name="EC_uSMC">
        <variable name="R" private_interface="out" public_interface="in" units="J_per_K_mol"/>
        <variable name="F" private_interface="out" public_interface="in" units="C_per_mmol"/>
        <variable name="T" private_interface="out" public_interface="in" units="kelvin"/>
        <variable name="Nai" private_interface="out" public_interface="in" units="mM"/>
        <variable name="Nao" private_interface="out" public_interface="in" units="mM"/>
        <variable name="Cao" private_interface="out" public_interface="in" units="mM"/>
        <variable name="V_cell" private_interface="out" public_interface="in" units="fm3"/>
        <variable name="V_Cahalf" private_interface="out" public_interface="in" units="mV"/>
        <variable name="K_Cahalf" private_interface="out" public_interface="in" units="mV"/>
        <variable name="g_mCa" private_interface="out" public_interface="in" units="nS"/>
        <variable name="V_pmax" private_interface="out" public_interface="in" units="mM_per_s"/>
        <variable name="n" private_interface="out" public_interface="in" units="dimensionless"/>
        <variable name="K_ph" private_interface="out" public_interface="in" units="mM"/>
        <variable name="K_NaCa" private_interface="out" public_interface="in" units="mM"/>
        <variable name="G_NaCa" private_interface="out" public_interface="in" units="mM_per_s_mV"/>
        <variable name="Cai_init" private_interface="out" public_interface="in" units="mM"/>
        <variable name="n_M" private_interface="out" public_interface="in" units="dimensionless"/>
        <variable name="Ca_halfMLCK" private_interface="out" public_interface="in" units="mM"/>
        <variable name="inhPump" private_interface="out" public_interface="in" units="dimensionless"/>
        <variable name="time" private_interface="out" public_interface="in" units="second"/>
        <variable name="V" private_interface="out" public_interface="in" units="mV"/>
        <variable name="Cai" private_interface="in" public_interface="out" units="mM"/>
        <variable name="J_VOCC" private_interface="in" public_interface="out" units="mM_per_s"/>
        <variable name="J_CaPump" private_interface="in" public_interface="out" units="mM_per_s"/>
        <variable name="J_NaCa" private_interface="in" public_interface="out" units="mM_per_s"/>
        <variable name="rho_vCa" private_interface="in" public_interface="out" units="dimensionless"/>
    </component>
    <component name="K_1">
        <variable name="n_M" public_interface="in" units="dimensionless"/>
        <variable name="Ca_halfMLCK" public_interface="in" units="mM"/>
        <variable name="Cai" public_interface="in" units="mM"/>
        <variable name="K_1" public_interface="out" units="per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>K_1</ci>
                <apply>
                    <times/>
                    <apply>
                        <divide/>
                        <apply>
                            <power/>
                            <ci>Cai</ci>
                            <ci>n_M</ci>
                        </apply>
                        <apply>
                            <plus/>
                            <apply>
                                <power/>
                                <ci>Ca_halfMLCK</ci>
                                <ci>n_M</ci>
                            </apply>
                            <apply>
                                <power/>
                                <ci>Cai</ci>
                                <ci>n_M</ci>
                            </apply>
                        </apply>
                    </apply>
                    <cn cellml:units="per_s">1</cn>
                </apply>
            </apply>
        </math>
    </component>
    <component name="time_s">
        <variable initial_value="0.0" name="time" public_interface="out" units="second"/>
    </component>
    <component name="model_para">
        <variable initial_value="310" name="T" public_interface="out" units="kelvin"/>
        <variable initial_value="16.55" name="Nai" public_interface="out" units="mM"/>
        <variable initial_value="140" name="Nao" public_interface="out" units="mM"/>
        <variable initial_value="2" name="Cao" public_interface="out" units="mM"/>
        <variable initial_value="21" name="V_cell" public_interface="out" units="fm3"/>
        <variable initial_value="-27" name="V_Cahalf" public_interface="out" units="mV"/>
        <variable initial_value="11" name="K_Cahalf" public_interface="out" units="mV"/>
        <variable initial_value="0.046842" name="g_mCa" public_interface="out" units="nS"/>
        <variable initial_value="5.1449e-4" name="V_pmax" public_interface="out" units="mM_per_s_mV"/>
        <variable initial_value="1.9015" name="n" public_interface="out" units="dimensionless"/>
        <variable initial_value="0.6e-3" name="K_ph" public_interface="out" units="mM"/>
        <variable initial_value="7e-3" name="K_NaCa" public_interface="out" units="mM"/>
        <variable initial_value="5.7297e-5" name="G_NaCa" public_interface="out" units="mM_per_s_mV"/>
        <variable initial_value="8.7613" name="n_M" public_interface="out" units="dimensionless"/>
        <variable initial_value="1.080e-3" name="Ca_halfMLCK" public_interface="out" units="mM"/>
        <variable initial_value="0.0378" name="K_7" public_interface="out" units="per_s"/>
        <variable initial_value="1.2387" name="K_2" public_interface="out" units="per_s"/>
        <variable initial_value="0.1419" name="K_3" public_interface="out" units="per_s"/>
        <variable initial_value="1" name="inhPump" public_interface="out" units="dimensionless"/>
    </component>
    <component name="initials">
        <variable initial_value="1" name="M_init" public_interface="out" units="dimensionless"/>
        <variable initial_value="0" name="Mp_init" public_interface="out" units="dimensionless"/>
        <variable initial_value="0" name="AM_init" public_interface="out" units="dimensionless"/>
        <variable initial_value="0" name="AMp_init" public_interface="out" units="dimensionless"/>
        <variable initial_value="0.0001161881607214449" name="Cai_init" public_interface="out" units="mM"/>
    </component>
    <component name="constants">
        <variable initial_value="8.314" name="R" public_interface="out" units="J_per_K_mol"/>
        <variable initial_value="96.48534" name="F" public_interface="out" units="C_per_mmol"/>
    </component>
    <component name="E_Ca">
        <variable name="R" private_interface="out" public_interface="in" units="J_per_K_mol"/>
        <variable name="F" private_interface="out" public_interface="in" units="C_per_mmol"/>
        <variable name="T" private_interface="out" public_interface="in" units="kelvin"/>
        <variable initial_value="2" name="z_Ca" private_interface="out" units="dimensionless"/>
        <variable name="Cai" private_interface="out" public_interface="in" units="mM"/>
        <variable name="Cao" private_interface="out" public_interface="in" units="mM"/>
        <variable name="E_Ca" private_interface="in" public_interface="out" units="mV"/>
    </component>
    <component name="E_Na">
        <variable name="R" private_interface="out" public_interface="in" units="J_per_K_mol"/>
        <variable name="F" private_interface="out" public_interface="in" units="C_per_mmol"/>
        <variable name="T" private_interface="out" public_interface="in" units="kelvin"/>
        <variable initial_value="1" name="z_Na" private_interface="out" units="dimensionless"/>
        <variable name="Nai" private_interface="out" public_interface="in" units="mM"/>
        <variable name="Nao" private_interface="out" public_interface="in" units="mM"/>
        <variable name="E_Na" private_interface="in" public_interface="out" units="mV"/>
    </component>
    <component name="J_VOCC">
        <variable name="F" private_interface="out" public_interface="in" units="C_per_mmol"/>
        <variable name="V_cell" public_interface="in" units="fm3"/>
        <variable name="V_Cahalf" public_interface="in" units="mV"/>
        <variable name="K_Cahalf" public_interface="in" units="mV"/>
        <variable name="g_mCa" private_interface="out" public_interface="in" units="nS"/>
        <variable name="E_Ca" private_interface="out" public_interface="in" units="mV"/>
        <variable name="V" private_interface="out" public_interface="in" units="mV"/>
        <variable name="rho_vCa" private_interface="out" public_interface="out" units="dimensionless"/>
        <variable name="I_VOCC" private_interface="in" units="pA"/>
        <variable name="J_VOCC" public_interface="out" units="mM_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>rho_vCa</ci>
                <apply>
                    <divide/>
                    <cn cellml:units="dimensionless">1</cn>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>V_Cahalf</ci>
                                    <ci>V</ci>
                                </apply>
                                <ci>K_Cahalf</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>J_VOCC</ci>
                <apply>
                    <divide/>
                    <apply>
                        <minus/>
                        <ci>I_VOCC</ci>
                    </apply>
                    <apply>
                        <times/>
                        <cn cellml:units="dimensionless">2</cn>
                        <ci>V_cell</ci>
                        <ci>F</ci>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="J_CaPump">
        <variable name="V_pmax" public_interface="in" units="mM_per_s_mV"/>
        <variable name="n" public_interface="in" units="dimensionless"/>
        <variable name="K_ph" public_interface="in" units="mM"/>
        <variable name="Cai" public_interface="in" units="mM"/>
        <variable name="J_CaPump" public_interface="out" units="mM_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>J_CaPump</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <apply>
                            <minus/>
                            <ci>V_pmax</ci>
                        </apply>
                        <apply>
                            <power/>
                            <ci>Cai</ci>
                            <ci>n</ci>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <apply>
                            <power/>
                            <ci>K_ph</ci>
                            <ci>n</ci>
                        </apply>
                        <apply>
                            <power/>
                            <ci>Cai</ci>
                            <ci>n</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="J_NaCa">
        <variable name="K_NaCa" public_interface="in" units="mM"/>
        <variable name="G_NaCa" public_interface="in" units="mM_per_s_mV"/>
        <variable name="E_Ca" public_interface="in" units="mV"/>
        <variable name="E_Na" public_interface="in" units="mV"/>
        <variable name="Cai" public_interface="in" units="mM"/>
        <variable name="V" public_interface="in" units="mV"/>
        <variable name="V_mNaCa" units="mV"/>
        <variable name="J_NaCa" public_interface="out" units="mM_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>V_mNaCa</ci>
                <apply>
                    <minus/>
                    <apply>
                        <times/>
                        <cn cellml:units="dimensionless">3</cn>
                        <ci>E_Na</ci>
                    </apply>
                    <apply>
                        <times/>
                        <cn cellml:units="dimensionless">2</cn>
                        <ci>E_Ca</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>J_NaCa</ci>
                <apply>
                    <times/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <ci>G_NaCa</ci>
                            <ci>Cai</ci>
                        </apply>
                        <apply>
                            <plus/>
                            <ci>Cai</ci>
                            <ci>K_NaCa</ci>
                        </apply>
                    </apply>
                    <apply>
                        <minus/>
                        <ci>V</ci>
                        <ci>V_mNaCa</ci>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="Cai">
        <variable name="time" public_interface="in" units="second"/>
        <variable name="J_VOCC" public_interface="in" units="mM_per_s"/>
        <variable name="J_CaPump" public_interface="in" units="mM_per_s"/>
        <variable name="J_NaCa" public_interface="in" units="mM_per_s"/>
        <variable name="inhPump" public_interface="in" units="dimensionless"/>
        <variable name="Cai_init" public_interface="in" units="mM"/>
        <variable initial_value="0.0001161881607214449" name="Cai" public_interface="out" units="mM"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>Cai</ci>
                </apply>
                <apply>
                    <plus/>
                    <ci>J_VOCC</ci>
                    <apply>
                        <times/>
                        <ci>inhPump</ci>
                        <ci>J_CaPump</ci>
                    </apply>
                    <ci>J_NaCa</ci>
                </apply>
            </apply>
        </math>
    </component>
    <component name="E_NaComp">
        <variable name="R" public_interface="in" units="J_per_K_mol"/>
        <variable name="F" public_interface="in" units="C_per_mmol"/>
        <variable name="T" public_interface="in" units="kelvin"/>
        <variable name="z" public_interface="in" units="dimensionless"/>
        <variable name="X_i" public_interface="in" units="mM"/>
        <variable name="X_o" public_interface="in" units="mM"/>
        <variable cmeta:id="Nernst_potentials_E" name="E" public_interface="out" units="mV"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>E</ci>
                <apply>
                    <times/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <ci>R</ci>
                            <ci>T</ci>
                        </apply>
                        <apply>
                            <times/>
                            <ci>z</ci>
                            <ci>F</ci>
                        </apply>
                    </apply>
                    <apply>
                        <ln/>
                        <apply>
                            <divide/>
                            <ci>X_o</ci>
                            <ci>X_i</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="E_CaComp">
        <variable name="R" public_interface="in" units="J_per_K_mol"/>
        <variable name="F" public_interface="in" units="C_per_mmol"/>
        <variable name="T" public_interface="in" units="kelvin"/>
        <variable name="z" public_interface="in" units="dimensionless"/>
        <variable name="X_i" public_interface="in" units="mM"/>
        <variable name="X_o" public_interface="in" units="mM"/>
        <variable cmeta:id="Nernst_potentials_E" name="E" public_interface="out" units="mV"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>E</ci>
                <apply>
                    <times/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <ci>R</ci>
                            <ci>T</ci>
                        </apply>
                        <apply>
                            <times/>
                            <ci>z</ci>
                            <ci>F</ci>
                        </apply>
                    </apply>
                    <apply>
                        <ln/>
                        <apply>
                            <divide/>
                            <ci>X_o</ci>
                            <ci>X_i</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="Ionic_currents">
        <variable name="V" public_interface="in" units="mV"/>
        <variable name="E" public_interface="in" units="mV"/>
        <variable name="g_max" public_interface="in" units="nS"/>
        <variable name="PO" public_interface="in" units="dimensionless"/>
        <variable name="I" public_interface="out" units="pA"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply id="I_calculation">
                <eq/>
                <ci>I</ci>
                <apply>
                    <times/>
                    <ci>g_max</ci>
                    <ci>PO</ci>
                    <apply>
                        <minus/>
                        <ci>V</ci>
                        <ci>E</ci>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <group>
        <relationship_ref relationship="encapsulation"/>
        <component_ref component="EC_uSMC">
            <component_ref component="E_Ca"/>
            <component_ref component="E_Na"/>
            <component_ref component="J_VOCC"/>
            <component_ref component="J_CaPump"/>
            <component_ref component="J_NaCa"/>
            <component_ref component="Cai"/>
            <component_ref component="K_1"/>
        </component_ref>
        <component_ref component="E_Na">
            <component_ref component="E_NaComp"/>
        </component_ref>
        <component_ref component="E_Ca">
            <component_ref component="E_CaComp"/>
        </component_ref>
        <component_ref component="J_VOCC">
            <component_ref component="Ionic_currents"/>
        </component_ref>
    </group>
    <connection>
        <map_components component_1="time_s" component_2="mPulse_protocol_s"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="time_s" component_2="EC_uSMC"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="control_para" component_2="EC_uSMC"/>
        <map_variables variable_1="Nai" variable_2="Nai"/>
        <map_variables variable_1="inhPump" variable_2="inhPump"/>
        <map_variables variable_1="K_Cahalf" variable_2="K_Cahalf"/>
    </connection>
    <connection>
        <map_components component_1="mPulse_protocol_s" component_2="EC_uSMC"/>
        <map_variables variable_1="V" variable_2="V"/>
    </connection>
    <connection>
        <map_components component_1="EC_uSMC" component_2="outputs"/>
        <map_variables variable_1="Cai" variable_2="Cai"/>
        <map_variables variable_1="J_VOCC" variable_2="J_VOCC"/>
        <map_variables variable_1="J_CaPump" variable_2="J_CaPump"/>
        <map_variables variable_1="J_NaCa" variable_2="J_NaCa"/>
    </connection>
    <connection>
        <map_components component_1="outputs" component_2="K_1"/>
        <map_variables variable_1="K_1" variable_2="K_1"/>
    </connection>
    <connection>
        <map_components component_1="outputs" component_2="time_s"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="mPulse_protocol_s" component_2="outputs"/>
        <map_variables variable_1="V" variable_2="V"/>
    </connection>
    <connection>
        <map_components component_1="model_para" component_2="EC_uSMC"/>
        <map_variables variable_1="T" variable_2="T"/>
        <map_variables variable_1="Nao" variable_2="Nao"/>
        <map_variables variable_1="Cao" variable_2="Cao"/>
        <map_variables variable_1="V_cell" variable_2="V_cell"/>
        <map_variables variable_1="V_Cahalf" variable_2="V_Cahalf"/>
        <map_variables variable_1="g_mCa" variable_2="g_mCa"/>
        <map_variables variable_1="V_pmax" variable_2="V_pmax"/>
        <map_variables variable_1="n" variable_2="n"/>
        <map_variables variable_1="K_ph" variable_2="K_ph"/>
        <map_variables variable_1="K_NaCa" variable_2="K_NaCa"/>
        <map_variables variable_1="G_NaCa" variable_2="G_NaCa"/>
        <map_variables variable_1="n_M" variable_2="n_M"/>
        <map_variables variable_1="Ca_halfMLCK" variable_2="Ca_halfMLCK"/>
    </connection>
    <connection>
        <map_components component_1="constants" component_2="EC_uSMC"/>
        <map_variables variable_1="R" variable_2="R"/>
        <map_variables variable_1="F" variable_2="F"/>
    </connection>
    <connection>
        <map_components component_1="initials" component_2="EC_uSMC"/>
        <map_variables variable_1="Cai_init" variable_2="Cai_init"/>
    </connection>
    <connection>
        <map_components component_1="EC_uSMC" component_2="E_Na"/>
        <map_variables variable_1="R" variable_2="R"/>
        <map_variables variable_1="F" variable_2="F"/>
        <map_variables variable_1="T" variable_2="T"/>
        <map_variables variable_1="Nai" variable_2="Nai"/>
        <map_variables variable_1="Nao" variable_2="Nao"/>
    </connection>
    <connection>
        <map_components component_1="EC_uSMC" component_2="E_Ca"/>
        <map_variables variable_1="R" variable_2="R"/>
        <map_variables variable_1="F" variable_2="F"/>
        <map_variables variable_1="T" variable_2="T"/>
        <map_variables variable_1="Cao" variable_2="Cao"/>
    </connection>
    <connection>
        <map_components component_1="EC_uSMC" component_2="K_1"/>
        <map_variables variable_1="n_M" variable_2="n_M"/>
        <map_variables variable_1="Ca_halfMLCK" variable_2="Ca_halfMLCK"/>
    </connection>
    <connection>
        <map_components component_1="EC_uSMC" component_2="J_VOCC"/>
        <map_variables variable_1="F" variable_2="F"/>
        <map_variables variable_1="V_cell" variable_2="V_cell"/>
        <map_variables variable_1="V_Cahalf" variable_2="V_Cahalf"/>
        <map_variables variable_1="K_Cahalf" variable_2="K_Cahalf"/>
        <map_variables variable_1="g_mCa" variable_2="g_mCa"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="J_VOCC" variable_2="J_VOCC"/>
        <map_variables variable_1="rho_vCa" variable_2="rho_vCa"/>
    </connection>
    <connection>
        <map_components component_1="EC_uSMC" component_2="J_CaPump"/>
        <map_variables variable_1="V_pmax" variable_2="V_pmax"/>
        <map_variables variable_1="n" variable_2="n"/>
        <map_variables variable_1="K_ph" variable_2="K_ph"/>
        <map_variables variable_1="J_CaPump" variable_2="J_CaPump"/>
    </connection>
    <connection>
        <map_components component_1="EC_uSMC" component_2="J_NaCa"/>
        <map_variables variable_1="K_NaCa" variable_2="K_NaCa"/>
        <map_variables variable_1="G_NaCa" variable_2="G_NaCa"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="J_NaCa" variable_2="J_NaCa"/>
    </connection>
    <connection>
        <map_components component_1="EC_uSMC" component_2="Cai"/>
        <map_variables variable_1="Cai_init" variable_2="Cai_init"/>
        <map_variables variable_1="time" variable_2="time"/>
        <map_variables variable_1="Cai" variable_2="Cai"/>
        <map_variables variable_1="inhPump" variable_2="inhPump"/>
    </connection>
    <connection>
        <map_components component_1="Cai" component_2="E_Ca"/>
        <map_variables variable_1="Cai" variable_2="Cai"/>
    </connection>
    <connection>
        <map_components component_1="J_VOCC" component_2="E_Ca"/>
        <map_variables variable_1="E_Ca" variable_2="E_Ca"/>
    </connection>
    <connection>
        <map_components component_1="J_NaCa" component_2="E_Ca"/>
        <map_variables variable_1="E_Ca" variable_2="E_Ca"/>
    </connection>
    <connection>
        <map_components component_1="J_NaCa" component_2="E_Na"/>
        <map_variables variable_1="E_Na" variable_2="E_Na"/>
    </connection>
    <connection>
        <map_components component_1="Cai" component_2="K_1"/>
        <map_variables variable_1="Cai" variable_2="Cai"/>
    </connection>
    <connection>
        <map_components component_1="Cai" component_2="J_CaPump"/>
        <map_variables variable_1="Cai" variable_2="Cai"/>
        <map_variables variable_1="J_CaPump" variable_2="J_CaPump"/>
    </connection>
    <connection>
        <map_components component_1="Cai" component_2="J_VOCC"/>
        <map_variables variable_1="J_VOCC" variable_2="J_VOCC"/>
    </connection>
    <connection>
        <map_components component_1="Cai" component_2="J_NaCa"/>
        <map_variables variable_1="Cai" variable_2="Cai"/>
        <map_variables variable_1="J_NaCa" variable_2="J_NaCa"/>
    </connection>
    <connection>
        <map_components component_1="E_Na" component_2="E_NaComp"/>
        <map_variables variable_1="R" variable_2="R"/>
        <map_variables variable_1="F" variable_2="F"/>
        <map_variables variable_1="T" variable_2="T"/>
        <map_variables variable_1="z_Na" variable_2="z"/>
        <map_variables variable_1="Nai" variable_2="X_i"/>
        <map_variables variable_1="Nao" variable_2="X_o"/>
        <map_variables variable_1="E_Na" variable_2="E"/>
    </connection>
    <connection>
        <map_components component_1="E_Ca" component_2="E_CaComp"/>
        <map_variables variable_1="R" variable_2="R"/>
        <map_variables variable_1="F" variable_2="F"/>
        <map_variables variable_1="T" variable_2="T"/>
        <map_variables variable_1="z_Ca" variable_2="z"/>
        <map_variables variable_1="Cai" variable_2="X_i"/>
        <map_variables variable_1="Cao" variable_2="X_o"/>
        <map_variables variable_1="E_Ca" variable_2="E"/>
    </connection>
    <connection>
        <map_components component_1="J_VOCC" component_2="Ionic_currents"/>
        <map_variables variable_1="I_VOCC" variable_2="I"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="E_Ca" variable_2="E"/>
        <map_variables variable_1="g_mCa" variable_2="g_max"/>
        <map_variables variable_1="rho_vCa" variable_2="PO"/>
    </connection>
    <connection>
        <map_components component_1="Vstim_para" component_2="mPulse_protocol_s"/>
        <map_variables variable_1="t_ss" variable_2="t_ss"/>
        <map_variables variable_1="V_actHolding" variable_2="V_actHolding"/>
        <map_variables variable_1="t_act" variable_2="t_act"/>
        <map_variables variable_1="V_actTest" variable_2="V_actTest"/>
        <map_variables variable_1="t_intp" variable_2="t_intp"/>
        <map_variables variable_1="np" variable_2="np"/>
    </connection>
    <connection>
        <map_components component_1="time_s" component_2="mPulse_protocol_s"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
</model>