Location: Cardiovascular model with the feedback loops @ 06c83b6c5ce0 / models / receptors.cellml

Author:
Weiwei Ai <wai484@aucklanduni.ac.nz>
Date:
2024-06-19 08:16:04+12:00
Desc:
Add sedml file
Permanent Source URI:
https://models.fieldml.org/workspace/b6e/rawfile/06c83b6c5ce0bd9ab8e9f19c8f8697f46583eacf/models/receptors.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="receptors" 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"/>
        <units name="mL" units_ref="mL"/>
        <units name="bit_per_s" units_ref="bit_per_s"/>
        <units name="per_mL_s3" units_ref="per_mL_s3"/>
        <units name="mmHg_per_s" units_ref="mmHg_per_s"/>
    </import>
    <component name="baroreceptors">
        <variable name="t" public_interface="in" units="second"/>
        <variable name="u_sa" public_interface="in" units="mmHg"/>
        <!-- input arterial pressure-->
        <variable initial_value="92" name="u_br_f" public_interface="out" units="mmHg"/>
        <variable initial_value="2.076" name="tau_p" units="second"/>
        <variable initial_value="6.37" name="tau_z" units="second"/>
        <variable initial_value="2.52" name="f_min" units="bit_per_s"/>
        <variable initial_value="47.78" name="f_max" units="bit_per_s"/>
        <variable initial_value="1.43" name="k_br" units="mmHg"/>
        <variable initial_value="92" name="u_br" units="mmHg"/>
        <variable name="v_br_f" public_interface="out" units="bit_per_s"/>
        <variable name="du_sa" public_interface="in" units="mmHg_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>u_br_f</ci>
                </apply>
                <apply>
                    <minus/>
                    <apply>
                        <plus/>
                        <apply>
                            <divide/>
                            <ci>u_sa</ci>
                            <ci>tau_p</ci>
                        </apply>
                        <apply>
                            <divide/>
                            <apply>
                                <times/>
                                <ci>tau_z</ci>
                                <ci>du_sa</ci>
                            </apply>
                            <ci>tau_p</ci>
                        </apply>
                    </apply>
                    <apply>
                        <divide/>
                        <ci>u_br_f</ci>
                        <ci>tau_p</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_br_f</ci>
                <apply>
                    <divide/>
                    <apply>
                        <plus/>
                        <ci>f_min</ci>
                        <apply>
                            <times/>
                            <ci>f_max</ci>
                            <apply>
                                <exp/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <minus/>
                                        <ci>u_br_f</ci>
                                        <ci>u_br</ci>
                                    </apply>
                                    <ci>k_br</ci>
                                </apply>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>u_br_f</ci>
                                    <ci>u_br</ci>
                                </apply>
                                <ci>k_br</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="cardiopulmonary_receptors">
        <variable name="t" public_interface="in" units="second"/>
        <variable name="u_pv" public_interface="in" units="mmHg"/>
        <!-- input pulmonary vein blood pressure-->
        <variable initial_value="-5" name="u_thor_a" units="mmHg"/>
        <!--Thoracic pressure varies linearly (-9, -4) mmHg-->
        <variable initial_value="10" name="u_cr_f" public_interface="out" units="mmHg"/>
        <variable initial_value="2" name="tau_cr" units="second"/>
        <variable initial_value="20" name="f_cr_max" units="bit_per_s"/>
        <variable initial_value="11.758" name="k_cr" units="mmHg"/>
        <variable initial_value="10.8" name="P_tn" units="mmHg"/>
        <variable name="v_cr_f" public_interface="out" units="bit_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>u_cr_f</ci>
                </apply>
                <apply>
                    <divide/>
                    <apply>
                        <minus/>
                        <apply>
                            <minus/>
                            <ci>u_pv</ci>
                            <ci>u_thor_a</ci>
                        </apply>
                        <ci>u_cr_f</ci>
                    </apply>
                    <ci>tau_cr</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_cr_f</ci>
                <apply>
                    <divide/>
                    <ci>f_cr_max</ci>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>P_tn</ci>
                                    <ci>u_cr_f</ci>
                                </apply>
                                <ci>k_cr</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="pulmonary_stretch_receptors">
        <variable name="t" public_interface="in" units="second"/>
        <variable initial_value="6000" name="q_ac" units="mL"/>
        <!-- volume of air in the acinus-->
        <variable initial_value="10" name="v_pr_f" public_interface="out" units="bit_per_s"/>
        <variable initial_value="0.5" name="tau_ac" units="second"/>
        <variable initial_value="23.91" name="G_ac" units="per_mL_s3"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>v_pr_f</ci>
                </apply>
                <apply>
                    <times/>
                    <ci>tau_ac</ci>
                    <apply>
                        <minus/>
                        <apply>
                            <times/>
                            <ci>G_ac</ci>
                            <ci>q_ac</ci>
                        </apply>
                        <apply>
                            <divide/>
                            <apply>
                                <divide/>
                                <ci>v_pr_f</ci>
                                <cn cellml:units="second">1</cn>
                            </apply>
                            <cn cellml:units="second">1</cn>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="afferent">
        <variable name="v_br_f" public_interface="in" units="bit_per_s"/>
        <variable name="v_cr_f" public_interface="in" units="bit_per_s"/>
        <variable name="v_pr_f" public_interface="in" units="bit_per_s"/>
        <variable initial_value="1" name="K_NA_br" units="dimensionless"/>
        <variable initial_value="1" name="K_NA_cr" units="dimensionless"/>
        <variable initial_value="1" name="K_NA_pr" units="dimensionless"/>
        <variable initial_value="0" name="K_DMV_br" units="dimensionless"/>
        <variable initial_value="1" name="K_DMV_cr" units="dimensionless"/>
        <variable initial_value="1" name="K_DMV_pr" units="dimensionless"/>
        <variable name="v_NA_f" public_interface="out" units="bit_per_s"/>
        <variable name="v_DMV_f" public_interface="out" units="bit_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v_NA_f</ci>
                <apply>
                    <plus/>
                    <apply>
                        <times/>
                        <ci>K_NA_br</ci>
                        <ci>v_br_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_NA_cr</ci>
                        <ci>v_cr_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_NA_pr</ci>
                        <ci>v_pr_f</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_DMV_f</ci>
                <apply>
                    <plus/>
                    <apply>
                        <times/>
                        <ci>K_DMV_br</ci>
                        <ci>v_br_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_DMV_cr</ci>
                        <ci>v_cr_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_DMV_pr</ci>
                        <ci>v_pr_f</ci>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
</model>