APIs

Working in progress. Please refer to the source code for now.

template<typename D, typename M, typename C = DS::PlainTensor<D, internal::MeshTrait<M>::dim>>
struct OpFlow::CartesianField : public OpFlow::CartesianFieldExpr<CartesianField<D, M, DS::PlainTensor<D, internal::MeshTrait<M>::dim>>>

Public Types

using index_type = typename internal::CartesianFieldExprTrait<CartesianField>::index_type

Public Functions

CartesianField() = default
inline CartesianField(const CartesianField &other)
inline CartesianField(CartesianField &&other) noexcept
template<BasicArithOp Op = BasicArithOp::Eq>
inline auto &assignImpl_final(const CartesianField &other)
template<BasicArithOp Op = BasicArithOp::Eq, CartesianFieldExprType T>
inline auto &assignImpl_final(T &&other)
template<BasicArithOp Op = BasicArithOp::Eq>
inline auto &assignImpl_final(const D &c)
inline auto &initBy(const std::function<D(const std::array<Real, internal::CartesianMeshTrait<M>::dim>&)> &f)
inline void prepareImpl_final()
inline void updateNeighbors()
inline void updatePaddingImpl_final()
inline auto getViewImpl_final()
inline const auto &evalAtImpl_final(const index_type &i) const
inline auto &evalAtImpl_final(const index_type &i)
template<typename Other>
inline bool containsImpl_final(const Other &o) const
inline bool containsImpl_final(const CartesianField &other) const

Public Members

friend ExprBuilder< CartesianField >
friend Expr< CartesianField >
std::array<DS::Pair<std::unique_ptr<BCBase<CartesianField>>>, internal::MeshTrait<M>::dim> bc

Private Members

C data
std::array<DS::Pair<int>, internal::MeshTrait<M>::dim> ext_width
bool initialized = false

Private Static Attributes

static constexpr auto dim = internal::MeshTrait<M>::dim