version 0.6.0
mod_create_immersed_boundary_metrics Module Reference

Interface to create immersed boundaries.

Functions/Subroutines

subroutine create_ib_metrics_cell (ib_metrics, distance, thickness, filter_smalls, use_corners)
 Initialize an immersed boundary. More...
 
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)
 

Function/Subroutine Documentation

◆ create_ib_metrics_cell()

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.