34 template <
class _Result>
48 template <
class _Result>
96 typename std::remove_pointer_t<CoeffFunc>::ReturnType
108 typename std::remove_pointer_t<CoeffFunc>::ReturnType
CepsBoundaryConditionFlag
Enumeration for boundary condition type.
CepsIndex CepsUnknownIndex
For unknowns.
std::vector< _Type, _Alloc > CepsVector
C++ vector.
float CepsReal
Need single precision floating point.
std::shared_ptr< DistributedMatrix > DMatPtr
Short typedef for pointer on dist matrix.
std::shared_ptr< DistributedVector > DVecPtr
Short typedef for pointer on distributed vector.
Boundary condition to manage Dirichlet, Neumann and Robin conditions.
CepsUnknownIndex m_unknown
The unknown for which the BC applies.
std::remove_pointer_t< CoeffFunc >::ReturnType getAlpha(CepsStandardArgs args) const
Evaluate alpha in .
CepsUnknownIndex getUnknownId() const
Get the id of the unknown that this BC is for.
_Result eval(CepsStandardArgs args) override
Evaluate a boundary condition, essentially call the functor inside.
void setBoundaryConditionType(CepsBoundaryConditionFlag type)
Set boundary condition type.
CepsBoundaryConditionFlag m_type
friend display operator
~BoundaryCondition() override
Delete data.
CoeffFunc getBeta() const
Get beta in .
void setAlpha(CoeffFunc alpha)
Set alpha in .
void setBeta(CoeffFunc beta)
Set beta in .
CoeffFunc m_alpha
alpha in
CepsBoundaryConditionFlag getBoundaryConditionType() const
Get boundary condition type.
void applyAsDirichlet(DMatPtr mat, DVecPtr sec, CepsReal t=0., CepsReal scalingFactor=1.0)
Apply this boundary condition as Dirichlet bc (zeroed row and col of mat and u in sec) The scaling fa...
CepsEnum getFlags() const override
The final flag is a combination of Attribute and of the flags of the stored object type (if it has an...
CoeffFunc getAlpha() const
Get alpha in .
std::remove_pointer_t< CoeffFunc >::ReturnType getBeta(CepsStandardArgs args) const
Evaluate beta in .
BoundaryCondition(CoeffFunc functor, const CepsVector< DegreeOfFreedom * > *domain, CepsUnknownIndex unknown)
Construct a new BoundaryCondition object.
A Field is an object wrapped around a SAFunc functor, defined on at least one domain.
A SAFunc is a ceps::Function that uses CepsStandardArgs as argument of call operator (),...
An abstract class from which all objects that contain region attributes should derive.
Abstract class for objects that have a dimensionality (0D to 3D)
Structure used to pass arguments to SAFunc (see pde directory) The flags of the SAFunc allows extract...