JaRMoS  1.1
Java Reduced Model Simulations
 All Classes Namespaces Files Functions Variables Enumerator Groups Pages
JaRMoS model XSD definition

The model XSD for any model.xml files

This XSD schema can be found in the JaRMoSBase package as model.xsd and determines the structure of all JaRMoS-compatible model XML files.

<?xml version="1.0" encoding="UTF-8"?>
<!-- XSD Schema for AModelManager loadable models. @author Daniel Wirtz @date
2011-08-23 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="model">
<xs:complexType>
<xs:sequence>
<xs:element ref="description" />
<!-- Description of the models, none for rbappmit_models -->
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element ref="kermor_model" minOccurs="1" maxOccurs="1" />
<xs:element ref="rb_model" minOccurs="1" maxOccurs="1" />
</xs:choice>
<xs:element name="numDoFfields" type="xs:integer"
minOccurs="1" maxOccurs="1" />
<xs:element ref="geometry" minOccurs="0" maxOccurs="1"></xs:element>
<xs:element ref="visual" minOccurs="0" maxOccurs="1"></xs:element>
<xs:element name="package" type="java_packageidentifier"
minOccurs="0" maxOccurs="1" />
</xs:sequence>
<xs:attribute name="machformat" use="required" type="machformat" />
<xs:attribute name="type" use="required" type="modeltype" />
</xs:complexType>
</xs:element>
<xs:element name="description">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="created" type="xs:date" />
<xs:element name="short" type="xs:string" minOccurs="0"
maxOccurs="1" />
<xs:element name="image" type="xs:string" minOccurs="0"
maxOccurs="1" />
<xs:element name="infohtml" type="xs:string" minOccurs="0"
maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="parameters">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="param" minOccurs="1" />
</xs:sequence>
<xs:attribute name="number" use="required" type="xs:integer" />
</xs:complexType>
</xs:element>
<xs:element name="param">
<xs:complexType>
<xs:attribute name="label" use="optional" type="xs:string" />
<xs:attribute name="max" use="required" type="xs:double" />
<xs:attribute name="min" use="required" type="xs:double" />
<xs:attribute name="name" use="required" type="xs:string" />
<xs:attribute name="default" use="optional" type="xs:double" />
</xs:complexType>
</xs:element>
<xs:element name="geometry">
<xs:complexType>
<xs:sequence>
<xs:element name="dimension" type="xs:integer" minOccurs="1"
maxOccurs="1" />
<xs:element name="nodes" type="xs:integer" minOccurs="1"
maxOccurs="1" />
<!-- <xs:element name="fieldmapping" type="fm_types" minOccurs="1" maxOccurs="1"/> -->
<xs:element name="hasFaces" type="xs:boolean" default="false"
minOccurs="0" maxOccurs="1" />
<xs:element name="hasDirichletNodes" default="false"
type="xs:boolean" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="visual">
<xs:complexType>
<xs:sequence>
<xs:element name="plotSteps" type="xs:integer" minOccurs="0"
maxOccurs="1" />
<xs:element name="fields" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element ref="field" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="field">
<xs:complexType>
<xs:attribute name="mapping" type="fm_types" default="VERTEX"
use="optional" />
<xs:attribute name="type" type="visualfieldtype" use="required" />
</xs:complexType>
</xs:element>
<!-- KERMOR model part -->
<xs:element name="kermor_model">
<xs:complexType>
<xs:sequence>
<xs:element name="T" type="xs:double" />
<xs:element name="dt" type="xs:double" />
<xs:element name="dim" type="xs:integer" />
<xs:element ref="parameters" minOccurs="0" maxOccurs="1" />
<xs:element ref="corefun" maxOccurs="1" />
<xs:element ref="inputconv" minOccurs="0" maxOccurs="1" />
<xs:element ref="massmatrix" minOccurs="0" maxOccurs="1" />
<xs:element ref="outputconvtype" maxOccurs="1" />
<xs:element ref="initialvaluetype" maxOccurs="1" />
<xs:element name="solvertype" type="xs:string" />
<xs:element name="outputtodof" type="java_classidentifier"
minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="corefun">
<xs:complexType>
<xs:sequence>
<xs:element ref="statekernel" />
<xs:element ref="timekernel" />
<xs:element ref="paramkernel" />
<xs:element ref="coeffclass" />
</xs:sequence>
<xs:attribute name="type" use="required" type="matlab_classidentifier" />
</xs:complexType>
</xs:element>
<xs:element name="coeffclass" type="java_classidentifier" />
<xs:element name="corefuntype" type="matlab_classidentifier" />
<xs:element name="statekernel" type="matlab_classidentifier" />
<xs:element name="timekernel" type="matlab_classidentifier" />
<xs:element name="paramkernel" type="matlab_classidentifier" />
<xs:element name="inputconv">
<xs:complexType>
<xs:sequence>
<xs:element ref="coeffclass" />
</xs:sequence>
<xs:attribute name="type" use="required" type="matlab_classidentifier" />
</xs:complexType>
</xs:element>
<xs:element name="massmatrix">
<xs:complexType>
<xs:sequence>
<xs:element ref="coeffclass" minOccurs="0" maxOccurs="1" />
</xs:sequence>
<xs:attribute name="type" use="required" type="matlab_classidentifier" />
</xs:complexType>
</xs:element>
<xs:element name="outputconvtype" type="matlab_classidentifier" />
<xs:element name="initialvaluetype" type="matlab_classidentifier" />
<!-- RB model parts -->
<xs:element name="rb_model">
<xs:complexType>
<xs:sequence>
<xs:element name="systype" type="xs:string" />
<xs:element ref="scmtype" />
<xs:element ref="timeinfo" minOccurs="0" maxOccurs="1" />
<xs:element ref="parameters" minOccurs="0" maxOccurs="1" />
</xs:sequence>
<xs:attribute name="num_basisfcn" use="required" type="xs:integer" />
<xs:attribute name="Qa" use="required" type="xs:integer" />
<xs:attribute name="Qf" use="required" type="xs:integer" />
<xs:attribute name="Nmax" use="required" type="xs:integer" />
</xs:complexType>
</xs:element>
<xs:element name="timeinfo">
<xs:complexType>
<xs:sequence>
<xs:element name="dt" type="xs:double"></xs:element>
<xs:element name="K" type="xs:integer"></xs:element>
<xs:element name="euler_theta" type="xs:double"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="scmtype">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="M" use="optional" type="xs:integer" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<!-- Complex Type Definition Representation Error for type '#AnonType_scmtype'.
When <simpleContent> is used, the base type must be a complexType whose content
type is simple, or, only if restriction is specified, a complex type with
mixed content and emptiable particle, or, only if extension is specified,
a simple type. 'string' satisfies none of these conditions. -->
<!-- custom types -->
<xs:simpleType name="matlab_classidentifier">
<xs:restriction base="xs:string"></xs:restriction>
</xs:simpleType>
<xs:simpleType name="java_classidentifier">
<xs:restriction base="xs:string"></xs:restriction>
</xs:simpleType>
<xs:simpleType name="java_packageidentifier">
<xs:restriction base="xs:string"></xs:restriction>
</xs:simpleType>
<xs:simpleType name="machformat">
<xs:restriction base="xs:string">
<xs:enumeration value="le"></xs:enumeration>
<xs:enumeration value="be"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="fm_types">
<xs:restriction base="xs:string">
<xs:enumeration value="VERTEX"></xs:enumeration>
<xs:enumeration value="ELEMENT"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="modeltype">
<xs:restriction base="xs:string">
<xs:enumeration value="rb"></xs:enumeration>
<xs:enumeration value="kermor"></xs:enumeration>
<xs:enumeration value="rbappmit"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="visualfieldtype">
<xs:restriction base="xs:string">
<xs:enumeration value="RealValue"></xs:enumeration>
<xs:enumeration value="ComplexValue"></xs:enumeration>
<xs:enumeration value="Displacement2D"></xs:enumeration>
<xs:enumeration value="Displacement3D"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:schema>