- Author:
- Soroush Safaei <ssaf006@aucklanduni.ac.nz>
- Date:
- 2018-08-15 17:46:49+12:00
- Desc:
- modify pulmonary
- Permanent Source URI:
- https://staging.physiomeproject.org/workspace/3a4/rawfile/d2572ee15ff273d02c4e07ad95a7234afe2b9ba5/circulatory_system.cellml
<?xml version='1.0'?>
<model name="tissue_gas_exchange" 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="m3" units_ref="m3"/>
<units name="mM" units_ref="mM"/>
<units name="m3_per_s" units_ref="m3_per_s"/>
<units name="m6_per_J" units_ref="m6_per_J"/>
<units name="m3_per_J" units_ref="m3_per_J"/>
<units name="per_m" units_ref="per_m"/>
<units name="J_per_m3" units_ref="J_per_m3"/>
<units name="J_s_per_m6" units_ref="J_s_per_m6"/>
<units name="J_s2_per_m6" units_ref="J_s2_per_m6"/>
<units name="J_s2_per_m5" units_ref="J_s2_per_m5"/>
<units name="J_per_s" units_ref="J_per_s"/>
<units name="J_per_m6" units_ref="J_per_m6"/>
<units name="J_s_per_m3" units_ref="J_s_per_m3"/>
</import>
<component name="environment">
<variable name="time" public_interface="out" units="second"/>
</component>
<component name="tissue_gas_exchange">
<variable name="t" public_interface="in" units="second"/>
<!-- compliance-->
<variable initial_value="0.28" name="C_sa" units="m6_per_J"/>
<variable initial_value="1.1532" name="C_sp" units="m6_per_J"/>
<variable initial_value="1.0788" name="C_ep" units="m6_per_J"/>
<variable initial_value="0.8184" name="C_mp" units="m6_per_J"/>
<variable initial_value="0.1488" name="C_hp" units="m6_per_J"/>
<variable initial_value="0.5208" name="C_bp" units="m6_per_J"/>
<variable initial_value="42.777" name="C_sv" units="m6_per_J"/>
<variable initial_value="14" name="C_ev" units="m6_per_J"/>
<variable initial_value="10.997" name="C_mv" units="m6_per_J"/>
<variable initial_value="2.499" name="C_hv" units="m6_per_J"/>
<variable initial_value="7.497" name="C_bv" units="m6_per_J"/>
<variable initial_value="0.76" name="C_pa" units="m6_per_J"/>
<variable initial_value="5.7014" name="C_pp" units="m6_per_J"/>
<variable initial_value="0.0986" name="C_ps" units="m6_per_J"/>
<variable initial_value="25.37" name="C_pv" units="m6_per_J"/>
<variable initial_value="0.000000024269246" name="C_p_eq" units="m6_per_J"/>
<variable initial_value="0.000000133582824" name="C_jp" units="m6_per_J"/>
<variable initial_value="0.000002493206141" name="C_jv" units="m6_per_J"/>
<!-- resistance-->
<variable initial_value="0.06" name="R_sa" units="J_s_per_m6"/>
<variable initial_value="2.49" name="R_sp0" units="J_s_per_m6"/>
<variable initial_value="1.655" name="R_ep0" units="J_s_per_m6"/>
<variable initial_value="2.106" name="R_mp0" units="J_s_per_m6"/>
<variable initial_value="19.71" name="R_hp_n" units="J_s_per_m6"/>
<variable initial_value="6.6667" name="R_bp_n" units="J_s_per_m6"/>
<variable initial_value="0.038" name="R_sv" units="J_s_per_m6"/>
<variable initial_value="0.04" name="R_ev" units="J_s_per_m6"/>
<variable initial_value="0.05" name="R_mv" units="J_s_per_m6"/>
<variable initial_value="0.224" name="R_hv" units="J_s_per_m6"/>
<variable initial_value="0.075" name="R_bv" units="J_s_per_m6"/>
<variable initial_value="0.023" name="R_pa" units="J_s_per_m6"/>
<variable initial_value="0.0909" name="R_pp" units="J_s_per_m6"/>
<variable initial_value="5.2588" name="R_ps" units="J_s_per_m6"/>
<variable initial_value="0.0056" name="R_pv" units="J_s_per_m6"/>
<!-- unstressed volume-->
<variable initial_value="0.0" name="q_sa" public_interface="out" units="m3"/>
<variable initial_value="274.4" name="q_sp" public_interface="out" units="m3"/>
<variable initial_value="134.64" name="q_ep" public_interface="out" units="m3"/>
<variable initial_value="105.8" name="q_mp" public_interface="out" units="m3"/>
<variable initial_value="24" name="q_hp" public_interface="out" units="m3"/>
<variable initial_value="72.13" name="q_bp" public_interface="out" units="m3"/>
<variable initial_value="1435.4" name="q_sv0" public_interface="out" units="m3"/>
<variable initial_value="640.73" name="q_ev0" public_interface="out" units="m3"/>
<variable initial_value="503.26" name="q_mv0" public_interface="out" units="m3"/>
<variable initial_value="98.21" name="q_hv" public_interface="out" units="m3"/>
<variable initial_value="294.64" name="q_bv" public_interface="out" units="m3"/>
<variable initial_value="0" name="q_pa" public_interface="out" units="m3"/>
<variable initial_value="106.4" name="q_pp" public_interface="out" units="m3"/>
<variable initial_value="0.0" name="q_ps" public_interface="out" units="m3"/>
<variable initial_value="105.6" name="q_pv" public_interface="out" units="m3"/>
<!-- System of ODEs-->
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>P_sa</ci>
</apply>
<apply>
<divide/>
<apply>
<minus/>
<ci>Q_lv_o</ci>
<ci>Q_sa</ci>
</apply>
<ci>C_sa</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>Q_sa</ci>
</apply>
<apply>
<divide/>
<apply>
<minus/>
<apply>
<minus/>
<ci>P_sa</ci>
<ci>P_ep</ci>
</apply>
<apply>
<times/>
<ci>R_sa</ci>
<ci>Q_sa</ci>
</apply>
</apply>
<ci>L_sa</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>V_sa</ci>
<apply>
<plus/>
<apply>
<times/>
<ci>C_sa</ci>
<ci>P_sa</ci>
</apply>
<ci>q_sa</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>P_eq</ci>
</apply>
<apply>
<divide/>
<apply>
<minus/>
<ci>Q_sa</ci>
<apply>
<plus/>
<ci>Q_ep</ci>
<ci>Q_sp</ci>
<ci>Q_mp</ci>
<ci>Q_bp</ci>
<ci>Q_hp</ci>
</apply>
</apply>
<ci>C_p_eq</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>P_ep</ci>
<ci>P_sp</ci>
</apply>
<apply>
<eq/>
<ci>P_sp</ci>
<ci>P_mp</ci>
</apply>
<apply>
<eq/>
<ci>P_mp</ci>
<ci>P_bp</ci>
</apply>
<apply>
<eq/>
<ci>P_bp</ci>
<ci>P_hp</ci>
</apply>
<apply>
<eq/>
<ci>Q_ep</ci>
<piecewise>
<piece>
<apply>
<divide/>
<apply>
<minus/>
<ci>P_ep</ci>
<ci>P_ev</ci>
</apply>
<ci>R_ep</ci>
</apply>
<apply>
<geq/>
<ci>P_ep</ci>
<ci>P_ev</ci>
</apply>
</piece>
<piece>
<cn cellml:units="m3_per_s">0</cn>
<apply>
<lt/>
<ci>P_ep</ci>
<ci>P_ev</ci>
</apply>
</piece>
</piecewise>
</apply>
<apply>
<eq/>
<ci>Q_sp</ci>
<piecewise>
<piece>
<apply>
<divide/>
<apply>
<minus/>
<ci>P_sp</ci>
<ci>P_sv</ci>
</apply>
<ci>R_sp</ci>
</apply>
<apply>
<geq/>
<ci>P_sp</ci>
<ci>P_sv</ci>
</apply>
</piece>
<piece>
<cn cellml:units="m3_per_s">0</cn>
<apply>
<lt/>
<ci>P_sp</ci>
<ci>P_sv</ci>
</apply>
</piece>
</piecewise>
</apply>
<apply>
<eq/>
<ci>Q_mp</ci>
<piecewise>
<piece>
<apply>
<divide/>
<apply>
<minus/>
<ci>P_mp</ci>
<ci>P_mv</ci>
</apply>
<ci>R_mp</ci>
</apply>
<apply>
<geq/>
<ci>P_mp</ci>
<ci>P_mv</ci>
</apply>
</piece>
<piece>
<cn cellml:units="m3_per_s">0</cn>
<apply>
<lt/>
<ci>P_mp</ci>
<ci>P_mv</ci>
</apply>
</piece>
</piecewise>
</apply>
<apply>
<eq/>
<ci>Q_bp</ci>
<piecewise>
<piece>
<apply>
<divide/>
<apply>
<minus/>
<ci>P_bp</ci>
<ci>P_bv</ci>
</apply>
<ci>R_bp</ci>
</apply>
<apply>
<geq/>
<ci>P_bp</ci>
<ci>P_bv</ci>
</apply>
</piece>
<piece>
<cn cellml:units="m3_per_s">0</cn>
<apply>
<lt/>
<ci>P_bp</ci>
<ci>P_bv</ci>
</apply>
</piece>
</piecewise>
</apply>
<apply>
<eq/>
<ci>Q_hp</ci>
<piecewise>
<piece>
<apply>
<divide/>
<apply>
<minus/>
<ci>P_hp</ci>
<ci>P_hv</ci>
</apply>
<ci>R_hp</ci>
</apply>
<apply>
<geq/>
<ci>P_hp</ci>
<ci>P_hv</ci>
</apply>
</piece>
<piece>
<cn cellml:units="m3_per_s">0</cn>
<apply>
<lt/>
<ci>P_hp</ci>
<ci>P_hv</ci>
</apply>
</piece>
</piecewise>
</apply>
<apply>
<eq/>
<ci>V_ep</ci>
<apply>
<plus/>
<apply>
<times/>
<ci>C_ep</ci>
<ci>P_ep</ci>
</apply>
<ci>q_ep</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>V_sp</ci>
<apply>
<plus/>
<apply>
<times/>
<ci>C_sp</ci>
<ci>P_sp</ci>
</apply>
<ci>q_sp</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>V_mp</ci>
<apply>
<plus/>
<apply>
<times/>
<ci>C_mp</ci>
<ci>P_mp</ci>
</apply>
<ci>q_mp</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>V_bp</ci>
<apply>
<plus/>
<apply>
<times/>
<ci>C_bp</ci>
<ci>P_bp</ci>
</apply>
<ci>q_bp</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>V_hp</ci>
<apply>
<plus/>
<apply>
<times/>
<ci>C_hp</ci>
<ci>P_hp</ci>
</apply>
<ci>q_hp</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>P_ev</ci>
<apply>
<divide/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<apply>
<minus/>
<ci>V_tot</ci>
<ci>V_sa</ci>
</apply>
<ci>V_hp</ci>
</apply>
<ci>V_bp</ci>
</apply>
<ci>V_mp</ci>
</apply>
<ci>V_sp</ci>
</apply>
<ci>V_ep</ci>
</apply>
<ci>V_hv</ci>
</apply>
<ci>V_bv</ci>
</apply>
<ci>V_mv</ci>
</apply>
<ci>V_sv</ci>
</apply>
<ci>V_tv</ci>
</apply>
<ci>V_ra</ci>
</apply>
<ci>V_rv</ci>
</apply>
<ci>V_hv</ci>
</apply>
<ci>V_bv</ci>
</apply>
<ci>V_mv</ci>
</apply>
<ci>V_sv</ci>
</apply>
<ci>V_tv</ci>
</apply>
<ci>V_ra</ci>
</apply>
<ci>V_rv</ci>
</apply>
<ci>V_pa</ci>
</apply>
<ci>V_pp</ci>
</apply>
<ci>V_ps</ci>
</apply>
<ci>V_pv</ci>
</apply>
<ci>V_la</ci>
</apply>
<ci>V_lv</ci>
</apply>
<ci>q_ev</ci>
</apply>
<ci>C_ev</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>Q_ev</ci>
<piecewise>
<piece>
<apply>
<divide/>
<apply>
<minus/>
<ci>P_ev</ci>
<ci>P_tv</ci>
</apply>
<ci>R_ev</ci>
</apply>
<apply>
<geq/>
<ci>P_ev</ci>
<ci>P_tv</ci>
</apply>
</piece>
<piece>
<cn cellml:units="m3_per_s">0</cn>
<apply>
<lt/>
<ci>P_ev</ci>
<ci>P_tv</ci>
</apply>
</piece>
</piecewise>
</apply>
<apply>
<eq/>
<ci>Q_sv</ci>
<piecewise>
<piece>
<apply>
<divide/>
<apply>
<minus/>
<ci>P_sp</ci>
<ci>P_tv</ci>
</apply>
<ci>R_sv</ci>
</apply>
<apply>
<geq/>
<ci>P_sv</ci>
<ci>P_tv</ci>
</apply>
</piece>
<piece>
<cn cellml:units="m3_per_s">0</cn>
<apply>
<lt/>
<ci>P_sv</ci>
<ci>P_tv</ci>
</apply>
</piece>
</piecewise>
</apply>
<apply>
<eq/>
<ci>Q_mv</ci>
<piecewise>
<piece>
<apply>
<divide/>
<apply>
<minus/>
<ci>P_mp</ci>
<ci>P_tv</ci>
</apply>
<ci>R_mv</ci>
</apply>
<apply>
<geq/>
<ci>P_mv</ci>
<ci>P_tv</ci>
</apply>
</piece>
<piece>
<cn cellml:units="m3_per_s">0</cn>
<apply>
<lt/>
<ci>P_mv</ci>
<ci>P_tv</ci>
</apply>
</piece>
</piecewise>
</apply>
<apply>
<eq/>
<ci>Q_bv</ci>
<piecewise>
<piece>
<apply>
<divide/>
<apply>
<minus/>
<ci>P_bp</ci>
<ci>P_tv</ci>
</apply>
<ci>R_bv</ci>
</apply>
<apply>
<geq/>
<ci>P_bv</ci>
<ci>P_tv</ci>
</apply>
</piece>
<piece>
<cn cellml:units="m3_per_s">0</cn>
<apply>
<lt/>
<ci>P_bv</ci>
<ci>P_tv</ci>
</apply>
</piece>
</piecewise>
</apply>
<apply>
<eq/>
<ci>Q_hv</ci>
<piecewise>
<piece>
<apply>
<divide/>
<apply>
<minus/>
<ci>P_hp</ci>
<ci>P_tv</ci>
</apply>
<ci>R_hv</ci>
</apply>
<apply>
<geq/>
<ci>P_hv</ci>
<ci>P_tv</ci>
</apply>
</piece>
<piece>
<cn cellml:units="m3_per_s">0</cn>
<apply>
<lt/>
<ci>P_hv</ci>
<ci>P_tv</ci>
</apply>
</piece>
</piecewise>
</apply>
<apply>
<eq/>
<ci>V_ev</ci>
<apply>
<plus/>
<apply>
<times/>
<ci>C_ev</ci>
<ci>P_ev</ci>
</apply>
<ci>q_ev</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>V_sv</ci>
<apply>
<plus/>
<apply>
<times/>
<ci>C_sv</ci>
<ci>P_sv</ci>
</apply>
<ci>q_sv</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>V_mv</ci>
<apply>
<plus/>
<apply>
<times/>
<ci>C_mv</ci>
<ci>P_mv</ci>
</apply>
<ci>q_mv</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>V_bv</ci>
<apply>
<plus/>
<apply>
<times/>
<ci>C_bv</ci>
<ci>P_bv</ci>
</apply>
<ci>q_bv</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>V_hv</ci>
<apply>
<plus/>
<apply>
<times/>
<ci>C_hv</ci>
<ci>P_hv</ci>
</apply>
<ci>q_hv</ci>
</apply>
</apply>
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>V_tv</ci>
</apply>
<apply>
<minus/>
<apply>
<plus/>
<ci>Q_ev</ci>
<ci>Q_sv</ci>
<ci>Q_mv</ci>
<ci>Q_bv</ci>
<ci>Q_hv</ci>
</apply>
<ci>Q_tv</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>Q_tv</ci>
<apply>
<divide/>
<apply>
<minus/>
<ci>P_tv</ci>
<ci>P_ra</ci>
</apply>
<ci>R_tv</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>P_tv</ci>
<apply>
<plus/>
<ci>P_pl</ci>
<ci>P_tm_tv</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>C_pe_q</ci>
<apply>
<plus/>
<ci>C_ep</ci>
<ci>C_sp</ci>
<ci>C_mp</ci>
<ci>C_bp</ci>
<ci>C_hp</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>P_tm_tv</ci>
<piecewise>
<piece>
<apply>
<minus/>
<apply>
<plus/>
<ci>D_1</ci>
<apply>
<times/>
<ci>K_1</ci>
<apply>
<minus/>
<ci>V_tv</ci>
<ci>q_tv</ci>
</apply>
</apply>
</apply>
<ci>psi</ci>
</apply>
<apply>
<geq/>
<ci>V_tv</ci>
<ci>q_tv</ci>
</apply>
</piece>
<piece>
<apply>
<plus/>
<ci>D_2</ci>
<apply>
<times/>
<ci>K_2</ci>
<apply>
<exp/>
<apply>
<minus/>
<apply>
<divide/>
<ci>V_tv</ci>
<ci>V_tv_min</ci>
</apply>
<ci>psi</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<lt/>
<ci>V_tv</ci>
<ci>q_tv</ci>
</apply>
</piece>
</piecewise>
</apply>
<apply>
<eq/>
<ci>psi</ci>
<apply>
<divide/>
<ci>K_xp</ci>
<apply>
<exp/>
<apply>
<minus/>
<apply>
<divide/>
<ci>V_tv</ci>
<ci>K_xv</ci>
</apply>
<cn cellml:units="dimensionless">1</cn>
</apply>
</apply>
</apply>
</apply>
</math>
</component>
<connection>
<map_components component_1="environment" component_2="tissue_gas_exchange"/>
<map_variables variable_1="time" variable_2="t"/>
</connection>
</model>