DUNE-ACFEM (unstable)
Implementation of Dirichlet constraints given a boundary}; supported function. More...
#include <dune/acfem/operators/constraints/dirichletconstraints.hh>

Public Types | |
typedef DiscreteFunctionSpaceType::GridType | GridType |
type of grid | |
Public Member Functions | |
void | update () const |
Rebuild everything in case the sequence number of the underlying space has changed, i.e. More... | |
size_t | size () const |
Return the number of constrained scalar DoFs. | |
template<class DomainDiscreteFunction , class JacobianOperator > | |
void | jacobian (const DomainDiscreteFunction &u, JacobianOperator &jOp) const |
The Jacobian of the operator. More... | |
template<class DomainDiscreteFunction > | |
void | constrain (DomainDiscreteFunction &w) const |
The solution operator; unconditionally install the given constraints into the argument. More... | |
template<class DomainDiscreteFunction > | |
void | zeroConstrain (DomainDiscreteFunction &w) const |
Unconditionally set the values of all masked DoFs to zero. | |
virtual void | communicate () const |
Communicate the mask-values and the Dirichlet values as needed. | |
virtual void | updateValues () const |
Only update the prescribed values. More... | |
template<class DomainDiscreteFunction , class RangeDiscreteFunction > | |
void | operator() (const DomainDiscreteFunction &u, RangeDiscreteFunction &w) const |
Apply the operator to the given argument. More... | |
template<class DomainDiscreteFunction , class JacobianOperator > | |
void | applyToOperator (const DomainDiscreteFunction &u, JacobianOperator &jOp) const |
Dune::Fem compat. | |
void | reset () const |
Delete the cached "sequence" of the underlying discrete space. More... | |
Detailed Description
class Dune::ACFem::DirichletConstraints< DiscreteFunctionSpace, BoundaryValues, Indicator, std::enable_if_t<(IsWrappableByConstLocalFunction< BoundaryValues >::value &&IsBoundaryIndicator< Indicator >::value &&!IndicatorTraits< Indicator >::emptySupport)> >
Implementation of Dirichlet constraints given a boundary}; supported function.
Member Function Documentation
◆ constrain()
|
inline |
The solution operator; unconditionally install the given constraints into the argument.
This "solves"
\[ w - g = 0 \]
for w.
◆ jacobian()
|
inline |
The Jacobian of the operator.
As the operator acts as identity minus affine offset, the Jacobian acts as identity. The methods does not alter any lines of jOp
except for the "active" DoFs. The method handles slave-DoFs correctly in parallel runs.
◆ operator()()
|
inlineinherited |
Apply the operator to the given argument.
This operates as an affine linear operator which computes
w = u - g
where g defines the target constraints values. The operator acts only on the given subset of "active" DoFs (e.g. the boundary DoFs) and leaves all other values of w alone.
References Dune::ACFem::BulkBlockConstraints< DiscreteFunctionSpace, MaskStorage >::checkUpdate(), and Dune::ACFem::BulkBlockConstraints< DiscreteFunctionSpace, MaskStorage >::size().
◆ reset()
|
inlineinherited |
Delete the cached "sequence" of the underlying discrete space.
The next call to checkUpdate() will then trigger an update of mask and values.
Referenced by Dune::ACFem::BulkBlockConstraints< DiscreteFunctionSpace, MaskStorage >::updateValues().
◆ update()
|
inlinevirtual |
Rebuild everything in case the sequence number of the underlying space has changed, i.e.
after mesh adaptation.
Implements Dune::ACFem::BulkBlockConstraints< DiscreteFunctionSpace, MaskStorage >.
◆ updateValues()
|
inlinevirtualinherited |
Only update the prescribed values.
The default implementation is to reset the space-sequence and simply update values and mask. Individual implementation may want to handle this more efficiently.
References Dune::ACFem::BulkBlockConstraints< DiscreteFunctionSpace, MaskStorage >::reset(), and Dune::ACFem::BulkBlockConstraints< DiscreteFunctionSpace, MaskStorage >::update().
The documentation for this class was generated from the following file:
- dune/acfem/operators/constraints/dirichletconstraints.hh
