Go to the documentation of this file.
20 #ifndef __boundaryField_hpp__
21 #define __boundaryField_hpp__
31 template<
class T,
class MemorySpace>
41 template<
class T,
class MemorySpace =
void>
148 if constexpr(isDeviceAccessible<execution_space>())
156 this->
boundary().indexListHost().deviceViewAll(),
162 if constexpr(isDeviceAccessible<execution_space>())
typename InternalFieldType::execution_space execution_space
bool equivalentTo(EVENT evnt) const
static uniquePtr< boundaryField > create(const boundaryBase &boundary, const pointStructure &pStruct, InternalFieldType &internal)
const auto & indexList() const
virtual void fill(const T &val)
TypeInfoTemplate211("boundaryField","none", T, memory_space::name())
virtual bool updateBoundary(int step, DataDirection direction)
VectorSingle< T, MemorySpace > ProcVectorType
internalField< T, MemorySpace > InternalFieldType
create_vCtor(boundaryField, boundaryBase,(const boundaryBase &boundary, const pointStructure &pStruct, InternalFieldType &internal),(boundary, pStruct, internal))
const auto & deviceViewAll() const
boundaryField< T, MemorySpace > BoundaryFieldType
typename FieldType::memory_space memory_space
const auto & pStruct() const
typename InternalFieldType::memory_space memory_space
FieldAccessType mirrorField() const
add_vCtor(BoundaryFieldType, BoundaryFieldType, boundaryBase)
InternalFieldType & internal_
a ref to the internal field
typename FieldType::execution_space execution_space
boundaryField(const boundaryBase &boundary, const pointStructure &pStruct, InternalFieldType &internal)
FieldAccessType thisField() const
bool hearChanges(real t, real dt, uint32 iter, const message &msg, const anyList &varList) override
const auto & boundary() const
word groupNames(const word &bw, const word &tw, char sep='.')
Group words and output bw.tw.
virtual ProcVectorType & neighborProcField()
const auto & mirrorBoundary() const
const word & boundaryName() const
scatteredFieldAccess< T, memory_space > FieldAccessType