SELF_Mesh_3D_t Module


Uses

  • module~~self_mesh_3d_t~~UsesGraph module~self_mesh_3d_t SELF_Mesh_3D_t module~self_lagrange~3 SELF_Lagrange module~self_mesh_3d_t->module~self_lagrange~3 module~self_supportroutines SELF_SupportRoutines module~self_mesh_3d_t->module~self_supportroutines iso_c_binding iso_c_binding module~self_mesh_3d_t->iso_c_binding module~self_mesh SELF_Mesh module~self_mesh_3d_t->module~self_mesh module~self_constants SELF_Constants module~self_mesh_3d_t->module~self_constants module~self_hdf5 SELF_HDF5 module~self_mesh_3d_t->module~self_hdf5 HDF5 HDF5 module~self_mesh_3d_t->HDF5 module~self_domaindecomposition SELF_DomainDecomposition module~self_mesh_3d_t->module~self_domaindecomposition module~self_lagrange~3->iso_c_binding module~self_lagrange~3->module~self_constants iso_fortran_env iso_fortran_env module~self_lagrange~3->iso_fortran_env module~self_lagrange_t SELF_Lagrange_t module~self_lagrange~3->module~self_lagrange_t module~self_supportroutines->module~self_constants module~self_supportroutines->iso_fortran_env module~self_mesh->iso_c_binding module~self_mesh->module~self_constants module~self_mesh->module~self_domaindecomposition module~self_constants->iso_c_binding module~self_constants->iso_fortran_env module~self_hdf5->module~self_constants module~self_hdf5->HDF5 module~self_hdf5->iso_fortran_env mpi mpi module~self_hdf5->mpi module~self_domaindecomposition_t SELF_DomainDecomposition_t module~self_domaindecomposition->module~self_domaindecomposition_t module~self_lagrange_t->module~self_supportroutines module~self_lagrange_t->iso_c_binding module~self_lagrange_t->module~self_constants module~self_lagrange_t->module~self_hdf5 module~self_lagrange_t->HDF5 module~self_lagrange_t->iso_fortran_env module~self_quadrature SELF_Quadrature module~self_lagrange_t->module~self_quadrature module~self_domaindecomposition_t->module~self_lagrange~3 module~self_domaindecomposition_t->module~self_supportroutines module~self_domaindecomposition_t->iso_c_binding module~self_domaindecomposition_t->module~self_constants module~self_domaindecomposition_t->mpi module~self_quadrature->module~self_constants module~self_quadrature->iso_fortran_env

Used by

  • module~~self_mesh_3d_t~~UsedByGraph module~self_mesh_3d_t SELF_Mesh_3D_t module~self_mesh_3d~2 SELF_Mesh_3D module~self_mesh_3d~2->module~self_mesh_3d_t module~self_mesh_3d SELF_Mesh_3D module~self_mesh_3d->module~self_mesh_3d_t module~self_mappedvector_3d_t SELF_MappedVector_3D_t module~self_mappedvector_3d_t->module~self_mesh_3d~2 module~self_geometry_3d SELF_Geometry_3D module~self_mappedvector_3d_t->module~self_geometry_3d module~self_geometry_3d->module~self_mesh_3d~2 module~self_dgmodel3d_t SELF_DGModel3D_t module~self_dgmodel3d_t->module~self_mesh_3d~2 module~self_dgmodel3d_t->module~self_geometry_3d module~self_mappedscalar_3d~2 SELF_MappedScalar_3D module~self_dgmodel3d_t->module~self_mappedscalar_3d~2 module~self_mappedvector_3d~2 SELF_MappedVector_3D module~self_dgmodel3d_t->module~self_mappedvector_3d~2 module~self_mappedscalar_3d_t SELF_MappedScalar_3D_t module~self_mappedscalar_3d_t->module~self_mesh_3d~2 module~self_mappedscalar_3d_t->module~self_geometry_3d module~self_mappedscalar_3d~2->module~self_mappedscalar_3d_t module~self_dgmodel3d~2 SELF_DGModel3D module~self_dgmodel3d~2->module~self_dgmodel3d_t module~self_mappedvector_3d SELF_MappedVector_3D module~self_mappedvector_3d->module~self_mappedvector_3d_t module~self_mappedscalar_3d SELF_MappedScalar_3D module~self_mappedscalar_3d->module~self_mappedscalar_3d_t module~self_mappedvector_3d~2->module~self_mappedvector_3d_t module~self_dgmodel3d SELF_DGModel3D module~self_dgmodel3d->module~self_dgmodel3d_t module~self_nulldgmodel3d_t self_NullDGModel3D_t module~self_nulldgmodel3d_t->module~self_dgmodel3d module~self_advection_diffusion_3d_t self_advection_diffusion_3d_t module~self_advection_diffusion_3d_t->module~self_dgmodel3d module~self_nulldgmodel3d self_NullDGModel3D module~self_nulldgmodel3d->module~self_nulldgmodel3d_t module~self_advection_diffusion_3d self_advection_diffusion_3d module~self_advection_diffusion_3d->module~self_advection_diffusion_3d_t module~self_nulldgmodel3d~2 self_NullDGModel3D module~self_nulldgmodel3d~2->module~self_nulldgmodel3d_t module~self_advection_diffusion_3d~2 self_advection_diffusion_3d module~self_advection_diffusion_3d~2->module~self_advection_diffusion_3d_t

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: CGNStoSELFflip(1:6,1:6,1:4)
integer, public, parameter:: selfSide3D_Bottom =1
integer, public, parameter:: selfSide3D_East =3
integer, public, parameter:: selfSide3D_North =4
integer, public, parameter:: selfSide3D_South =2
integer, public, parameter:: selfSide3D_Top =6
integer, public, parameter:: selfSide3D_West =5

Derived Types

type, public, extends(SEMMesh) :: Mesh3D_t

Components

TypeVisibilityAttributesNameInitial
character(len=255), public, allocatable:: BCNames(:)
integer, public, pointer, dimension(:,:):: BCType
integer, public, pointer, dimension(:,:):: CGNSCornerMap
integer, public, pointer, dimension(:,:):: CGNSSideMap
type(DomainDecomposition), public :: decomp
integer, public, pointer, dimension(:,:):: elemInfo
integer, public, pointer, dimension(:,:,:,:):: globalNodeIDs
integer, public :: nBCs
integer, public :: nCornerNodes
integer, public :: nElem
integer, public :: nGeo
integer, public :: nGlobalElem
integer, public :: nNodes
integer, public :: nSides
integer, public :: nUniqueNodes
integer, public :: nUniqueSides
real(kind=prec), public, pointer, dimension(:,:,:,:,:):: nodeCoords
integer, public :: quadrature
integer, public, pointer, dimension(:,:,:):: sideInfo
integer, public, pointer, dimension(:,:):: sideMap

Type-Bound Procedures

procedure, public :: Free => Free_Mesh3D_t
procedure, public :: Init => Init_Mesh3D_t
procedure, public :: Read_HOPr => Read_HOPr_Mesh3D_t
procedure, public :: RecalculateFlip => RecalculateFlip_Mesh3D_t
procedure, public :: ResetBoundaryConditionType => ResetBoundaryConditionType_Mesh3D_t
generic, public :: StructuredMesh => UniformStructuredMesh_Mesh3D_t
procedure, private :: UniformStructuredMesh_Mesh3D_t
procedure, public :: UpdateDevice => UpdateDevice_Mesh3D_t
procedure, public :: Write_Mesh => Write_Mesh3D_t

Functions

public pure function elementid(i, j, k, ti, tj, tk, nxpertile, nypertile, nzpertile, ntilex, ntiley, ntilez) result(eid)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k
integer, intent(in) :: ti
integer, intent(in) :: tj
integer, intent(in) :: tk
integer, intent(in) :: nxpertile
integer, intent(in) :: nypertile
integer, intent(in) :: nzpertile
integer, intent(in) :: ntilex
integer, intent(in) :: ntiley
integer, intent(in) :: ntilez

Return Value integer


Subroutines

public subroutine Free_Mesh3D_t(this)

Arguments

TypeIntentOptionalAttributesName
class(Mesh3D_t), intent(inout) :: this

public subroutine Init_Mesh3D_t(this, nGeo, nElem, nSides, nNodes, nBCs)

Arguments

TypeIntentOptionalAttributesName
class(Mesh3D_t), intent(inout) :: this
integer, intent(in) :: nGeo
integer, intent(in) :: nElem
integer, intent(in) :: nSides
integer, intent(in) :: nNodes
integer, intent(in) :: nBCs

public subroutine Read_HOPr_Mesh3D_t(this, meshFile)

Arguments

TypeIntentOptionalAttributesName
class(Mesh3D_t), intent(out) :: this
character, intent(in) :: meshFile

public subroutine RecalculateFlip_Mesh3D_t(this)

Arguments

TypeIntentOptionalAttributesName
class(Mesh3D_t), intent(inout) :: this

public subroutine ResetBoundaryConditionType_Mesh3D_t(this, bcid)

This method can be used to reset all of the boundary elements boundary condition type to the desired value.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(Mesh3D_t), intent(inout) :: this
integer, intent(in) :: bcid

public subroutine UniformStructuredMesh_Mesh3D_t(this, nxPerTile, nyPerTile, nzPerTile, nTileX, nTileY, nTileZ, dx, dy, dz, bcids)

Create a structured mesh and store it in SELF's unstructured mesh format. The mesh is created in tiles of size (tnx,tny,tnz). Tiling is used to determine the element ordering.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(Mesh3D_t), intent(out) :: this
integer, intent(in) :: nxPerTile
integer, intent(in) :: nyPerTile
integer, intent(in) :: nzPerTile
integer, intent(in) :: nTileX
integer, intent(in) :: nTileY
integer, intent(in) :: nTileZ
real(kind=prec), intent(in) :: dx
real(kind=prec), intent(in) :: dy
real(kind=prec), intent(in) :: dz
integer, intent(in) :: bcids(1:6)

public subroutine UpdateDevice_Mesh3D_t(this)

Arguments

TypeIntentOptionalAttributesName
class(Mesh3D_t), intent(inout) :: this

public subroutine Write_Mesh3D_t(this, meshFile)

Arguments

TypeIntentOptionalAttributesName
class(Mesh3D_t), intent(inout) :: this
character, intent(in) :: meshFile