MappedVector3D_t Derived Type

type, public, extends(Vector3D) :: MappedVector3D_t


Contents

Source Code


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

  • public subroutine Curl_Vector3D_t(this, curlf)

    Arguments

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

procedure, public :: DissociateGeometry => DissociateGeometry_MappedVector3D_t

generic, public :: Divergence => Divergence_Vector3D_t

  • public subroutine Divergence_Vector3D_t(this, df)

    Arguments

    TypeIntentOptionalAttributesName
    class(Vector3D_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)

procedure, public :: Free => Free_Vector3D_t

  • public subroutine Free_Vector3D_t(this)

    Arguments

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

generic, public :: Gradient => Gradient_Vector3D_t

  • public subroutine Gradient_Vector3D_t(this, df)

    Arguments

    TypeIntentOptionalAttributesName
    class(Vector3D_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,1:3,1:3)

generic, public :: GridInterp => GridInterp_Vector3D_t

  • public subroutine GridInterp_Vector3D_t(this, f)

    Arguments

    TypeIntentOptionalAttributesName
    class(Vector3D_t), intent(in) :: this
    real(kind=prec), intent(out) :: f(1:this%M+1,1:this%M+1,1:this%M+1,1:this%nelem,1:this%nvar,1:3)

    (Output) Array of function values, defined on the target grid

procedure, public :: Init => Init_Vector3D_t

  • public subroutine Init_Vector3D_t(this, interp, nVar, nElem)

    Arguments

    TypeIntentOptionalAttributesName
    class(Vector3D_t), intent(out) :: this
    type(Lagrange), intent(in), target:: interp
    integer, intent(in) :: nVar
    integer, intent(in) :: nElem

procedure, private :: MPIExchangeAsync => MPIExchangeAsync_MappedVector3D_t

generic, public :: MappedDGDivergence => MappedDGDivergence_MappedVector3D_t

  • 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)

procedure, private :: MappedDGDivergence_MappedVector3D_t

  • 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)

generic, public :: MappedDivergence => MappedDivergence_MappedVector3D_t

procedure, private :: MappedDivergence_MappedVector3D_t

procedure, public :: SetDescription => SetDescription_DataObj

  • public subroutine SetDescription_DataObj(this, ivar, description)

    Set the description of the ivar-th variable

    Arguments

    TypeIntentOptionalAttributesName
    class(SELF_DataObj), intent(inout) :: this
    integer, intent(in) :: ivar
    character, intent(in) :: description

generic, public :: SetEquation => SetEquation_DataObj, SetEquation_Vector3D_t

  • public subroutine SetEquation_DataObj(this, ivar, eqnChar)

    Sets the equation parser for the ivar-th variable

    Arguments

    TypeIntentOptionalAttributesName
    class(SELF_DataObj), intent(inout) :: this
    integer, intent(in) :: ivar
    character, intent(in) :: eqnChar
  • public subroutine SetEquation_Vector3D_t(this, idir, ivar, eqnChar)

    Sets the equation parser for the idir direction and ivar-th variable

    Arguments

    TypeIntentOptionalAttributesName
    class(Vector3D_t), intent(inout) :: this
    integer, intent(in) :: idir
    integer, intent(in) :: ivar
    character, intent(in) :: eqnChar

procedure, public :: SetInteriorFromEquation => SetInteriorFromEquation_MappedVector3D_t

  • 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

procedure, public :: SetName => SetName_DataObj

  • public subroutine SetName_DataObj(this, ivar, name)

    Set the name of the ivar-th variable

    Arguments

    TypeIntentOptionalAttributesName
    class(SELF_DataObj), intent(inout) :: this
    integer, intent(in) :: ivar
    character, intent(in) :: name

procedure, public :: SetUnits => SetUnits_DataObj

  • public subroutine SetUnits_DataObj(this, ivar, units)

    Set the units of the ivar-th variable

    Arguments

    TypeIntentOptionalAttributesName
    class(SELF_DataObj), intent(inout) :: this
    integer, intent(in) :: ivar
    character, intent(in) :: units

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

  • public subroutine WriteHDF5_MPI_Vector3D_t(this, fileId, group, elemoffset, nglobalelem)

    Arguments

    TypeIntentOptionalAttributesName
    class(Vector3D_t), intent(in) :: this
    integer(kind=HID_T), intent(in) :: fileId
    character, intent(in) :: group
    integer, intent(in) :: elemoffset
    integer, intent(in) :: nglobalelem
  • public subroutine WriteHDF5_Vector3D_t(this, fileId, group)

    Arguments

    TypeIntentOptionalAttributesName
    class(Vector3D_t), intent(in) :: this
    integer(kind=HID_T), intent(in) :: fileId
    character, intent(in) :: group

Source Code

  type,extends(Vector3D),public :: MappedVector3D_t
    logical :: geometry_associated = .false.
    type(SEMHex),pointer :: geometry => null()
  contains

    procedure,public :: AssociateGeometry => AssociateGeometry_MappedVector3D_t
    procedure,public :: DissociateGeometry => DissociateGeometry_MappedVector3D_t

    procedure,public :: SideExchange => SideExchange_MappedVector3D_t

    generic,public :: MappedDivergence => MappedDivergence_MappedVector3D_t
    procedure,private :: MappedDivergence_MappedVector3D_t

    generic,public :: MappedDGDivergence => MappedDGDivergence_MappedVector3D_t
    procedure,private :: MappedDGDivergence_MappedVector3D_t

    procedure,private :: MPIExchangeAsync => MPIExchangeAsync_MappedVector3D_t
    procedure,private :: ApplyFlip => ApplyFlip_MappedVector3D_t

    procedure,public :: SetInteriorFromEquation => SetInteriorFromEquation_MappedVector3D_t

    !procedure,public :: WriteTecplot => WriteTecplot_MappedVector3D_t

  endtype MappedVector3D_t