Register boundary conditions for the advection-diffusion model. Hyperbolic: mirror (no-normal-flow) wall condition on the solution. Parabolic: no-stress condition that zeros the normal gradient at the boundary, giving zero diffusive flux through walls. This is stable with the Bassi-Rebay (BR1) method.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(advection_diffusion_3d_t), | intent(inout) | :: | this |
subroutine AdditionalInit_advection_diffusion_3d_t(this)
!! Register boundary conditions for the advection-diffusion model.
!! Hyperbolic: mirror (no-normal-flow) wall condition on the solution.
!! Parabolic: no-stress condition that zeros the normal gradient at
!! the boundary, giving zero diffusive flux through walls. This is
!! stable with the Bassi-Rebay (BR1) method.
implicit none
class(advection_diffusion_3d_t),intent(inout) :: this
! Local
procedure(SELF_bcMethod),pointer :: bcfunc
bcfunc => hbc3d_NoNormalFlow_advection_diffusion_3d_t
call this%hyperbolicBCs%RegisterBoundaryCondition( &
SELF_BC_NONORMALFLOW,"no_normal_flow",bcfunc)
bcfunc => pbc3d_NoStress_advection_diffusion_3d_t
call this%parabolicBCs%RegisterBoundaryCondition( &
SELF_BC_NONORMALFLOW,"no_normal_flow",bcfunc)
endsubroutine AdditionalInit_advection_diffusion_3d_t