version 0.6.0
Loading...
Searching...
No Matches
mod_apply_immersed_boundary_condition_face Module Reference

Apply immersed boundaries, face version.

Functions/Subroutines

subroutine apply_immersed_boundary_condition_face (mat, rhs, equation_isd_target, ibc_variable, stl_u, stl_v, stl_w, face_ls_map)
 
subroutine apply_volume_penalization_face (mat, rhs, ibc_variable, face_ls_map)
 Modify a linear system to penalize face variable to 0.
 
subroutine apply_ibm_face (mat, rhs, face_immersed_boundary, ibc_variable, stl_u, stl_v, stl_w, face_ls_map, non_interpolable_only)
 Modify a linear system to implement an immersed boundary.
 
subroutine set_diffusion_coef_on_penalized_nodes (k_coef, diffusion_coef, ibc_variable, equation_isd_target)
 Set diffusion coefficient on penalized nodes to implement Neumann BC on immersed boundary (1st order)
 

Function/Subroutine Documentation

◆ apply_ibm_face()

subroutine mod_apply_immersed_boundary_condition_face::apply_ibm_face ( double precision, dimension(:), intent(inout) mat,
double precision, dimension(:), intent(inout) rhs,
type(t_face_immersed_boundary_metrics), intent(in) face_immersed_boundary,
type(t_face_immersed_boundary_condition), intent(in) ibc_variable,
integer, dimension(:,:,:,:), intent(in), allocatable stl_u,
integer, dimension(:,:,:,:), intent(in), allocatable stl_v,
integer, dimension(:,:,:,:), intent(in), allocatable stl_w,
type(t_face_ls_map), intent(in) face_ls_map,
logical, optional non_interpolable_only )
Warning
This routine reset some coefficients of the linear system (e. g. the outer sub-domain), so it should be preferably better to apply at the last stage of the linear system setup.

The optional argument non_interpolable_only can be used when mixed cell/face nodes are used. If present, the immersed boundary will be applied to non-interpolable ghost nodes only.