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. | |
Building blocks for immersed boundaries: Nodes.
This part is responsible for the evaluation of node types and all memory allocations.
| 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.
| 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)
| 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)
| 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.
| 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 ) |
| 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:
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.