- Author:
- Jonathan Cooper <jonathan.cooper@cs.ox.ac.uk>
- Date:
- 2012-09-05 09:18:42+01:00
- Desc:
- Add some unit test style simulations of a very simple single ODE model, in
order to check that implementations are processing the proposed extension
elements as expected.
- Permanent Source URI:
- https://models.fieldml.org/w/andre/testing-Sed-ML-nesting/rawfile/0382d975a69edd8a34c13bbb8b57e47d6856f285/sin_approximations_sedml.xml
<?xml version="1.0" encoding="utf-8"?>
<sedML xmlns="http://sed-ml.org/" xmlns:math="http://www.w3.org/1998/Math/MathML"
level="1" version="1">
<listOfSimulations>
<uniformTimeCourse id="simulation1" initialTime="0"
outputStartTime="0" outputEndTime="6.283185307179586232"
numberOfPoints="15">
<algorithm kisaoID="KISAO:0000019" />
</uniformTimeCourse>
</listOfSimulations>
<listOfModels>
<model id="model1" name="sine_approximations" language="urn:sedml:language:cellml"
source="http://models.cellml.org/w/andre/sine/rawfile/796d266c5f2a03e7645b3a4bc11f824cf064da5c/sin_approximations.xml" />
<model id="model2" language="urn:sedml:language:cellml" source="http://models.cellml.org/w/andre/sine/rawfile/796d266c5f2a03e7645b3a4bc11f824cf064da5c/sin_approximations.xml">
<listOfChanges>
<!-- in the flattened model need to point directly at the
ODE variable rather than the initial value variable. -->
<changeAttribute
target="/cellml:model/cellml:component[@name='deriv_approx_sin']/cellml:variable[@name='sin']/@initial_value"
newValue="1.0"/>
</listOfChanges>
</model>
</listOfModels>
<listOfTasks>
<task
id="task1"
name="Sine Waves"
modelReference="model1"
simulationReference="simulation1" />
<task
id="task2"
name="Modified Sine Waves"
modelReference="model2"
simulationReference="simulation1" />
</listOfTasks>
<listOfDataGenerators>
<dataGenerator id="dgX" name="X">
<listOfVariables>
<variable id="x" taskReference="task1"
target="/cellml:model/cellml:component[@name='main']/cellml:variable[@name='x']" />
</listOfVariables>
<math:math>
<math:ci>x</math:ci>
</math:math>
</dataGenerator>
<dataGenerator id="dgSin1" name="Sine function">
<listOfVariables>
<variable id="sin1" taskReference="task1"
target="/cellml:model/cellml:component[@name='main']/cellml:variable[@name='sin1']" />
</listOfVariables>
<math:math>
<math:ci>sin1</math:ci>
</math:math>
</dataGenerator>
<dataGenerator id="dgSin2" name="Derivative approximation">
<listOfVariables>
<variable id="sin2" taskReference="task1"
target="/cellml:model/cellml:component[@name='main']/cellml:variable[@name='sin2']" />
</listOfVariables>
<math:math>
<math:ci>sin2</math:ci>
</math:math>
</dataGenerator>
<dataGenerator id="dgSin2Mod" name="Modified derivative approximation">
<listOfVariables>
<variable id="sin2mod" taskReference="task2"
target="/cellml:model/cellml:component[@name='main']/cellml:variable[@name='sin2']" />
</listOfVariables>
<math:math>
<math:ci>sin2mod</math:ci>
</math:math>
</dataGenerator>
<dataGenerator id="dgSin3" name="Parabolic approximation">
<listOfVariables>
<variable id="sin3" taskReference="task1"
target="/cellml:model/cellml:component[@name='main']/cellml:variable[@name='sin3']" />
</listOfVariables>
<math:math>
<math:ci>sin3</math:ci>
</math:math>
</dataGenerator>
</listOfDataGenerators>
<listOfOutputs>
<plot2D id="plot1" name="Sine Waves">
<listOfCurves>
<curve id="c1" logX="false" logY="false" xDataReference="dgX"
yDataReference="dgSin1" />
<curve id="c2" logX="false" logY="false" xDataReference="dgX"
yDataReference="dgSin2" />
<curve id="c3" logX="false" logY="false" xDataReference="dgX"
yDataReference="dgSin3" />
</listOfCurves>
</plot2D>
<plot2D id="plot2" name="Comparison">
<listOfCurves>
<curve id="c1comp" logX="false" logY="false"
xDataReference="dgX"
yDataReference="dgSin2" />
<curve id="c2comp" logX="false" logY="false"
xDataReference="dgX"
yDataReference="dgSin2Mod" />
</listOfCurves>
</plot2D>
</listOfOutputs>
</sedML>