DUNE PDELab (2.8)
Dune::PDELab::LocalAssemblerInterface< B, CU, CV > Class Template Reference
The local assembler which provides the engines that drive the global assembler. More...
#include <dune/pdelab/gridoperator/common/assembler.hh>
Public Member Functions | |
template<class RF > | |
void | setWeight (RF weight) |
Set current weight of assembling. | |
const CU & | trialConstraints () const |
get the constraints on the trial grid function space | |
const CV & | testConstraints () const |
get the constraints on the test grid function space | |
std::enable_if< AlwaysTrue< X >::value &&!std::is_same< CV, EmptyTransformation >::value >::type | forwardtransform (X &x, const bool postrestrict=false) const |
Transforms a vector \( \boldsymbol{x} \) from \(
V\) to \( V'\). If postrestrict == true then \(\boldsymbol{R}^T_{\boldsymbol{\tilde U}', \boldsymbol{U}'}
\boldsymbol{S}_{\boldsymbol{\tilde V}}\) is applied instead of the full transformation. | |
std::enable_if< AlwaysTrue< X >::value &&!std::is_same< CV, EmptyTransformation >::value >::type | backtransform (X &x, const bool prerestrict=false) const |
Transforms a vector \( \boldsymbol{x} \) from \(
V'\) to \( V\). If prerestrict == true then \(\boldsymbol{S}^T_{\boldsymbol{\tilde U}}\) is applied instead of the full transformation. | |
Notification functions for time step controller | |
template<class TT > | |
void | setTime (TT time) |
Set current time of assembling. | |
template<typename TT > | |
void | preStep (TT time, TT dt, std::size_t stages) |
Notify local assembler about upcoming time step. | |
void | postStep () |
Notify local assembler about completion of time step. | |
template<typename TT > | |
void | preStage (TT time, std::size_t stage) |
Notify local assembler about upcoming time step stage. | |
void | postStage () |
Notify local assembler about completion of time step stage. | |
template<typename TT > | |
TT | suggestTimestep (TT dt) const |
Suggest a valid time step size. | |
Access to the assembler engines | |
LocalPatternAssemblerEngine & | localPatternAssemblerEngine (P &p) |
LocalResidualAssemblerEngine & | localResidualAssemblerEngine (R &r, const X &x) |
LocalJacobianAssemblerEngine & | localJacobianAssemblerEngine (A &a, const X &x) |
LocalResidualJacobianAssemblerEngine & | localResidualJacobianAssemblerEngine (R &r, A &a, const X &x) |
Protected Member Functions | |
void | eread (const GCView &globalcontainer_view, LocalMatrix< T > &localcontainer) const |
read local stiffness matrix for entity | |
void | ewrite (const LocalMatrix< T > &localcontainer, GCView &globalcontainer_view) const |
write local stiffness matrix for entity | |
void | eadd (const LocalMatrix< T > &localcontainer, GCView &globalcontainer_view) const |
write local stiffness matrix for entity | |
std::enable_if< AlwaysTrue< M >::value &&!std::is_same< CV, EmptyTransformation >::value >::type | scatter_jacobian (M &local_container, GCView &global_container_view, bool symmetric_mode) const |
Scatter local jacobian to global container. | |
void | etadd_symmetric (M &localcontainer, GCView &globalcontainer_view) const |
Add local matrix to global matrix, and apply Dirichlet constraints in a symmetric fashion. Apart from that, identical to etadd(). | |
void | add_entry (P &globalpattern, const LFSVIndices &lfsv_indices, Index i, const LFSUIndices &lfsu_indices, Index j) const |
Adding matrix entry to pattern with respect to the constraints contributions. This assembles the entries addressed by etadd(..). See the documentation there for more information about the matrix pattern. | |
void | set_trivial_rows (const GFSV &gfsv, GC &globalcontainer, const C &c) const |
insert dirichlet constraints for row and assemble T^T_U in constrained rows | |
Detailed Description
template<typename B, typename CU, typename CV>
class Dune::PDELab::LocalAssemblerInterface< B, CU, CV >
class Dune::PDELab::LocalAssemblerInterface< B, CU, CV >
The local assembler which provides the engines that drive the global assembler.
The local assembler provides engines for the standard operations of the grid operator. This includes setting up the pattern, computing the residual and the jacobian matrix.
It also provides a standard interface which may be used by implementations of time stepping methods.
The documentation for this class was generated from the following file:
- dune/pdelab/gridoperator/common/assembler.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Dec 22, 23:30, 2024)