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.

LinearEuler2Dself_LinearEuler2DLinearEuler2D_t
LinearEuler2Dself_LinearEuler2DLinearEuler2D_t
LinearEuler2D_tself_LinearEuler2D_tDGModel2D
LinearShallowWater2Dself_LinearShallowWater2DLinearShallowWater2D_t
LinearShallowWater2Dself_LinearShallowWater2DLinearShallowWater2D_t
LinearShallowWater2D_tself_LinearShallowWater2D_tDGModel2D
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
type~~graph~~TypeGraph type~lineareuler2d_t LinearEuler2D_t type~dgmodel2d DGModel2D type~lineareuler2d_t->type~dgmodel2d type~linearshallowwater2d_t LinearShallowWater2D_t type~linearshallowwater2d_t->type~dgmodel2d type~nulldgmodel2d_t NullDGModel2D_t type~nulldgmodel2d_t->type~dgmodel2d type~domaindecomposition~2 DomainDecomposition type~domaindecomposition_t DomainDecomposition_t type~domaindecomposition~2->type~domaindecomposition_t c_ptr c_ptr type~domaindecomposition~2->c_ptr elemToRank_gpu type~nulldgmodel3d~2 NullDGModel3D type~nulldgmodel3d_t NullDGModel3D_t type~nulldgmodel3d~2->type~nulldgmodel3d_t type~dgmodel3d_t DGModel3D_t type~model Model type~dgmodel3d_t->type~model type~mappedvector3d MappedVector3D type~dgmodel3d_t->type~mappedvector3d solutionGradient, flux type~mappedscalar3d MappedScalar3D type~dgmodel3d_t->type~mappedscalar3d solution, source, fluxDivergence, dSdt, workSol type~mesh3d Mesh3D type~dgmodel3d_t->type~mesh3d mesh type~semhex SEMHex type~dgmodel3d_t->type~semhex geometry type~scalar3d~2 Scalar3D type~scalar3d_t Scalar3D_t type~scalar3d~2->type~scalar3d_t type~scalar3d~2->c_ptr blas_handle, interior_gpu, boundary_gpu, boundarynormal_gpu, extBoundary_gpu, avgBoundary_gpu, interpWork1, interpWork2 type~vector2d_t Vector2D_t type~self_dataobj SELF_DataObj type~vector2d_t->type~self_dataobj type~mesh1d Mesh1D type~semmesh SEMMesh type~mesh1d->type~semmesh type~lagrange~2 Lagrange type~lagrange_t Lagrange_t type~lagrange~2->type~lagrange_t type~lagrange~2->c_ptr qWeights_gpu, iMatrix_gpu, dMatrix_gpu, dgMatrix_gpu, bMatrix_gpu type~mesh3d_t Mesh3D_t type~mesh3d_t->type~semmesh type~burgers1d~2 Burgers1D type~burgers1d_t Burgers1D_t type~burgers1d~2->type~burgers1d_t type~scalar1d~2 Scalar1D type~scalar1d_t Scalar1D_t type~scalar1d~2->type~scalar1d_t type~scalar1d~2->c_ptr blas_handle type~mesh3d~2 Mesh3D type~mesh3d~2->type~mesh3d_t type~mesh3d~2->c_ptr sideInfo_gpu type~nulldgmodel1d_t NullDGModel1D_t type~dgmodel1d DGModel1D type~nulldgmodel1d_t->type~dgmodel1d type~mappedvector3d_t MappedVector3D_t type~vector3d Vector3D type~mappedvector3d_t->type~vector3d type~mappedvector3d_t->type~semhex geometry type~burgers1d_t->type~dgmodel1d type~scalar1d~3 Scalar1D type~scalar1d~3->type~scalar1d_t type~scalar1d~3->c_ptr blas_handle, interior_gpu, boundary_gpu, extBoundary_gpu, avgBoundary_gpu, boundarynormal_gpu type~mappedvector3d~2 MappedVector3D type~mappedvector3d~2->type~mappedvector3d_t type~scalar1d_t->type~self_dataobj type~metadata Metadata type~tensor3d~2 Tensor3D type~tensor3d_t Tensor3D_t type~tensor3d~2->type~tensor3d_t type~tensor3d~2->c_ptr blas_handle, interior_gpu, boundary_gpu, extBoundary_gpu type~tensor2d~2 Tensor2D type~tensor2d_t Tensor2D_t type~tensor2d~2->type~tensor2d_t type~tensor2d~2->c_ptr blas_handle, interior_gpu, boundary_gpu, extBoundary_gpu type~mappedvector2d~2 MappedVector2D type~mappedvector2d_t MappedVector2D_t type~mappedvector2d~2->type~mappedvector2d_t type~scalar3d_t->type~self_dataobj type~geometry1d Geometry1D type~scalar1d Scalar1D type~geometry1d->type~scalar1d x, dxds type~mappedscalar2d~2 MappedScalar2D type~mappedscalar2d_t MappedScalar2D_t type~mappedscalar2d~2->type~mappedscalar2d_t type~mappedscalar2d~2->c_ptr jas_gpu type~dgmodel2d_t DGModel2D_t type~dgmodel2d->type~dgmodel2d_t type~mesh2d_t Mesh2D_t type~mesh2d_t->type~semmesh type~burgers1d Burgers1D type~burgers1d->type~burgers1d_t type~scalar2d~2 Scalar2D type~scalar2d_t Scalar2D_t type~scalar2d~2->type~scalar2d_t type~scalar2d~2->c_ptr blas_handle, interior_gpu, boundary_gpu, boundarynormal_gpu, extBoundary_gpu, avgBoundary_gpu, interpWork type~advection_diffusion_3d_t advection_diffusion_3d_t type~dgmodel3d DGModel3D type~advection_diffusion_3d_t->type~dgmodel3d type~scalar1d->type~scalar1d_t type~mesh2d~2 Mesh2D type~mesh2d~2->type~mesh2d_t type~mesh2d~2->c_ptr sideInfo_gpu type~nulldgmodel2d~2 NullDGModel2D type~nulldgmodel2d~2->type~nulldgmodel2d_t type~mappedvector3d->type~mappedvector3d_t type~self_dataobj->type~metadata meta type~lagrange Lagrange type~self_dataobj->type~lagrange interp EquationParser EquationParser type~self_dataobj->EquationParser eqn type~semquad SEMQuad type~mappedvector2d_t->type~semquad geometry type~vector2d Vector2D type~mappedvector2d_t->type~vector2d type~scalar3d Scalar3D type~scalar3d->type~scalar3d_t type~dgmodel1d_t DGModel1D_t type~dgmodel1d->type~dgmodel1d_t type~advection_diffusion_1d_t advection_diffusion_1d_t type~advection_diffusion_1d_t->type~dgmodel1d type~lineareuler2d~2 LinearEuler2D type~lineareuler2d~2->type~lineareuler2d_t type~mappedscalar2d_t->type~semquad geometry type~scalar2d Scalar2D type~mappedscalar2d_t->type~scalar2d type~semquad->type~vector2d x, nHat type~tensor2d Tensor2D type~semquad->type~tensor2d dxds, dsdx type~semquad->type~scalar2d nScale, J type~mesh2d Mesh2D type~mesh2d->type~mesh2d_t type~advection_diffusion_1d~2 advection_diffusion_1d type~advection_diffusion_1d~2->type~advection_diffusion_1d_t type~advection_diffusion_2d advection_diffusion_2d type~advection_diffusion_2d_t advection_diffusion_2d_t type~advection_diffusion_2d->type~advection_diffusion_2d_t type~nulldgmodel1d NullDGModel1D type~nulldgmodel1d->type~nulldgmodel1d_t type~nulldgmodel1d~2 NullDGModel1D type~nulldgmodel1d~2->type~nulldgmodel1d_t type~tensor2d_t->type~self_dataobj type~dgmodel1d_t->type~mesh1d mesh type~dgmodel1d_t->type~model type~dgmodel1d_t->type~geometry1d geometry type~mappedscalar1d MappedScalar1D type~dgmodel1d_t->type~mappedscalar1d solution, solutionGradient, flux, source, fluxDivergence, dSdt, workSol type~mappedscalar3d_t MappedScalar3D_t type~mappedscalar3d->type~mappedscalar3d_t type~mappedscalar3d~2 MappedScalar3D type~mappedscalar3d~2->type~mappedscalar3d_t type~mappedscalar3d~2->c_ptr jas_gpu type~advection_diffusion_1d advection_diffusion_1d type~advection_diffusion_1d->type~advection_diffusion_1d_t type~vector2d->type~vector2d_t type~vector3d_t Vector3D_t type~vector3d->type~vector3d_t type~dgmodel2d~2 DGModel2D type~dgmodel2d~2->type~dgmodel2d_t type~vector3d~2 Vector3D type~vector3d~2->type~vector3d_t type~vector3d~2->c_ptr blas_handle, interior_gpu, boundary_gpu, extBoundary_gpu, avgBoundary_gpu, boundaryNormal_gpu, interpWork1, interpWork2 type~dgmodel3d->type~dgmodel3d_t type~mappedscalar3d_t->type~scalar3d type~mappedscalar3d_t->type~semhex geometry type~domaindecomposition DomainDecomposition type~domaindecomposition->type~domaindecomposition_t type~lagrange_t->c_ptr blas_handle type~tensor2d->type~tensor2d_t type~advection_diffusion_2d_t->type~dgmodel2d type~vector3d_t->type~self_dataobj type~tensor3d Tensor3D type~tensor3d->type~tensor3d_t type~tensor3d_t->type~self_dataobj type~mesh3d->type~mesh3d_t type~scalar2d_t->type~self_dataobj type~nulldgmodel3d NullDGModel3D type~nulldgmodel3d->type~nulldgmodel3d_t type~mappedvector2d MappedVector2D type~mappedvector2d->type~mappedvector2d_t type~mappedscalar2d MappedScalar2D type~mappedscalar2d->type~mappedscalar2d_t type~scalar2d->type~scalar2d_t type~dgmodel3d~2 DGModel3D type~dgmodel3d~2->type~dgmodel3d_t type~lagrange->type~lagrange_t type~mappedscalar1d_t MappedScalar1D_t type~mappedscalar1d_t->type~geometry1d geometry type~mappedscalar1d_t->type~scalar1d type~lagrange~3 Lagrange type~lagrange~3->type~lagrange_t type~lagrange~3->c_ptr qWeights_gpu, iMatrix_gpu, dMatrix_gpu, dgMatrix_gpu, bMatrix_gpu type~dgmodel2d_t->type~model type~dgmodel2d_t->type~semquad geometry type~dgmodel2d_t->type~mesh2d mesh type~dgmodel2d_t->type~mappedvector2d solutionGradient, flux type~dgmodel2d_t->type~mappedscalar2d solution, source, fluxDivergence, dSdt, workSol type~advection_diffusion_3d~2 advection_diffusion_3d type~advection_diffusion_3d~2->type~advection_diffusion_3d_t type~linearshallowwater2d LinearShallowWater2D type~linearshallowwater2d->type~linearshallowwater2d_t type~mappedscalar1d~2 MappedScalar1D type~mappedscalar1d~2->type~mappedscalar1d_t type~nulldgmodel2d NullDGModel2D type~nulldgmodel2d->type~nulldgmodel2d_t type~vector2d~2 Vector2D type~vector2d~2->type~vector2d_t type~vector2d~2->c_ptr blas_handle, interior_gpu, boundary_gpu, extBoundary_gpu, avgBoundary_gpu, boundaryNormal_gpu, interpWork type~linearshallowwater2d~2 LinearShallowWater2D type~linearshallowwater2d~2->type~linearshallowwater2d_t type~mappedscalar1d->type~mappedscalar1d_t type~dgmodel1d~2 DGModel1D type~dgmodel1d~2->type~dgmodel1d_t type~lineareuler2d LinearEuler2D type~lineareuler2d->type~lineareuler2d_t type~semmesh->type~domaindecomposition decomp type~semhex->type~scalar3d nScale, J type~semhex->type~vector3d x, nHat type~semhex->type~tensor3d dxds, dsdx type~nulldgmodel3d_t->type~dgmodel3d type~advection_diffusion_2d~2 advection_diffusion_2d type~advection_diffusion_2d~2->type~advection_diffusion_2d_t type~advection_diffusion_3d advection_diffusion_3d type~advection_diffusion_3d->type~advection_diffusion_3d_t
Help