boundary_absorbing_mod Module Reference

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.

Author
Tobias Illenseer

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

character(len=32), parameter boundary_absorbing_mod::boundcond_name = "absorbing"
private

Definition at line 56 of file boundary_absorbing.f90.