example II creation
This commit is contained in:
parent
7d17cd00fb
commit
5e06de413d
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!-- TODO DTD or XML Schema-->
|
||||
|
||||
<gem-graph-model version="0.1">
|
||||
|
||||
<!-- Model identity informations -->
|
||||
<identity>
|
||||
<name>Modèle de test</name>
|
||||
<author>Adrien Bourmault, Jean Sirmai</author>
|
||||
<author_id>1,2</author_id>
|
||||
<date>1629830000</date> <!--Warning: it's an arbitrary unchecked date...-->
|
||||
<version>1.0</version>
|
||||
|
||||
</identity>
|
||||
|
||||
<!-- Model parameters -->
|
||||
<parameters id="" date="" author="">
|
||||
<modelization>
|
||||
<max_thread value="0"/> <!--Why "0" ?-->
|
||||
<max_cycles value="13"/>
|
||||
|
||||
</modelization>
|
||||
|
||||
<space>
|
||||
<dimension value="1"/> <!-- TODO redundancy here: dimension is given by the zero values of z and y-->
|
||||
<size x="39" y="0" z="0"/> <!-- In this example of random walk, I wish I could see the whole space in a single line of the monitoring CLI-->
|
||||
<site_multiplicity value="2"/> <!-- Indicates that there are two sites per cell-->
|
||||
<boundaries/> <!-- TODO a proposition for boundaries encoding: -->
|
||||
<!-- X="00" no boundaries X="||" boundaries west and east X="|0" boundary west only X="0|" boundary east-->
|
||||
<!-- X="|0" indicates that: a particle which moves beyond the east boundary will reenter on the west side-->
|
||||
<!-- X="|0" : no particle can move beyond the west boundary-->
|
||||
|
||||
</space>
|
||||
|
||||
</parameters>
|
||||
|
||||
<!-- Model objects definition -->
|
||||
<objects>
|
||||
<object id="dimer" date="" author="">
|
||||
<arrow x="0" y="0" z="0" site="0" weight="0"/>
|
||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow x="1" y="0" z="0" site="0" weight="1"/>
|
||||
<arrow x="1" y="0" z="0" site="1" weight="0"/>
|
||||
<!-- A dimer is made of two linked adjacent particles.-->
|
||||
<!-- Site 1 of particle 0 points at east to next particle.-->
|
||||
<!-- Site 0 of particle 1 points at west to previous particle.-->
|
||||
|
||||
</object>
|
||||
|
||||
</objects>
|
||||
|
||||
<!-- Space description (initial state) -->
|
||||
<space id="" date="" author="">
|
||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow x="1" y="0" z="0" site="0" weight="1"/>
|
||||
<arrow x="10" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow x="11" y="0" z="0" site="0" weight="1"/>
|
||||
<arrow x="20" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow x="21" y="0" z="0" site="0" weight="1"/>
|
||||
<!-- three dimers have been defined-->
|
||||
|
||||
</space>
|
||||
|
||||
<!-- Saved space description (saved states) -->
|
||||
<savestates id="" date="" author=""> <!-- TODO or NOT TODO (not today...)-->
|
||||
<space id="" date="">
|
||||
</space>
|
||||
|
||||
</savestates>
|
||||
|
||||
<!-- Model transitions definition (rules) -->
|
||||
<transitions id="" date="" author="">
|
||||
<transition id="0" date="" author="" probability="1"> <!-- moves a dimer to east-->
|
||||
<if>
|
||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow x="1" y="0" z="0" site="0" weight="1"/> <!-- a dimer is identified-->
|
||||
<!-- the local space origin is its "west" particule-->
|
||||
<arrow x="2" y="0" z="0" site="1" weight="0"/> <!-- the east location next this dimer is empty-->
|
||||
<arrow x="3" y="0" z="0" site="0" weight="0"/> <!-- In this very simple model, I do not need to check this condition-->
|
||||
|
||||
</if>
|
||||
|
||||
<then> <!-- Therefore I can (and I want to) move it to its next east location-->
|
||||
<arrow x="0" y="0" z="0" site="1" weight="0"/>
|
||||
<arrow x="1" y="0" z="0" site="0" weight="0"/> <!-- The identified dimer no more exists ( :-(( -->
|
||||
<arrow x="1" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow x="2" y="0" z="0" site="0" weight="1"/> <!-- Happily, it is now rebuilt at its east location ( ;-))-->
|
||||
|
||||
</then>
|
||||
|
||||
</transition>
|
||||
|
||||
<transition id="0" date="" author="" probability="1"> <!-- moves a dimer to west-->
|
||||
<if>
|
||||
<arrow x="0" y="0" z="0" site="1" weight="1"/>
|
||||
<arrow x="1" y="0" z="0" site="0" weight="1"/> <!-- a dimer is identified-->
|
||||
<!-- the local space origin is its "east" particule-->
|
||||
<arrow x="-1" y="0" z="0" site="0" weight="0"/> <!-- the west location next this dimer is empty-->
|
||||
<arrow x="-2" y="0" z="0" site="1" weight="0"/> <!-- In this very simple model, I do not need to check this condition-->
|
||||
|
||||
</if>
|
||||
|
||||
<then> <!-- Therefore I can (and I want to) move it to its next west location-->
|
||||
<arrow x="0" y="0" z="0" site="1" weight="0"/>
|
||||
<arrow x="1" y="0" z="0" site="0" weight="0"/> <!-- The identified dimer no more exists ( :-(( -->
|
||||
<arrow x="0" y="0" z="0" site="0" weight="1"/>
|
||||
<arrow x="-1" y="0" z="0" site="1" weight="1"/> <!-- Happily, it is now rebuilt at its west location ( ;-))-->
|
||||
|
||||
</then>
|
||||
|
||||
</transition>
|
||||
|
||||
</transitions>
|
||||
|
||||
<!-- Non context-specific tags -->
|
||||
<ref id="" date="">https://www.a-lec.org</ref>
|
||||
<quote id="" date="" author="" lang="">Quote</quote>
|
||||
|
||||
</gem-graph-model>
|
|
@ -295,7 +295,7 @@ void ModelSystemInit(Parameters_t *parameters)
|
|||
// Ask to parse the new model
|
||||
if (ModelParseFile(newModel) != 0) {
|
||||
ModelDelete(newModel->id);
|
||||
continue;
|
||||
continue;XMAX
|
||||
};
|
||||
|
||||
// Check model is valid and/or parsed
|
||||
|
|
Loading…
Reference in New Issue