Location: BG_funny @ ff41a0320324 / BG_funny.cellml

Author:
Shelley Fong <s.fong@auckland.ac.nz>
Date:
2022-03-02 10:46:37+13:00
Desc:
Adding units submodule
Permanent Source URI:
https://staging.physiomeproject.org/workspace/838/rawfile/ff41a0320324b4382e4fe80cb18e7dd90f50e869/BG_funny.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="BG_funnycurrent_model" 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="fF" units_ref="fF"/>
        <units name="fC" units_ref="fC"/>
        <units name="fA" units_ref="fA"/>
    </import>
    <units name="microm3">
        <unit exponent="3" prefix="micro" units="metre"/>
    </units>
    <component name="environment">
        <variable name="time" public_interface="out" units="second"/>
        <variable initial_value="1.0e6" name="C_m" public_interface="out" units="fF"/>
        <variable initial_value="27.9828" name="q_Ke" public_interface="out" units="fmol"/>
        <variable initial_value="5510" name="q_Ki" public_interface="out" units="fmol"/>
        <variable initial_value="9.3276" name="q_Nae" public_interface="out" units="fmol"/>
        <variable initial_value="0.00456" name="q_Nai" public_interface="out" units="fmol"/>
        <variable initial_value="1e4" name="vol_o" public_interface="out" units="microm3"/>
        <variable initial_value="-8.5e4" name="q_mem" public_interface="out" units="fC"/>
        <variable initial_value="2494.34" name="RT" public_interface="out" units="J_per_mol"/>
        <variable initial_value="1" name="z" public_interface="out" units="dimensionless"/>
        <variable initial_value="96500" name="F" public_interface="out" units="C_per_mol"/>
        <variable name="v_funny_K" public_interface="in" units="fmol_per_sec"/>
        <variable name="v_funny_Na" public_interface="in" units="fmol_per_sec"/>
        <variable name="I_mem" public_interface="in" units="fA"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>q_Ki</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_funny_K</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>q_Ke</ci>
                </apply>
                <ci>v_funny_K</ci>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>q_Nai</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_funny_Na</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>q_Nae</ci>
                </apply>
                <ci>v_funny_Na</ci>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>q_mem</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>I_mem</ci>
                </apply>
            </apply>
        </math>
    </component>
    <component name="funny_parameters">
        <variable initial_value="33711.9" name="kappa_Na" public_interface="out" units="fmol_per_sec"/>
        <variable initial_value="68505.2" name="kappa_K" public_interface="out" units="fmol_per_sec"/>
        <variable initial_value="0.000937554" name="kappa_R_xf" public_interface="out" units="fmol_per_sec"/>
        <variable initial_value="4.83179" name="K_Nai" public_interface="out" units="per_fmol"/>
        <variable initial_value="35.4319" name="K_Nae" public_interface="out" units="per_fmol"/>
        <variable initial_value="261.735" name="K_Ki" public_interface="out" units="per_fmol"/>
        <variable initial_value="261.735" name="K_Ke" public_interface="out" units="per_fmol"/>
        <variable initial_value="9.39344e-05" name="K_x0" public_interface="out" units="per_fmol"/>
        <variable initial_value="9.98095" name="K_x1" public_interface="out" units="per_fmol"/>
        <variable initial_value="-2.29569" name="z_xff" public_interface="out" units="dimensionless"/>
        <variable initial_value="0.707659" name="z_xfr" public_interface="out" units="dimensionless"/>
    </component>
    <component name="BG_funny">
        <variable name="t" public_interface="in" units="second"/>
        <variable name="RT" public_interface="in" units="J_per_mol"/>
        <variable name="z" public_interface="in" units="dimensionless"/>
        <variable name="F" public_interface="in" units="C_per_mol"/>
        <variable name="C_m" public_interface="in" units="fF"/>
        <variable name="kappa_Na" public_interface="in" units="fmol_per_sec"/>
        <variable name="kappa_K" public_interface="in" units="fmol_per_sec"/>
        <variable name="K_Nai" public_interface="in" units="per_fmol"/>
        <variable name="K_Nae" public_interface="in" units="per_fmol"/>
        <variable name="K_Ki" public_interface="in" units="per_fmol"/>
        <variable name="K_Ke" public_interface="in" units="per_fmol"/>
        <variable name="vol_o" public_interface="in" units="microm3"/>
        <!-- state variables-->
        <variable name="q_Ki" public_interface="in" units="fmol"/>
        <variable name="q_Ke" public_interface="in" units="fmol"/>
        <variable name="q_Nai" public_interface="in" units="fmol"/>
        <variable name="q_Nae" public_interface="in" units="fmol"/>
        <variable name="q_mem" public_interface="in" units="fC"/>
        <variable name="v_funny_K" public_interface="out" units="fmol_per_sec"/>
        <variable name="v_funny_Na" public_interface="out" units="fmol_per_sec"/>
        <variable name="I_mem" public_interface="out" units="fA"/>
        <variable name="mu_Ki" units="J_per_mol"/>
        <variable name="mu_Ke" units="J_per_mol"/>
        <variable name="mu_Nai" units="J_per_mol"/>
        <variable name="mu_Nae" units="J_per_mol"/>
        <variable name="V_mem" units="J_per_C"/>
        <variable name="Am" units="J_per_mol"/>
        <variable name="Af_K" units="J_per_mol"/>
        <variable name="Ar_K" units="J_per_mol"/>
        <variable name="Af_Na" units="J_per_mol"/>
        <variable name="Ar_Na" units="J_per_mol"/>
        <!-- Convention: positive flow from inside to outside-->
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>Am</ci>
                <apply>
                    <times/>
                    <ci>z</ci>
                    <ci>F</ci>
                    <ci>V_mem</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>mu_Ki</ci>
                <apply>
                    <times/>
                    <ci>RT</ci>
                    <apply>
                        <ln/>
                        <apply>
                            <times/>
                            <ci>K_Ki</ci>
                            <ci>q_Ki</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>mu_Ke</ci>
                <apply>
                    <times/>
                    <ci>RT</ci>
                    <apply>
                        <ln/>
                        <apply>
                            <times/>
                            <ci>K_Ke</ci>
                            <ci>q_Ke</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>Af_K</ci>
                <apply>
                    <plus/>
                    <ci>mu_x1</ci>
                    <ci>mu_Ki</ci>
                    <ci>Am</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>Ar_K</ci>
                <apply>
                    <plus/>
                    <ci>mu_x1</ci>
                    <ci>mu_Ke</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>mu_Nai</ci>
                <apply>
                    <times/>
                    <ci>RT</ci>
                    <apply>
                        <ln/>
                        <apply>
                            <times/>
                            <ci>K_Nai</ci>
                            <ci>q_Nai</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>mu_Nae</ci>
                <apply>
                    <times/>
                    <ci>RT</ci>
                    <apply>
                        <ln/>
                        <apply>
                            <times/>
                            <ci>K_Nae</ci>
                            <ci>q_Nae</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>Af_Na</ci>
                <apply>
                    <plus/>
                    <ci>mu_x1</ci>
                    <ci>mu_Nai</ci>
                    <ci>Am</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>Ar_Na</ci>
                <apply>
                    <plus/>
                    <ci>mu_x1</ci>
                    <ci>mu_Nae</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_funny_K</ci>
                <piecewise>
                    <piece>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">1</cn>
                            <ci>kappa_R_xf</ci>
                            <apply>
                                <minus/>
                                <apply>
                                    <exp/>
                                    <apply>
                                        <divide/>
                                        <ci>Af_K</ci>
                                        <ci>RT</ci>
                                    </apply>
                                </apply>
                                <apply>
                                    <exp/>
                                    <apply>
                                        <divide/>
                                        <ci>Ar_K</ci>
                                        <ci>RT</ci>
                                    </apply>
                                </apply>
                            </apply>
                        </apply>
                        <apply>
                            <eq/>
                            <ci>Am</ci>
                            <cn cellml:units="J_per_mol">0</cn>
                        </apply>
                    </piece>
                    <otherwise>
                        <apply>
                            <times/>
                            <apply>
                                <divide/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <times/>
                                        <cn cellml:units="dimensionless">1</cn>
                                        <ci>kappa_R_xf</ci>
                                        <ci>Am</ci>
                                    </apply>
                                    <ci>RT</ci>
                                </apply>
                                <apply>
                                    <minus/>
                                    <apply>
                                        <exp/>
                                        <apply>
                                            <divide/>
                                            <ci>Am</ci>
                                            <ci>RT</ci>
                                        </apply>
                                    </apply>
                                    <cn cellml:units="dimensionless">1</cn>
                                </apply>
                            </apply>
                            <apply>
                                <minus/>
                                <apply>
                                    <exp/>
                                    <apply>
                                        <divide/>
                                        <ci>Af_K</ci>
                                        <ci>RT</ci>
                                    </apply>
                                </apply>
                                <apply>
                                    <exp/>
                                    <apply>
                                        <divide/>
                                        <ci>Ar_K</ci>
                                        <ci>RT</ci>
                                    </apply>
                                </apply>
                            </apply>
                        </apply>
                    </otherwise>
                </piecewise>
            </apply>
            <apply>
                <eq/>
                <ci>v_funny_Na</ci>
                <piecewise>
                    <piece>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">1</cn>
                            <ci>kappa_R_xf</ci>
                            <apply>
                                <minus/>
                                <apply>
                                    <exp/>
                                    <apply>
                                        <divide/>
                                        <ci>Af_Na</ci>
                                        <ci>RT</ci>
                                    </apply>
                                </apply>
                                <apply>
                                    <exp/>
                                    <apply>
                                        <divide/>
                                        <ci>Ar_Na</ci>
                                        <ci>RT</ci>
                                    </apply>
                                </apply>
                            </apply>
                        </apply>
                        <apply>
                            <eq/>
                            <ci>Am</ci>
                            <cn cellml:units="J_per_mol">0</cn>
                        </apply>
                    </piece>
                    <otherwise>
                        <apply>
                            <times/>
                            <apply>
                                <divide/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <times/>
                                        <cn cellml:units="dimensionless">1</cn>
                                        <ci>kappa_R_xf</ci>
                                        <ci>Am</ci>
                                    </apply>
                                    <ci>RT</ci>
                                </apply>
                                <apply>
                                    <minus/>
                                    <apply>
                                        <exp/>
                                        <apply>
                                            <divide/>
                                            <ci>Am</ci>
                                            <ci>RT</ci>
                                        </apply>
                                    </apply>
                                    <cn cellml:units="dimensionless">1</cn>
                                </apply>
                            </apply>
                            <apply>
                                <minus/>
                                <apply>
                                    <exp/>
                                    <apply>
                                        <divide/>
                                        <ci>Af_Na</ci>
                                        <ci>RT</ci>
                                    </apply>
                                </apply>
                                <apply>
                                    <exp/>
                                    <apply>
                                        <divide/>
                                        <ci>Ar_Na</ci>
                                        <ci>RT</ci>
                                    </apply>
                                </apply>
                            </apply>
                        </apply>
                    </otherwise>
                </piecewise>
            </apply>
            <apply>
                <eq/>
                <ci>V_mem</ci>
                <apply>
                    <divide/>
                    <ci>q_mem</ci>
                    <ci>C_m</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>I_mem</ci>
                <apply>
                    <times/>
                    <ci>z</ci>
                    <ci>F</ci>
                    <apply>
                        <plus/>
                        <ci>v_funny_K</ci>
                        <ci>v_funny_Na</ci>
                    </apply>
                </apply>
            </apply>
        </math>
        <!-- GATE
        x0 state = closed
        x1_state = open-->
        <variable initial_value="1" name="q_x0" units="fmol"/>
        <variable initial_value="1e-12" name="q_x1" units="fmol"/>
        <variable name="kappa_R_xf" public_interface="in" units="fmol_per_sec"/>
        <variable name="K_x0" public_interface="in" units="per_fmol"/>
        <variable name="K_x1" public_interface="in" units="per_fmol"/>
        <variable name="mu_x0" units="J_per_mol"/>
        <variable name="mu_x1" units="J_per_mol"/>
        <variable name="Af_R_xf" units="J_per_mol"/>
        <variable name="Ar_R_xf" units="J_per_mol"/>
        <variable name="z_xff" public_interface="in" units="dimensionless"/>
        <variable name="z_xfr" public_interface="in" units="dimensionless"/>
        <variable name="v_xf" units="fmol_per_sec"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>mu_x0</ci>
                <apply>
                    <times/>
                    <ci>RT</ci>
                    <apply>
                        <ln/>
                        <apply>
                            <times/>
                            <ci>K_x0</ci>
                            <ci>q_x0</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>mu_x1</ci>
                <apply>
                    <times/>
                    <ci>RT</ci>
                    <apply>
                        <ln/>
                        <apply>
                            <times/>
                            <ci>K_x1</ci>
                            <ci>q_x1</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>Af_R_xf</ci>
                <apply>
                    <plus/>
                    <ci>mu_x0</ci>
                    <apply>
                        <times/>
                        <ci>z_xff</ci>
                        <ci>F</ci>
                        <ci>V_mem</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>Ar_R_xf</ci>
                <apply>
                    <plus/>
                    <ci>mu_x1</ci>
                    <apply>
                        <times/>
                        <ci>z_xfr</ci>
                        <ci>F</ci>
                        <ci>V_mem</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_xf</ci>
                <apply>
                    <times/>
                    <ci>kappa_R_xf</ci>
                    <apply>
                        <minus/>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <ci>Af_R_xf</ci>
                                <ci>RT</ci>
                            </apply>
                        </apply>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <ci>Ar_R_xf</ci>
                                <ci>RT</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_x0</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_xf</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_x1</ci>
                </apply>
                <ci>v_xf</ci>
            </apply>
        </math>
    </component>
    <connection>
        <map_components component_1="environment" component_2="BG_funny"/>
        <map_variables variable_1="time" variable_2="t"/>
        <map_variables variable_1="RT" variable_2="RT"/>
        <map_variables variable_1="z" variable_2="z"/>
        <map_variables variable_1="F" variable_2="F"/>
        <map_variables variable_1="q_Ki" variable_2="q_Ki"/>
        <map_variables variable_1="q_Ke" variable_2="q_Ke"/>
        <map_variables variable_1="q_Nai" variable_2="q_Nai"/>
        <map_variables variable_1="q_Nae" variable_2="q_Nae"/>
        <map_variables variable_1="q_mem" variable_2="q_mem"/>
        <map_variables variable_1="C_m" variable_2="C_m"/>
        <map_variables variable_1="vol_o" variable_2="vol_o"/>
        <map_variables variable_1="v_funny_K" variable_2="v_funny_K"/>
        <map_variables variable_1="v_funny_Na" variable_2="v_funny_Na"/>
        <map_variables variable_1="I_mem" variable_2="I_mem"/>
    </connection>
    <connection>
        <map_components component_1="BG_funny" component_2="funny_parameters"/>
        <map_variables variable_1="kappa_Na" variable_2="kappa_Na"/>
        <map_variables variable_1="kappa_K" variable_2="kappa_K"/>
        <map_variables variable_1="kappa_R_xf" variable_2="kappa_R_xf"/>
        <map_variables variable_1="K_Nai" variable_2="K_Nai"/>
        <map_variables variable_1="K_Nae" variable_2="K_Nae"/>
        <map_variables variable_1="K_Ki" variable_2="K_Ki"/>
        <map_variables variable_1="K_Ke" variable_2="K_Ke"/>
        <map_variables variable_1="K_x0" variable_2="K_x0"/>
        <map_variables variable_1="K_x1" variable_2="K_x1"/>
        <map_variables variable_1="z_xff" variable_2="z_xff"/>
        <map_variables variable_1="z_xfr" variable_2="z_xfr"/>
    </connection>
</model>