dune-pdelab
2.4-dev
|
The local assembler which provides the engines that drive the global assembler. More...
#include <dune/pdelab/gridoperator/common/assembler.hh>
Classes | |
class | LocalJacobianAssemblerEngine |
class | LocalPatternAssemblerEngine |
class | LocalResidualAssemblerEngine |
class | LocalResidualJacobianAssemblerEngine |
Public Types | |
typedef B::size_type | SizeType |
Public Member Functions | |
template<class RF > | |
void | setWeight (RF weight) |
Set current weight of assembling. More... | |
const CU & | trialConstraints () const |
get the constraints on the trial grid function space More... | |
const CV & | testConstraints () const |
get the constraints on the test grid function space More... | |
template<typename X > | |
enable_if< AlwaysTrue< X >::value &&!is_same< CV, EmptyTransformation >::value >::type | forwardtransform (X &x, const bool postrestrict=false) const |
Transforms a vector ![]() ![]() ![]() ![]() | |
template<typename X > | |
enable_if< AlwaysTrue< X >::value &&is_same< CV, EmptyTransformation >::value >::type | forwardtransform (X &x, const bool postrestrict=false) const |
template<typename X > | |
enable_if< AlwaysTrue< X >::value &&!is_same< CV, EmptyTransformation >::value >::type | backtransform (X &x, const bool prerestrict=false) const |
Transforms a vector ![]() ![]() ![]() ![]() | |
template<typename X > | |
enable_if< AlwaysTrue< X >::value &&is_same< CV, EmptyTransformation >::value >::type | backtransform (X &x, const bool prerestrict=false) const |
Notification functions for time step controller | |
template<class TT > | |
void | setTime (TT time) |
Set current time of assembling. More... | |
template<typename TT > | |
void | preStep (TT time, TT dt, std::size_t stages) |
Notify local assembler about upcoming time step. More... | |
void | postStep () |
Notify local assembler about completion of time step. More... | |
template<typename TT > | |
void | preStage (TT time, std::size_t stage) |
Notify local assembler about upcoming time step stage. More... | |
void | postStage () |
Notify local assembler about completion of time step stage. More... | |
template<typename TT > | |
TT | suggestTimestep (TT dt) const |
Suggest a valid time step size. More... | |
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 | |
template<typename GCView , typename T > | |
void | eread (const GCView &globalcontainer_view, LocalMatrix< T > &localcontainer) const |
read local stiffness matrix for entity More... | |
template<typename T , typename GCView > | |
void | ewrite (const LocalMatrix< T > &localcontainer, GCView &globalcontainer_view) const |
write local stiffness matrix for entity More... | |
template<typename T , typename GCView > | |
void | eadd (const LocalMatrix< T > &localcontainer, GCView &globalcontainer_view) const |
write local stiffness matrix for entity More... | |
template<typename M , typename GCView > | |
enable_if< AlwaysTrue< M >::value &&!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. More... | |
template<typename M , typename GCView > | |
enable_if< AlwaysTrue< M >::value &&is_same< CV, EmptyTransformation >::value >::type | scatter_jacobian (M &local_container, GCView &global_container_view, bool symmetric_mode) const |
template<typename M , typename GCView > | |
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(). More... | |
template<typename M , typename GCView > | |
void | etadd (const M &localcontainer, GCView &globalcontainer_view) const |
template<typename Pattern , typename RI , typename CI > | |
enable_if< is_same< RI, CI >::value >::type | add_diagonal_entry (Pattern &pattern, const RI &ri, const CI &ci) const |
template<typename Pattern , typename RI , typename CI > | |
enable_if< !is_same< RI, CI >::value >::type | add_diagonal_entry (Pattern &pattern, const RI &ri, const CI &ci) const |
template<typename P , typename LFSVIndices , typename LFSUIndices , typename Index > | |
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. More... | |
template<typename GFSV , typename GC , typename C > | |
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 More... | |
template<typename GFSV , typename GC > | |
void | set_trivial_rows (const GFSV &gfsv, GC &globalcontainer, const EmptyTransformation &c) const |
template<typename GFSV , typename GC > | |
void | handle_dirichlet_constraints (const GFSV &gfsv, GC &globalcontainer) const |
Protected Attributes | |
const CU * | pconstraintsu |
const CV * | pconstraintsv |
Static Protected Attributes | |
static CU | emptyconstraintsu |
static CV | emptyconstraintsv |
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.
|
inherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
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.
|
inlineinherited |
Transforms a vector from
to
. If prerestrict == true then
is applied instead of the full transformation.
|
inlineinherited |
|
inlineprotectedinherited |
write local stiffness matrix for entity
|
inlineprotectedinherited |
read local stiffness matrix for entity
|
inlineprotectedinherited |
Referenced by Dune::PDELab::LocalAssemblerBase< GridOperator::Traits::MatrixBackend, GridOperator::Traits::TrialGridFunctionSpaceConstraints, GridOperator::Traits::TestGridFunctionSpaceConstraints >::etadd_symmetric(), and Dune::PDELab::LocalAssemblerBase< GridOperator::Traits::MatrixBackend, GridOperator::Traits::TrialGridFunctionSpaceConstraints, GridOperator::Traits::TestGridFunctionSpaceConstraints >::scatter_jacobian().
|
inlineprotectedinherited |
Add local matrix to global matrix, and apply Dirichlet constraints in a symmetric fashion. Apart from that, identical to etadd().
|
inlineprotectedinherited |
write local stiffness matrix for entity
|
inlineinherited |
Transforms a vector from
to
. If postrestrict == true then
is applied instead of the full transformation.
|
inlineinherited |
|
inlineprotectedinherited |
LocalJacobianAssemblerEngine& Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::localJacobianAssemblerEngine | ( | A & | a, |
const X & | x | ||
) |
LocalPatternAssemblerEngine& Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::localPatternAssemblerEngine | ( | P & | p | ) |
LocalResidualAssemblerEngine& Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::localResidualAssemblerEngine | ( | R & | r, |
const X & | x | ||
) |
LocalResidualJacobianAssemblerEngine& Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::localResidualJacobianAssemblerEngine | ( | R & | r, |
A & | a, | ||
const X & | x | ||
) |
void Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::postStage | ( | ) |
Notify local assembler about completion of time step stage.
void Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::postStep | ( | ) |
Notify local assembler about completion of time step.
void Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::preStage | ( | TT | time, |
std::size_t | stage | ||
) |
Notify local assembler about upcoming time step stage.
void Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::preStep | ( | TT | time, |
TT | dt, | ||
std::size_t | stages | ||
) |
Notify local assembler about upcoming time step.
|
inlineprotectedinherited |
Scatter local jacobian to global container.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
insert dirichlet constraints for row and assemble T^T_U in constrained rows
|
inlineprotectedinherited |
void Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::setTime | ( | TT | time | ) |
Set current time of assembling.
void Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::setWeight | ( | RF | weight | ) |
Set current weight of assembling.
TT Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::suggestTimestep | ( | TT | dt | ) | const |
Suggest a valid time step size.
|
inlineinherited |
get the constraints on the test grid function space
|
inlineinherited |
get the constraints on the trial grid function space
Referenced by Dune::PDELab::GridOperator< CGGFS, GFS, CGTODGLOP, MBE, field_type, field_type, field_type, CC, CC >::interpolate(), and Dune::PDELab::OneStepGridOperator< GO0, GO1, implicit >::interpolate().
|
staticprotectedinherited |
|
staticprotectedinherited |
|
protectedinherited |
Referenced by Dune::PDELab::LocalAssemblerBase< GridOperator::Traits::MatrixBackend, GridOperator::Traits::TrialGridFunctionSpaceConstraints, GridOperator::Traits::TestGridFunctionSpaceConstraints >::scatter_jacobian(), and Dune::PDELab::LocalAssemblerBase< GridOperator::Traits::MatrixBackend, GridOperator::Traits::TrialGridFunctionSpaceConstraints, GridOperator::Traits::TestGridFunctionSpaceConstraints >::trialConstraints().
|
protectedinherited |
Referenced by Dune::PDELab::LocalAssemblerBase< GridOperator::Traits::MatrixBackend, GridOperator::Traits::TrialGridFunctionSpaceConstraints, GridOperator::Traits::TestGridFunctionSpaceConstraints >::backtransform(), Dune::PDELab::LocalAssemblerBase< GridOperator::Traits::MatrixBackend, GridOperator::Traits::TrialGridFunctionSpaceConstraints, GridOperator::Traits::TestGridFunctionSpaceConstraints >::forwardtransform(), Dune::PDELab::LocalAssemblerBase< GridOperator::Traits::MatrixBackend, GridOperator::Traits::TrialGridFunctionSpaceConstraints, GridOperator::Traits::TestGridFunctionSpaceConstraints >::handle_dirichlet_constraints(), and Dune::PDELab::LocalAssemblerBase< GridOperator::Traits::MatrixBackend, GridOperator::Traits::TrialGridFunctionSpaceConstraints, GridOperator::Traits::TestGridFunctionSpaceConstraints >::testConstraints().