Search Results
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.
