Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | parameter | :: | selfStrongForm | = | 0 | |
integer, | public, | parameter | :: | selfWeakBRForm | = | 3 | |
integer, | public, | parameter | :: | selfWeakCGForm | = | 2 | |
integer, | public, | parameter | :: | selfWeakDGForm | = | 1 |
The SELF_DataObj class is a base class for all data objects in SELF. A data object in SELF is a multidimensional array of data, represented on both host and device, that is associated with an interpolant, metadata, and (optionally) an equation string. Type extensions of the SELF_DataObj include scalars, vectors, and tensors in 1-D, 2-D, and 3-D using the storage patterns that are expected for derivative and interpolation operations defined in SELF_Lagrange.f90 Additionally, each extended type has the necessary attributes to store information on element interiors and element boundaries, both of which are commonly used for spectral element solvers.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | M | ||||
integer, | public | :: | N | ||||
type(EquationParser), | public, | allocatable | :: | eqn(:) | |||
type(Lagrange), | public, | pointer | :: | interp | |||
type(Metadata), | public, | allocatable | :: | meta(:) | |||
integer, | public | :: | nElem | ||||
integer, | public | :: | nVar |
procedure, public :: SetDescription => SetDescription_DataObj | |
generic, public :: SetEquation => SetEquation_DataObj | |
procedure, private :: SetEquation_DataObj | |
procedure, public :: SetName => SetName_DataObj | |
procedure, public :: SetUnits => SetUnits_DataObj |
Set the description of the ivar-th
variable
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SELF_DataObj), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | ivar | |||
character, | intent(in) | :: | description |
Sets the equation parser for the ivar-th
variable
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SELF_DataObj), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | ivar | |||
character, | intent(in) | :: | eqnChar |
Set the name of the ivar-th
variable
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SELF_DataObj), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | ivar | |||
character, | intent(in) | :: | name |
Set the units of the ivar-th
variable
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SELF_DataObj), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | ivar | |||
character, | intent(in) | :: | units |