SELF_Vector_3D Module


Uses

  • module~~self_vector_3d~2~~UsesGraph module~self_vector_3d~2 SELF_Vector_3D module~self_vector_3d_t SELF_Vector_3D_t module~self_vector_3d~2->module~self_vector_3d_t module~self_metadata SELF_Metadata module~self_vector_3d_t->module~self_metadata module~self_lagrange~3 SELF_Lagrange module~self_vector_3d_t->module~self_lagrange~3 HDF5 HDF5 module~self_vector_3d_t->HDF5 module~self_hdf5 SELF_HDF5 module~self_vector_3d_t->module~self_hdf5 module~self_data SELF_Data module~self_vector_3d_t->module~self_data module~self_constants SELF_Constants module~self_vector_3d_t->module~self_constants FEQParse FEQParse module~self_vector_3d_t->FEQParse iso_c_binding iso_c_binding module~self_vector_3d_t->iso_c_binding module~self_datapool SELF_DataPool module~self_vector_3d_t->module~self_datapool module~self_metadata->HDF5 module~self_metadata->module~self_hdf5 module~self_lagrange~3->module~self_constants module~self_lagrange~3->iso_c_binding module~self_gpu SELF_GPU module~self_lagrange~3->module~self_gpu module~self_lagrange_t SELF_Lagrange_t module~self_lagrange~3->module~self_lagrange_t iso_fortran_env iso_fortran_env module~self_lagrange~3->iso_fortran_env module~self_hdf5->HDF5 module~self_hdf5->module~self_constants module~self_hdf5->iso_fortran_env mpi mpi module~self_hdf5->mpi module~self_data->module~self_metadata module~self_data->module~self_lagrange~3 module~self_data->HDF5 module~self_data->module~self_hdf5 module~self_data->module~self_constants module~self_data->FEQParse module~self_data->iso_c_binding module~self_constants->iso_c_binding module~self_constants->iso_fortran_env module~self_datapool->module~self_constants module~self_gpu->iso_c_binding module~self_gpu_enums~2 SELF_GPU_enums module~self_gpu->module~self_gpu_enums~2 module~self_lagrange_t->HDF5 module~self_lagrange_t->module~self_hdf5 module~self_lagrange_t->module~self_constants module~self_lagrange_t->iso_c_binding module~self_lagrange_t->iso_fortran_env module~self_quadrature SELF_Quadrature module~self_lagrange_t->module~self_quadrature module~self_supportroutines SELF_SupportRoutines module~self_lagrange_t->module~self_supportroutines module~self_gpu_enums~2->iso_c_binding module~self_quadrature->module~self_constants module~self_quadrature->iso_fortran_env module~self_supportroutines->module~self_constants module~self_supportroutines->iso_fortran_env

Contents


Derived Types

type, public, extends(Vector3D_t) :: Vector3D

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

High-water-mark backing store for the arrays above (AMR Stage 6b; see SELF_DataPool). The public members are pointers remapped onto the leading part of these pools at the exact logical shape, so every extent, stride and shape() is unchanged while Resize can reuse the storage across an adaptation epoch. Nothing should index the pools directly.

type(EquationParser), public, allocatable:: eqn(:)
real(kind=prec), public, pointer, contiguous, dimension(:,:,:,:,:,:):: extBoundary
real(kind=prec), public, pointer, contiguous, dimension(:,:,:,:,:,:):: interior
type(Lagrange), public, pointer:: interp
type(Metadata), public, allocatable:: meta(:)
integer, public :: nElem
integer, public :: nVar
real(kind=prec), public, pointer, contiguous:: pool_avgBoundary(:)=> null()
real(kind=prec), public, pointer, contiguous:: pool_boundary(:)=> null()
real(kind=prec), public, pointer, contiguous:: pool_boundaryNormal(:)=> null()
real(kind=prec), public, pointer, contiguous:: pool_extBoundary(:)=> null()
real(kind=prec), public, pointer, contiguous:: pool_interior(:)=> null()

Type-Bound Procedures

procedure, public :: AverageSides => AverageSides_Vector3D_t
procedure, public :: BoundaryInterp => BoundaryInterp_Vector3D_t
generic, public :: Curl => Curl_Vector3D_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, public :: MapArrays => MapArrays_Vector3D_t
procedure, public :: Resize => Resize_Vector3D_t
procedure, public :: SetDescription => SetDescription_DataObj
generic, public :: SetEquation => SetEquation_DataObj, SetEquation_Vector3D_t
procedure, public :: SetName => SetName_DataObj
procedure, public :: SetUnits => SetUnits_DataObj
procedure, public :: UpdateDevice => UpdateDevice_Vector3D_t
procedure, public :: UpdateHost => UpdateHost_Vector3D_t
generic, public :: WriteHDF5 => WriteHDF5_MPI_Vector3D_t, WriteHDF5_Vector3D_t