|
dune-pdelab 2.10-git
|
The local assembler for one step methods. More...
#include <dune/pdelab/gridoperator/onestep/localassembler.hh>

Public Types | |
| enum | DTAssemblingMode { DivideOperator1ByDT , MultiplyOperator0ByDT , DoNotAssembleDT } |
| typedef LA0 | LocalAssemblerDT0 |
| The types of the local assemblers of order one and zero. | |
| typedef LA1 | LocalAssemblerDT1 |
| typedef Dune::PDELab::LocalAssemblerTraits< GO > | Traits |
| typedef Dune::PDELab::LocalAssemblerBase< typename GO::Traits::MatrixBackend, typename GO::Traits::TrialGridFunctionSpaceConstraints, typename GO::Traits::TestGridFunctionSpaceConstraints > | Base |
| The base class. | |
| typedef Traits::RangeField | Real |
| The local operators type for real numbers e.g. time. | |
| typedef Dune::PDELab::TimeSteppingParameterInterface< Real > | OneStepParameters |
| The type of the one step parameter object. | |
| typedef B::size_type | SizeType |
Public Member Functions | |
| void | static_checks () |
| OneStepLocalAssembler (LA0 &la0_, LA1 &la1_, typename Traits::Residual &const_residual_) | |
| Constructor with empty constraints. | |
| void | preStep (Real time_, Real dt_, int stages_) |
| void | setMethod (const OneStepParameters &method_) |
| Set the one step method parameters. | |
| void | setStage (int stage_) |
| Set the current stage of the one step scheme. | |
| void | setDTAssemblingMode (DTAssemblingMode dt_mode_) |
| Real | timeAtStage (int stage_) const |
| Access time at given stage. | |
| Real | timeAtStage () const |
| Access time at given stage. | |
| void | setWeight (const Real weight) |
| const GO::Traits::TrialGridFunctionSpaceConstraints & | trialConstraints () const |
| get the constraints on the trial grid function space | |
| const GO::Traits::TestGridFunctionSpaceConstraints & | testConstraints () const |
| get the constraints on the test grid function space | |
| std::enable_if< AlwaysTrue< X >::value &&!std::is_same< GO::Traits::TestGridFunctionSpaceConstraints, 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< GO::Traits::TestGridFunctionSpaceConstraints, EmptyTransformation >::value >::type | forwardtransform (X &x, const bool postrestrict=false) const |
| std::enable_if< AlwaysTrue< X >::value &&!std::is_same< GO::Traits::TestGridFunctionSpaceConstraints, 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. | |
| std::enable_if< AlwaysTrue< X >::value &&std::is_same< GO::Traits::TestGridFunctionSpaceConstraints, EmptyTransformation >::value >::type | backtransform (X &x, const bool prerestrict=false) const |
| LocalPatternAssemblerEngine & | localPatternAssemblerEngine (typename Traits::MatrixPattern &p) |
| LocalPreStageAssemblerEngine & | localPreStageAssemblerEngine (const std::vector< typename Traits::Solution * > &x) |
| LocalResidualAssemblerEngine & | localResidualAssemblerEngine (typename Traits::Residual &r, const typename Traits::Solution &x) |
| LocalJacobianAssemblerEngine & | localJacobianAssemblerEngine (typename Traits::Jacobian &a, const typename Traits::Solution &x) |
| LocalExplicitPatternAssemblerEngine & | localExplicitPatternAssemblerEngine (typename Traits::MatrixPattern &p) |
| LocalExplicitJacobianResidualAssemblerEngine & | localExplicitJacobianResidualAssemblerEngine (typename Traits::Jacobian &a, typename Traits::Residual &r0, typename Traits::Residual &r1, const std::vector< typename Traits::Solution * > &x) |
| LocalJacobianApplyAssemblerEngine & | localJacobianApplyAssemblerEngine (const typename Traits::Domain &update, typename Traits::Range &result) |
| LocalJacobianApplyAssemblerEngine & | localJacobianApplyAssemblerEngine (const typename Traits::Domain &solution, const typename Traits::Domain &update, typename Traits::Range &result) |
Static Public Member Functions | |
| static constexpr bool | isLinear () |
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< GO::Traits::TestGridFunctionSpaceConstraints, EmptyTransformation >::value >::type | scatter_jacobian (M &local_container, GCView &global_container_view, bool symmetric_mode) const |
| Scatter local jacobian to global container. | |
| std::enable_if< AlwaysTrue< M >::value &&std::is_same< GO::Traits::TestGridFunctionSpaceConstraints, EmptyTransformation >::value >::type | scatter_jacobian (M &local_container, GCView &global_container_view, bool symmetric_mode) const |
| 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 | etadd (const M &localcontainer, GCView &globalcontainer_view) const |
| std::enable_if< std::is_same< RI, CI >::value >::type | add_diagonal_entry (Pattern &pattern, const RI &ri, const CI &ci) const |
| std::enable_if<!std::is_same< RI, CI >::value >::type | add_diagonal_entry (Pattern &pattern, const RI &ri, const CI &ci) const |
| 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 | |
| void | set_trivial_rows (const GFSV &gfsv, GC &globalcontainer, const EmptyTransformation &c) const |
| void | handle_dirichlet_constraints (const GFSV &gfsv, GC &globalcontainer) const |
Protected Attributes | |
| const GO::Traits::TrialGridFunctionSpaceConstraints * | pconstraintsu |
| const GO::Traits::TestGridFunctionSpaceConstraints * | pconstraintsv |
Detailed Description
class Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >
The local assembler for one step methods.
- Template Parameters
-
LA0 The local assembler for the temporal derivative term of order zero LA1 The local assembler for the temporal derivative term of order one
Member Typedef Documentation
◆ Base
| typedef Dune::PDELab::LocalAssemblerBase< typename GO::Traits::MatrixBackend, typename GO::Traits::TrialGridFunctionSpaceConstraints, typename GO::Traits::TestGridFunctionSpaceConstraints> Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::Base |
The base class.
◆ LocalAssemblerDT0
| typedef LA0 Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::LocalAssemblerDT0 |
The types of the local assemblers of order one and zero.
◆ LocalAssemblerDT1
| typedef LA1 Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::LocalAssemblerDT1 |
◆ LocalExplicitJacobianResidualAssemblerEngine
| typedef OneStepExplicitLocalJacobianResidualAssemblerEngine<OneStepLocalAssembler> Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::LocalExplicitJacobianResidualAssemblerEngine |
◆ LocalExplicitPatternAssemblerEngine
| typedef LA1::LocalPatternAssemblerEngine Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::LocalExplicitPatternAssemblerEngine |
◆ LocalJacobianApplyAssemblerEngine
| typedef OneStepLocalJacobianApplyAssemblerEngine<OneStepLocalAssembler> Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::LocalJacobianApplyAssemblerEngine |
◆ LocalJacobianAssemblerEngine
| typedef OneStepLocalJacobianAssemblerEngine<OneStepLocalAssembler> Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::LocalJacobianAssemblerEngine |
◆ LocalPatternAssemblerEngine
| typedef OneStepLocalPatternAssemblerEngine<OneStepLocalAssembler> Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::LocalPatternAssemblerEngine |
The local assembler engines
◆ LocalPreStageAssemblerEngine
| typedef OneStepLocalPreStageAssemblerEngine<OneStepLocalAssembler> Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::LocalPreStageAssemblerEngine |
◆ LocalResidualAssemblerEngine
| typedef OneStepLocalResidualAssemblerEngine<OneStepLocalAssembler> Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::LocalResidualAssemblerEngine |
◆ OneStepParameters
| typedef Dune::PDELab::TimeSteppingParameterInterface<Real> Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::OneStepParameters |
The type of the one step parameter object.
◆ Real
| typedef Traits::RangeField Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::Real |
The local operators type for real numbers e.g. time.
◆ SizeType
|
inherited |
◆ Traits
| typedef Dune::PDELab::LocalAssemblerTraits<GO> Dune::PDELab::OneStepLocalAssembler< GO, LA0, LA1 >::Traits |
Member Enumeration Documentation
◆ DTAssemblingMode
| enum Dune::PDELab::OneStepLocalAssembler::DTAssemblingMode |
Constructor & Destructor Documentation
◆ OneStepLocalAssembler()
|
inline |
Constructor with empty constraints.
Member Function Documentation
◆ add_diagonal_entry() [1/2]
|
inlineprotectedinherited |
◆ add_diagonal_entry() [2/2]
|
inlineprotectedinherited |
◆ add_entry()
|
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.
◆ backtransform() [1/2]
|
inlineinherited |
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.
◆ backtransform() [2/2]
|
inlineinherited |
◆ eadd()
|
inlineprotectedinherited |
write local stiffness matrix for entity
◆ eread()
|
inlineprotectedinherited |
read local stiffness matrix for entity
◆ etadd()
|
inlineprotectedinherited |
◆ etadd_symmetric()
|
inlineprotectedinherited |
Add local matrix to global matrix, and apply Dirichlet constraints in a symmetric fashion. Apart from that, identical to etadd().
◆ ewrite()
|
inlineprotectedinherited |
write local stiffness matrix for entity
◆ forwardtransform() [1/2]
|
inlineinherited |
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.
◆ forwardtransform() [2/2]
|
inlineinherited |
◆ handle_dirichlet_constraints()
|
inlineprotectedinherited |
◆ isLinear()
|
inlinestaticconstexpr |
◆ localExplicitJacobianResidualAssemblerEngine()
|
inline |
Returns a reference to the requested engine. This engine is completely configured and ready to use.
◆ localExplicitPatternAssemblerEngine()
|
inline |
Returns a reference to the requested engine. This engine is completely configured and ready to use.
◆ localJacobianApplyAssemblerEngine() [1/2]
|
inline |
Returns a reference to the requested engine. This engine is completely configured and ready to use.
◆ localJacobianApplyAssemblerEngine() [2/2]
|
inline |
Returns a reference to the requested engine. This engine is completely configured and ready to use.
◆ localJacobianAssemblerEngine()
|
inline |
Returns a reference to the requested engine. This engine is completely configured and ready to use.
◆ localPatternAssemblerEngine()
|
inline |
Access methods which provid "ready to use" engines Returns a reference to the requested engine. This engine is completely configured and ready to use.
◆ localPreStageAssemblerEngine()
|
inline |
Returns a reference to the requested engine. This engine is completely configured and ready to use.
◆ localResidualAssemblerEngine()
|
inline |
Returns a reference to the requested engine. This engine is completely configured and ready to use.
◆ preStep()
|
inline |
Notifies the local assembler about the current time of assembling. Should be called before assembling if the local operator has time dependencies.
◆ scatter_jacobian() [1/2]
|
inlineprotectedinherited |
Scatter local jacobian to global container.
◆ scatter_jacobian() [2/2]
|
inlineprotectedinherited |
◆ set_trivial_rows() [1/2]
|
inlineprotectedinherited |
insert dirichlet constraints for row and assemble T^T_U in constrained rows
◆ set_trivial_rows() [2/2]
|
inlineprotectedinherited |
◆ setDTAssemblingMode()
|
inline |
Determines whether the time step size is multiplied to the mass term (first order time derivative) or the elliptic term (zero-th order time derivative).
◆ setMethod()
|
inline |
Set the one step method parameters.
◆ setStage()
|
inline |
Set the current stage of the one step scheme.
◆ setWeight()
|
inline |
◆ static_checks()
|
inline |
◆ testConstraints()
|
inlineinherited |
get the constraints on the test grid function space
◆ timeAtStage() [1/2]
|
inline |
Access time at given stage.
◆ timeAtStage() [2/2]
|
inline |
Access time at given stage.
◆ trialConstraints()
|
inlineinherited |
get the constraints on the trial grid function space
Friends And Related Symbol Documentation
◆ OneStepExplicitLocalJacobianResidualAssemblerEngine< OneStepLocalAssembler >
|
friend |
◆ OneStepLocalJacobianApplyAssemblerEngine< OneStepLocalAssembler >
|
friend |
◆ OneStepLocalJacobianAssemblerEngine< OneStepLocalAssembler >
|
friend |
◆ OneStepLocalPatternAssemblerEngine< OneStepLocalAssembler >
|
friend |
◆ OneStepLocalPreStageAssemblerEngine< OneStepLocalAssembler >
|
friend |
◆ OneStepLocalResidualAssemblerEngine< OneStepLocalAssembler >
|
friend |
Member Data Documentation
◆ emptyconstraintsu
|
staticprotectedinherited |
◆ emptyconstraintsv
|
staticprotectedinherited |
◆ pconstraintsu
|
protectedinherited |
◆ pconstraintsv
|
protectedinherited |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8