DUNE-ACFEM (unstable)

Dune::ACFem::PDEModel::NitscheDirichletBoundaryModel< Model, PenaltyFunction, Symmetrize > Class Template Reference

This model constructs from a given other model weak Dirichlet conditions as first introduced by [2]. More...

#include <dune/acfem/models/modules/nitschedirichletmodel.hh>

Public Member Functions

template<class Entity >
void bind (const Entity &entity)
 Unbind from the previously bound entity. More...
 
void unbind ()
 Unbind from the previously bound entity. More...
 
template<class Intersection >
auto classifyBoundary (const Intersection &intersection)
 Bind to the given intersection and classify the components w.r.t. More...
 

Detailed Description

template<class Model, class PenaltyFunction, class Symmetrize = SkeletonSymmetrizeDefault<Model>>
class Dune::ACFem::PDEModel::NitscheDirichletBoundaryModel< Model, PenaltyFunction, Symmetrize >

This model constructs from a given other model weak Dirichlet conditions as first introduced by [2].

Following the somewhat easier-to-read presentation in [1] this model implement the following boundary contributions

\[ -\int_{\Gamma_D}\sigma(u,\nabla u)\cdot\nu\,\phi -\delta\,\int_{\Gamma_D}\big(\sigma(0,\,(u-g)\,\nu)-\sigma(0,\,0)\big)\cdot\nabla\phi +\int_{\Gamma_D}\mu\,(u-g)\,\phi \]

Here \(\sigma\) denotes the flux() method from the model, \(\delta > 0\) is some constant and \(\mu\) a suitable penalty parameter. \(u\) and \(\phi\) denote ansatz- and test-functions, respectively. \(g\) denotes the Dirichlet values.

For linear symmetric problems \(\delta\) can be chosen as -1 in order to keep the resulting model symmetric. If the model is linear asymmetric or even non-linear it is not so clear how to choose \(\delta\) in a suitable way.

The first boundary integral guarantees consistency of the method which leds to optimal convergence results if the penalty parameter \(\mu\) is chosen as \(\approx 1/h\) where h denotes the local mesh-size.

The respective parameters are passed as arguments to the constructor and/or generator function(s),

See also
nitscheDirichletBoundaryModel().

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 3, 22:32, 2024)