SELF_MappedVector_3D_t Module



Contents


Derived Types

type, public, extends(Vector3D) :: MappedVector3D_t

Components

TypeVisibilityAttributesNameInitial
integer, public :: M
integer, public :: N
real(kind=prec), public, pointer, contiguous, dimension(:,:,:,:,:,:):: avgBoundary
character(len=3), public :: backend ="cpu"
real(kind=prec), public, pointer, contiguous, dimension(:,:,:,:,:,:):: boundary
real(kind=prec), public, pointer, contiguous, dimension(:,:,:,:,:):: boundaryNormal
type(EquationParser), public, allocatable:: eqn(:)
real(kind=prec), public, pointer, contiguous, dimension(:,:,:,:,:,:):: extBoundary
type(SEMHex), public, pointer:: geometry=> null()
logical, public :: geometry_associated =.false.
real(kind=prec), public, pointer, contiguous, dimension(:,:,:,:,:,:):: interior
type(Lagrange), public, pointer:: interp
type(Metadata), public, allocatable:: meta(:)
integer, public :: nElem
integer, public :: nVar

Type-Bound Procedures

procedure, private :: ApplyFlip => ApplyFlip_MappedVector3D_t
procedure, public :: AssociateGeometry => AssociateGeometry_MappedVector3D_t
procedure, public :: AverageSides => AverageSides_Vector3D_t
procedure, public :: BoundaryInterp => BoundaryInterp_Vector3D_t
generic, public :: Curl => Curl_Vector3D_t
procedure, public :: DissociateGeometry => DissociateGeometry_MappedVector3D_t
generic, public :: Divergence => Divergence_Vector3D_t
procedure, public :: Free => Free_Vector3D_t
generic, public :: Gradient => Gradient_Vector3D_t
generic, public :: GridInterp => GridInterp_Vector3D_t
procedure, public :: Init => Init_Vector3D_t
procedure, private :: MPIExchangeAsync => MPIExchangeAsync_MappedVector3D_t
generic, public :: MappedDGDivergence => MappedDGDivergence_MappedVector3D_t
procedure, private :: MappedDGDivergence_MappedVector3D_t
generic, public :: MappedDivergence => MappedDivergence_MappedVector3D_t
procedure, private :: MappedDivergence_MappedVector3D_t
procedure, public :: SetDescription => SetDescription_DataObj
generic, public :: SetEquation => SetEquation_DataObj, SetEquation_Vector3D_t
procedure, public :: SetInteriorFromEquation => SetInteriorFromEquation_MappedVector3D_t
procedure, public :: SetName => SetName_DataObj
procedure, public :: SetUnits => SetUnits_DataObj
procedure, public :: SideExchange => SideExchange_MappedVector3D_t
procedure, public :: UpdateDevice => UpdateDevice_Vector3D_t
procedure, public :: UpdateHost => UpdateHost_Vector3D_t
generic, public :: WriteHDF5 => WriteHDF5_MPI_Vector3D_t, WriteHDF5_Vector3D_t

Subroutines

public subroutine ApplyFlip_MappedVector3D_t(this, mesh)

Arguments

TypeIntentOptionalAttributesName
class(MappedVector3D_t), intent(inout) :: this
type(Mesh3D), intent(inout) :: mesh

public subroutine AssociateGeometry_MappedVector3D_t(this, geometry)

Arguments

TypeIntentOptionalAttributesName
class(MappedVector3D_t), intent(inout) :: this
type(SEMHex), intent(in), target:: geometry

public subroutine DissociateGeometry_MappedVector3D_t(this)

Arguments

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

public subroutine MPIExchangeAsync_MappedVector3D_t(this, mesh)

Arguments

TypeIntentOptionalAttributesName
class(MappedVector3D_t), intent(inout) :: this
type(Mesh3D), intent(inout) :: mesh

public subroutine MappedDGDivergence_MappedVector3D_t(this, df)

Computes the divergence of a 3-D vector using the weak form On input, the attribute of the vector is assigned and the attribute is set to the physical directions of the vector. This method will project the vector onto the contravariant basis vectors.

Arguments

TypeIntentOptionalAttributesName
class(MappedVector3D_t), intent(in) :: this
real(kind=prec), intent(out) :: df(1:this%N+1,1:this%N+1,1:this%N+1,1:this%nelem,1:this%nvar)

public subroutine MappedDivergence_MappedVector3D_t(this, df)

Arguments

TypeIntentOptionalAttributesName
class(MappedVector3D_t), intent(in) :: this
real(kind=prec), intent(out) :: df(1:this%N+1,1:this%N+1,1:this%N+1,1:this%nelem,1:this%nvar)

public subroutine SetInteriorFromEquation_MappedVector3D_t(this, geometry, time)

Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.

Arguments

TypeIntentOptionalAttributesName
class(MappedVector3D_t), intent(inout) :: this
type(SEMHex), intent(in) :: geometry
real(kind=prec), intent(in) :: time

public subroutine SideExchange_MappedVector3D_t(this, mesh)

Arguments

TypeIntentOptionalAttributesName
class(MappedVector3D_t), intent(inout) :: this
type(Mesh3D), intent(inout) :: mesh