5#include <Kokkos_Core.hpp>
40 : exec_(rhs.exec_), value_(rhs.value_), refValue_(rhs.refValue_),
41 valueFraction_(rhs.valueFraction_), refGrad_(rhs.refGrad_),
42 boundaryTypes_(rhs.boundaryTypes_), offset_(rhs.offset_), nBoundaries_(rhs.nBoundaries_),
43 nBoundaryFaces_(rhs.nBoundaryFaces_)
52 : exec_(rhs.exec_), value_(
exec, rhs.value_), refValue_(
exec, rhs.refValue_),
53 valueFraction_(
exec, rhs.valueFraction_), refGrad_(
exec, rhs.refGrad_),
54 boundaryTypes_(
exec, rhs.boundaryTypes_), offset_(
exec, rhs.offset_),
55 nBoundaries_(rhs.nBoundaries_), nBoundaryFaces_(rhs.nBoundaryFaces_)
136 return {offset_.
data()[patchId], offset_.
data()[patchId + 1]};
151 size_t nBoundaryFaces_;
Represents the boundary fields for a computational domain.
NeoFOAM::Field< T > & refValue()
Get the view storing the Dirichlet boundary values.
NeoFOAM::Field< T > & value()
Get the view storing the computed values from the boundary condition.
const NeoFOAM::Field< T > & refGrad() const
Get the view storing the Neumann boundary values.
const NeoFOAM::Field< int > & boundaryTypes() const
Get the view storing the boundary types.
BoundaryFields(const Executor &exec, const BoundaryFields< T > &rhs)
Copy constructor.
BoundaryFields(const Executor &exec, size_t nBoundaryFaces, size_t nBoundaries)
const NeoFOAM::Field< localIdx > & offset() const
Get the view storing the offsets of each boundary.
NeoFOAM::Field< T > & refGrad()
Get the view storing the Neumann boundary values.
BoundaryFields(const BoundaryFields< T > &rhs)
Copy constructor.
const NeoFOAM::Field< T > & value() const
Get the view storing the computed values from the boundary condition.
size_t nBoundaryFaces() const
Get the number of boundary faces.
const NeoFOAM::Field< T > & refValue() const
Get the view storing the Dirichlet boundary values.
const NeoFOAM::Field< scalar > & valueFraction() const
Get the view storing the fraction of the boundary value.
NeoFOAM::Field< scalar > & valueFraction()
Get the view storing the fraction of the boundary value.
size_t nBoundaries() const
Get the number of boundaries.
std::pair< localIdx, localIdx > range(localIdx patchId) const
Get the range for a given patchId.
A class to contain the data and executors for a field and define some basic operations.
ValueType * data()
Direct access to the underlying field data.
std::variant< SerialExecutor, CPUExecutor, GPUExecutor > Executor