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