Location: Cardiovascular Circulation @ d364629a8aef / Heart.cellml

Author:
Soroush Safaei <ssaf006@aucklanduni.ac.nz>
Date:
2019-04-13 22:38:38+12:00
Desc:
fix the heart model conditions
Permanent Source URI:
http://models.cellml.org/workspace/4ac/rawfile/d364629a8aef513c2cd18c3175a1cc4baae4c6f1/Heart.cellml

<?xml version='1.0'?>
<model name="Heart" xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cellml="http://www.cellml.org/cellml/1.1#">
    <units name="m3">
        <unit exponent="3" units="metre"/>
    </units>
    <units name="m3_per_s">
        <unit exponent="3" units="metre"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="UnitValve">
        <unit exponent="3" units="metre"/>
        <unit exponent="-1" units="second"/>
        <unit exponent="-0.5" units="J_per_m3"/>
    </units>
    <units name="J_per_m3">
        <unit units="joule"/>
        <unit exponent="-3" units="metre"/>
    </units>
    <units name="J_per_m6">
        <unit units="joule"/>
        <unit exponent="-6" units="metre"/>
    </units>
    <units name="J_s_per_m6">
        <unit units="joule"/>
        <unit units="second"/>
        <unit exponent="-6" units="metre"/>
    </units>
    <units name="J_s2_per_m6">
        <unit units="joule"/>
        <unit exponent="2" units="second"/>
        <unit exponent="-6" units="metre"/>
    </units>
    <units name="J_s2_per_m9">
        <unit units="joule"/>
        <unit exponent="2" units="second"/>
        <unit exponent="-9" units="metre"/>
    </units>
    <component name="Heart">
        <variable name="t" units="second"/>
        <!-- Constitutive Parameters-->
        <variable name="mt" units="second"/>
        <variable name="e_a" units="dimensionless"/>
        <variable name="e_v" units="dimensionless"/>
        <variable initial_value="1.0" name="T" units="second"/>
        <variable initial_value="0.80" name="t_ac" units="dimensionless"/>
        <variable initial_value="0.97" name="t_ar" units="dimensionless"/>
        <variable initial_value="0.17" name="T_ac" units="dimensionless"/>
        <variable initial_value="0.17" name="T_ar" units="dimensionless"/>
        <variable initial_value="0.3" name="T_vc" units="dimensionless"/>
        <variable initial_value="0.15" name="T_vr" units="dimensionless"/>
        <variable initial_value="0.13332e+6" name="R_trv" units="J_s_per_m6"/>
        <variable initial_value="0.19998e+6" name="R_puv" units="J_s_per_m6"/>
        <variable initial_value="0.13332e+6" name="R_miv" units="J_s_per_m6"/>
        <variable initial_value="0.19998e+6" name="R_aov" units="J_s_per_m6"/>
        <variable initial_value="0.0013332e+12" name="B_trv" units="J_s2_per_m9"/>
        <variable initial_value="0.0019998e+12" name="B_puv" units="J_s2_per_m9"/>
        <variable initial_value="0.0013332e+12" name="B_miv" units="J_s2_per_m9"/>
        <variable initial_value="0.0019998e+12" name="B_aov" units="J_s2_per_m9"/>
        <variable initial_value="0.06666e+6" name="L_trv" units="J_s2_per_m6"/>
        <variable initial_value="0.06666e+6" name="L_puv" units="J_s2_per_m6"/>
        <variable initial_value="0.06666e+6" name="L_miv" units="J_s2_per_m6"/>
        <variable initial_value="0.06666e+6" name="L_aov" units="J_s2_per_m6"/>
        <variable initial_value="7.998e+6" name="E_ra_A" units="J_per_m6"/>
        <variable initial_value="9.331e+6" name="E_ra_B" units="J_per_m6"/>
        <variable initial_value="73.315e+6" name="E_rv_A" units="J_per_m6"/>
        <variable initial_value="6.665e+6" name="E_rv_B" units="J_per_m6"/>
        <variable initial_value="9.331e+6" name="E_la_A" units="J_per_m6"/>
        <variable initial_value="11.997e+6" name="E_la_B" units="J_per_m6"/>
        <variable initial_value="366.575e+6" name="E_lv_A" units="J_per_m6"/>
        <variable initial_value="10.664e+6" name="E_lv_B" units="J_per_m6"/>
        <variable initial_value="4.0e-6" name="q_ra_0" units="m3"/>
        <variable initial_value="10.0e-6" name="q_rv_0" units="m3"/>
        <variable initial_value="4.0e-6" name="q_la_0" units="m3"/>
        <variable initial_value="5.0e-6" name="q_lv_0" units="m3"/>
        <!-- State Variables-->
        <variable name="u_ra" units="J_per_m3"/>
        <variable name="u_rv" units="J_per_m3"/>
        <variable name="u_la" units="J_per_m3"/>
        <variable name="u_lv" units="J_per_m3"/>
        <variable initial_value="8000.0" name="u_aorta" public_interface="in" units="J_per_m3"/>
        <variable initial_value="1866.0" name="u_pulArtery" public_interface="in" units="J_per_m3"/>
        <variable initial_value="0" name="v_trv" units="m3_per_s"/>
        <variable initial_value="0" name="v_puv" units="m3_per_s"/>
        <variable initial_value="0" name="v_miv" units="m3_per_s"/>
        <variable initial_value="0" name="v_aov" units="m3_per_s"/>
        <variable initial_value="0.0002" name="v_venacava" public_interface="in" units="m3_per_s"/>
        <variable initial_value="0.0001" name="v_pulVein" public_interface="in" units="m3_per_s"/>
        <variable initial_value="20.0e-6" name="q_ra" units="m3"/>
        <variable initial_value="500.0e-6" name="q_rv" units="m3"/>
        <variable initial_value="20.0e-6" name="q_la" units="m3"/>
        <variable initial_value="500.0e-6" name="q_lv" units="m3"/>
        <!-- Elastance Functions-->
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>mt</ci>
                <apply>
                    <minus/>
                    <ci>t</ci>
                    <apply>
                        <times/>
                        <ci>T</ci>
                        <apply>
                            <floor/>
                            <apply>
                                <divide/>
                                <ci>t</ci>
                                <ci>T</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>e_a</ci>
                <piecewise>
                    <piece>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">0.5</cn>
                            <apply>
                                <plus/>
                                <cn cellml:units="dimensionless">1</cn>
                                <apply>
                                    <cos/>
                                    <apply>
                                        <divide/>
                                        <apply>
                                            <times/>
                                            <pi/>
                                            <apply>
                                                <minus/>
                                                <apply>
                                                    <plus/>
                                                    <ci>mt</ci>
                                                    <ci>T</ci>
                                                </apply>
                                                <apply>
                                                    <times/>
                                                    <ci>t_ar</ci>
                                                    <ci>T</ci>
                                                </apply>
                                            </apply>
                                        </apply>
                                        <apply>
                                            <times/>
                                            <ci>T_ar</ci>
                                            <ci>T</ci>
                                        </apply>
                                    </apply>
                                </apply>
                            </apply>
                        </apply>
                        <apply>
                            <and/>
                            <apply>
                                <geq/>
                                <ci>mt</ci>
                                <cn cellml:units="second">0</cn>
                            </apply>
                            <apply>
                                <leq/>
                                <ci>mt</ci>
                                <apply>
                                    <minus/>
                                    <apply>
                                        <times/>
                                        <apply>
                                            <plus/>
                                            <ci>t_ar</ci>
                                            <ci>T_ar</ci>
                                        </apply>
                                        <ci>T</ci>
                                    </apply>
                                    <ci>T</ci>
                                </apply>
                            </apply>
                        </apply>
                    </piece>
                    <piece>
                        <cn cellml:units="dimensionless">0</cn>
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>mt</ci>
                                <apply>
                                    <minus/>
                                    <apply>
                                        <times/>
                                        <apply>
                                            <plus/>
                                            <ci>t_ar</ci>
                                            <ci>T_ar</ci>
                                        </apply>
                                        <ci>T</ci>
                                    </apply>
                                    <ci>T</ci>
                                </apply>
                            </apply>
                            <apply>
                                <leq/>
                                <ci>mt</ci>
                                <apply>
                                    <times/>
                                    <ci>t_ac</ci>
                                    <ci>T</ci>
                                </apply>
                            </apply>
                        </apply>
                    </piece>
                    <piece>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">0.5</cn>
                            <apply>
                                <minus/>
                                <cn cellml:units="dimensionless">1</cn>
                                <apply>
                                    <cos/>
                                    <apply>
                                        <divide/>
                                        <apply>
                                            <times/>
                                            <pi/>
                                            <apply>
                                                <minus/>
                                                <ci>mt</ci>
                                                <apply>
                                                    <times/>
                                                    <ci>t_ac</ci>
                                                    <ci>T</ci>
                                                </apply>
                                            </apply>
                                        </apply>
                                        <apply>
                                            <times/>
                                            <ci>T_ac</ci>
                                            <ci>T</ci>
                                        </apply>
                                    </apply>
                                </apply>
                            </apply>
                        </apply>
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>mt</ci>
                                <apply>
                                    <times/>
                                    <ci>t_ac</ci>
                                    <ci>T</ci>
                                </apply>
                            </apply>
                            <apply>
                                <leq/>
                                <ci>mt</ci>
                                <apply>
                                    <times/>
                                    <apply>
                                        <plus/>
                                        <ci>t_ac</ci>
                                        <ci>T_ac</ci>
                                    </apply>
                                    <ci>T</ci>
                                </apply>
                            </apply>
                        </apply>
                    </piece>
                    <piece>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">0.5</cn>
                            <apply>
                                <plus/>
                                <cn cellml:units="dimensionless">1</cn>
                                <apply>
                                    <cos/>
                                    <apply>
                                        <divide/>
                                        <apply>
                                            <times/>
                                            <pi/>
                                            <apply>
                                                <minus/>
                                                <ci>mt</ci>
                                                <apply>
                                                    <times/>
                                                    <ci>t_ar</ci>
                                                    <ci>T</ci>
                                                </apply>
                                            </apply>
                                        </apply>
                                        <apply>
                                            <times/>
                                            <ci>T_ar</ci>
                                            <ci>T</ci>
                                        </apply>
                                    </apply>
                                </apply>
                            </apply>
                        </apply>
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>mt</ci>
                                <apply>
                                    <times/>
                                    <apply>
                                        <plus/>
                                        <ci>t_ac</ci>
                                        <ci>T_ac</ci>
                                    </apply>
                                    <ci>T</ci>
                                </apply>
                            </apply>
                            <apply>
                                <leq/>
                                <ci>mt</ci>
                                <ci>T</ci>
                            </apply>
                        </apply>
                    </piece>
                </piecewise>
            </apply>
            <apply>
                <eq/>
                <ci>e_v</ci>
                <piecewise>
                    <piece>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">0.5</cn>
                            <apply>
                                <minus/>
                                <cn cellml:units="dimensionless">1</cn>
                                <apply>
                                    <cos/>
                                    <apply>
                                        <divide/>
                                        <apply>
                                            <times/>
                                            <pi/>
                                            <ci>mt</ci>
                                        </apply>
                                        <apply>
                                            <times/>
                                            <ci>T_vc</ci>
                                            <ci>T</ci>
                                        </apply>
                                    </apply>
                                </apply>
                            </apply>
                        </apply>
                        <apply>
                            <and/>
                            <apply>
                                <geq/>
                                <ci>mt</ci>
                                <cn cellml:units="second">0</cn>
                            </apply>
                            <apply>
                                <leq/>
                                <ci>mt</ci>
                                <apply>
                                    <times/>
                                    <ci>T_vc</ci>
                                    <ci>T</ci>
                                </apply>
                            </apply>
                        </apply>
                    </piece>
                    <piece>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">0.5</cn>
                            <apply>
                                <plus/>
                                <cn cellml:units="dimensionless">1</cn>
                                <apply>
                                    <cos/>
                                    <apply>
                                        <divide/>
                                        <apply>
                                            <times/>
                                            <pi/>
                                            <apply>
                                                <minus/>
                                                <ci>mt</ci>
                                                <apply>
                                                    <times/>
                                                    <ci>T_vc</ci>
                                                    <ci>T</ci>
                                                </apply>
                                            </apply>
                                        </apply>
                                        <apply>
                                            <times/>
                                            <ci>T_vr</ci>
                                            <ci>T</ci>
                                        </apply>
                                    </apply>
                                </apply>
                            </apply>
                        </apply>
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>mt</ci>
                                <apply>
                                    <times/>
                                    <ci>T_vc</ci>
                                    <ci>T</ci>
                                </apply>
                            </apply>
                            <apply>
                                <leq/>
                                <ci>mt</ci>
                                <apply>
                                    <times/>
                                    <apply>
                                        <plus/>
                                        <ci>T_vc</ci>
                                        <ci>T_vr</ci>
                                    </apply>
                                    <ci>T</ci>
                                </apply>
                            </apply>
                        </apply>
                    </piece>
                    <piece>
                        <cn cellml:units="dimensionless">0</cn>
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>mt</ci>
                                <apply>
                                    <times/>
                                    <apply>
                                        <plus/>
                                        <ci>T_vc</ci>
                                        <ci>T_vr</ci>
                                    </apply>
                                    <ci>T</ci>
                                </apply>
                            </apply>
                            <apply>
                                <lt/>
                                <ci>mt</ci>
                                <ci>T</ci>
                            </apply>
                        </apply>
                    </piece>
                </piecewise>
            </apply>
            <!-- Constitutive Relations-->
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>v_trv</ci>
                </apply>
                <piecewise>
                    <piece>
                        <apply>
                            <divide/>
                            <apply>
                                <minus/>
                                <apply>
                                    <minus/>
                                    <ci>u_ra</ci>
                                    <ci>u_rv</ci>
                                </apply>
                                <apply>
                                    <times/>
                                    <apply>
                                        <plus/>
                                        <ci>R_trv</ci>
                                        <apply>
                                            <times/>
                                            <ci>B_trv</ci>
                                            <apply>
                                                <abs/>
                                                <ci>v_trv</ci>
                                            </apply>
                                        </apply>
                                    </apply>
                                    <ci>v_trv</ci>
                                </apply>
                            </apply>
                            <ci>L_trv</ci>
                        </apply>
                        <apply>
                            <geq/>
                            <ci>u_ra</ci>
                            <ci>u_rv</ci>
                        </apply>
                    </piece>
                    <piece>
                        <apply>
                            <divide/>
                            <apply>
                                <times/>
                                <apply>
                                    <minus/>
                                    <apply>
                                        <plus/>
                                        <ci>R_trv</ci>
                                        <apply>
                                            <times/>
                                            <ci>B_trv</ci>
                                            <apply>
                                                <abs/>
                                                <ci>v_trv</ci>
                                            </apply>
                                        </apply>
                                    </apply>
                                </apply>
                                <ci>v_trv</ci>
                            </apply>
                            <ci>L_trv</ci>
                        </apply>
                        <apply>
                            <lt/>
                            <ci>u_ra</ci>
                            <ci>u_rv</ci>
                        </apply>
                    </piece>
                </piecewise>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>v_puv</ci>
                </apply>
                <piecewise>
                    <piece>
                        <apply>
                            <divide/>
                            <apply>
                                <minus/>
                                <apply>
                                    <minus/>
                                    <ci>u_rv</ci>
                                    <ci>u_pulArtery</ci>
                                </apply>
                                <apply>
                                    <times/>
                                    <apply>
                                        <plus/>
                                        <ci>R_puv</ci>
                                        <apply>
                                            <times/>
                                            <ci>B_puv</ci>
                                            <apply>
                                                <abs/>
                                                <ci>v_puv</ci>
                                            </apply>
                                        </apply>
                                    </apply>
                                    <ci>v_puv</ci>
                                </apply>
                            </apply>
                            <ci>L_puv</ci>
                        </apply>
                        <apply>
                            <geq/>
                            <ci>u_rv</ci>
                            <ci>u_pulArtery</ci>
                        </apply>
                    </piece>
                    <piece>
                        <apply>
                            <divide/>
                            <apply>
                                <times/>
                                <apply>
                                    <minus/>
                                    <apply>
                                        <plus/>
                                        <ci>R_puv</ci>
                                        <apply>
                                            <times/>
                                            <ci>B_puv</ci>
                                            <apply>
                                                <abs/>
                                                <ci>v_puv</ci>
                                            </apply>
                                        </apply>
                                    </apply>
                                </apply>
                                <ci>v_puv</ci>
                            </apply>
                            <ci>L_puv</ci>
                        </apply>
                        <apply>
                            <lt/>
                            <ci>u_rv</ci>
                            <ci>u_pulArtery</ci>
                        </apply>
                    </piece>
                </piecewise>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>v_miv</ci>
                </apply>
                <piecewise>
                    <piece>
                        <apply>
                            <divide/>
                            <apply>
                                <minus/>
                                <apply>
                                    <minus/>
                                    <ci>u_la</ci>
                                    <ci>u_lv</ci>
                                </apply>
                                <apply>
                                    <times/>
                                    <apply>
                                        <plus/>
                                        <ci>R_miv</ci>
                                        <apply>
                                            <times/>
                                            <ci>B_miv</ci>
                                            <apply>
                                                <abs/>
                                                <ci>v_miv</ci>
                                            </apply>
                                        </apply>
                                    </apply>
                                    <ci>v_miv</ci>
                                </apply>
                            </apply>
                            <ci>L_miv</ci>
                        </apply>
                        <apply>
                            <geq/>
                            <ci>u_la</ci>
                            <ci>u_lv</ci>
                        </apply>
                    </piece>
                    <piece>
                        <apply>
                            <divide/>
                            <apply>
                                <times/>
                                <apply>
                                    <minus/>
                                    <apply>
                                        <plus/>
                                        <ci>R_miv</ci>
                                        <apply>
                                            <times/>
                                            <ci>B_miv</ci>
                                            <apply>
                                                <abs/>
                                                <ci>v_miv</ci>
                                            </apply>
                                        </apply>
                                    </apply>
                                </apply>
                                <ci>v_miv</ci>
                            </apply>
                            <ci>L_miv</ci>
                        </apply>
                        <apply>
                            <lt/>
                            <ci>u_la</ci>
                            <ci>u_lv</ci>
                        </apply>
                    </piece>
                </piecewise>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>v_aov</ci>
                </apply>
                <piecewise>
                    <piece>
                        <apply>
                            <divide/>
                            <apply>
                                <minus/>
                                <apply>
                                    <minus/>
                                    <ci>u_lv</ci>
                                    <ci>u_aorta</ci>
                                </apply>
                                <apply>
                                    <times/>
                                    <apply>
                                        <plus/>
                                        <ci>R_aov</ci>
                                        <apply>
                                            <times/>
                                            <ci>B_aov</ci>
                                            <apply>
                                                <abs/>
                                                <ci>v_aov</ci>
                                            </apply>
                                        </apply>
                                    </apply>
                                    <ci>v_aov</ci>
                                </apply>
                            </apply>
                            <ci>L_aov</ci>
                        </apply>
                        <apply>
                            <geq/>
                            <ci>u_lv</ci>
                            <ci>u_aorta</ci>
                        </apply>
                    </piece>
                    <piece>
                        <apply>
                            <divide/>
                            <apply>
                                <times/>
                                <apply>
                                    <minus/>
                                    <apply>
                                        <plus/>
                                        <ci>R_aov</ci>
                                        <apply>
                                            <times/>
                                            <ci>B_aov</ci>
                                            <apply>
                                                <abs/>
                                                <ci>v_aov</ci>
                                            </apply>
                                        </apply>
                                    </apply>
                                </apply>
                                <ci>v_aov</ci>
                            </apply>
                            <ci>L_aov</ci>
                        </apply>
                        <apply>
                            <lt/>
                            <ci>u_lv</ci>
                            <ci>u_aorta</ci>
                        </apply>
                    </piece>
                </piecewise>
            </apply>
            <apply>
                <eq/>
                <ci>u_ra</ci>
                <apply>
                    <times/>
                    <apply>
                        <plus/>
                        <apply>
                            <times/>
                            <ci>e_a</ci>
                            <ci>E_ra_A</ci>
                        </apply>
                        <ci>E_ra_B</ci>
                    </apply>
                    <apply>
                        <minus/>
                        <ci>q_ra</ci>
                        <ci>q_ra_0</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u_rv</ci>
                <apply>
                    <times/>
                    <apply>
                        <plus/>
                        <apply>
                            <times/>
                            <ci>e_v</ci>
                            <ci>E_rv_A</ci>
                        </apply>
                        <ci>E_rv_B</ci>
                    </apply>
                    <apply>
                        <minus/>
                        <ci>q_rv</ci>
                        <ci>q_rv_0</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u_la</ci>
                <apply>
                    <times/>
                    <apply>
                        <plus/>
                        <apply>
                            <times/>
                            <ci>e_a</ci>
                            <ci>E_la_A</ci>
                        </apply>
                        <ci>E_la_B</ci>
                    </apply>
                    <apply>
                        <minus/>
                        <ci>q_la</ci>
                        <ci>q_la_0</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u_lv</ci>
                <apply>
                    <times/>
                    <apply>
                        <plus/>
                        <apply>
                            <times/>
                            <ci>e_v</ci>
                            <ci>E_lv_A</ci>
                        </apply>
                        <ci>E_lv_B</ci>
                    </apply>
                    <apply>
                        <minus/>
                        <ci>q_lv</ci>
                        <ci>q_lv_0</ci>
                    </apply>
                </apply>
            </apply>
            <!-- Conservation Laws-->
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_ra</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_venacava</ci>
                    <ci>v_trv</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_rv</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_trv</ci>
                    <ci>v_puv</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_la</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_pulVein</ci>
                    <ci>v_miv</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_lv</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_miv</ci>
                    <ci>v_aov</ci>
                </apply>
            </apply>
        </math>
    </component>
</model>