lattice/simplecubiclattice

Types

SimpleCubicLattice = object of SimpleCubicLatticeRoot
  numVecSites*: GeometryType

Simple cubic Bravais lattice

<in need of documentation>

Procs

proc `$`(l: SimpleCubicLattice): string {....raises: [], tags: [], forbids: [].}
String representation of SimpleCubicLattice
proc latticeCoordinate(l: SimpleCubicLattice; n: int): seq[int] {....raises: [],
    tags: [], forbids: [].}

Gets lattice coordinate from flattened index

<in need of documentation>

proc newSimpleCubicLattice(latticeGeometry: openArray[SomeInteger];
                           startWithLastDimensionInLocalPartition: bool = true;
    startWithLastDimensionInVectorPartition: bool = false;
                           printLatticeGeometrySummary: bool = true): SimpleCubicLattice

SimpleCubicLattice constructor

TL;DR: Simplest SimpleCubicLattice constructor

The following attributes of SimpleCubicLattice are inferred.

  • Distributed memory geometry inferred from rank number. Splitting of lattice dimensions into ranks starts with last dimension (conventional Euclidean time direction).
  • Shared memory geometry inferred from shared memory rank number

Please refer to primary constructor method for further details.

proc newSimpleCubicLattice(other: SimpleCubicLattice): SimpleCubicLattice {.
    ...raises: [], tags: [], forbids: [].}

SimpleCubicLattice copy constructor

Copy constructor for SimpleCubicLattice. <in need of more documentation>

proc newSimpleCubicLattice[L: SomeInteger; D: SomeInteger; S: SomeInteger](
    latticeGeometry: openArray[L]; distMemoryGeometry: openArray[D];
    sharedMemoryGeometry: openArray[S];
    printLatticeGeometrySummary: bool = false): SimpleCubicLattice

SimpleCubicLattice constructor

TL;DR: Base SimpleCubicLattice constructor

Primary constructor for SimpleCubicLattice. All constructor variants attempt to infer any information that is not provided explicitly to this constructor. Plase see variants of SimpleCubicLattice constructor for details of what is inferred and how it is inferred.

<in need of more documentation>

proc newSimpleCubicLattice[L: SomeInteger; D: SomeInteger](
    latticeGeometry: openArray[L]; distMemoryGeometry: openArray[D];
    startWithLastDimensionInVectorPartition: bool = false;
    printLatticeGeometrySummary: bool = true): SimpleCubicLattice

SimpleCubicLattice constructor

TL;DR: Next-to-simplest SimpleCubicLattice constructor

The following attributes of SimpleCubicLattice are inferred.

  • Shared memory geometry inferred from shared memory rank number

Please refer to primary constructor method for further details.

Templates

template sites(l: SimpleCubicLattice; n: untyped; work: untyped): untyped