0.6.0
Loading...
Searching...
No Matches
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.
 
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

Building blocks for immersed boundaries: Nodes.

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

Function/Subroutine Documentation

◆ check_neighbor_ghost()

logical function, dimension (6), public mod_eval_ib_metrics_node_types::check_neighbor_ghost ( logical, dimension (:,:,:), intent(in) is_ghost_node,
logical, intent(in) use_corners_local,
integer, intent(in) i,
integer, intent(in) j,
integer, intent(in) k )

Local check if neighbor node is a ghost or not.

◆ determine_ghost_node_a_neighbor_cell()

subroutine, public mod_eval_ib_metrics_node_types::determine_ghost_node_a_neighbor_cell ( type(t_immersed_subdomain_metrics), intent(inout) isd_metrics)

Check if neighbor node is a ghost or not (for cells)

◆ determine_ghost_node_a_neighbor_face()

subroutine, public mod_eval_ib_metrics_node_types::determine_ghost_node_a_neighbor_face ( type(t_immersed_subdomain_metrics), intent(inout) isd_metrics)

Check if neighbor node is a ghost or not (for faces)

◆ eval_ib_metrics_mixed_non_interp_cell_nodes()

subroutine, public mod_eval_ib_metrics_node_types::eval_ib_metrics_mixed_non_interp_cell_nodes ( type(t_node_list), intent(in) ghost_cell_nodes,
logical, dimension(:,:,:), intent(in) is_outer_xface_node,
logical, dimension(:,:,:), intent(in) is_outer_yface_node,
logical, dimension(:,:,:), intent(in), allocatable is_outer_zface_node,
logical, dimension(ghost_cell_nodes%nb), intent(out) is_non_interpolable_ghost_node )

Determine non-interpolable ghost nodes.

◆ eval_ib_metrics_mixed_non_interp_face_nodes()

subroutine, public mod_eval_ib_metrics_node_types::eval_ib_metrics_mixed_non_interp_face_nodes ( type(t_node_list), intent(in) ghost_xface_nodes,
type(t_node_list), intent(in) ghost_yface_nodes,
type(t_node_list), intent(in) ghost_zface_nodes,
logical, dimension(:,:,:), intent(in) is_outer_cell_node,
logical, dimension(ghost_xface_nodes%nb), intent(out) is_non_interpolable_ghost_node_x,
logical, dimension(ghost_yface_nodes%nb), intent(out) is_non_interpolable_ghost_node_y,
logical, dimension(:), intent(inout), allocatable is_non_interpolable_ghost_node_z )

◆ 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 )

Determine node types on a Cartesian grid.

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.