Skip to content

Commit

Permalink
Added schema.
Browse files Browse the repository at this point in the history
  • Loading branch information
DENEL Bertrand committed Dec 12, 2024
1 parent 434c435 commit f39620c
Show file tree
Hide file tree
Showing 2 changed files with 178 additions and 71 deletions.
86 changes: 84 additions & 2 deletions src/coreComponents/schema/schema.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,10 @@
<xsd:selector xpath="Hydrofracture" />
<xsd:field xpath="@name" />
</xsd:unique>
<xsd:unique name="SolversImmiscibleMultiphaseFlowUniqueName">
<xsd:selector xpath="ImmiscibleMultiphaseFlow" />
<xsd:field xpath="@name" />
</xsd:unique>
<xsd:unique name="SolversLaplaceFEMUniqueName">
<xsd:selector xpath="LaplaceFEM" />
<xsd:field xpath="@name" />
Expand Down Expand Up @@ -887,6 +891,10 @@
<xsd:selector xpath="ThermalCompressibleSinglePhaseFluid" />
<xsd:field xpath="@name" />
</xsd:unique>
<xsd:unique name="domainConstitutiveTwoPhaseFluidUniqueName">
<xsd:selector xpath="TwoPhaseFluid" />
<xsd:field xpath="@name" />
</xsd:unique>
<xsd:unique name="domainConstitutiveVanGenuchtenBakerRelativePermeabilityUniqueName">
<xsd:selector xpath="VanGenuchtenBakerRelativePermeability" />
<xsd:field xpath="@name" />
Expand Down Expand Up @@ -2284,6 +2292,7 @@ Level 0 outputs no specific information for this solver. Higher levels require m
<xsd:element name="EmbeddedSurfaceGenerator" type="EmbeddedSurfaceGeneratorType" />
<xsd:element name="FlowProppantTransport" type="FlowProppantTransportType" />
<xsd:element name="Hydrofracture" type="HydrofractureType" />
<xsd:element name="ImmiscibleMultiphaseFlow" type="ImmiscibleMultiphaseFlowType" />
<xsd:element name="LaplaceFEM" type="LaplaceFEMType" />
<xsd:element name="MultiphasePoromechanics" type="MultiphasePoromechanicsType" />
<xsd:element name="MultiphasePoromechanicsReservoir" type="MultiphasePoromechanicsReservoirType" />
Expand Down Expand Up @@ -3245,7 +3254,7 @@ Level 0 outputs no specific information for this solver. Higher levels require m
<!--maxNumResolves => Value to indicate how many resolves may be executed to perform surface generation after the execution of flow and mechanics solver. -->
<xsd:attribute name="maxNumResolves" type="integer" default="10" />
<!--newFractureInitializationType => Type of new fracture element initialization. Can be Pressure or Displacement. -->
<xsd:attribute name="newFractureInitializationType" type="geos_HydrofractureSolver_lt_geos_SinglePhasePoromechanics_lt_geos_SinglePhaseBase_cm_-geos_SolidMechanicsLagrangianFEM_gt__gt__InitializationType" default="Pressure" />
<xsd:attribute name="newFractureInitializationType" type="geos_HydrofractureSolver_lt_geos_SinglePhasePoromechanics_lt_geos_SinglePhaseBase_cm_-geos_SolidMechanicsLagrangianFEM_gt_-_gt__InitializationType" default="Pressure" />
<!--solidSolverName => Name of the solid solver used by the coupled solver-->
<xsd:attribute name="solidSolverName" type="groupNameRef" use="required" />
<!--stabilizationMultiplier => Constant multiplier of stabilization strength-->
Expand All @@ -3268,11 +3277,69 @@ Local- Add jump stabilization on interior of macro elements-->
<!--name => A name is required for any non-unique nodes-->
<xsd:attribute name="name" type="groupName" use="required" />
</xsd:complexType>
<xsd:simpleType name="geos_HydrofractureSolver_lt_geos_SinglePhasePoromechanics_lt_geos_SinglePhaseBase_cm_-geos_SolidMechanicsLagrangianFEM_gt__gt__InitializationType">
<xsd:simpleType name="geos_HydrofractureSolver_lt_geos_SinglePhasePoromechanics_lt_geos_SinglePhaseBase_cm_-geos_SolidMechanicsLagrangianFEM_gt_-_gt__InitializationType">
<xsd:restriction base="xsd:string">
<xsd:pattern value=".*[\[\]`$].*|Pressure|Displacement" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ImmiscibleMultiphaseFlowType">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="LinearSolverParameters" type="LinearSolverParametersType" maxOccurs="1" />
<xsd:element name="NonlinearSolverParameters" type="NonlinearSolverParametersType" maxOccurs="1" />
</xsd:choice>
<!--allowNegativePressure => Flag indicating if negative pressure is allowed-->
<xsd:attribute name="allowNegativePressure" type="integer" default="1" />
<!--cflFactor => Factor to apply to the `CFL condition <http://en.wikipedia.org/wiki/Courant-Friedrichs-Lewy_condition>`_ when calculating the maximum allowable time step. Values should be in the interval (0,1] -->
<xsd:attribute name="cflFactor" type="real64" default="0.5" />
<!--discretization => Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.-->
<xsd:attribute name="discretization" type="groupNameRef" use="required" />
<!--gravityDensityScheme => Scheme for density treatment in gravity-->
<xsd:attribute name="gravityDensityScheme" type="geos_GravityDensityScheme" default="ArithmeticAverage" />
<!--initialDt => Initial time-step value required by the solver to the event manager.-->
<xsd:attribute name="initialDt" type="real64" default="1e+99" />
<!--isThermal => Flag indicating whether the problem is thermal or not.-->
<xsd:attribute name="isThermal" type="integer" default="0" />
<!--logLevel => Sets the level of information to write in the standard output (the console typically).
Level 0 outputs no specific information for this solver. Higher levels require more outputs.
1
- Line search information
- Solution information (scaling, maximum changes, quality check)
- Convergence information
- Time step information
- Linear solver information
- Nonlinear solver information
- Solver timers information
2
- The summary of declared fields and coupling-->
<xsd:attribute name="logLevel" type="integer" default="0" />
<!--maxAbsolutePressureChange => Maximum (absolute) pressure change in a Newton iteration-->
<xsd:attribute name="maxAbsolutePressureChange" type="real64" default="-1" />
<!--maxSequentialPressureChange => Maximum (absolute) pressure change in a sequential iteration, used for outer loop convergence check-->
<xsd:attribute name="maxSequentialPressureChange" type="real64" default="100000" />
<!--maxSequentialTemperatureChange => Maximum (absolute) temperature change in a sequential iteration, used for outer loop convergence check-->
<xsd:attribute name="maxSequentialTemperatureChange" type="real64" default="0.1" />
<!--solutionChangeScalingFactor => Damping factor for solution change targets-->
<xsd:attribute name="solutionChangeScalingFactor" type="real64" default="0.5" />
<!--targetPhaseVolFractionChangeInTimeStep => Target (absolute) change in phase volume fraction in a time step-->
<xsd:attribute name="targetPhaseVolFractionChangeInTimeStep" type="real64" default="0.2" />
<!--targetRegions => Allowable regions that the solver may be applied to. Note that this does not indicate that the solver will be applied to these regions, only that allocation will occur such that the solver may be applied to these regions. The decision about what regions this solver will beapplied to rests in the EventManager.-->
<xsd:attribute name="targetRegions" type="groupNameRef_array" use="required" />
<!--targetRelativePressureChangeInTimeStep => Target (relative) change in pressure in a time step (expected value between 0 and 1)-->
<xsd:attribute name="targetRelativePressureChangeInTimeStep" type="real64" default="0.2" />
<!--temperature => Temperature-->
<xsd:attribute name="temperature" type="real64" use="required" />
<!--useTotalMassEquation => Flag indicating whether total mass equation is used-->
<xsd:attribute name="useTotalMassEquation" type="integer" default="1" />
<!--writeLinearSystem => Write matrix, rhs, solution to screen ( = 1) or file ( = 2).-->
<xsd:attribute name="writeLinearSystem" type="integer" default="0" />
<!--name => A name is required for any non-unique nodes-->
<xsd:attribute name="name" type="groupName" use="required" />
</xsd:complexType>
<xsd:simpleType name="geos_GravityDensityScheme">
<xsd:restriction base="xsd:string">
<xsd:pattern value=".*[\[\]`$].*|ArithmeticAverage|PhasePresence" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="LaplaceFEMType">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="LinearSolverParameters" type="LinearSolverParametersType" maxOccurs="1" />
Expand Down Expand Up @@ -5065,6 +5132,7 @@ Level 0 outputs no specific information for this solver. Higher levels require m
<xsd:element name="TableRelativePermeability" type="TableRelativePermeabilityType" />
<xsd:element name="TableRelativePermeabilityHysteresis" type="TableRelativePermeabilityHysteresisType" />
<xsd:element name="ThermalCompressibleSinglePhaseFluid" type="ThermalCompressibleSinglePhaseFluidType" />
<xsd:element name="TwoPhaseFluid" type="TwoPhaseFluidType" />
<xsd:element name="VanGenuchtenBakerRelativePermeability" type="VanGenuchtenBakerRelativePermeabilityType" />
<xsd:element name="VanGenuchtenCapillaryPressure" type="VanGenuchtenCapillaryPressureType" />
<xsd:element name="VanGenuchtenStone2RelativePermeability" type="VanGenuchtenStone2RelativePermeabilityType" />
Expand Down Expand Up @@ -6524,6 +6592,20 @@ To neglect hysteresis on this phase, just use the same table name for the draina
<!--name => A name is required for any non-unique nodes-->
<xsd:attribute name="name" type="groupName" use="required" />
</xsd:complexType>
<xsd:complexType name="TwoPhaseFluidType">
<!--densityTableNames => List of density TableFuncion names from the Function block.
The user must provide one TableFunction per phase, respecting the order provided in "phaseNames".-->
<xsd:attribute name="densityTableNames" type="groupNameRef_array" default="{}" />
<!--phaseNames => List of fluid phases-->
<xsd:attribute name="phaseNames" type="groupNameRef_array" default="{}" />
<!--tableFiles => List of filenames with input PVT tables (one per phase)-->
<xsd:attribute name="tableFiles" type="path_array" default="{}" />
<!--viscosityTableNames => List of viscosity TableFuncion names from the Function block.
The user must provide one TableFunction per phase, respecting the order provided in "phaseNames".-->
<xsd:attribute name="viscosityTableNames" type="groupNameRef_array" default="{}" />
<!--name => A name is required for any non-unique nodes-->
<xsd:attribute name="name" type="groupName" use="required" />
</xsd:complexType>
<xsd:complexType name="VanGenuchtenBakerRelativePermeabilityType">
<!--gasOilRelPermExponentInv => Rel perm power law exponent inverse for the pair (gas phase, oil phase) at residual water saturation
The expected format is "{ gasExp, oilExp }", in that order-->
Expand Down
Loading

0 comments on commit f39620c

Please sign in to comment.