DUNE-ACFEM (2.5.1)

Dune::ACFem::DirichletConstraints< JacobianOperator, BoundaryValues, Indicator > Class Template Reference

Implementation of Dirichlet constraints. More...

#include <dune/acfem/operators/constraints/dirichletconstraints.hh>

+ Collaboration diagram for Dune::ACFem::DirichletConstraints< JacobianOperator, BoundaryValues, Indicator >:

Public Types

typedef DiscreteFunctionSpaceType::GridType GridType
 type of grid
 

Public Member Functions

void rebuild () const
 Rebuild everything in case the sequence number of the underlying space has changed, i.e. More...
 
void rebuildValues ()
 Interpolate the Dirichlet values in any case, but leave slave-DoFs as is if nothing changed.
 
size_t size () const
 Return the number of constrainted block-DoFs.
 
void constrain (DiscreteFunctionType &w) const
 The solution operator; unconditionally install the given constraints into the argument. More...
 
void zeroConstrain (DiscreteFunctionType &w) const
 Unconditionally set the values of all masked DoFs to zero.
 
LocalOperatorType localOperator (const EntityType &entity) const
 Generate the local version of this operator from the given entitiy.
 
LocalOperatorType localOperator () const
 Generate the local version of this operator, must later be bound to an entity by calling its init() method.
 
void rebuild () const
 An update method which has to be called initially or after mesh-adaptation, or for time-dependent constraint values to recompute the affine offset when moving to the next time-step.
 
void operator() (const DiscreteFunctionType &arg, DiscreteFunctionType &w) const
 Apply the operator to the given argument. More...
 
void jacobian (const DiscreteFunctionType &u, JacobianOperatorType &jOp) const
 The Jacobian of the operator. More...
 
void constrain (DiscreteFunctionType &w) const
 The solution operator; unconditionally install the given constraints into the argument. More...
 
void constrain (DiscreteFunctionType &w) const
 The solution operator; unconditionally install the given constraints into the argument. More...
 
void zeroConstrain (DiscreteFunctionType &w) const
 Unconditionally set the values of all masked DoFs to zero.
 
void zeroConstrain (DiscreteFunctionType &w) const
 Unconditionally set the values of all masked DoFs to zero.
 

Protected Member Functions

void updateBoundaryValues (const BoundaryValuesFunctionType &u, DiscreteFunctionType &w) const
 Update the flag vector and interpolate the boundary values.
 

Detailed Description

template<class JacobianOperator, class BoundaryValues, class Indicator>
class Dune::ACFem::DirichletConstraints< JacobianOperator, BoundaryValues, Indicator >

Implementation of Dirichlet constraints.

Member Function Documentation

◆ constrain() [1/3]

void Dune::ACFem::BlockConstraintsOperatorInterface< JacobianOperator::RangeFunctionType , Traits >::constrain ( DiscreteFunctionType &  w) const
inlineinherited

The solution operator; unconditionally install the given constraints into the argument.

This "solves"

\[ w - g = 0 \]

for w.

◆ constrain() [2/3]

void Dune::ACFem::BulkBlockConstraints< JacobianOperator, DirichletBlockConstraintsTraits< JacobianOperator, BoundaryValues, Indicator > >::constrain ( DiscreteFunctionType &  w) const
inlineinherited

The solution operator; unconditionally install the given constraints into the argument.

This "solves"

\[ w - g = 0 \]

for w.

◆ constrain() [3/3]

template<class JacobianOperator , class BoundaryValues , class Indicator >
void Dune::ACFem::BlockConstraintsOperatorInterface< DiscreteFunction, Traits >::constrain
inline

◆ jacobian()

void Dune::ACFem::BulkBlockConstraints< JacobianOperator, DirichletBlockConstraintsTraits< JacobianOperator, BoundaryValues, Indicator > >::jacobian ( const DiscreteFunctionType &  u,
JacobianOperatorType &  jOp 
) const
inlineinherited

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()()

void Dune::ACFem::BlockConstraintsOperatorInterface< JacobianOperator::RangeFunctionType , Traits >::operator() ( const DiscreteFunctionType &  arg,
DiscreteFunctionType &  w 
) const
inlineinherited

Apply the operator to the given argument.

This operates as as an affine linear operator which computes

\[ \Gamma(x) = x - g \]

where g defines the affine offet. TZhe operator acts only on the given subset of "active" DoFs (e.g. the boundary DoFs) and leaves all other values of w alone.

◆ rebuild()

template<class JacobianOperator , class BoundaryValues , class Indicator >
void Dune::ACFem::DirichletConstraints< JacobianOperator, BoundaryValues, Indicator >::rebuild ( ) const
inline

Rebuild everything in case the sequence number of the underlying space has changed, i.e.

after mesh adaptation.

References Dune::ACFem::DirichletConstraints< JacobianOperator, BoundaryValues, Indicator >::updateBoundaryValues().


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 4, 22:30, 2024)