| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(c_ptr), | value | :: | f | |||
| type(c_ptr), | value | :: | dsdx | |||
| type(c_ptr), | value | :: | jaf | |||
| integer(kind=c_int), | value | :: | N | |||
| integer(kind=c_int), | value | :: | nvar | |||
| integer(kind=c_int), | value | :: | nel |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(c_ptr), | value | :: | fb | |||
| type(c_ptr), | value | :: | nhat | |||
| type(c_ptr), | value | :: | nscale | |||
| type(c_ptr), | value | :: | fbn | |||
| integer(kind=c_int), | value | :: | N | |||
| integer(kind=c_int), | value | :: | nvar | |||
| integer(kind=c_int), | value | :: | nel |
| 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. | ||
| integer, | public | :: | halo_inflight | = | 0 | ||
| integer, | public | :: | halo_nactive | = | 0 | ||
| type(c_ptr), | public | :: | halo_recvbuf_gpu | = | c_null_ptr | ||
| integer, | public, | allocatable | :: | halo_reqs(:) | |||
| type(c_ptr), | public | :: | halo_sendbuf_gpu | = | c_null_ptr | ||
| logical, | public | :: | halo_static_done | = | .false. | ||
| real(kind=prec), | public, | pointer, contiguous, dimension(:,:,:,:,:) | :: | interior | |||
| type(Lagrange), | public, | pointer | :: | interp | |||
| type(c_ptr), | public | :: | jas_gpu | ||||
| type(Metadata), | public, | allocatable | :: | meta(:) | |||
| integer, | public | :: | nElem | ||||
| integer, | public | :: | nVar |
| procedure, public :: AssociateGeometry => AssociateGeometry_MappedScalar3D_t | |
| procedure, public :: AverageSides => AverageSides_Scalar3D_t | |
| procedure, public :: BoundaryInterp => BoundaryInterp_Scalar3D_t | |
| procedure, public :: DissociateGeometry => DissociateGeometry_MappedScalar3D_t | |
| procedure, public :: Free => Free_MappedScalar3D | |
| generic, public :: Gradient => Gradient_Scalar3D_t | |
| generic, public :: GridInterp => GridInterp_Scalar3D_t | |
| procedure, public :: Init => Init_MappedScalar3D | |
| generic, public :: MappedDGGradient => MappedDGGradient_MappedScalar3D_t, MappedDGGradient_MappedScalar3D | |
| procedure, private :: MappedDGGradient_MappedScalar3D | |
| generic, public :: MappedGradient => MappedGradient_MappedScalar3D_t, MappedGradient_MappedScalar3D | |
| procedure, private :: MappedGradient_MappedScalar3D | |
| procedure, public :: SetDescription => SetDescription_DataObj | |
| generic, public :: SetEquation => SetEquation_DataObj | |
| procedure, public :: SetInteriorFromEquation => SetInteriorFromEquation_MappedScalar3D | |
| procedure, public :: SetName => SetName_DataObj | |
| procedure, public :: SetUnits => SetUnits_DataObj | |
| procedure, public :: SideExchange => SideExchange_MappedScalar3D | |
| procedure, public :: SideExchangeFinish => SideExchangeFinish_MappedScalar3D | |
| procedure, public :: SideExchangeStart => SideExchangeStart_MappedScalar3D | |
| procedure, public :: UpdateDevice => UpdateDevice_Scalar3D_t | |
| procedure, public :: UpdateHost => UpdateHost_Scalar3D_t | |
| generic, public :: WriteHDF5 => WriteHDF5_MPI_Scalar3D_t, WriteHDF5_Scalar3D_t |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MappedScalar3D), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MappedScalar3D), | intent(out) | :: | this | |||
| type(Lagrange), | intent(in), | target | :: | interp | ||
| integer, | intent(in) | :: | nVar | |||
| integer, | intent(in) | :: | nElem |
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), | intent(in) | :: | this | |||
| type(c_ptr), | intent(inout) | :: | df |
Calculates the gradient of a function using the strong form of the gradient in mapped coordinates.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MappedScalar3D), | intent(inout) | :: | this | |||
| type(c_ptr), | intent(out) | :: | df |
Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MappedScalar3D), | intent(inout) | :: | this | |||
| type(SEMHex), | intent(in) | :: | geometry | |||
| real(kind=prec), | intent(in) | :: | time |
Complete the aggregated halo exchange started by SideExchangeStart: wait on the persistent requests and unpack the received traces into extBoundary, applying side flips. The host blocks in MPI_Waitall (which also drives MPI progress) while previously launched device kernels continue to execute. No-op if no exchange is in flight.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MappedScalar3D), | intent(inout) | :: | this | |||
| type(Mesh3D), | intent(inout) | :: | mesh |
Begin the aggregated halo exchange and launch the local (same-rank) side exchange kernel.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MappedScalar3D), | intent(inout) | :: | this | |||
| type(Mesh3D), | intent(inout) | :: | mesh | |||
| integer, | intent(in), | optional | :: | nactive |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MappedScalar3D), | intent(inout) | :: | this | |||
| type(Mesh3D), | intent(inout) | :: | mesh |