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, private | finalize (this) |
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... | |
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 279 of file boundary_generic.f90.
◆ finalize()
|
private |
Definition at line 1071 of file boundary_generic.f90.
◆ initboundary()
|
private |
Definition at line 102 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 752 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 818 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 90 of file boundary_generic.f90.
◆ 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 418 of file boundary_generic.f90.