Node type handy tools. More...
Data Types | |
type | t_node_type |
Node type. More... | |
Functions/Subroutines | |
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) |
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.