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.
This module and its object holds the six boundaries, where every boundary is its own object.
Function/Subroutine Documentation
◆ centerboundary()
|
private |
Sets boundaries in all directions.
Definition at line 287 of file boundary_generic.f90.


◆ finalize()
|
private |
Definition at line 1201 of file boundary_generic.f90.
◆ initboundary()
|
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.

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