CAM
mesh_mod Module Reference

Functions/Subroutines

subroutine, private handle_error (status, file, line)
 
subroutine, private open_mesh_file ()
 Open the netcdf file containing the mesh. Assign the holder to the file to p_ncid so everyone else knows how to use it without passing the argument around. More...
 
subroutine, private close_mesh_file ()
 
integer function, private get_number_of_dimensions ()
 
integer function, private get_number_of_elements ()
 
integer function, private get_number_of_nodes ()
 
integer function, private get_number_of_element_blocks ()
 
integer function, private get_number_of_elements_per_face ()
 
integer(kind=long_kind) function, dimension(p_number_blocks), private get_block_ids (idexo)
 
subroutine, private get_face_connectivity ()
 
subroutine, private get_node_multiplicity (node_multiplicity)
 
subroutine, private get_node_coordinates ()
 
subroutine, private get_2d_sub_coordinate_indexes (x, y, sgnx, sgny, face_no)
 
subroutine, private mesh_connectivity (connect)
 
subroutine, private create_index_table (index_table, element_nodes)
 
subroutine, private find_side_neighbors (GridVertex, normal_to_homme_ordering, element_nodes, edge_wgt, index_table)
 
real function, private smallest_diameter_element (element_nodes)
 
subroutine, private cube_to_cube_coordinates (cube_coor, node_coor, face_number)
 
subroutine, private sphere_to_cube_coordinates (cube_coor, node_coor, face_number)
 
subroutine, private cube_face_element_centroids (centroids, face_numbers, element_nodes)
 
subroutine, private initialize_space_filling_curve (GridVertex, element_nodes)
 
subroutine, private find_corner_neighbors (GridVertex, normal_to_homme_ordering, element_nodes, corner_wgt, index_table)
 
subroutine, public meshopen (mesh_file_name, par)
 
subroutine, public meshclose
 
subroutine, public meshprint (par)
 
subroutine, public meshcubetopologycoords (GridEdge, GridVertex, coord_dim1, coord_dim2, coord_dim3, coord_dimension)
 
subroutine, public meshcubetopology (GridEdge, GridVertex)
 
subroutine, public meshsetcoordinates (elem)
 
integer function, public meshcubeedgecount ()
 
integer function, public meshcubeelemcount ()
 
subroutine test_private_methods
 

Variables

logical, public meshusemeshfile = .false.
 
integer, parameter mxstln = 32
 
integer, parameter, private nfaces = 6
 
integer, parameter, private ninnerelemedge = 8
 
character(len=max_file_len), private p_mesh_file_name
 
integer, private p_ncid
 
integer, private p_number_elements
 
integer, private p_number_elements_per_face
 
integer, private p_number_blocks
 
integer, private p_number_nodes
 
integer, private p_number_dimensions
 
integer, private p_number_neighbor_edges
 
real(kind=real_kind), dimension(:,:), allocatable, private p_node_coordinates
 
integer, dimension(:,:), allocatable, private p_connectivity
 
integer, private p_elem_block_ids
 

Function/Subroutine Documentation

◆ close_mesh_file()

subroutine, private mesh_mod::close_mesh_file ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_index_table()

subroutine, private mesh_mod::create_index_table ( integer, dimension(:,:), intent(inout), allocatable  index_table,
integer, dimension(p_number_elements, 4), intent(in)  element_nodes 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cube_face_element_centroids()

subroutine, private mesh_mod::cube_face_element_centroids ( real, dimension (p_number_elements,2), intent(out)  centroids,
integer, dimension (p_number_elements), intent(in)  face_numbers,
integer, dimension(:,:), intent(in)  element_nodes 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cube_to_cube_coordinates()

subroutine, private mesh_mod::cube_to_cube_coordinates ( real(kind=real_kind), dimension(4,2), intent(out)  cube_coor,
real(kind=real_kind), dimension(4,3), intent(in)  node_coor,
integer, intent(in)  face_number 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ find_corner_neighbors()

subroutine, private mesh_mod::find_corner_neighbors ( type (gridvertex_t), dimension(:), intent(inout)  GridVertex,
integer, dimension(8), intent(in)  normal_to_homme_ordering,
integer, dimension(p_number_elements, 4), intent(in)  element_nodes,
integer, intent(in)  corner_wgt,
integer, dimension(:,:), intent(in)  index_table 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ find_side_neighbors()

subroutine, private mesh_mod::find_side_neighbors ( type (gridvertex_t), dimension(:), intent(inout)  GridVertex,
integer, dimension(8), intent(in)  normal_to_homme_ordering,
integer, dimension(p_number_elements, 4), intent(in)  element_nodes,
integer, intent(in)  edge_wgt,
integer, dimension(:,:), intent(in)  index_table 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_2d_sub_coordinate_indexes()

subroutine, private mesh_mod::get_2d_sub_coordinate_indexes ( integer, intent(out)  x,
integer, intent(out)  y,
integer, intent(out)  sgnx,
integer, intent(out)  sgny,
integer, intent(in)  face_no 
)
private
Here is the caller graph for this function:

◆ get_block_ids()

integer(kind=long_kind) function, dimension(p_number_blocks), private mesh_mod::get_block_ids ( integer(kind=long_kind), intent(in)  idexo)
private
Here is the call graph for this function:

◆ get_face_connectivity()

subroutine, private mesh_mod::get_face_connectivity ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_node_coordinates()

subroutine, private mesh_mod::get_node_coordinates ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_node_multiplicity()

subroutine, private mesh_mod::get_node_multiplicity ( integer, dimension(:), intent(out)  node_multiplicity)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_number_of_dimensions()

integer function, private mesh_mod::get_number_of_dimensions ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_number_of_element_blocks()

integer function, private mesh_mod::get_number_of_element_blocks ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_number_of_elements()

integer function, private mesh_mod::get_number_of_elements ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_number_of_elements_per_face()

integer function, private mesh_mod::get_number_of_elements_per_face ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_number_of_nodes()

integer function, private mesh_mod::get_number_of_nodes ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ handle_error()

subroutine, private mesh_mod::handle_error ( integer, intent(in)  status,
character (len=*), intent(in)  file,
integer, intent(in)  line 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initialize_space_filling_curve()

subroutine, private mesh_mod::initialize_space_filling_curve ( type (gridvertex_t), dimension(:), intent(inout)  GridVertex,
integer, dimension(:,:), intent(in)  element_nodes 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mesh_connectivity()

subroutine, private mesh_mod::mesh_connectivity ( integer, dimension(p_number_elements,4), intent(out)  connect)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshclose()

subroutine, public mesh_mod::meshclose ( )
Here is the call graph for this function:

◆ meshcubeedgecount()

integer function, public mesh_mod::meshcubeedgecount ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshcubeelemcount()

integer function, public mesh_mod::meshcubeelemcount ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshcubetopology()

subroutine, public mesh_mod::meshcubetopology ( type (gridedge_t), dimension(:), intent(inout)  GridEdge,
type (gridvertex_t), dimension(:), intent(inout)  GridVertex 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshcubetopologycoords()

subroutine, public mesh_mod::meshcubetopologycoords ( type (gridedge_t), dimension(:), intent(inout)  GridEdge,
type (gridvertex_t), dimension(:), intent(inout)  GridVertex,
real(kind=real_kind), dimension(:), intent(inout), allocatable  coord_dim1,
real(kind=real_kind), dimension(:), intent(inout), allocatable  coord_dim2,
real(kind=real_kind), dimension(:), intent(inout), allocatable  coord_dim3,
integer, intent(inout)  coord_dimension 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshopen()

subroutine, public mesh_mod::meshopen ( character (len=*), intent(in)  mesh_file_name,
type (parallel_t), intent(in)  par 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshprint()

subroutine, public mesh_mod::meshprint ( type (parallel_t), intent(in)  par)
Here is the call graph for this function:

◆ meshsetcoordinates()

subroutine, public mesh_mod::meshsetcoordinates ( type (element_t), dimension(:), intent(inout)  elem)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ open_mesh_file()

subroutine, private mesh_mod::open_mesh_file ( )
private

Open the netcdf file containing the mesh. Assign the holder to the file to p_ncid so everyone else knows how to use it without passing the argument around.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ smallest_diameter_element()

real function, private mesh_mod::smallest_diameter_element ( integer, dimension(:,:), intent(in)  element_nodes)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sphere_to_cube_coordinates()

subroutine, private mesh_mod::sphere_to_cube_coordinates ( real(kind=real_kind), dimension(4,2), intent(out)  cube_coor,
real(kind=real_kind), dimension(4,3), intent(in)  node_coor,
integer, intent(in)  face_number 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_private_methods()

subroutine mesh_mod::test_private_methods ( )
Here is the call graph for this function:

Variable Documentation

◆ meshusemeshfile

logical, public mesh_mod::meshusemeshfile = .false.

◆ mxstln

integer, parameter mesh_mod::mxstln = 32

◆ nfaces

integer, parameter, private mesh_mod::nfaces = 6
private

◆ ninnerelemedge

integer, parameter, private mesh_mod::ninnerelemedge = 8
private

◆ p_connectivity

integer, dimension(:,:), allocatable, private mesh_mod::p_connectivity
private

◆ p_elem_block_ids

integer, private mesh_mod::p_elem_block_ids
private

◆ p_mesh_file_name

character (len=max_file_len), private mesh_mod::p_mesh_file_name
private

◆ p_ncid

integer, private mesh_mod::p_ncid
private

◆ p_node_coordinates

real(kind=real_kind), dimension(:,:), allocatable, private mesh_mod::p_node_coordinates
private

◆ p_number_blocks

integer, private mesh_mod::p_number_blocks
private

◆ p_number_dimensions

integer, private mesh_mod::p_number_dimensions
private

◆ p_number_elements

integer, private mesh_mod::p_number_elements
private

◆ p_number_elements_per_face

integer, private mesh_mod::p_number_elements_per_face
private

◆ p_number_neighbor_edges

integer, private mesh_mod::p_number_neighbor_edges
private

◆ p_number_nodes

integer, private mesh_mod::p_number_nodes
private