Location: Playing with stimulus frequency and the ORd model @ ea7c791f6923 / restitution_stimulus.cellml

Author:
David Nickerson <david.nickerson@gmail.com>
Date:
2018-08-07 16:08:20+12:00
Desc:
demonstration of changing the stimulus period
Permanent Source URI:
https://models.physiomeproject.org/workspace/51a/rawfile/ea7c791f6923be6dfe2a8b9549cfc741e6d9165e/restitution_stimulus.cellml

<?xml version='1.0'?>
<model name="periodic_stimulus" 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">
    <units name="millisecond">
        <unit prefix="milli" units="second"/>
    </units>
    <units name="millivolt">
        <unit prefix="milli" units="volt"/>
    </units>
    <units name="microA_per_microF">
        <unit prefix="micro" units="ampere"/>
        <unit exponent="-1" prefix="micro" units="farad"/>
    </units>
    <import xlink:href="Ohara_Rudy_2011.cellml">
        <component component_ref="interface" name="ORd_model"/>
    </import>
    <component name="outputs">
        <variable name="v" public_interface="in" units="millivot"/>
    </component>
    <component name="stimulus_protocol">
        <variable name="Istim" public_interface="out" units="microA_per_microF"/>
        <variable initial_value="-80" name="amp" units="microA_per_microF"/>
        <variable initial_value="0.5" name="duration" units="millisecond"/>
        <variable initial_value="1000" name="period" units="millisecond"/>
        <variable name="stimPeriodRate" units="dimensionless"/>
        <variable initial_value="1000.0" name="initialPeriod" units="millisecond"/>
        <variable initial_value="500" name="finalPeriod" units="millisecond"/>
        <variable initial_value="15000" name="finalTime" units="millisecond"/>
        <variable name="time" public_interface="in" units="millisecond"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>stimPeriodRate</ci>
                <apply>
                    <divide/>
                    <apply>
                        <minus/>
                        <ci>finalPeriod</ci>
                        <ci>initialPeriod</ci>
                    </apply>
                    <ci>finalTime</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>period</ci>
                </apply>
                <piecewise>
                    <piece>
                        <ci>stimPeriodRate</ci>
                        <apply>
                            <lt/>
                            <ci>time</ci>
                            <ci>finalTime</ci>
                        </apply>
                    </piece>
                    <otherwise>
                        <cn cellml:units="dimensionless">0.0</cn>
                    </otherwise>
                </piecewise>
            </apply>
            <apply id="stimulus_calculation">
                <eq/>
                <ci>Istim</ci>
                <piecewise>
                    <piece>
                        <ci>amp</ci>
                        <apply>
                            <lt/>
                            <apply>
                                <rem/>
                                <ci>time</ci>
                                <ci>period</ci>
                            </apply>
                            <ci>duration</ci>
                        </apply>
                    </piece>
                    <otherwise>
                        <cn cellml:units="microA_per_microF">0.0</cn>
                    </otherwise>
                </piecewise>
            </apply>
        </math>
    </component>
    <connection>
        <map_components component_1="stimulus_protocol" component_2="ORd_model"/>
        <map_variables variable_1="Istim" variable_2="Istim"/>
        <map_variables variable_1="time" variable_2="time"/>
    </connection>
    <connection>
        <map_components component_1="outputs" component_2="ORd_model"/>
        <map_variables variable_1="v" variable_2="v"/>
    </connection>
</model>