Interface to create immersed boundaries.
Functions/Subroutines | |
subroutine | create_ib_metrics_cell (ib_metrics, distance, thickness, filter_smalls, use_corners) |
Initialize an immersed boundary. | |
subroutine | create_ib_metrics_cell_face (ib_metrics_cell, face_immersed_boundary, distance_cell, distance_face, thickness, filter_smalls, use_corners) |
subroutine | create_ib_metrics_base (ib_metrics, thickness, is_outer_node, is_ghost_node, is_first_inner_node) |
subroutine mod_create_immersed_boundary_metrics::create_ib_metrics_cell | ( | type(t_immersed_boundary_metrics), intent(out), allocatable | ib_metrics, |
double precision, dimension(:,:,:), intent(in) | distance, | ||
double precision, intent(in) | thickness, | ||
logical, intent(in) | filter_smalls, | ||
logical, intent(in) | use_corners ) |
An instance of immersed_boundary is initialized when the distance
argument is a cell-centered field, and an instance of face_immersed_boundary is initialized when the distance
argument is a [face_field]. When both are needed, please provide all agruments at once, this allows mixed information to be computed such as non-interpolable ghost nodes.
The distance
argument must accurately approximate the distance function, only if the distance is below one cell. If not, only the sign is revelant. The routine get_distance_from_shape efficiently computes the distance function from a shape object.