Location: Cardiovascular model with the feedback loops @ 66c65227c47a / models / neural_control.cellml

Author:
David Nickerson <david.nickerson@gmail.com>
Date:
2024-07-08 17:00:28+12:00
Desc:
Adding basic isometric tension model from HMT
Permanent Source URI:
https://models.fieldml.org/workspace/b6e/rawfile/66c65227c47a824af398a8823d91582942601612/models/neural_control.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="neural_control" 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="0.002391" name="G_ac" units="per_mL_s3"/>
        <!--original var G_ac: v {init: 23.91}; -->
        <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="RVLM">
        <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_p_br" units="dimensionless"/>
        <variable initial_value="2.5" name="K_p_cr" units="dimensionless"/>
        <variable initial_value="0.33" name="K_p_pr" units="dimensionless"/>
        <variable initial_value="1" name="K_h_br" units="dimensionless"/>
        <variable initial_value="2" name="K_h_cr" units="dimensionless"/>
        <variable initial_value="-1.541" name="K_h_pr" units="dimensionless"/>
        <variable initial_value="1" name="K_v_br" units="dimensionless"/>
        <variable initial_value="0" name="K_v_cr" units="dimensionless"/>
        <variable initial_value="0" name="K_v_pr" units="dimensionless"/>
        <variable initial_value="2.1" name="v_RVLM_inf" units="bit_per_s"/>
        <variable initial_value="16.11" name="v_RVLM_0" units="bit_per_s"/>
        <variable initial_value="0.0675" name="k_RVLM" units="second"/>
        <variable name="v_RVLM_fp" public_interface="out" units="bit_per_s"/>
        <variable name="v_RVLM_fh" public_interface="out" units="bit_per_s"/>
        <variable name="v_RVLM_fv" public_interface="out" units="bit_per_s"/>
        <variable name="v_RVLM_fp_out" public_interface="out" units="bit_per_s"/>
        <variable name="v_RVLM_fh_out" public_interface="out" units="bit_per_s"/>
        <variable name="v_RVLM_fv_out" public_interface="out" units="bit_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v_RVLM_fp</ci>
                <apply>
                    <plus/>
                    <apply>
                        <times/>
                        <ci>K_p_br</ci>
                        <ci>v_br_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_p_cr</ci>
                        <ci>v_cr_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_p_pr</ci>
                        <ci>v_pr_f</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_RVLM_fh</ci>
                <apply>
                    <plus/>
                    <apply>
                        <times/>
                        <ci>K_h_br</ci>
                        <ci>v_br_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_h_cr</ci>
                        <ci>v_cr_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_h_pr</ci>
                        <ci>v_pr_f</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_RVLM_fv</ci>
                <apply>
                    <plus/>
                    <apply>
                        <times/>
                        <ci>K_v_br</ci>
                        <ci>v_br_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_v_cr</ci>
                        <ci>v_cr_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_v_pr</ci>
                        <ci>v_pr_f</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_RVLM_fp_out</ci>
                <apply>
                    <plus/>
                    <ci>v_RVLM_inf</ci>
                    <apply>
                        <times/>
                        <apply>
                            <minus/>
                            <ci>v_RVLM_0</ci>
                            <ci>v_RVLM_inf</ci>
                        </apply>
                        <apply>
                            <exp/>
                            <apply>
                                <times/>
                                <apply>
                                    <minus/>
                                    <ci>k_RVLM</ci>
                                </apply>
                                <ci>v_RVLM_fp</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_RVLM_fh_out</ci>
                <apply>
                    <plus/>
                    <ci>v_RVLM_inf</ci>
                    <apply>
                        <times/>
                        <apply>
                            <minus/>
                            <ci>v_RVLM_0</ci>
                            <ci>v_RVLM_inf</ci>
                        </apply>
                        <apply>
                            <exp/>
                            <apply>
                                <times/>
                                <apply>
                                    <minus/>
                                    <ci>k_RVLM</ci>
                                </apply>
                                <ci>v_RVLM_fh</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_RVLM_fv_out</ci>
                <apply>
                    <plus/>
                    <ci>v_RVLM_inf</ci>
                    <apply>
                        <times/>
                        <apply>
                            <minus/>
                            <ci>v_RVLM_0</ci>
                            <ci>v_RVLM_inf</ci>
                        </apply>
                        <apply>
                            <exp/>
                            <apply>
                                <times/>
                                <apply>
                                    <minus/>
                                    <ci>k_RVLM</ci>
                                </apply>
                                <ci>v_RVLM_fv</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="NTS">
        <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="0.3" name="v_br_fmin" units="bit_per_s"/>
        <variable initial_value="21.5" name="v_br_fmax" units="bit_per_s"/>
        <variable initial_value="37.07" name="v_br_fmidpt" units="bit_per_s"/>
        <variable initial_value="21" name="k_NTS_br" units="bit_per_s"/>
        <variable initial_value="0.45" name="v_cr_fmin" units="bit_per_s"/>
        <variable initial_value="28.33" name="v_cr_fmax" units="bit_per_s"/>
        <variable initial_value="10.20" name="v_cr_fmidpt" units="bit_per_s"/>
        <variable initial_value="7" name="k_NTS_cr" units="bit_per_s"/>
        <variable initial_value="2.75" name="v_pr_fmin" units="bit_per_s"/>
        <variable initial_value="31.57" name="v_pr_fmax" units="bit_per_s"/>
        <variable initial_value="11.13" name="v_pr_fmidpt" units="bit_per_s"/>
        <variable initial_value="2" name="k_NTS_pr" units="bit_per_s"/>
        <variable name="v_NTS_fbr" public_interface="out" units="bit_per_s"/>
        <variable name="v_NTS_fcr" public_interface="out" units="bit_per_s"/>
        <variable name="v_NTS_fpr" public_interface="out" units="bit_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v_NTS_fbr</ci>
                <apply>
                    <divide/>
                    <apply>
                        <plus/>
                        <ci>v_br_fmin</ci>
                        <apply>
                            <times/>
                            <ci>v_br_fmax</ci>
                            <apply>
                                <exp/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <minus/>
                                        <ci>v_br_f</ci>
                                        <ci>v_br_fmidpt</ci>
                                    </apply>
                                    <ci>k_NTS_br</ci>
                                </apply>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>v_br_f</ci>
                                    <ci>v_br_fmidpt</ci>
                                </apply>
                                <ci>k_NTS_br</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_NTS_fcr</ci>
                <apply>
                    <divide/>
                    <apply>
                        <plus/>
                        <ci>v_cr_fmin</ci>
                        <apply>
                            <times/>
                            <ci>v_cr_fmax</ci>
                            <apply>
                                <exp/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <minus/>
                                        <ci>v_cr_f</ci>
                                        <ci>v_cr_fmidpt</ci>
                                    </apply>
                                    <ci>k_NTS_cr</ci>
                                </apply>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>v_cr_f</ci>
                                    <ci>v_cr_fmidpt</ci>
                                </apply>
                                <ci>k_NTS_cr</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_NTS_fpr</ci>
                <apply>
                    <divide/>
                    <apply>
                        <plus/>
                        <ci>v_pr_fmin</ci>
                        <apply>
                            <times/>
                            <ci>v_pr_fmax</ci>
                            <apply>
                                <exp/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <minus/>
                                        <ci>v_pr_f</ci>
                                        <ci>v_pr_fmidpt</ci>
                                    </apply>
                                    <ci>k_NTS_pr</ci>
                                </apply>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>v_pr_f</ci>
                                    <ci>v_pr_fmidpt</ci>
                                </apply>
                                <ci>k_NTS_pr</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="NA">
        <variable name="t" public_interface="in" units="second"/>
        <variable name="v_NTS_fbr" public_interface="in" units="bit_per_s"/>
        <variable name="v_NTS_fcr" public_interface="in" units="bit_per_s"/>
        <variable name="v_NTS_fpr" public_interface="in" units="bit_per_s"/>
        <variable initial_value="4.88" name="v_NA_fmin" units="bit_per_s"/>
        <variable initial_value="15.78" name="v_NA_fmax" units="bit_per_s"/>
        <variable initial_value="59.83" name="v_NA_fmidpt" units="bit_per_s"/>
        <variable initial_value="23" name="k_NA" units="bit_per_s"/>
        <variable initial_value="0.61" name="v_NActr_fmin" units="bit_per_s"/>
        <variable initial_value="11" name="v_NActr_fmax" units="bit_per_s"/>
        <variable initial_value="12.81" name="v_NActr_fmidpt" units="bit_per_s"/>
        <variable initial_value="7" name="k_NActr" units="bit_per_s"/>
        <variable initial_value="0.5" name="K_NA_RSA" units="dimensionless"/>
        <variable initial_value="1.6" name="T_insp" units="second"/>
        <variable initial_value="4" name="T_resp" units="second"/>
        <variable name="s" units="dimensionless"/>
        <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 name="v_NA_fin" public_interface="out" units="bit_per_s"/>
        <variable name="v_NA_fout" public_interface="out" units="bit_per_s"/>
        <variable name="v_NA_fout2" public_interface="out" units="bit_per_s"/>
        <variable name="v_NA_fNTS" public_interface="out" units="bit_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v_NA_fNTS</ci>
                <apply>
                    <plus/>
                    <apply>
                        <times/>
                        <ci>K_NA_br</ci>
                        <ci>v_NTS_fbr</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_NA_cr</ci>
                        <ci>v_NTS_fcr</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_NA_pr</ci>
                        <ci>v_NTS_fpr</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>s</ci>
                <apply>
                    <minus/>
                    <apply>
                        <divide/>
                        <ci>t</ci>
                        <ci>T_resp</ci>
                    </apply>
                    <apply>
                        <floor/>
                        <apply>
                            <divide/>
                            <ci>t</ci>
                            <ci>T_resp</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_NA_fin</ci>
                <piecewise>
                    <piece>
                        <apply>
                            <times/>
                            <ci>K_NA_RSA</ci>
                            <ci>v_NA_fNTS</ci>
                        </apply>
                        <apply>
                            <lt/>
                            <ci>s</ci>
                            <apply>
                                <divide/>
                                <ci>T_insp</ci>
                                <ci>T_resp</ci>
                            </apply>
                        </apply>
                    </piece>
                    <otherwise>
                        <ci>v_NA_fNTS</ci>
                    </otherwise>
                </piecewise>
            </apply>
            <apply>
                <eq/>
                <ci>v_NA_fout</ci>
                <apply>
                    <divide/>
                    <apply>
                        <plus/>
                        <ci>v_NA_fmin</ci>
                        <apply>
                            <times/>
                            <ci>v_NA_fmax</ci>
                            <apply>
                                <exp/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <minus/>
                                        <ci>v_NA_fin</ci>
                                        <ci>v_NA_fmidpt</ci>
                                    </apply>
                                    <ci>k_NA</ci>
                                </apply>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>v_NA_fin</ci>
                                    <ci>v_NA_fmidpt</ci>
                                </apply>
                                <ci>k_NA</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_NA_fout2</ci>
                <apply>
                    <divide/>
                    <apply>
                        <plus/>
                        <ci>v_NActr_fmin</ci>
                        <apply>
                            <times/>
                            <ci>v_NActr_fmax</ci>
                            <apply>
                                <exp/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <minus/>
                                        <ci>v_NA_fout</ci>
                                        <ci>v_NActr_fmidpt</ci>
                                    </apply>
                                    <ci>k_NActr</ci>
                                </apply>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>v_NA_fout</ci>
                                    <ci>v_NActr_fmidpt</ci>
                                </apply>
                                <ci>k_NActr</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="DMV">
        <variable name="v_NTS_fbr" public_interface="in" units="bit_per_s"/>
        <variable name="v_NTS_fcr" public_interface="in" units="bit_per_s"/>
        <variable name="v_NTS_fpr" public_interface="in" units="bit_per_s"/>
        <variable initial_value="2.59" name="v_DMV_fmin" units="bit_per_s"/>
        <variable initial_value="6.66" name="v_DMV_fmax" units="bit_per_s"/>
        <variable initial_value="42.91" name="v_DMV_fmidpt" units="bit_per_s"/>
        <variable initial_value="33.5" name="k_DMV" units="bit_per_s"/>
        <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_DMV_fin" public_interface="out" units="bit_per_s"/>
        <variable name="v_DMV_fout" public_interface="out" units="bit_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v_DMV_fin</ci>
                <apply>
                    <plus/>
                    <apply>
                        <times/>
                        <ci>K_DMV_br</ci>
                        <ci>v_NTS_fbr</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_DMV_cr</ci>
                        <ci>v_NTS_fcr</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_DMV_pr</ci>
                        <ci>v_NTS_fpr</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_DMV_fout</ci>
                <apply>
                    <divide/>
                    <apply>
                        <plus/>
                        <ci>v_DMV_fmin</ci>
                        <apply>
                            <times/>
                            <ci>v_DMV_fmax</ci>
                            <apply>
                                <exp/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <minus/>
                                        <ci>v_DMV_fin</ci>
                                        <ci>v_DMV_fmidpt</ci>
                                    </apply>
                                    <ci>k_DMV</ci>
                                </apply>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>v_DMV_fin</ci>
                                    <ci>v_DMV_fmidpt</ci>
                                </apply>
                                <ci>k_DMV</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="DNA">
        <variable name="v_DMV_fout" public_interface="in" units="bit_per_s"/>
        <variable name="v_NA_fout2" public_interface="in" units="bit_per_s"/>
        <variable initial_value="1" name="K_DNA_DMV" units="dimensionless"/>
        <variable initial_value="1" name="K_DNA_NA" units="dimensionless"/>
        <variable name="v_DNA_f" public_interface="out" units="bit_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v_DNA_f</ci>
                <apply>
                    <plus/>
                    <apply>
                        <times/>
                        <ci>K_DNA_DMV</ci>
                        <ci>v_DMV_fout</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_DNA_NA</ci>
                        <ci>v_NA_fout2</ci>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="LCN">
        <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_DNA_f" public_interface="in" units="bit_per_s"/>
        <variable name="v_RVLM_fh_out" public_interface="in" units="bit_per_s"/>
        <variable initial_value="2.66" name="K_lcn_br" units="dimensionless"/>
        <variable initial_value="5.64" name="K_lcn_cr" units="dimensionless"/>
        <variable initial_value="3.33" name="K_lcn_DNA" units="dimensionless"/>
        <variable initial_value="0.07" name="K_lcn_RVLM" units="dimensionless"/>
        <variable initial_value="1.99" name="v_lcn_fmin" units="bit_per_s"/>
        <variable initial_value="18.38" name="v_lcn_fmax" units="bit_per_s"/>
        <variable initial_value="521.22" name="v_lcn_fmidpt" units="bit_per_s"/>
        <variable initial_value="3" name="k_lcn" units="bit_per_s"/>
        <variable name="v_lcn_fin" public_interface="out" units="bit_per_s"/>
        <variable name="v_lcn_fout" public_interface="out" units="bit_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v_lcn_fin</ci>
                <apply>
                    <plus/>
                    <apply>
                        <times/>
                        <ci>K_lcn_br</ci>
                        <ci>v_br_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_lcn_cr</ci>
                        <ci>v_cr_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_lcn_DNA</ci>
                        <ci>v_DNA_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_lcn_RVLM</ci>
                        <ci>v_RVLM_fh_out</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_lcn_fout</ci>
                <apply>
                    <divide/>
                    <apply>
                        <plus/>
                        <ci>v_lcn_fmin</ci>
                        <apply>
                            <times/>
                            <ci>v_lcn_fmax</ci>
                            <apply>
                                <exp/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <minus/>
                                        <ci>v_lcn_fin</ci>
                                        <ci>v_lcn_fmidpt</ci>
                                    </apply>
                                    <ci>k_lcn</ci>
                                </apply>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>v_lcn_fin</ci>
                                    <ci>v_lcn_fmidpt</ci>
                                </apply>
                                <ci>k_lcn</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="PN_NA">
        <variable name="v_NA_fout" public_interface="in" units="bit_per_s"/>
        <variable name="v_lcn_fout" public_interface="in" units="bit_per_s"/>
        <variable initial_value="1" name="K_NApn_NA" units="dimensionless"/>
        <variable initial_value="1" name="K_NApn_lcn" units="dimensionless"/>
        <variable initial_value="0.86" name="v_NApn_fmin" units="bit_per_s"/>
        <variable initial_value="12.62" name="v_NApn_fmax" units="bit_per_s"/>
        <variable initial_value="13.81" name="v_NApn_fmidpt" units="bit_per_s"/>
        <variable initial_value="3.23" name="k_NApn" units="bit_per_s"/>
        <variable name="v_NApn_fin" public_interface="out" units="bit_per_s"/>
        <variable name="v_NApn_fout" public_interface="out" units="bit_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v_NApn_fin</ci>
                <apply>
                    <plus/>
                    <apply>
                        <times/>
                        <ci>K_NApn_NA</ci>
                        <ci>v_NA_fout</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_NApn_lcn</ci>
                        <ci>v_lcn_fout</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_NApn_fout</ci>
                <apply>
                    <divide/>
                    <apply>
                        <plus/>
                        <ci>v_NApn_fmin</ci>
                        <apply>
                            <times/>
                            <ci>v_NApn_fmax</ci>
                            <apply>
                                <exp/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <minus/>
                                        <ci>v_NApn_fin</ci>
                                        <ci>v_NApn_fmidpt</ci>
                                    </apply>
                                    <ci>k_NApn</ci>
                                </apply>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>v_NApn_fin</ci>
                                    <ci>v_NApn_fmidpt</ci>
                                </apply>
                                <ci>k_NApn</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
    <component name="PN_DNA">
        <!--PN_DMV-->
        <variable name="t" public_interface="in" units="second"/>
        <variable name="v_DNA_f" public_interface="in" units="bit_per_s"/>
        <variable name="v_lcn_fout" public_interface="in" units="bit_per_s"/>
        <variable initial_value="1" name="K_DNApn_DNA" units="dimensionless"/>
        <variable initial_value="1" name="K_DNApn_lcn" units="dimensionless"/>
        <variable initial_value="2.42" name="v_DNApn_fmin" units="bit_per_s"/>
        <variable initial_value="17.72" name="v_DNApn_fmax" units="bit_per_s"/>
        <variable initial_value="14.18" name="v_DNApn_fmidpt" units="bit_per_s"/>
        <variable initial_value="13.36" name="k_DNApn" units="bit_per_s"/>
        <variable initial_value="0.3" name="tau_DNApn" units="second"/>
        <variable name="v_DNApn_fin" public_interface="out" units="bit_per_s"/>
        <variable name="v_DNApn_fout" public_interface="out" units="bit_per_s"/>
        <variable initial_value="10" name="v_DNApn_ffiltered" public_interface="out" units="bit_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v_DNApn_fin</ci>
                <apply>
                    <plus/>
                    <apply>
                        <times/>
                        <ci>K_DNApn_DNA</ci>
                        <ci>v_DNA_f</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>K_DNApn_lcn</ci>
                        <ci>v_lcn_fout</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_DNApn_fout</ci>
                <apply>
                    <divide/>
                    <apply>
                        <plus/>
                        <ci>v_DNApn_fmin</ci>
                        <apply>
                            <times/>
                            <ci>v_DNApn_fmax</ci>
                            <apply>
                                <exp/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <minus/>
                                        <ci>v_DNApn_fin</ci>
                                        <ci>v_DNApn_fmidpt</ci>
                                    </apply>
                                    <ci>k_DNApn</ci>
                                </apply>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <exp/>
                            <apply>
                                <divide/>
                                <apply>
                                    <minus/>
                                    <ci>v_DNApn_fin</ci>
                                    <ci>v_DNApn_fmidpt</ci>
                                </apply>
                                <ci>k_DNApn</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>v_DNApn_ffiltered</ci>
                </apply>
                <apply>
                    <divide/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <ci>tau_DNApn</ci>
                            <apply>
                                <minus/>
                                <ci>v_DNApn_fout</ci>
                                <ci>v_DNApn_ffiltered</ci>
                            </apply>
                        </apply>
                        <cn cellml:units="second">1</cn>
                    </apply>
                    <cn cellml:units="second">1</cn>
                </apply>
            </apply>
        </math>
    </component>
</model>