coupler_cfd_init Subroutine

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)

  • Uses:

  • mpi

Arguments

Type IntentOptional AttributesName
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
      • CFD timestep (dp real)
    • 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

    • NONE
  • Output

    • NONE

@author Edward Smith


Variables

TypeVisibility AttributesNameInitial
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

subroutine check_mesh()

Arguments

None

Description


© 2015 Fortran Program was written by Edward Smith David Trevelyan.
Documentation generated by FORD.