Location: Blood volume control model @ 668ee4b3768b / BloodVolumeControlv2.cellml

Author:
David Nickerson <david.nickerson@gmail.com>
Date:
2025-04-10 23:21:37+12:00
Desc:
Update to latest from Peter. The BloodVolumeControlv2 model is the latest, with the OMEX manifest and SimulationVuer config file updated to use that model.
Permanent Source URI:
https://staging.physiomeproject.org/workspace/c99/rawfile/668ee4b3768ba326f6f3ccc11d829735d6bce0bb/BloodVolumeControlv2.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="my_model" xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cellml="http://www.cellml.org/cellml/1.1#">
    <!-- Simple model of blood volume-->
    <units name="dim">
        <unit units="dimensionless"/>
    </units>
    <units name="per_s">
        <unit exponent="-1" units="second"/>
    </units>
    <units name="L_per_s">
        <unit units="litre"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="kPa">
        <unit units="joule"/>
        <unit exponent="-1" units="litre"/>
    </units>
    <units name="kPa_s_per_L">
        <unit units="kPa"/>
        <unit units="second"/>
        <unit exponent="-1" units="litre"/>
    </units>
    <units name="kPa_per_L">
        <unit units="kPa"/>
        <unit exponent="-1" units="litre"/>
    </units>
    <units name="L_per_s_per_kPa">
        <unit units="L_per_s"/>
        <unit exponent="-1" units="kPa"/>
    </units>
    <units name="per_mol">
        <unit exponent="-1" units="mole"/>
    </units>
    <units name="mol_per_s">
        <unit units="mole"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="mol_per_L">
        <unit units="mole"/>
        <unit exponent="-1" units="litre"/>
    </units>
    <units name="J_per_mol">
        <unit units="joule"/>
        <unit exponent="-1" units="mole"/>
    </units>
    <component name="main">
        <variable name="t" units="second"/>
        <variable initial_value="2.5e3" name="RT" units="J_per_mol"/>
        <variable initial_value="1" name="q_gi_W" units="litre"/>
        <variable initial_value="1" name="q_vc_W" units="litre"/>
        <variable initial_value="1" name="q_pt_W" units="litre"/>
        <variable initial_value="1" name="q_ac_W" units="litre"/>
        <variable initial_value="0" name="q_gi_Na" units="mole"/>
        <variable initial_value="0" name="q_vc_Na" units="mole"/>
        <variable initial_value="0" name="q_pt_Na" units="mole"/>
        <variable name="c_gi_Na" units="mol_per_L"/>
        <variable name="c_vc_Na" units="mol_per_L"/>
        <variable name="c_pt_Na" units="mol_per_L"/>
        <variable initial_value="1" name="v_in_W" units="L_per_s"/>
        <variable name="v_gi_W" units="L_per_s"/>
        <variable name="v_gl_W" units="L_per_s"/>
        <variable name="v_pt_W" units="L_per_s"/>
        <variable initial_value="0" name="v_out2_W" units="L_per_s"/>
        <variable name="v_cc_W" units="L_per_s"/>
        <variable name="v_aa_W" units="L_per_s"/>
        <variable initial_value="1" name="v_in_Na" units="mol_per_s"/>
        <variable name="v_gi_Na" units="mol_per_s"/>
        <variable name="v_gl_Na" units="mol_per_s"/>
        <variable name="v_pt_Na" units="mol_per_s"/>
        <variable initial_value="0" name="v_out1_Na" units="mol_per_s"/>
        <variable initial_value="0" name="v_out2_Na" units="mol_per_s"/>
        <variable name="u_vc_W" units="kPa"/>
        <variable name="u_ac_W" units="kPa"/>
        <variable initial_value="0" name="u_pt_W" units="kPa"/>
        <variable name="u_gi_osmotic" units="kPa"/>
        <variable name="u_vc_osmotic" units="kPa"/>
        <variable name="u_pt_osmotic" units="kPa"/>
        <variable initial_value="10" name="k_gi_W" units="L_per_s_per_kPa"/>
        <variable initial_value="0" name="k_pt_W" units="L_per_s_per_kPa"/>
        <variable initial_value="1" name="k_aa_W" units="L_per_s_per_kPa"/>
        <variable initial_value="0" name="k_gl_W" units="L_per_s_per_kPa"/>
        <variable initial_value="1" name="k_cc_W" units="L_per_s_per_kPa"/>
        <variable initial_value="10" name="k_heart_W" units="L_per_s_per_kPa"/>
        <variable initial_value="1" name="kK_gi_Na" units="per_s"/>
        <variable initial_value="0" name="kK_pt_Na" units="per_s"/>
        <variable initial_value="0" name="kK_gl_Na" units="per_s"/>
        <variable initial_value="1" name="E_vc" units="joule"/>
        <variable initial_value="1" name="E_ac" units="joule"/>
        <variable initial_value="0.5" name="U_ac_W" units="litre"/>
        <variable initial_value="0.5" name="U_vc_W" units="litre"/>
        <variable initial_value="2" name="L_ac_W" units="litre"/>
        <variable initial_value="2" name="L_vc_W" units="litre"/>
        <!-- ODEs for qtys of water & sodium in the 4 compartments-->
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_gi_W</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_in_W</ci>
                    <apply>
                        <times/>
                        <ci>RT</ci>
                        <ci>k_gi_W</ci>
                        <apply>
                            <minus/>
                            <apply>
                                <divide/>
                                <ci>q_vc_Na</ci>
                                <ci>q_vc_W</ci>
                            </apply>
                            <apply>
                                <divide/>
                                <ci>q_gi_Na</ci>
                                <ci>q_gi_W</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_pt_W</ci>
                </apply>
                <apply>
                    <minus/>
                    <apply>
                        <minus/>
                        <apply>
                            <times/>
                            <ci>k_gl_W</ci>
                            <apply>
                                <minus/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <times/>
                                        <ci>E_ac</ci>
                                        <apply>
                                            <minus/>
                                            <ci>q_ac_W</ci>
                                            <ci>U_ac_W</ci>
                                        </apply>
                                    </apply>
                                    <apply>
                                        <power/>
                                        <apply>
                                            <minus/>
                                            <ci>L_ac_W</ci>
                                            <ci>q_ac_W</ci>
                                        </apply>
                                        <cn cellml:units="dimensionless">2</cn>
                                    </apply>
                                </apply>
                                <ci>u_pt_W</ci>
                            </apply>
                        </apply>
                        <apply>
                            <times/>
                            <ci>kK_pt_Na</ci>
                            <apply>
                                <minus/>
                                <ci>q_pt_W</ci>
                                <ci>q_vc_W</ci>
                            </apply>
                        </apply>
                    </apply>
                    <ci>v_out2_W</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_vc_W</ci>
                </apply>
                <apply>
                    <plus/>
                    <apply>
                        <minus/>
                        <apply>
                            <times/>
                            <ci>k_cc_W</ci>
                            <apply>
                                <divide/>
                                <apply>
                                    <times/>
                                    <ci>E_ac</ci>
                                    <apply>
                                        <minus/>
                                        <ci>q_ac_W</ci>
                                        <ci>U_ac_W</ci>
                                    </apply>
                                </apply>
                                <apply>
                                    <power/>
                                    <apply>
                                        <minus/>
                                        <ci>L_ac_W</ci>
                                        <ci>q_ac_W</ci>
                                    </apply>
                                    <cn cellml:units="dimensionless">2</cn>
                                </apply>
                            </apply>
                        </apply>
                        <apply>
                            <times/>
                            <apply>
                                <plus/>
                                <ci>k_cc_W</ci>
                                <ci>k_heart_W</ci>
                            </apply>
                            <apply>
                                <divide/>
                                <apply>
                                    <times/>
                                    <ci>E_vc</ci>
                                    <apply>
                                        <minus/>
                                        <ci>q_vc_W</ci>
                                        <ci>U_vc_W</ci>
                                    </apply>
                                </apply>
                                <apply>
                                    <power/>
                                    <apply>
                                        <minus/>
                                        <ci>L_vc_W</ci>
                                        <ci>q_vc_W</ci>
                                    </apply>
                                    <cn cellml:units="dimensionless">2</cn>
                                </apply>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <times/>
                        <ci>RT</ci>
                        <ci>k_gi_W</ci>
                        <apply>
                            <minus/>
                            <apply>
                                <divide/>
                                <ci>q_vc_Na</ci>
                                <ci>q_vc_W</ci>
                            </apply>
                            <apply>
                                <divide/>
                                <ci>q_gi_Na</ci>
                                <ci>q_gi_W</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_ac_W</ci>
                </apply>
                <apply>
                    <plus/>
                    <apply>
                        <minus/>
                        <apply>
                            <times/>
                            <apply>
                                <plus/>
                                <ci>k_heart_W</ci>
                                <ci>k_cc_W</ci>
                            </apply>
                            <apply>
                                <divide/>
                                <apply>
                                    <times/>
                                    <ci>E_vc</ci>
                                    <apply>
                                        <minus/>
                                        <ci>q_vc_W</ci>
                                        <ci>U_vc_W</ci>
                                    </apply>
                                </apply>
                                <apply>
                                    <power/>
                                    <apply>
                                        <minus/>
                                        <ci>L_vc_W</ci>
                                        <ci>q_vc_W</ci>
                                    </apply>
                                    <cn cellml:units="dimensionless">2</cn>
                                </apply>
                            </apply>
                        </apply>
                        <apply>
                            <times/>
                            <apply>
                                <plus/>
                                <ci>k_gl_W</ci>
                                <ci>k_cc_W</ci>
                            </apply>
                            <apply>
                                <divide/>
                                <apply>
                                    <times/>
                                    <ci>E_ac</ci>
                                    <apply>
                                        <minus/>
                                        <ci>q_ac_W</ci>
                                        <ci>U_ac_W</ci>
                                    </apply>
                                </apply>
                                <apply>
                                    <power/>
                                    <apply>
                                        <minus/>
                                        <ci>L_ac_W</ci>
                                        <ci>q_ac_W</ci>
                                    </apply>
                                    <cn cellml:units="dimensionless">2</cn>
                                </apply>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <times/>
                        <ci>k_gl_W</ci>
                        <ci>u_pt_W</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_gi_Na</ci>
                </apply>
                <apply>
                    <minus/>
                    <apply>
                        <minus/>
                        <ci>v_in_Na</ci>
                        <ci>v_out1_Na</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>kK_gi_Na</ci>
                        <apply>
                            <minus/>
                            <ci>q_gi_Na</ci>
                            <ci>q_vc_Na</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_pt_Na</ci>
                </apply>
                <apply>
                    <minus/>
                    <apply>
                        <times/>
                        <apply>
                            <plus/>
                            <ci>kK_gl_Na</ci>
                            <ci>kK_pt_Na</ci>
                        </apply>
                        <apply>
                            <minus/>
                            <ci>q_vc_Na</ci>
                            <ci>q_pt_Na</ci>
                        </apply>
                    </apply>
                    <ci>v_out2_Na</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_vc_Na</ci>
                </apply>
                <apply>
                    <minus/>
                    <apply>
                        <plus/>
                        <apply>
                            <times/>
                            <ci>kK_gi_Na</ci>
                            <ci>q_gi_Na</ci>
                        </apply>
                        <apply>
                            <times/>
                            <apply>
                                <plus/>
                                <ci>kK_pt_Na</ci>
                                <ci>kK_gl_Na</ci>
                            </apply>
                            <ci>q_pt_Na</ci>
                        </apply>
                    </apply>
                    <apply>
                        <times/>
                        <apply>
                            <plus/>
                            <ci>kK_gi_Na</ci>
                            <ci>kK_pt_Na</ci>
                            <ci>kK_gl_Na</ci>
                        </apply>
                        <ci>q_vc_Na</ci>
                    </apply>
                </apply>
            </apply>
            <!-- Water pressures -->
            <apply>
                <eq/>
                <ci>u_vc_W</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>E_vc</ci>
                        <apply>
                            <minus/>
                            <ci>q_vc_W</ci>
                            <ci>U_vc_W</ci>
                        </apply>
                    </apply>
                    <apply>
                        <power/>
                        <apply>
                            <minus/>
                            <ci>L_vc_W</ci>
                            <ci>q_vc_W</ci>
                        </apply>
                        <cn cellml:units="dimensionless">2</cn>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u_ac_W</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>E_ac</ci>
                        <apply>
                            <minus/>
                            <ci>q_ac_W</ci>
                            <ci>U_ac_W</ci>
                        </apply>
                    </apply>
                    <apply>
                        <power/>
                        <apply>
                            <minus/>
                            <ci>L_ac_W</ci>
                            <ci>q_ac_W</ci>
                        </apply>
                        <cn cellml:units="dimensionless">2</cn>
                    </apply>
                </apply>
            </apply>
            <!-- Concentrations & Osmotic pressures-->
            <apply>
                <eq/>
                <ci>c_gi_Na</ci>
                <apply>
                    <divide/>
                    <ci>q_gi_Na</ci>
                    <ci>q_gi_W</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>c_pt_Na</ci>
                <apply>
                    <divide/>
                    <ci>q_pt_Na</ci>
                    <ci>q_pt_W</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>c_vc_Na</ci>
                <apply>
                    <divide/>
                    <ci>q_vc_Na</ci>
                    <ci>q_vc_W</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u_gi_osmotic</ci>
                <apply>
                    <times/>
                    <ci>RT</ci>
                    <ci>c_gi_Na</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u_vc_osmotic</ci>
                <apply>
                    <times/>
                    <ci>RT</ci>
                    <ci>c_vc_Na</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u_pt_osmotic</ci>
                <apply>
                    <times/>
                    <ci>RT</ci>
                    <ci>c_pt_Na</ci>
                </apply>
            </apply>
            <!-- Water fluxes -->
            <apply>
                <eq/>
                <ci>v_gi_W</ci>
                <apply>
                    <times/>
                    <ci>k_gi_W</ci>
                    <apply>
                        <minus/>
                        <ci>u_vc_osmotic</ci>
                        <ci>u_gi_osmotic</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_pt_W</ci>
                <apply>
                    <times/>
                    <ci>k_pt_W</ci>
                    <apply>
                        <minus/>
                        <ci>u_vc_osmotic</ci>
                        <ci>u_pt_osmotic</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_gl_W</ci>
                <apply>
                    <times/>
                    <ci>k_gl_W</ci>
                    <apply>
                        <minus/>
                        <ci>u_ac_W</ci>
                        <ci>u_pt_W</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_cc_W</ci>
                <apply>
                    <times/>
                    <ci>k_cc_W</ci>
                    <apply>
                        <minus/>
                        <ci>u_ac_W</ci>
                        <ci>u_vc_W</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_aa_W</ci>
                <apply>
                    <times/>
                    <ci>k_heart_W</ci>
                    <ci>u_vc_W</ci>
                </apply>
            </apply>
            <!-- Sodium fluxes-->
            <apply>
                <eq/>
                <ci>v_gi_Na</ci>
                <apply>
                    <times/>
                    <ci>kK_gi_Na</ci>
                    <apply>
                        <minus/>
                        <ci>q_gi_Na</ci>
                        <ci>q_vc_Na</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_gl_Na</ci>
                <apply>
                    <times/>
                    <ci>kK_gl_Na</ci>
                    <apply>
                        <minus/>
                        <ci>q_vc_Na</ci>
                        <ci>q_pt_Na</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_pt_Na</ci>
                <apply>
                    <times/>
                    <ci>kK_pt_Na</ci>
                    <apply>
                        <minus/>
                        <ci>q_pt_Na</ci>
                        <ci>q_vc_Na</ci>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
</model>