Lattice fields
The module Fields
include simple routines to define a few typical fields. Fields are simple CuArray
types with special memory layout. A field always has an associated elemental type (i.e. for gauge fields SU3
, for scalar fields Float64
). We have:
- scalar fields: One elemental type in each spacetime point.
- vector field: One elemental type at each spacetime point and direction.
N
scalar fields:N
elemental types at each spacetime point.
Fields can have naturaL indexing, where the memory layout follows the point-in-block and block indices (see SpaceParm
). Fields can also have lexicographic indexing, where points are labelled by a D-dimensional index (see scalar_field_point
).
Initialization
LatticeGPU.Fields.scalar_field
— Function scalar_field(::Type{T}, lp::SpaceParm)
Returns a scalar field of elemental type T
.
LatticeGPU.Fields.vector_field
— Function vector_field(::Type{T}, lp::SpaceParm)
Returns a vector field of elemental type T
.
LatticeGPU.Fields.nscalar_field
— Function nscalar_field(::Type{T}, n::Integer, lp::SpaceParm)
Returns n
scalar fields of elemental type T
LatticeGPU.Fields.scalar_field_point
— Function scalar_field(::Type{T}, lp::SpaceParm)
Returns a scalar field of elemental type T
, with lexicografic memory layout.