14#ifndef IPPL_FIELD_BC_TYPES_H
15#define IPPL_FIELD_BC_TYPES_H
42 template <
typename Field>
62 virtual void write(std::ostream&)
const = 0;
78 template <
typename Field>
83 template <
typename Field>
109 virtual void write(std::ostream& out)
const;
119 template <
typename Field>
129 virtual void write(std::ostream& out)
const;
132 template <
typename Field>
142 virtual void write(std::ostream& out)
const;
145 template <
typename Field>
153 virtual void write(std::ostream& out)
const;
156 template <
typename Field>
174 virtual void write(std::ostream& out)
const;
std::ostream & operator<<(std::ostream &, const BCondBase< Field > &)
static constexpr unsigned dim
virtual void assignGhostToPhysical(Field &field)=0
virtual ~BCondBase()=default
unsigned int getFace() const
virtual void findBCNeighbors(Field &field)=0
virtual void apply(Field &field)=0
bool changesPhysicalCells() const
static constexpr unsigned Dim
BCondBase(unsigned int face)
virtual FieldBC getBCType() const
FieldLayout< Dim > Layout_t
virtual void write(std::ostream &) const =0
typename detail::BCondBase< Field >::Layout_t Layout_t
virtual void assignGhostToPhysical(Field &field)
typename Field::value_type T
virtual void write(std::ostream &out) const
ExtrapolateFace(unsigned face, T offset, T slope)
virtual void apply(Field &field)
virtual ~ExtrapolateFace()=default
const T & getSlope() const
static constexpr unsigned Dim
virtual FieldBC getBCType() const
virtual void findBCNeighbors(Field &)
detail::BCondBase< Field > base_type
const T & getOffset() const
virtual void write(std::ostream &out) const
virtual void assignGhostToPhysical(Field &)
virtual void findBCNeighbors(Field &)
virtual void apply(Field &)
virtual void write(std::ostream &out) const
virtual FieldBC getBCType() const
typename Field::value_type T
ConstantFace(unsigned int face, T constant)
virtual FieldBC getBCType() const
virtual void write(std::ostream &out) const
virtual void findBCNeighbors(Field &field)
face_neighbor_type faceNeighbors_m
typename Field::value_type T
virtual void write(std::ostream &out) const
Field::halo_type::databuffer_type haloData_m
virtual FieldBC getBCType() const
std::array< std::vector< int >, 2 *Dim > face_neighbor_type
virtual void apply(Field &field)
typename detail::BCondBase< Field >::Layout_t Layout_t
virtual void assignGhostToPhysical(Field &field)
static constexpr unsigned Dim
PeriodicFace(unsigned face)