Search Results
mesh_base.f90 File Reference
Go to the source code of this file.
Data Types | |
type mesh_base_mod::fargo_base | |
base class for fargo transport properties and methods More... | |
type mesh_base_mod::mesh_base | |
mesh data structure More... | |
interface mesh_base_mod::TensorDivergence3D | |
interface mesh_base_mod::VectorDivergence3D | |
interface mesh_base_mod::VectorDivergence2D_1 | |
interface mesh_base_mod::TensorDivergence2D_1 | |
interface mesh_base_mod::Finalize | |
Modules | |
module mesh_base_mod | |
basic mesh module | |
Functions/Subroutines | |
recursive subroutine decompose (pi, pj, pk) | |
searches for the best domain decomposition More... | |
Public Attributes | |
mesh types | |
integer, parameter mesh_base_mod::midpoint = 1 | |
use midpoint rule to approximate flux integrals More... | |
integer, dimension(3), parameter mesh_base_mod::nfaces = (/ 2, 4, 6 /) | |
number of faces More... | |
integer, dimension(3), parameter mesh_base_mod::ncorners = (/ 2, 4, 8 /) | |
number of corners More... | |
integer, parameter mesh_base_mod::west = 1 | |
named constant for western boundary More... | |
integer, parameter mesh_base_mod::east = 2 | |
named constant for eastern boundary More... | |
integer, parameter mesh_base_mod::south = 3 | |
named constant for southern boundary More... | |
integer, parameter mesh_base_mod::north = 4 | |
named constant for northern boundary More... | |
integer, parameter mesh_base_mod::bottom = 5 | |
named constant for bottom boundary More... | |
integer, parameter mesh_base_mod::top = 6 | |
named constant for top boundary More... | |
integer, parameter mesh_base_mod::vector_x = INT(B'001') | |
flags to check which vector components are enabled More... | |
integer, parameter mesh_base_mod::vector_y = INT(B'010') | |
integer, parameter mesh_base_mod::vector_z = INT(B'100') | |
Variables in Parallel Mode | |
subroutine mesh_base_mod::initmesh (this, config, IO, mtype, mname) | |
Constructor of generic mesh module. More... | |
subroutine mesh_base_mod::setoutput (this, config, IO) | |
Setup mesh fields for i/o. More... | |
subroutine mesh_base_mod::calculaterotation (this) | |
initialize array for rotation angle More... | |
pure logical function mesh_base_mod::internalpoint (this, x, y, z, mask) | |
Check if a given coordinate pair represents an internal point. More... | |
subroutine mesh_base_mod::initmesh_parallel (this, config) | |
Initialize MPI (parallel mode only) More... | |
subroutine mesh_base_mod::calculatedecomposition (ni, nj, nk, ginum, pi, pj, pk) | |
return the best partitioning of processes More... | |
pure subroutine getcosts (n1, n2, n3, p1, p2, p3, bl, vl) | |
real function, dimension(:,:,:), pointer mesh_base_mod::remapbounds_1 (this, array) | |
remap lower bounds in the first 2 dimensions of rank 2 subarrays More... | |
real function, dimension(:,:,:,:), pointer mesh_base_mod::remapbounds_2 (this, array) | |
remap lower bounds in the first 2 dimensions of rank 3 subarrays More... | |
real function, dimension(:,:,:,:,:), pointer mesh_base_mod::remapbounds_3 (this, array) | |
remap lower bounds in the first 2 dimensions of rank 4 subarrays More... | |
real function, dimension(:,:,:,:,:,:), pointer mesh_base_mod::remapbounds_4 (this, array) | |
remap lower bounds in the first 2 dimensions of rank 5 subarrays More... | |
subroutine mesh_base_mod::finalize_base (this) | |
Destructor of mesh class. More... | |
pure integer function mesh_base_mod::getdirection (this) | |
Get the fargo transport direction. More... | |
pure character(len=4) function mesh_base_mod::getdirectionname (this) | |
Get the fargo transport direction as string. More... | |
Function/Subroutine Documentation
◆ decompose()
recursive subroutine calculatedecomposition::decompose | ( | integer, intent(inout) | pi, |
integer, intent(inout) | pj, | ||
integer, intent(inout) | pk | ||
) |
searches for the best domain decomposition
Accounts for the costs due to MPI communication (internal boundaries) and optimizes for a given vector length (VECTOR_LENGTH) on vector computers; parameters: svl: system vector length ni : number of grid cells in first dimension nj : number of grid cells in second dimension nk : number of grid cells in third dimension pi : number of processes in first dimension (=NumProcs first call) pj : number of processes in second dimension (=1 at first call) pk : number of processes in third dimension (=1 at first call)
Definition at line 1355 of file mesh_base.f90.
Here is the call graph for this function:

Here is the caller graph for this function:

◆ getcosts()
|
private |