FE-Project
Loading...
Searching...
No Matches
mod_ocean_mesh::oceanmesh Type Referenceabstract

Derived type to manage a computational mesh (base class) More...

Inheritance diagram for mod_ocean_mesh::oceanmesh:
scale_model_mesh_manager::modelmesh3d scale_model_meshbase_manager::modelmeshbase3d scale_model_meshbase_manager::modelmeshbase mod_ocean_mesh_gm::oceanmeshgm mod_ocean_mesh_rm::oceanmeshrm

Public Member Functions

procedure oceanmesh_init (this, mesh)
 Setup an object to manage a computational mesh.
procedure oceanmesh_final (this)
 Finalize an object to manage a computational mesh.
procedure(oceanmesh_setup_restartfile1), deferred, public setup_restartfile1 oceanmesh_setup_restartfile1
procedure(oceanmesh_setup_restartfile2), deferred, public setup_restartfile2 oceanmesh_setup_restartfile2
procedure(oceanmesh_calc_uvmet), deferred, public calc_uvmet oceanmesh_calc_uvmet
generic setup_restartfile setup_restartfile1
generic setup_restartfile setup_restartfile2
procedure(oceanmesh_setup_vcoord), deferred, public setup_vcoordinate oceanmesh_setup_vcoord
procedure read_topography_file (this, topo_in_basename, topo_in_varname, mesh2d, dom_zmin)
Public Member Functions inherited from scale_model_mesh_manager::modelmesh3d
procedure, public modelmesh3d_init (this, mesh)
procedure, public modelmesh3d_final (this)
procedure(modelmesh3d_create_communicator), deferred, public create_communicator modelmesh3d_create_communicator
Public Member Functions inherited from scale_model_meshbase_manager::modelmeshbase3d
procedure, public modelmeshbase3d_init (this, mesh)
procedure, public modelmeshbase3d_final (this)
procedure, public prepairelementoperation (this, element_operation_type, spmv_storage_format_)
procedure, public getmodelmesh (this, ptr_mesh)
Public Member Functions inherited from scale_model_meshbase_manager::modelmeshbase
procedure modelmeshbase_init (this, ndim)
procedure modelmeshbase_final (this)
procedure get_communicatorid (this, max_communicator_num)
procedure(modelmeshbase_get_modelmesh), deferred, public getmodelmesh (this, ptr_mesh)

Public Attributes

type(hexahedralelement) element
 Object to manage 3D reference element.
type(lineelement) element_v1d
 Object to manage 1D reference element for the vertical direction.
type(meshtopography) topography
 Object to manage topography.
integer vcoord_type_id
 ID of vertical coordinate type.
logical comm_use_mpi_pc
 Flag whether persistent communication in MPI is used.
logical comm_use_mpi_pc_fujitsu_ext
 Flag whether Fujitsu extension in MPI persistent communication is used.
Public Attributes inherited from scale_model_meshbase_manager::modelmeshbase3d
class(meshbase3d), pointer ptr_mesh
type(elementoperationgeneral) element_operation_general
class(elementoperationtensorprod3d), allocatable element_operation_tensorprod
logical initialized_element_operation
Public Attributes inherited from scale_model_meshbase_manager::modelmeshbase
type(sparsemat), dimension(:), allocatable doptrmat
type(sparsemat), dimension(:), allocatable soptrmat
type(sparsemat) liftoptrmat
class(elementoperationbase3d), pointer element3d_operation
integer communicator_num

Detailed Description

Derived type to manage a computational mesh (base class)

Definition at line 47 of file mod_ocean_mesh.F90.

Member Function/Subroutine Documentation

◆ oceanmesh_init()

procedure mod_ocean_mesh::oceanmesh::oceanmesh_init ( class(oceanmesh), intent(inout), target this,
class(meshbase3d), intent(in) mesh )

Setup an object to manage a computational mesh.

Parameters
[in]meshObject to manage 3D computational mesh

Definition at line 57 of file mod_ocean_mesh.F90.

◆ oceanmesh_final()

procedure mod_ocean_mesh::oceanmesh::oceanmesh_final ( class(oceanmesh), intent(inout) this)

Finalize an object to manage a computational mesh.

Definition at line 58 of file mod_ocean_mesh.F90.

◆ setup_restartfile1()

procedure(oceanmesh_setup_restartfile1), deferred, public mod_ocean_mesh::oceanmesh::setup_restartfile1
pure virtual

Definition at line 59 of file mod_ocean_mesh.F90.

◆ setup_restartfile2()

procedure(oceanmesh_setup_restartfile2), deferred, public mod_ocean_mesh::oceanmesh::setup_restartfile2
pure virtual

Definition at line 60 of file mod_ocean_mesh.F90.

◆ calc_uvmet()

procedure(oceanmesh_calc_uvmet), deferred, public mod_ocean_mesh::oceanmesh::calc_uvmet
pure virtual

Definition at line 61 of file mod_ocean_mesh.F90.

◆ setup_restartfile() [1/2]

generic mod_ocean_mesh::oceanmesh::setup_restartfile

Definition at line 62 of file mod_ocean_mesh.F90.

◆ setup_restartfile() [2/2]

generic mod_ocean_mesh::oceanmesh::setup_restartfile

Definition at line 62 of file mod_ocean_mesh.F90.

◆ setup_vcoordinate()

procedure(oceanmesh_setup_vcoord), deferred, public mod_ocean_mesh::oceanmesh::setup_vcoordinate
pure virtual

Definition at line 63 of file mod_ocean_mesh.F90.

◆ read_topography_file()

procedure mod_ocean_mesh::oceanmesh::read_topography_file ( class(oceanmesh), intent(inout), target this,
character(*), intent(in) topo_in_basename,
character(*), intent(in) topo_in_varname,
class(meshbase2d), intent(in), target mesh2d,
real(rp), intent(in) dom_zmin )

Definition at line 64 of file mod_ocean_mesh.F90.

Member Data Documentation

◆ element

type(hexahedralelement) mod_ocean_mesh::oceanmesh::element

Object to manage 3D reference element.

Definition at line 48 of file mod_ocean_mesh.F90.

48 type(HexahedralElement) :: element !< Object to manage 3D reference element

◆ element_v1d

type(lineelement) mod_ocean_mesh::oceanmesh::element_v1d

Object to manage 1D reference element for the vertical direction.

Definition at line 49 of file mod_ocean_mesh.F90.

49 type(LineElement) :: element_v1D !< Object to manage 1D reference element for the vertical direction

◆ topography

type(meshtopography) mod_ocean_mesh::oceanmesh::topography

Object to manage topography.

Definition at line 51 of file mod_ocean_mesh.F90.

51 type(MeshTopography) :: topography !< Object to manage topography

◆ vcoord_type_id

integer mod_ocean_mesh::oceanmesh::vcoord_type_id

ID of vertical coordinate type.

Definition at line 52 of file mod_ocean_mesh.F90.

52 integer :: vcoord_type_id !< ID of vertical coordinate type

◆ comm_use_mpi_pc

logical mod_ocean_mesh::oceanmesh::comm_use_mpi_pc

Flag whether persistent communication in MPI is used.

Definition at line 54 of file mod_ocean_mesh.F90.

54 logical :: comm_use_mpi_pc !< Flag whether persistent communication in MPI is used

◆ comm_use_mpi_pc_fujitsu_ext

logical mod_ocean_mesh::oceanmesh::comm_use_mpi_pc_fujitsu_ext

Flag whether Fujitsu extension in MPI persistent communication is used.

Definition at line 55 of file mod_ocean_mesh.F90.

55 logical :: comm_use_mpi_pc_fujitsu_ext !< Flag whether Fujitsu extension in MPI persistent communication is used

The documentation for this type was generated from the following file: