Node type handy tools. More...
| Data Types | |
| type | t_node_type | 
| Node type.  More... | |
| Functions/Subroutines | |
| pure logical function | are_node_types_equal (node_type_1, node_type_2) | 
| pure logical function | are_node_types_different (node_type_1, node_type_2) | 
| type(t_node_type) function, public | get_dual_node_type (primal_node_type) | 
| type(t_node_type) function, public | get_two_d_node_type (primal_node_type) | 
| character(len=15) function, public | get_node_type_name (node_type) | 
| Variables | |
| type(t_node_type), parameter, public | cell_centered = t_node_type([0_1, 0_1, 0_1], 0) | 
| type(t_node_type), parameter, public | x_face_centered = t_node_type([1_1, 0_1, 0_1], 1) | 
| type(t_node_type), parameter, public | y_face_centered = t_node_type([0_1, 1_1, 0_1], 2) | 
| type(t_node_type), parameter, public | z_face_centered = t_node_type([0_1, 0_1, 1_1], 4) | 
| type(t_node_type), parameter, public | x_edge_centered = t_node_type([1_1, 1_1, 0_1], 3) | 
| type(t_node_type), parameter, public | y_edge_centered = t_node_type([1_1, 0_1, 1_1], 5) | 
| type(t_node_type), parameter, public | z_edge_centered = t_node_type([0_1, 1_1, 1_1], 6) | 
| type(t_node_type), parameter, public | vertex_centered = t_node_type([1_1, 1_1, 1_1], 7) | 
| type(t_node_type), parameter, public | error_node_type = t_node_type([2_1, 1_1, 1_1], 8) | 
| character(len=15), dimension(0:8), parameter | node_type_name = ["cell-centered ", "u-face-centered", "v-face-centered", "u-edge-centered", "w-face-centered", "v-edge-centered", "w-edge-centered", "vertex-centered", "error-node-type"] | 
| Names of different node types for fancy output. | |
Node type handy tools.
In a finite-volume, Cartesian partition of the computational domain, several types of nodes are defined:
CELL_CENTERED at the center of the cell,
X/Y/Z_FACE_CENTERED at the center of the x/y/z faces of the cells,
X/Y/Z_EDGE_CENTERED at the center of the x/y/z edges of the cells,
VERTEX_CENTERED at the vertices.
This module defines a node_type derived type whose instances represent one of the node type.
Every node type has a dual. The function get_dual_node_type returns the dual of the node_type given as argument. In 2D, the function get_two_d_node_type should also be used.
Equality comparisons can be done with operators == and /=.
Coordinates, cell step and indice ranges can be retrieved by passing the node type instance to the routines of the module generic_node_type.