template<class FES, class ValueDerived>
DirichletBC<TrialFunction<FES>, FunctionBase<ValueDerived>> class final
Represents a Dirichlet boundary condition on a ShapeFunction object.
Template parameters | |
---|---|
FES | Type of finite element space |
ValueDerived | Type of value |
When utilized in a Problem construction, it will impose the Dirichlet condition
on the subset of the boundary .
Base classes
-
template<class Scalar>class DirichletBCBase<FormLanguage::Traits<FES>::ScalarType>
- Abstract base class for a Dirichlet boundary condition.
Public types
- using OperandType = TrialFunction<FESType>
- Operand type.
-
using ScalarType = typename FormLanguage::
Traits<FESType>::ScalarType - Scalar type.
- using ValueType = FunctionBase<ValueDerived>
- Value type.
- using Parent = DirichletBCBase<ScalarType>
- Parent class.
Constructors, destructors, conversion operators
- DirichletBC(const OperandType& u, const ValueType& v)
- Constructs the object given the Operand and Value.
- DirichletBC(const DirichletBC& other)
- Copy constructor.
- DirichletBC(DirichletBC&& other)
- Move constructor.
Public functions
-
auto on(Geometry::
Attribute bdrAtr) -> DirichletBC& constexpr - Specifies the region of the boundary over which the condition will be imposed.
-
auto on(const FlatSet<Geometry::
Attribute>& bdrAttrs) -> DirichletBC& constexpr - Specifies the regions of the boundary over which the condition will be imposed.
-
auto getAttributes() const -> const FlatSet<Geometry::
Attribute>& constexpr - void assemble() override
- Computes the indices of the degrees of freedoms associated to the boundary region.
- auto getOperand() const -> const OperandType& override
- Gets the associated operand.
- auto getValue() const -> const ValueType& override
- Gets the associated value.
- auto getDOFs() const -> const DOFs& override
- Gets the global degree of freedom map.
- auto copy() const -> DirichletBC* override noexcept
- Copies the object and returns a non-owning pointer to the copied object.
Function documentation
template<class FES, class ValueDerived>
Rodin:: Variational:: DirichletBC<TrialFunction<FES>, FunctionBase<ValueDerived>><FES, ValueDerived>:: DirichletBC(const OperandType& u,
const ValueType& v)
Constructs the object given the Operand and Value.
Parameters | |
---|---|
u in | ShapeFunction object |
v in | Value object |
template<class FES, class ValueDerived>
DirichletBC& Rodin:: Variational:: DirichletBC<TrialFunction<FES>, FunctionBase<ValueDerived>><FES, ValueDerived>:: on(const FlatSet<Geometry:: Attribute>& bdrAttrs) constexpr
Specifies the regions of the boundary over which the condition will be imposed.
Parameters | |
---|---|
bdrAttrs in | Attributes associated to the boundary regions |
template<class FES, class ValueDerived>
const FlatSet<Geometry:: Attribute>& Rodin:: Variational:: DirichletBC<TrialFunction<FES>, FunctionBase<ValueDerived>><FES, ValueDerived>:: getAttributes() const constexpr
Returns | Attributes over which the boundary condition is imposed. |
---|
template<class FES, class ValueDerived>
void Rodin:: Variational:: DirichletBC<TrialFunction<FES>, FunctionBase<ValueDerived>><FES, ValueDerived>:: assemble() override
Computes the indices of the degrees of freedoms associated to the boundary region.
This will compute the degrees of freedom over the incidence set
If the set of specified attributes is empty, this will compute the degrees of freedom over the boundary, in which case the incidence set
is also required.
template<class FES, class ValueDerived>
DirichletBC* Rodin:: Variational:: DirichletBC<TrialFunction<FES>, FunctionBase<ValueDerived>><FES, ValueDerived>:: copy() const override noexcept
Copies the object and returns a non-owning pointer to the copied object.
Returns | Non-owning pointer to the copied object. |
---|