Derived Types

TypeLocationExtendsDescription
advection_diffusion_1dself_advection_diffusion_1dadvection_diffusion_1d_t
advection_diffusion_1dself_advection_diffusion_1dadvection_diffusion_1d_t
advection_diffusion_1d_tself_advection_diffusion_1d_tDGModel1D
advection_diffusion_2dself_advection_diffusion_2dadvection_diffusion_2d_t
advection_diffusion_2dself_advection_diffusion_2dadvection_diffusion_2d_t
advection_diffusion_2d_tself_advection_diffusion_2d_tDGModel2D
advection_diffusion_3dself_advection_diffusion_3dadvection_diffusion_3d_t
advection_diffusion_3dself_advection_diffusion_3dadvection_diffusion_3d_t
advection_diffusion_3d_tself_advection_diffusion_3d_tDGModel3D
Burgers1Dself_Burgers1DBurgers1D_t
Burgers1Dself_Burgers1DBurgers1D_t
Burgers1D_tself_Burgers1D_tDGModel1D
DGModel1DSELF_DGModel1DDGModel1D_t
DGModel1DSELF_DGModel1DDGModel1D_t
DGModel1D_tSELF_DGModel1D_tModel
DGModel2DSELF_DGModel2DDGModel2D_t
DGModel2DSELF_DGModel2DDGModel2D_t
DGModel2D_tSELF_DGModel2D_tModel
DGModel3DSELF_DGModel3DDGModel3D_t
DGModel3DSELF_DGModel3DDGModel3D_t
DGModel3D_tSELF_DGModel3D_tModel
DomainDecompositionSELF_DomainDecompositionDomainDecomposition_t
DomainDecompositionSELF_DomainDecompositionDomainDecomposition_t
DomainDecomposition_tSELF_DomainDecomposition_tNone
Geometry1DSELF_Geometry_1DNone
LagrangeSELF_LagrangeLagrange_t
LagrangeSELF_LagrangeLagrange_t
LagrangeSELF_LagrangeLagrange_t
Lagrange_tSELF_Lagrange_tNone

A data structure for working with Lagrange Interpolating Polynomials in one, two, and three dimensions. The Lagrange data-structure stores the information necessary to interpolate between two sets of grid-points and to estimate the derivative of data at native grid points. Routines for multidimensional interpolation are based on the tensor product of 1-D interpolants. It is assumed that the polynomial degree (and the interpolation nodes) are the same in each direction. This assumption permits the storage of only one array of interpolation nodes and barycentric weights and is what allows this data structure to be flexible.

MappedScalar1DSELF_MappedScalar_1DMappedScalar1D_t
MappedScalar1DSELF_MappedScalar_1DMappedScalar1D_t
MappedScalar1D_tSELF_MappedScalar_1D_tScalar1D
MappedScalar2DSELF_MappedScalar_2DMappedScalar2D_t
MappedScalar2DSELF_MappedScalar_2DMappedScalar2D_t
MappedScalar2D_tSELF_MappedScalar_2D_tScalar2D
MappedScalar3DSELF_MappedScalar_3DMappedScalar3D_t
MappedScalar3DSELF_MappedScalar_3DMappedScalar3D_t
MappedScalar3D_tSELF_MappedScalar_3D_tScalar3D
MappedVector2DSELF_MappedVector_2DMappedVector2D_t
MappedVector2DSELF_MappedVector_2DMappedVector2D_t
MappedVector2D_tSELF_MappedVector_2D_tVector2D
MappedVector3DSELF_MappedVector_3DMappedVector3D_t
MappedVector3DSELF_MappedVector_3DMappedVector3D_t
MappedVector3D_tSELF_MappedVector_3D_tVector3D
Mesh1DSELF_Mesh_1DSEMMesh
Mesh2DSELF_Mesh_2DMesh2D_t
Mesh2DSELF_Mesh_2DMesh2D_t
Mesh2D_tSELF_Mesh_2D_tSEMMesh
Mesh3DSELF_Mesh_3DMesh3D_t
Mesh3DSELF_Mesh_3DMesh3D_t
Mesh3D_tSELF_Mesh_3D_tSEMMesh
MetadataSELF_MetadataNone
ModelSELF_ModelNone
NullDGModel1Dself_NullDGModel1DNullDGModel1D_t
NullDGModel1Dself_NullDGModel1DNullDGModel1D_t
NullDGModel1D_tself_NullDGModel1D_tDGModel1D
NullDGModel2Dself_NullDGModel2DNullDGModel2D_t
NullDGModel2Dself_NullDGModel2DNullDGModel2D_t
NullDGModel2D_tself_NullDGModel2D_tDGModel2D
NullDGModel3Dself_NullDGModel3DNullDGModel3D_t
NullDGModel3Dself_NullDGModel3DNullDGModel3D_t
NullDGModel3D_tself_NullDGModel3D_tDGModel3D
Scalar1DSELF_Scalar_1DScalar1D_t
Scalar1DSELF_Scalar_1DScalar1D_t
Scalar1DSELF_Scalar_1DScalar1D_t
Scalar1D_tSELF_Scalar_1D_tSELF_DataObj
Scalar2DSELF_Scalar_2DScalar2D_t
Scalar2DSELF_Scalar_2DScalar2D_t
Scalar2D_tSELF_Scalar_2D_tSELF_DataObj
Scalar3DSELF_Scalar_3DScalar3D_t
Scalar3DSELF_Scalar_3DScalar3D_t
Scalar3D_tSELF_Scalar_3D_tSELF_DataObj
SELF_DataObjSELF_DataNone

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.

SEMHexSELF_Geometry_3DNone
SEMMeshSELF_MeshNone
SEMQuadSELF_Geometry_2DNone
Tensor2DSELF_Tensor_2DTensor2D_t
Tensor2DSELF_Tensor_2DTensor2D_t
Tensor2D_tSELF_Tensor_2D_tSELF_DataObj
Tensor3DSELF_Tensor_3DTensor3D_t
Tensor3DSELF_Tensor_3DTensor3D_t
Tensor3D_tSELF_Tensor_3D_tSELF_DataObj
Vector2DSELF_Vector_2DVector2D_t
Vector2DSELF_Vector_2DVector2D_t
Vector2D_tSELF_Vector_2D_tSELF_DataObj
Vector3DSELF_Vector_3DVector3D_t
Vector3DSELF_Vector_3DVector3D_t
Vector3D_tSELF_Vector_3D_tSELF_DataObj