version 0.6.0
mod_eval_ib_metrics_node_types Module Reference

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. More...
 
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.
 

Detailed Description

This part is responsible for the evaluation of node types and all memory allocations.

Function/Subroutine Documentation

◆ eval_ib_metrics_node_types()

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:

  • distance > eps: the node is inner
  • distance < eps: the node is outer Then outer nodes that neighbors an inner node is transformed into a ghost node.

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.