- 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/BloodVolumeControl.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="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 initial_value="0" name="t" units="second"/>
<variable initial_value="2.5e3" name="RT" units="J_per_mol"/>
<variable initial_value="1" name="q_W_gi" units="litre"/>
<variable initial_value="1" name="q_W_vc" units="litre"/>
<variable initial_value="1" name="q_W_pt" units="litre"/>
<variable initial_value="1" name="q_W_ac" units="litre"/>
<variable initial_value="0" name="q_Na_gi" units="mole"/>
<variable initial_value="0" name="q_Na_vc" units="mole"/>
<variable initial_value="0" name="q_Na_pt" units="mole"/>
<variable name="Q_Na_gi" units="dim"/>
<variable name="Q_Na_vc" units="dim"/>
<variable name="Q_Na_pt" units="dim"/>
<variable name="c_Na_gi" units="mol_per_L"/>
<variable name="c_Na_vc" units="mol_per_L"/>
<variable name="c_Na_pt" units="mol_per_L"/>
<variable initial_value="1" name="v_W_in" units="L_per_s"/>
<variable name="v_W_gi" units="L_per_s"/>
<variable name="v_W_gl" units="L_per_s"/>
<variable name="v_W_pt" units="L_per_s"/>
<variable initial_value="0" name="v_W_bl" units="L_per_s"/>
<variable name="v_W_cc" units="L_per_s"/>
<variable name="v_W_aa" units="L_per_s"/>
<variable initial_value="1" name="v_Na_in" units="mol_per_s"/>
<variable name="v_Na_gi" units="mol_per_s"/>
<variable name="v_Na_gl" units="mol_per_s"/>
<variable name="v_Na_pt" units="mol_per_s"/>
<variable initial_value="0" name="v_Na_out1" units="mol_per_s"/>
<variable initial_value="0" name="v_Na_out2" units="mol_per_s"/>
<variable name="u_W_vc" units="kPa"/>
<variable name="u_W_ac" units="kPa"/>
<variable name="u_W_aa" units="kPa"/>
<variable initial_value="0" name="u_W_pt" units="kPa"/>
<variable name="u_osmotic_gi" units="kPa"/>
<variable name="u_osmotic_vc" units="kPa"/>
<variable name="u_osmotic_pt" units="kPa"/>
<variable initial_value="10" name="k_W_gi" units="L_per_s_per_kPa"/>
<variable initial_value="0" name="k_W_pt" units="L_per_s_per_kPa"/>
<variable initial_value="1" name="k_W_aa" units="L_per_s_per_kPa"/>
<variable initial_value="0" name="k_W_gl" units="L_per_s_per_kPa"/>
<variable initial_value="1" name="k_W_cc" units="L_per_s_per_kPa"/>
<variable initial_value="100" name="k_W_heart" units="kPa_s_per_L"/>
<variable initial_value="1" name="k_Na_gi" units="mol_per_s"/>
<variable initial_value="0" name="k_Na_gl" units="mol_per_s"/>
<variable initial_value="0" name="k_Na_pt" units="mol_per_s"/>
<variable initial_value="1" name="K_Na" units="per_mol"/>
<variable initial_value="1" name="E_vc" units="kPa_per_L"/>
<variable initial_value="1" name="E_ac" units="kPa_per_L"/>
<!-- ODEs for quantities of water and 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_W_gi</ci>
</apply>
<apply>
<minus/>
<ci>v_W_in</ci>
<ci>v_W_gi</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_W_pt</ci>
</apply>
<apply>
<minus/>
<apply>
<minus/>
<ci>v_W_gl</ci>
<ci>v_W_pt</ci>
</apply>
<ci>v_W_bl</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_W_vc</ci>
</apply>
<apply>
<minus/>
<apply>
<plus/>
<ci>v_W_cc</ci>
<ci>v_W_pt</ci>
<ci>v_W_gi</ci>
</apply>
<ci>v_W_aa</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_W_ac</ci>
</apply>
<apply>
<minus/>
<apply>
<minus/>
<ci>v_W_aa</ci>
<ci>v_W_cc</ci>
</apply>
<ci>v_W_gl</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_Na_gi</ci>
</apply>
<apply>
<minus/>
<apply>
<minus/>
<ci>v_Na_in</ci>
<ci>v_Na_gi</ci>
</apply>
<ci>v_Na_out1</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_Na_pt</ci>
</apply>
<apply>
<minus/>
<apply>
<minus/>
<ci>v_Na_gl</ci>
<ci>v_Na_pt</ci>
</apply>
<ci>v_Na_out2</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_Na_vc</ci>
</apply>
<apply>
<minus/>
<apply>
<plus/>
<ci>v_Na_gi</ci>
<ci>v_Na_pt</ci>
</apply>
<ci>v_Na_gl</ci>
</apply>
</apply>
<!-- Non-dimensional quantities-->
<apply>
<eq/>
<ci>Q_Na_gi</ci>
<apply>
<times/>
<ci>K_Na</ci>
<ci>q_Na_gi</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>Q_Na_vc</ci>
<apply>
<times/>
<ci>K_Na</ci>
<ci>q_Na_vc</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>Q_Na_pt</ci>
<apply>
<times/>
<ci>K_Na</ci>
<ci>q_Na_pt</ci>
</apply>
</apply>
<!-- Concentrations -->
<apply>
<eq/>
<ci>c_Na_gi</ci>
<apply>
<divide/>
<ci>q_Na_gi</ci>
<ci>q_W_gi</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>c_Na_pt</ci>
<apply>
<divide/>
<ci>q_Na_pt</ci>
<ci>q_W_pt</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>c_Na_vc</ci>
<apply>
<divide/>
<ci>q_Na_vc</ci>
<ci>q_W_vc</ci>
</apply>
</apply>
<!-- Water pressures & osmotic pressures -->
<apply>
<eq/>
<ci>u_W_vc</ci>
<apply>
<times/>
<ci>E_vc</ci>
<ci>q_W_vc</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>u_W_ac</ci>
<apply>
<times/>
<ci>E_ac</ci>
<ci>q_W_ac</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>u_W_aa</ci>
<apply>
<plus/>
<ci>u_W_vc</ci>
<apply>
<times/>
<ci>k_W_heart</ci>
<ci>v_W_aa</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>u_osmotic_gi</ci>
<apply>
<times/>
<ci>RT</ci>
<ci>c_Na_gi</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>u_osmotic_vc</ci>
<apply>
<times/>
<ci>RT</ci>
<ci>c_Na_vc</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>u_osmotic_pt</ci>
<apply>
<times/>
<ci>RT</ci>
<ci>c_Na_pt</ci>
</apply>
</apply>
<!-- Fluxes of water and sodium-->
<apply>
<eq/>
<ci>v_W_gi</ci>
<apply>
<times/>
<ci>k_W_gi</ci>
<apply>
<minus/>
<ci>u_osmotic_vc</ci>
<ci>u_osmotic_gi</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_W_gl</ci>
<apply>
<times/>
<ci>k_W_gl</ci>
<apply>
<minus/>
<ci>u_W_ac</ci>
<ci>u_W_pt</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_W_pt</ci>
<apply>
<times/>
<ci>k_W_pt</ci>
<apply>
<minus/>
<ci>u_osmotic_vc</ci>
<ci>u_osmotic_pt</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_W_cc</ci>
<apply>
<times/>
<ci>k_W_cc</ci>
<apply>
<minus/>
<ci>u_W_ac</ci>
<ci>u_W_vc</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_W_aa</ci>
<apply>
<times/>
<ci>k_W_aa</ci>
<apply>
<minus/>
<apply>
<plus/>
<ci>u_W_vc</ci>
<apply>
<times/>
<ci>k_W_heart</ci>
<ci>v_W_aa</ci>
</apply>
</apply>
<ci>u_W_ac</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_Na_gi</ci>
<apply>
<times/>
<ci>k_Na_gi</ci>
<apply>
<minus/>
<ci>Q_Na_gi</ci>
<ci>Q_Na_vc</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_Na_gl</ci>
<apply>
<times/>
<ci>k_Na_gl</ci>
<apply>
<minus/>
<ci>Q_Na_vc</ci>
<ci>Q_Na_pt</ci>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_Na_pt</ci>
<apply>
<times/>
<ci>k_Na_pt</ci>
<apply>
<minus/>
<ci>Q_Na_pt</ci>
<ci>Q_Na_vc</ci>
</apply>
</apply>
</apply>
</math>
</component>
</model>