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.
Nscalar fields:Nelemental 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.