public subroutine coupler_cfd_init(nsteps, dt, icomm_grid, icoord, npxyz_cfd, xyzL, ncxyz, density, ijkcmax, ijkcmin, iTmin, iTmax, jTmin, jTmax, kTmin, kTmax, xgrid, ygrid, zgrid)
Arguments
Type |
Intent | Optional |
Attributes | | Name | |
integer, |
intent(in) |
|
| :: |
nsteps | |
real(kind=kind(0.d0)), |
intent(in) |
|
| :: |
dt | |
integer, |
intent(in) |
|
| :: |
icomm_grid | |
integer, |
intent(in), |
|
dimension(:,:) | :: |
icoord | |
integer, |
intent(in), |
|
dimension(3) | :: |
npxyz_cfd | |
real(kind=kind(0.d0)), |
intent(in), |
|
dimension(3) | :: |
xyzL | |
integer, |
intent(in), |
|
dimension(3) | :: |
ncxyz | |
real(kind=kind(0.d0)), |
intent(in) |
|
| :: |
density | |
integer, |
intent(in), |
|
dimension(3) | :: |
ijkcmax | |
integer, |
intent(in), |
|
dimension(3) | :: |
ijkcmin | |
integer, |
intent(in), |
|
dimension(:) | :: |
iTmin | |
integer, |
intent(in), |
|
dimension(:) | :: |
iTmax | |
integer, |
intent(in), |
|
dimension(:) | :: |
jTmin | |
integer, |
intent(in), |
|
dimension(:) | :: |
jTmax | |
integer, |
intent(in), |
|
dimension(:) | :: |
kTmin | |
integer, |
intent(in), |
|
dimension(:) | :: |
kTmax | |
real(kind=kind(0.d0)), |
intent(in), |
|
dimension(:,:) | :: |
xgrid | |
real(kind=kind(0.d0)), |
intent(in), |
|
dimension(:,:) | :: |
ygrid | |
real(kind=kind(0.d0)), |
intent(in), |
|
dimension(: ) | :: |
zgrid | |
Description
Initialisation routine for coupler module - Every variable is sent and stored
to ensure both md and cfd region have an identical list of parameters
-
Synopsis
- coupler_cfd_init(nsteps,dt_cfd,icomm_grid,icoord,npxyz_cfd,xyzL,ncxyz,
density,ijkcmax,ijkcmin,iTmin,iTmax,jTmin,
jTmax,kTmin,kTmax,xg,yg,zg)
-
Input
- nsteps
- Number of time steps the CFD code is expected to run for (integer)
- dt_cfd
- icomm_grid
- The MPI communicator setup by the MPI_CART_CREATE command in the
CFD region (integer)
- icoord
- The three coordinate for each rank in the domain (integer array nproc by 3)
- npxyz_cfd
- Number of processors in each cartesian dimension (integer array 3)
- xyzL
- Size of domain in each cartesian dimension (dp real array 3)
- ncxyz
- Global number of cells in each cartesian dimension (integer array 3)
- density
- Density of the CFD simulation (dp_real)
- ijkcmax
- Global maximum cell in each cartesian dimension (integer array 3)
- ijkcmin
- Global minimum cell in each cartesian dimension (integer array 3)
- iTmin
- Local minimum cell for each rank (integer array no. procs in x)
- iTmax
- Local maximum cell for each rank (integer array no. procs in x)
- jTmin
- Local minimum cell for each rank (integer array no. procs in y)
- jTmax
- Local maximum cell for each rank (integer array no. procs in y)
- kTmin
- Local minimum cell for each rank (integer array no. procs in z)
- kTmax
- Local maximum cell for each rank (integer array no. procs in z)
- xg
- Array of cell vertices in the x direction (no. cells in x + 1 by
no. cells in y + 1)
- yg
- Array of cell vertices in the y direction (no. cells in x + 1 by
no. cells in y + 1)
- zg
- Array of cell vertices in the z direction (no. cells in z + 1)
-
Input/Output
-
Output
@author Edward Smith
Variables
Type | Visibility |
Attributes | | Name | | Initial | |
integer, |
public |
| :: |
i | | | |
integer, |
public |
| :: |
ib | | | |
integer, |
public |
| :: |
jb | | | |
integer, |
public |
| :: |
kb | | | |
integer, |
public |
| :: |
pcoords(3) | | | |
integer, |
public |
| :: |
source | | | |
integer, |
public |
| :: |
nproc | | | |
integer, |
public, |
dimension(:), allocatable | :: |
buf | | | |
integer, |
public, |
dimension(:), allocatable | :: |
rank_world2rank_realm | | | |
integer, |
public, |
dimension(:), allocatable | :: |
rank_world2rank_cart | | | |
real(kind=kind(0.d0)), |
public |
| :: |
dxmin | | | |
real(kind=kind(0.d0)), |
public |
| :: |
dxmax | | | |
real(kind=kind(0.d0)), |
public |
| :: |
dzmin | | | |
real(kind=kind(0.d0)), |
public |
| :: |
dzmax | | | |
real(kind=kind(0.d0)), |
public, |
dimension(:), allocatable | :: |
rbuf | | | |
Subroutines
Arguments
None
Description