Revision 5d5f4278aa5943b891c7d598a8c57fc5a3e0d3f0 authored by Wenqing Wang on 05 February 2021, 16:01:30 UTC, committed by Dmitry Yu. Naumov on 20 February 2021, 10:03:39 UTC
1 parent 91cda07
Raw File
OpenGeoSysProject.xsd
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <!-- OpenGeoSysProject schema; initial implementation: Karsten Rink, 2010-08-20 -->
  <xs:element name="name" type="xs:string" />

  <!-- definition of processes -->
  <xs:complexType name="processType">
    <xs:sequence>
      <xs:element ref="name" minOccurs="1" maxOccurs="1" />
      <xs:element name="type" type="xs:string" minOccurs="1" maxOccurs="1" />
      <xs:element name="integration_order" minOccurs="1" maxOccurs="1" />
      <xs:element name="process_variables" minOccurs="1" maxOccurs="1" />
      <xs:element name="secondary_variables" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="meshType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="axially_symmetric" type="xs:boolean"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="parameterType">
    <xs:sequence>
      <xs:element ref="name"  minOccurs="1" maxOccurs="1" />
      <xs:element name="type" type="xs:string" minOccurs="1" maxOccurs="1" />
      <xs:element name="mesh" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="value" minOccurs="0" maxOccurs="1" />
      <xs:element name="field_name" type="xs:string" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="conditionType">
    <xs:sequence>
      <xs:element name="geometrical_set" type="xs:string" minOccurs="0" />
      <xs:element name="geometry" type="xs:string" minOccurs="0" />
      <xs:element name="type" type="xs:string" />
      <xs:element name="mesh" type="xs:string" minOccurs="0" />
      <xs:element name="parameter" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="bcListType">
    <xs:sequence>
      <xs:element name="boundary_condition" type="conditionType" minOccurs="1" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="stListType">
    <xs:sequence>
      <xs:element name="source_term" type="conditionType" minOccurs="1" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="pvariableType">
    <xs:sequence>
      <xs:element ref="name"/>
      <xs:element name="mesh" type="xs:string" minOccurs="0"/>
      <xs:element name="components" minOccurs="1" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:nonNegativeInteger">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="3"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="order" minOccurs="1" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:nonNegativeInteger">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="2"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="initial_condition" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="boundary_conditions" type="bcListType" minOccurs="0" maxOccurs="1" />
      <xs:element name="source_terms" type="stListType" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>

  <!-- definition of file content -->
  <xs:element name="OpenGeoSysProject">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="mesh" type="meshType" minOccurs="0"/>
        <xs:element name="geometry" type="xs:string" minOccurs="0"/>
        <xs:element name="meshes" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="mesh" type="meshType" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="processes" minOccurs="0"/> <!--ignore-->
        <xs:element name="media" minOccurs="1" maxOccurs="1"/> <!--ignore-->
        <xs:element name="time_loop" minOccurs="0"/> <!--ignore-->
        <xs:element name="parameters" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="parameter" type="parameterType" minOccurs="1" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="process_variables" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="process_variable" type="pvariableType" minOccurs="1" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="nonlinear_solvers" minOccurs="0"/> <!--ignore-->
        <xs:element name="linear_solvers" minOccurs="0"/> <!--ignore-->
      </xs:sequence>
    </xs:complexType>
  </xs:element>

</xs:schema>
back to top