boundary_generic_mod Module Reference

Generic boundary module. More...

Data Types

type  boundary_generic
 
type  boundary_p
 

Functions/Subroutines

subroutine setcorneredges (this, Mesh, Physics, pvar)
 Calculates the corner in 2D and the corners and edges in 3D. More...
 
subroutine mpiboundarycommunication (this, Mesh, Physics, pvar)
 Handles the MPI communication of the inner (and physical periodic) boundaries. More...
 
subroutine mpibuffer2pvar (this, Mesh, Physics, output_dir, buffer, pvar)
 Copys buffer data to ghost cells. More...
 

variables

subroutine, public new_boundary (Boundary, Mesh, Physics, config, IO)
 
subroutine, private initboundary (this, Mesh, Physics, config, IO)
 
subroutine, private centerboundary (this, Mesh, Physics, time, pvar, cvar)
 Sets boundaries in all directions. More...
 
subroutine initboundary_mpi (this, Mesh, Physics, periods)
 initializes the MPI communication More...
 
subroutine mpipvar2buffer (this, Mesh, Physics, input_dir, pvar, buffer)
 Copys ghost cell data to buffer. More...
 
subroutine, private finalize (this)
 

Detailed Description

Generic boundary module.

Author
Tobias Illenseer
Manuel Jung
Jannes Klee

This module and its object holds the six boundaries, where every boundary is its own object.

Function/Subroutine Documentation

◆ centerboundary()

subroutine, private boundary_generic_mod::centerboundary ( class(boundary_generic), 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,
class(marray_compound), intent(inout)  cvar 
)
private

Sets boundaries in all directions.

Definition at line 287 of file boundary_generic.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ finalize()

subroutine, private boundary_generic_mod::finalize ( class(boundary_generic), intent(inout)  this)
private

Definition at line 1201 of file boundary_generic.f90.

◆ initboundary()

subroutine, private boundary_generic_mod::initboundary ( class(boundary_generic), intent(inout)  this,
class(mesh_base), intent(inout)  Mesh,
class(physics_base), intent(in)  Physics,
type(dict_typ), pointer  config,
type(dict_typ), pointer  IO 
)
private

Definition at line 104 of file boundary_generic.f90.

◆ initboundary_mpi()

subroutine boundary_generic_mod::initboundary_mpi ( class(boundary_generic), intent(inout)  this,
class(mesh_base), intent(inout)  Mesh,
class(physics_base), intent(in)  Physics,
logical, dimension(3), intent(in)  periods 
)

initializes the MPI communication

Definition at line 768 of file boundary_generic.f90.

◆ mpiboundarycommunication()

subroutine boundary_generic_mod::mpiboundarycommunication ( class(boundary_generic), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
real, dimension(mesh%igmin:mesh%igmax,mesh%jgmin:mesh%jgmax,mesh%kgmin:mesh%kgmax,physics%vnum), intent(inout)  pvar 
)

Handles the MPI communication of the inner (and physical periodic) boundaries.

Definition at line 834 of file boundary_generic.f90.

Here is the caller graph for this function:

◆ mpibuffer2pvar()

subroutine boundary_generic_mod::mpibuffer2pvar ( class(boundary_generic), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
integer, intent(in)  output_dir,
real, dimension(:,:,:,:), intent(in)  buffer,
real, dimension(mesh%igmin:mesh%igmax,mesh%jgmin:mesh%jgmax,mesh%kgmin:mesh%kgmax,physics%vnum), intent(out)  pvar 
)

Copys buffer data to ghost cells.

Definition at line 1021 of file boundary_generic.f90.

◆ mpipvar2buffer()

subroutine boundary_generic_mod::mpipvar2buffer ( class(boundary_generic), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
integer, intent(in)  input_dir,
real, dimension(mesh%igmin:mesh%igmax,mesh%jgmin:mesh%jgmax,mesh%kgmin:mesh%kgmax,physics%vnum), intent(in)  pvar,
real, dimension(:,:,:,:), intent(out)  buffer 
)

Copys ghost cell data to buffer.

Definition at line 1111 of file boundary_generic.f90.

◆ new_boundary()

subroutine, public boundary_generic_mod::new_boundary ( class(boundary_generic), allocatable  Boundary,
class(mesh_base), intent(inout)  Mesh,
class(physics_base), intent(in)  Physics,
type(dict_typ), pointer  config,
type(dict_typ), pointer  IO 
)

Definition at line 92 of file boundary_generic.f90.

Here is the caller graph for this function:

◆ setcorneredges()

subroutine boundary_generic_mod::setcorneredges ( class(boundary_generic), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
real, dimension(mesh%igmin:mesh%igmax,mesh%jgmin:mesh%jgmax,mesh%kgmin:mesh%kgmax,physics%vnum), intent(inout)  pvar 
)

Calculates the corner in 2D and the corners and edges in 3D.

This is a interpolation of corners & edges outside the computational domain, if they are undefined (e.g. there are no periodic or inner boundaries involved in the corner) this is also necessary, because we need some of these values in the viscosity module This part calculates the corner in 2D and the edges in 3D. Further below the corners in 3D are approximated.

Attention
Only the diagonal corner cells in 3D corners are approximated because the others are not necessary by any module (they are also set reasonably by the setting the edges, but could be approximated better).

Definition at line 434 of file boundary_generic.f90.

Here is the caller graph for this function: