5#include <Kokkos_Core.hpp>
32template<
typename ValueType>
41 : exec_(
exec), internalVector_(
exec, nCells), boundaryData_(
exec, offsets)
59 : exec_(
exec), internalVector_(
exec, internalSize), boundaryData_(
exec, boundarySize)
64 : exec_(rhs.exec_), internalVector_(rhs.internalVector_), boundaryData_(rhs.boundaryData_)
69 : exec_(std::move(rhs.exec_)), internalVector_(std::move(rhs.internalVector_)),
70 boundaryData_(std::move(rhs.boundaryData_))
76 internalVector_ = rhs.internalVector_;
77 boundaryData_ = rhs.boundaryData_;
84 internalVector_ = std::move(rhs.internalVector_);
85 boundaryData_ = std::move(rhs.boundaryData_);
Represents the boundary fields for a computational domain.
Represents the domain fields for a computational domain.
Field(const Executor &exec, localIdx internalSize, localIdx boundarySize)
Field< ValueType > & operator=(Field< ValueType > &&rhs)
Field(Field< ValueType > &&rhs)
Field(const Executor &exec)
Field< ValueType > & operator=(const Field< ValueType > &rhs)
Field(const Executor &exec, const Vector< ValueType > &internalVector, const BoundaryData< ValueType > &boundaryData)
const BoundaryData< ValueType > & boundaryData() const
Field(const Executor &exec, const Vector< ValueType > &internalVector, std::vector< localIdx > offsets)
Field(const Field< ValueType > &rhs)
const Executor & exec() const
Field(const Executor &exec, localIdx nCells, const std::vector< localIdx > &offsets)
const Vector< ValueType > & internalVector() const
Vector< ValueType > & internalVector()
BoundaryData< ValueType > & boundaryData()
A class to contain the data and executors for a field and define some basic operations.
std::variant< SerialExecutor, CPUExecutor, GPUExecutor > Executor