FE-Project
Loading...
Searching...
No Matches
mod_ocean_mesh_rm::oceanmeshrm Type Reference

Derived type to manage a computational mesh of regional ocean model. More...

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

Public Member Functions

procedure init (this)
 Initialize an object to manage computational mesh.
procedure final (this)
 Finalize an object to manage computational mesh.
procedure create_communicator (this, sfield_num, hvfield_num, htensorfield_num, var_manager, field_list, commid, field_list_is, field_list_ie)
 Create a communicator for data communication on regional computational domain.
procedure setup_restartfile1 (this, restart_file, var_num, dim_name_postfix)
procedure setup_restartfile2 (this, restart_file, in_basename, in_postfix_timelabel, out_basename, out_postfix_timelabel, out_dtype, out_title, var_num, dim_name_postfix)
procedure calc_uvmet (this, u, v, umet, vmet)
procedure setup_vcoordinate (this)
 Setup the vertical coordinate.
Public Member Functions inherited from mod_ocean_mesh::oceanmesh
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(meshcubedom3d) mesh
 Object to manage a cubic computational mesh.
type(meshfieldcommcubedom3d), dimension(ocn_mesh_max_commnuicator_num) comm_list
 Object to manage data communication on a cubic computational mesh.
Public Attributes inherited from mod_ocean_mesh::oceanmesh
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 of regional ocean model.

Definition at line 47 of file mod_ocean_mesh_rm.F90.

Member Function/Subroutine Documentation

◆ init()

procedure mod_ocean_mesh_rm::oceanmeshrm::init ( class(oceanmeshrm), intent(inout), target this)

Initialize an object to manage computational mesh.

Definition at line 51 of file mod_ocean_mesh_rm.F90.

◆ final()

procedure mod_ocean_mesh_rm::oceanmeshrm::final ( class(oceanmeshrm), intent(inout) this)

Finalize an object to manage computational mesh.

Definition at line 52 of file mod_ocean_mesh_rm.F90.

◆ create_communicator()

procedure mod_ocean_mesh_rm::oceanmeshrm::create_communicator ( class(oceanmeshrm), intent(inout), target this,
integer, intent(in) sfield_num,
integer, intent(in) hvfield_num,
integer, intent(in) htensorfield_num,
class(modelvarmanager), intent(inout) var_manager,
class(meshfield3d), dimension(:), intent(in) field_list,
integer, intent(out) commid,
integer, intent(in), optional field_list_is,
integer, intent(in), optional field_list_ie )

Create a communicator for data communication on regional computational domain.

Parameters
[in]sfield_numNumber of scalar fields
[in]hvfield_numNumber of horizontal vector fields
[in]htensorfield_numNumber of horizontal tensor fields
[in,out]var_managerObject to manage variables
[in]field_listArray of 3D fields
[out]commidCommunicator ID
[in]field_list_isStarting index of the field list for communication (optional)
[in]field_list_ieEnding index of the field list for communication (optional)

Definition at line 53 of file mod_ocean_mesh_rm.F90.

◆ setup_restartfile1()

procedure mod_ocean_mesh_rm::oceanmeshrm::setup_restartfile1 ( class(oceanmeshrm), intent(inout), target this,
class(file_restart_meshfield_component), intent(inout) restart_file,
integer, intent(in) var_num,
character(*), intent(in) dim_name_postfix )

Definition at line 54 of file mod_ocean_mesh_rm.F90.

◆ setup_restartfile2()

procedure mod_ocean_mesh_rm::oceanmeshrm::setup_restartfile2 ( class(oceanmeshrm), intent(inout), target this,
class(file_restart_meshfield_component), intent(inout) restart_file,
character(*), intent(in) in_basename,
logical, intent(in) in_postfix_timelabel,
character(*), intent(in) out_basename,
logical, intent(in) out_postfix_timelabel,
character(*), intent(in) out_dtype,
character(*), intent(in) out_title,
integer, intent(in) var_num,
character(*), intent(in) dim_name_postfix )

Definition at line 55 of file mod_ocean_mesh_rm.F90.

◆ calc_uvmet()

procedure mod_ocean_mesh_rm::oceanmeshrm::calc_uvmet ( class(oceanmeshrm), intent(in), target this,
type(meshfield3d), intent(in) u,
type(meshfield3d), intent(in) v,
type(meshfield3d), intent(inout) umet,
type(meshfield3d), intent(inout) vmet )

Definition at line 56 of file mod_ocean_mesh_rm.F90.

◆ setup_vcoordinate()

procedure mod_ocean_mesh_rm::oceanmeshrm::setup_vcoordinate ( class(oceanmeshrm), intent(inout), target this)

Setup the vertical coordinate.

Definition at line 57 of file mod_ocean_mesh_rm.F90.

Member Data Documentation

◆ mesh

type(meshcubedom3d) mod_ocean_mesh_rm::oceanmeshrm::mesh

Object to manage a cubic computational mesh.

Definition at line 48 of file mod_ocean_mesh_rm.F90.

48 type(MeshCubeDom3D) :: mesh !< Object to manage a cubic computational mesh

◆ comm_list

type(meshfieldcommcubedom3d), dimension(ocn_mesh_max_commnuicator_num) mod_ocean_mesh_rm::oceanmeshrm::comm_list

Object to manage data communication on a cubic computational mesh.

Definition at line 49 of file mod_ocean_mesh_rm.F90.

49 type(MeshFieldCommCubeDom3D) :: comm_list(OCN_MESH_MAX_COMMNUICATOR_NUM) !< Object to manage data communication on a cubic computational mesh

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