Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
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 | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MappedScalar3D_t), | intent(inout) | :: | this | |||
type(Mesh3D), | intent(inout) | :: | mesh |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MappedScalar3D_t), | intent(inout) | :: | this | |||
type(SEMHex), | intent(in), | target | :: | geometry |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Scalar3D_t), | intent(inout) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Scalar3D_t), | intent(inout) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MappedScalar3D_t), | intent(inout) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Scalar3D_t), | intent(inout) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Scalar3D_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) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Scalar3D_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) | (Output) Array of function values, defined on the target grid |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Scalar3D_t), | intent(out) | :: | this | |||
type(Lagrange), | intent(in), | target | :: | interp | ||
integer, | intent(in) | :: | nVar | |||
integer, | intent(in) | :: | nElem |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MappedScalar3D_t), | intent(inout) | :: | this | |||
type(Mesh3D), | intent(inout) | :: | mesh |
Calculates the gradient of a function using the weak form of the gradient and the average boundary state. This method will compute the average boundary state from the and attributes of
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MappedScalar3D_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) |
Calculates the gradient of a function using the weak form of the gradient and the average boundary state. This method will compute the average boundary state from the and attributes of
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MappedScalar3D_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) |
Calculates the gradient of a function using the strong form of the gradient in mapped coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MappedScalar3D_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) |
Calculates the gradient of a function using the strong form of the gradient in mapped coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MappedScalar3D_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) |
Set the description of the ivar-th
variable
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SELF_DataObj), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | ivar | |||
character, | intent(in) | :: | description |
Sets the equation parser for the ivar-th
variable
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SELF_DataObj), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | ivar | |||
character, | intent(in) | :: | eqnChar |
Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MappedScalar3D_t), | intent(inout) | :: | this | |||
type(SEMHex), | intent(in) | :: | geometry | |||
real(kind=prec), | intent(in) | :: | time |
Set the name of the ivar-th
variable
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SELF_DataObj), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | ivar | |||
character, | intent(in) | :: | name |
Set the units of the ivar-th
variable
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SELF_DataObj), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | ivar | |||
character, | intent(in) | :: | units |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MappedScalar3D_t), | intent(inout) | :: | this | |||
type(Mesh3D), | intent(inout) | :: | mesh |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Scalar3D_t), | intent(inout) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Scalar3D_t), | intent(inout) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Scalar3D_t), | intent(in) | :: | this | |||
integer(kind=HID_T), | intent(in) | :: | fileId | |||
character, | intent(in) | :: | group | |||
integer, | intent(in) | :: | elemoffset | |||
integer, | intent(in) | :: | nglobalelem |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Scalar3D_t), | intent(in) | :: | this | |||
integer(kind=HID_T), | intent(in) | :: | fileId | |||
character, | intent(in) | :: | group |
type,extends(Scalar3D),public :: MappedScalar3D_t
logical :: geometry_associated = .false.
type(SEMHex),pointer :: geometry => null()
contains
procedure,public :: AssociateGeometry => AssociateGeometry_MappedScalar3D_t
procedure,public :: DissociateGeometry => DissociateGeometry_MappedScalar3D_t
procedure,public :: SideExchange => SideExchange_MappedScalar3D_t
generic,public :: MappedGradient => MappedGradient_MappedScalar3D_t
procedure,private :: MappedGradient_MappedScalar3D_t
generic,public :: MappedDGGradient => MappedDGGradient_MappedScalar3D_t
procedure,private :: MappedDGGradient_MappedScalar3D_t
procedure,private :: MPIExchangeAsync => MPIExchangeAsync_MappedScalar3D_t
procedure,private :: ApplyFlip => ApplyFlip_MappedScalar3D_t
procedure,public :: SetInteriorFromEquation => SetInteriorFromEquation_MappedScalar3D_t
! procedure,public :: WriteTecplot => WriteTecplot_MappedScalar3D_t
endtype MappedScalar3D_t