Location: Cardiovascular model with the feedback loops @ 29a8f2267435 / models / Gee_whiz.cellml

Author:
David Nickerson <david.nickerson@gmail.com>
Date:
2024-07-19 16:09:04+12:00
Desc:
Update documentation for the ISAN demonstration.
Permanent Source URI:
https://models.cellml.org/workspace/b6e/rawfile/29a8f226743509cde9214f07448a9e1a469e92c9/models/Gee_whiz.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="Gee_whiz" 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.cellml">
        <units name="mmHg" units_ref="mmHg"/>
    </import>
    <units name="millimolar">
        <unit prefix="milli" units="mole"/>
        <unit exponent="-1" units="litre"/>
    </units>
    <units name="per_mmHg">
        <unit exponent="-1" units="mmHg"/>
    </units>
    <units name="millisecond">
        <unit prefix="milli" units="second"/>
    </units>
    <units name="per_millimolar">
        <unit exponent="-1" units="millimolar"/>
    </units>
    <units name="per_s_per_mM">
        <unit exponent="-1" units="second"/>
        <unit units="per_millimolar"/>
    </units>
    <units name="per_s">
        <unit exponent="-1" units="second"/>
    </units>
    <import xlink:href="./cardiovascular.cellml">
        <component component_ref="cvs" name="cvs"/>
    </import>
    <import xlink:href="./cardiovascular.cellml">
        <component component_ref="cvs" name="cvs0"/>
        <component component_ref="activation" name="activation"/>
    </import>
    <import xlink:href="./tentusscher_noble_noble_panfilov_2004_m.cellml">
        <component component_ref="environment" name="environment"/>
        <component component_ref="membrane" name="membrane"/>
        <component component_ref="fast_sodium_current" name="fast_sodium_current"/>
        <component component_ref="L_type_Ca_current" name="L_type_Ca_current"/>
        <component component_ref="rapid_time_dependent_potassium_current" name="rapid_time_dependent_potassium_current"/>
        <component component_ref="slow_time_dependent_potassium_current" name="slow_time_dependent_potassium_current"/>
        <component component_ref="sodium_background_current" name="sodium_background_current"/>
        <component component_ref="calcium_background_current" name="calcium_background_current"/>
        <component component_ref="transient_outward_current" name="transient_outward_current"/>
        <component component_ref="sodium_potassium_pump_current" name="sodium_potassium_pump_current"/>
        <component component_ref="sodium_calcium_exchanger_current" name="sodium_calcium_exchanger_current"/>
        <component component_ref="calcium_pump_current" name="calcium_pump_current"/>
        <component component_ref="potassium_pump_current" name="potassium_pump_current"/>
        <component component_ref="calcium_dynamics" name="calcium_dynamics"/>
        <component component_ref="sodium_dynamics" name="sodium_dynamics"/>
        <component component_ref="potassium_dynamics" name="potassium_dynamics"/>
        <component component_ref="reversal_potentials" name="reversal_potentials"/>
        <component component_ref="inward_rectifier_potassium_current" name="inward_rectifier_potassium_current"/>
    </import>
    <component name="main">
        <variable name="phi_Cai" public_interface="in" units="dimensionless"/>
        <variable name="time" public_interface="in" units="millisecond"/>
        <variable name="phi" public_interface="in" units="dimensionless"/>
        <variable name="u_pv" public_interface="in" units="mmHg"/>
        <variable name="u_sa" public_interface="in" units="mmHg"/>
        <variable name="u_pv0" public_interface="in" units="mmHg"/>
        <variable name="u_sa0" public_interface="in" units="mmHg"/>
        <variable name="u_rv" public_interface="in" units="mmHg"/>
        <variable name="u_lv" public_interface="in" units="mmHg"/>
        <variable name="u_rv0" public_interface="in" units="mmHg"/>
        <variable name="u_lv0" public_interface="in" units="mmHg"/>
    </component>
    <component name="TT04">
        <variable name="Ca_i" public_interface="in" units="millimolar"/>
        <variable initial_value="0.2" name="K_Cai" units="per_mmHg"/>
        <variable name="phi_Cai" public_interface="out" units="dimensionless"/>
        <!--phi_Cai = K_Cai*Ca_i;-->
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>phi_Cai</ci>
                <apply>
                    <times/>
                    <apply>
                        <minus/>
                        <ci>T_o</ci>
                        <cn cellml:units="mmHg">1.2</cn>
                    </apply>
                    <ci>K_Cai</ci>
                </apply>
            </apply>
        </math>
        <variable name="time" public_interface="in" units="second"/>
        <variable initial_value="125.0" name="T_ref" units="mmHg"/>
        <variable initial_value="100.0e3" name="rho_0" units="per_s_per_mM"/>
        <variable initial_value="163.0" name="rho_1" units="per_s"/>
        <variable initial_value="2.26e-3" name="Ca_b_max" units="millimolar"/>
        <variable initial_value="6" name="pC_50_ref" units="dimensionless"/>
        <variable initial_value="4.25" name="n_ref" units="dimensionless"/>
        <variable initial_value="2.0" name="alpha_0" units="per_s"/>
        <variable initial_value="1.45" name="beta_0" units="dimensionless"/>
        <variable initial_value="1.95" name="beta_1" units="dimensionless"/>
        <variable initial_value="0.31" name="beta_2" units="dimensionless"/>
        <variable initial_value="1" name="lambda" units="dimensionless"/>
        <variable name="C_50" units="millimolar"/>
        <variable name="pC_50" units="dimensionless"/>
        <variable name="n" units="dimensionless"/>
        <variable name="T_o" units="mmHg"/>
        <variable initial_value="0" name="Ca_b" units="millimolar"/>
        <variable initial_value="0" name="z" units="dimensionless"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>pC_50</ci>
                <apply>
                    <times/>
                    <ci>pC_50_ref</ci>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1.0</cn>
                        <apply>
                            <times/>
                            <ci>beta_2</ci>
                            <apply>
                                <minus/>
                                <ci>lambda</ci>
                                <cn cellml:units="dimensionless">1.0</cn>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>C_50</ci>
                <apply>
                    <times/>
                    <cn cellml:units="millimolar" type="e-notation">1.0<sep/>-3</cn>
                    <apply>
                        <power/>
                        <cn cellml:units="dimensionless">10</cn>
                        <apply>
                            <minus/>
                            <cn cellml:units="dimensionless">6</cn>
                            <ci>pC_50</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>n</ci>
                <apply>
                    <times/>
                    <ci>n_ref</ci>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1.0</cn>
                        <apply>
                            <times/>
                            <ci>beta_1</ci>
                            <apply>
                                <minus/>
                                <ci>lambda</ci>
                                <cn cellml:units="dimensionless">1.0</cn>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>T_o</ci>
                <apply>
                    <times/>
                    <ci>T_ref</ci>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1.0</cn>
                        <apply>
                            <times/>
                            <ci>beta_0</ci>
                            <apply>
                                <minus/>
                                <ci>lambda</ci>
                                <cn cellml:units="dimensionless">1.0</cn>
                            </apply>
                        </apply>
                    </apply>
                    <ci>z</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>Ca_b</ci>
                </apply>
                <apply>
                    <minus/>
                    <apply>
                        <times/>
                        <ci>rho_0</ci>
                        <ci>Ca_i</ci>
                        <apply>
                            <minus/>
                            <ci>Ca_b_max</ci>
                            <ci>Ca_b</ci>
                        </apply>
                    </apply>
                    <apply>
                        <times/>
                        <ci>rho_1</ci>
                        <ci>Ca_b</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>z</ci>
                </apply>
                <apply>
                    <times/>
                    <ci>alpha_0</ci>
                    <apply>
                        <minus/>
                        <apply>
                            <times/>
                            <apply>
                                <power/>
                                <apply>
                                    <divide/>
                                    <ci>Ca_b</ci>
                                    <ci>C_50</ci>
                                </apply>
                                <ci>n</ci>
                            </apply>
                            <apply>
                                <minus/>
                                <cn cellml:units="dimensionless">1.0</cn>
                                <ci>z</ci>
                            </apply>
                        </apply>
                        <ci>z</ci>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <connection>
        <map_components component_1="main" component_2="cvs"/>
        <map_variables variable_1="time" variable_2="t"/>
        <map_variables variable_1="u_pv" variable_2="u_pv"/>
        <map_variables variable_1="u_sa" variable_2="u_sa"/>
        <map_variables variable_1="u_rv" variable_2="u_rv"/>
        <map_variables variable_1="u_lv" variable_2="u_lv"/>
    </connection>
    <connection>
        <map_components component_1="main" component_2="cvs0"/>
        <map_variables variable_1="time" variable_2="t"/>
        <map_variables variable_1="u_pv0" variable_2="u_pv"/>
        <map_variables variable_1="u_sa0" variable_2="u_sa"/>
        <map_variables variable_1="u_rv0" variable_2="u_rv"/>
        <map_variables variable_1="u_lv0" variable_2="u_lv"/>
    </connection>
    <connection>
        <map_components component_1="main" component_2="activation"/>
        <map_variables variable_1="time" variable_2="t"/>
        <map_variables variable_1="phi" variable_2="phi"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="activation"/>
        <map_variables variable_1="stim_period" variable_2="T_0"/>
    </connection>
    <connection>
        <map_components component_1="activation" component_2="cvs0"/>
        <map_variables variable_1="phi" variable_2="phi"/>
    </connection>
    <connection>
        <map_components component_1="TT04" component_2="cvs"/>
        <map_variables variable_1="phi_Cai" variable_2="phi"/>
    </connection>
    <connection>
        <map_components component_1="environment" component_2="main"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="TT04" component_2="main"/>
        <map_variables variable_1="phi_Cai" variable_2="phi_Cai"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="TT04" component_2="calcium_dynamics"/>
        <map_variables variable_1="Ca_i" variable_2="Ca_i"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="reversal_potentials" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="fast_sodium_current" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="L_type_Ca_current" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="rapid_time_dependent_potassium_current" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="slow_time_dependent_potassium_current" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="inward_rectifier_potassium_current" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="sodium_background_current" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="calcium_background_current" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="transient_outward_current" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="sodium_potassium_pump_current" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="sodium_calcium_exchanger_current" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="calcium_dynamics" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="sodium_dynamics" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="potassium_dynamics" component_2="environment"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="reversal_potentials"/>
        <map_variables variable_1="R" variable_2="R"/>
        <map_variables variable_1="T" variable_2="T"/>
        <map_variables variable_1="F" variable_2="F"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="fast_sodium_current"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="i_Na" variable_2="i_Na"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="L_type_Ca_current"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="i_CaL" variable_2="i_CaL"/>
        <map_variables variable_1="R" variable_2="R"/>
        <map_variables variable_1="T" variable_2="T"/>
        <map_variables variable_1="F" variable_2="F"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="rapid_time_dependent_potassium_current"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="i_Kr" variable_2="i_Kr"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="slow_time_dependent_potassium_current"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="i_Ks" variable_2="i_Ks"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="transient_outward_current"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="i_to" variable_2="i_to"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="inward_rectifier_potassium_current"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="i_K1" variable_2="i_K1"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="sodium_background_current"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="i_b_Na" variable_2="i_b_Na"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="calcium_background_current"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="i_b_Ca" variable_2="i_b_Ca"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="sodium_potassium_pump_current"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="i_NaK" variable_2="i_NaK"/>
        <map_variables variable_1="R" variable_2="R"/>
        <map_variables variable_1="T" variable_2="T"/>
        <map_variables variable_1="F" variable_2="F"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="sodium_calcium_exchanger_current"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="i_NaCa" variable_2="i_NaCa"/>
        <map_variables variable_1="R" variable_2="R"/>
        <map_variables variable_1="T" variable_2="T"/>
        <map_variables variable_1="F" variable_2="F"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="calcium_pump_current"/>
        <map_variables variable_1="i_p_Ca" variable_2="i_p_Ca"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="potassium_pump_current"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="i_p_K" variable_2="i_p_K"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="calcium_dynamics"/>
        <map_variables variable_1="V" variable_2="V"/>
        <map_variables variable_1="F" variable_2="F"/>
        <map_variables variable_1="V_c" variable_2="V_c"/>
        <map_variables variable_1="Cm" variable_2="Cm"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="sodium_dynamics"/>
        <map_variables variable_1="F" variable_2="F"/>
        <map_variables variable_1="V_c" variable_2="V_c"/>
        <map_variables variable_1="Cm" variable_2="Cm"/>
    </connection>
    <connection>
        <map_components component_1="membrane" component_2="potassium_dynamics"/>
        <map_variables variable_1="F" variable_2="F"/>
        <map_variables variable_1="V_c" variable_2="V_c"/>
        <map_variables variable_1="Cm" variable_2="Cm"/>
        <map_variables variable_1="i_Stim" variable_2="i_Stim"/>
    </connection>
    <connection>
        <map_components component_1="reversal_potentials" component_2="sodium_background_current"/>
        <map_variables variable_1="E_Na" variable_2="E_Na"/>
    </connection>
    <connection>
        <map_components component_1="reversal_potentials" component_2="inward_rectifier_potassium_current"/>
        <map_variables variable_1="E_K" variable_2="E_K"/>
    </connection>
    <connection>
        <map_components component_1="reversal_potentials" component_2="rapid_time_dependent_potassium_current"/>
        <map_variables variable_1="E_K" variable_2="E_K"/>
    </connection>
    <connection>
        <map_components component_1="reversal_potentials" component_2="transient_outward_current"/>
        <map_variables variable_1="E_K" variable_2="E_K"/>
    </connection>
    <connection>
        <map_components component_1="reversal_potentials" component_2="potassium_pump_current"/>
        <map_variables variable_1="E_K" variable_2="E_K"/>
    </connection>
    <connection>
        <map_components component_1="reversal_potentials" component_2="slow_time_dependent_potassium_current"/>
        <map_variables variable_1="E_Ks" variable_2="E_Ks"/>
    </connection>
    <connection>
        <map_components component_1="reversal_potentials" component_2="calcium_background_current"/>
        <map_variables variable_1="E_Ca" variable_2="E_Ca"/>
    </connection>
    <connection>
        <map_components component_1="reversal_potentials" component_2="fast_sodium_current"/>
        <map_variables variable_1="E_Na" variable_2="E_Na"/>
    </connection>
    <connection>
        <map_components component_1="reversal_potentials" component_2="calcium_dynamics"/>
        <map_variables variable_1="Ca_o" variable_2="Ca_o"/>
        <map_variables variable_1="Ca_i" variable_2="Ca_i"/>
    </connection>
    <connection>
        <map_components component_1="reversal_potentials" component_2="potassium_dynamics"/>
        <map_variables variable_1="K_o" variable_2="K_o"/>
        <map_variables variable_1="K_i" variable_2="K_i"/>
    </connection>
    <connection>
        <map_components component_1="reversal_potentials" component_2="sodium_dynamics"/>
        <map_variables variable_1="Na_o" variable_2="Na_o"/>
        <map_variables variable_1="Na_i" variable_2="Na_i"/>
    </connection>
    <connection>
        <map_components component_1="inward_rectifier_potassium_current" component_2="potassium_dynamics"/>
        <map_variables variable_1="i_K1" variable_2="i_K1"/>
        <map_variables variable_1="K_o" variable_2="K_o"/>
    </connection>
    <connection>
        <map_components component_1="rapid_time_dependent_potassium_current" component_2="potassium_dynamics"/>
        <map_variables variable_1="i_Kr" variable_2="i_Kr"/>
        <map_variables variable_1="K_o" variable_2="K_o"/>
    </connection>
    <connection>
        <map_components component_1="slow_time_dependent_potassium_current" component_2="potassium_dynamics"/>
        <map_variables variable_1="i_Ks" variable_2="i_Ks"/>
    </connection>
    <connection>
        <map_components component_1="fast_sodium_current" component_2="sodium_dynamics"/>
        <map_variables variable_1="i_Na" variable_2="i_Na"/>
    </connection>
    <connection>
        <map_components component_1="sodium_background_current" component_2="sodium_dynamics"/>
        <map_variables variable_1="i_b_Na" variable_2="i_b_Na"/>
    </connection>
    <connection>
        <map_components component_1="L_type_Ca_current" component_2="calcium_dynamics"/>
        <map_variables variable_1="Ca_o" variable_2="Ca_o"/>
        <map_variables variable_1="Ca_i" variable_2="Ca_i"/>
        <map_variables variable_1="d" variable_2="d"/>
        <map_variables variable_1="i_CaL" variable_2="i_CaL"/>
    </connection>
    <connection>
        <map_components component_1="calcium_pump_current" component_2="calcium_dynamics"/>
        <map_variables variable_1="Ca_i" variable_2="Ca_i"/>
        <map_variables variable_1="i_p_Ca" variable_2="i_p_Ca"/>
    </connection>
    <connection>
        <map_components component_1="calcium_background_current" component_2="calcium_dynamics"/>
        <map_variables variable_1="i_b_Ca" variable_2="i_b_Ca"/>
    </connection>
    <connection>
        <map_components component_1="sodium_potassium_pump_current" component_2="potassium_dynamics"/>
        <map_variables variable_1="i_NaK" variable_2="i_NaK"/>
        <map_variables variable_1="K_o" variable_2="K_o"/>
    </connection>
    <connection>
        <map_components component_1="sodium_potassium_pump_current" component_2="sodium_dynamics"/>
        <map_variables variable_1="i_NaK" variable_2="i_NaK"/>
        <map_variables variable_1="Na_i" variable_2="Na_i"/>
    </connection>
    <connection>
        <map_components component_1="sodium_calcium_exchanger_current" component_2="calcium_dynamics"/>
        <map_variables variable_1="i_NaCa" variable_2="i_NaCa"/>
        <map_variables variable_1="Ca_i" variable_2="Ca_i"/>
        <map_variables variable_1="Ca_o" variable_2="Ca_o"/>
    </connection>
    <connection>
        <map_components component_1="sodium_calcium_exchanger_current" component_2="sodium_dynamics"/>
        <map_variables variable_1="i_NaCa" variable_2="i_NaCa"/>
        <map_variables variable_1="Na_i" variable_2="Na_i"/>
        <map_variables variable_1="Na_o" variable_2="Na_o"/>
    </connection>
    <connection>
        <map_components component_1="transient_outward_current" component_2="potassium_dynamics"/>
        <map_variables variable_1="i_to" variable_2="i_to"/>
    </connection>
    <connection>
        <map_components component_1="potassium_pump_current" component_2="potassium_dynamics"/>
        <map_variables variable_1="i_p_K" variable_2="i_p_K"/>
    </connection>
</model>