Building blocks for immersed boundaries: Nodes. More...
Functions/Subroutines | |
subroutine, public | eval_ib_metrics_node_types (is_outer_node, is_ghost_node, distance, thickness, dx, dy, dz, filter_out_smalls, add_ghost_nodes, add_corners, is_first_inner_node) |
Determine node types on a Cartesian grid. | |
subroutine, public | eval_ib_metrics_mixed_non_interp_cell_nodes (ghost_cell_nodes, is_outer_xface_node, is_outer_yface_node, is_outer_zface_node, is_non_interpolable_ghost_node) |
Determine non-interpolable ghost nodes. | |
subroutine, public | eval_ib_metrics_mixed_non_interp_face_nodes (ghost_xface_nodes, ghost_yface_nodes, ghost_zface_nodes, is_outer_cell_node, is_non_interpolable_ghost_node_x, is_non_interpolable_ghost_node_y, is_non_interpolable_ghost_node_z) |
subroutine, public | determine_ghost_node_a_neighbor_cell (isd_metrics) |
Check if neighbor node is a ghost or not (for cells) | |
subroutine, public | determine_ghost_node_a_neighbor_face (isd_metrics) |
Check if neighbor node is a ghost or not (for faces) | |
logical function, dimension(6), public | check_neighbor_ghost (is_ghost_node, use_corners_local, i, j, k) |
Local check if neighbor node is a ghost or not. | |
This part is responsible for the evaluation of node types and all memory allocations.
subroutine, public mod_eval_ib_metrics_node_types::eval_ib_metrics_node_types | ( | logical, dimension(:,:,:), intent(out) | is_outer_node, |
logical, dimension(:,:,:), intent(out) | is_ghost_node, | ||
double precision, dimension(:,:,:), intent(in) | distance, | ||
double precision, intent(in) | thickness, | ||
double precision, dimension(:), intent(in) | dx, | ||
double precision, dimension(:), intent(in) | dy, | ||
double precision, dimension(:), intent(in) | dz, | ||
logical, intent(in) | filter_out_smalls, | ||
logical, intent(in) | add_ghost_nodes, | ||
logical, intent(in) | add_corners, | ||
logical, dimension (:,:,:), intent(inout), optional | is_first_inner_node ) |
First the distance
argument determines the node types:
The transformation to ghost nodes is active only is the argument add_ghost_nodes
is set to true.
The transformation takes corners nodes into account only if add_corners is set to true.