Boundary module for absorbing (non-reflecting) conditions. More...
Data Types | |
type | boundary_absorbing |
Functions/Subroutines | |
subroutine | initboundary_absorbing (this, Mesh, Physics, dir, config) |
Constructor for absorbing boundary conditions. More... | |
pure subroutine | setboundarydata (this, Mesh, Physics, time, pvar) |
Applies the absorbing boundary condition. More... | |
subroutine | finalize (this) |
Destructor for absorbing boundary conditions. More... | |
Variables | |
character(len=32), parameter | boundcond_name = "absorbing" |
Detailed Description
Boundary module for absorbing (non-reflecting) conditions.
This module uses characteristic variables and wave speeds at the boundary to determine the state of the flow. Depending on this it damps oszillations by setting the characteristic variables to zero for imcomming waves.
Function/Subroutine Documentation
◆ finalize()
subroutine boundary_absorbing_mod::finalize | ( | class(boundary_absorbing), intent(inout) | this | ) |
Destructor for absorbing boundary conditions.
Definition at line 216 of file boundary_absorbing.f90.
◆ initboundary_absorbing()
subroutine boundary_absorbing_mod::initboundary_absorbing | ( | class(boundary_absorbing), intent(inout) | this, |
class(mesh_base), intent(in) | Mesh, | ||
class(physics_base), intent(in) | Physics, | ||
integer, intent(in) | dir, | ||
type(dict_typ), intent(in), pointer | config | ||
) |
Constructor for absorbing boundary conditions.
Initilizes the boundary condition type and direction and allocates memory for characteristic variables and wave speeds.
Definition at line 69 of file boundary_absorbing.f90.
◆ setboundarydata()
pure subroutine boundary_absorbing_mod::setboundarydata | ( | class(boundary_absorbing), intent(inout) | this, |
class(mesh_base), intent(in) | Mesh, | ||
class(physics_base), intent(in) | Physics, | ||
real, intent(in) | time, | ||
class(marray_compound), intent(inout) | pvar | ||
) |
Applies the absorbing boundary condition.
This is an implementation of characteristic variable extrapolation. The algorithm first computes the characteristic (pseudo-) variables at the boundary and then sets them to zero for incomming waves, i. e. for those associates with positive (western/southern) or negative (eastern/northern) wave speeds. After that it transforms the new set of characteristic variables back to primitive variables.
Definition at line 115 of file boundary_absorbing.f90.
Variable Documentation
◆ boundcond_name
|
private |
Definition at line 56 of file boundary_absorbing.f90.