lattice/simplecubiclattice

Types

SimpleCubicLattice[D] = object
  globalGrid*: array[D, int]
  mpiGrid*: array[D, int]
  ghostGrid*: array[D, int]

Simple cubic lattice implementation

Represents a simple cubic lattice with equal dimensions in all directions.

Procs

proc newSimpleCubicLattice[D: static[int]](globalGrid: array[D, int];
    mpiGrid: array[D, int] = defaultMPIGrid[D]();
    ghostGrid: array[D, int] = defaultGhostGrid[D]()): SimpleCubicLattice[D]

Create a new SimpleCubicLattice

Parameters:

  • globalGrid: Dimensions of the lattice in each direction
  • mpiGrid: MPI grid configuration
  • ghostGrid: Ghost cell configuration

Returns: A new SimpleCubicLattice instance

Example:

let lattice = newSimpleCubicLattice(
  [8, 8, 8, 16],
  [1, 1, 1, numRanks()],
  [1, 1, 1, 1]
)

Note: Last two parameters have default values for convenience. If not specified, mpiGrid uses algorithm provided by GlobalArrays for arranging lattice into MPI ranks. ghostGrid defaults to no ghost cells.