dune-pdelab
2.5-dev
|
The local assembler for DUNE grids. More...
#include <dune/pdelab/gridoperator/default/localassembler.hh>
Public Types | |
typedef Dune::PDELab::LocalAssemblerTraits< GO > | Traits |
The traits class. More... | |
typedef Traits::Residual::ElementType | RangeField |
The local operators type for real numbers e.g. time. More... | |
typedef RangeField | Real |
typedef Traits::TrialGridFunctionSpace | GFSU |
typedef Traits::TestGridFunctionSpace | GFSV |
typedef Traits::TrialGridFunctionSpaceConstraints | CU |
typedef Traits::TestGridFunctionSpaceConstraints | CV |
typedef Dune::PDELab::LocalAssemblerBase< typename Traits::MatrixBackend, CU, CV > | Base |
The base class of this local assembler. More... | |
typedef LOP | LocalOperator |
The local operator. More... | |
typedef GO::Traits::MatrixBackend ::size_type | SizeType |
typedef Dune::PDELab::LocalFunctionSpace< GFSU, Dune::PDELab::TrialSpaceTag > | LFSU |
typedef Dune::PDELab::LocalFunctionSpace< GFSV, Dune::PDELab::TestSpaceTag > | LFSV |
typedef LFSIndexCache< LFSU, CU > | LFSUCache |
typedef LFSIndexCache< LFSV, CV > | LFSVCache |
Public Member Functions | |
DefaultLocalAssembler (LOP &lop_, shared_ptr< typename GO::BorderDOFExchanger > border_dof_exchanger) | |
Constructor with empty constraints. More... | |
DefaultLocalAssembler (LOP &lop_, const CU &cu_, const CV &cv_, shared_ptr< typename GO::BorderDOFExchanger > border_dof_exchanger) | |
Constructor for non trivial constraints. More... | |
void | setTime (Real time_) |
void | setWeight (RangeField weight_) |
Notifies the assembler about the current weight of assembling. More... | |
bool | reconstructBorderEntries () const |
void | preProcessing (bool v) |
void | postProcessing (bool v) |
const GO::Traits::TrialGridFunctionSpaceConstraints & | trialConstraints () const |
get the constraints on the trial grid function space More... | |
const GO::Traits::TestGridFunctionSpaceConstraints & | testConstraints () const |
get the constraints on the test grid function space More... | |
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 ![]() ![]() ![]() ![]() | |
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 ![]() ![]() ![]() ![]() | |
std::enable_if< AlwaysTrue< X >::value &&std::is_same< GO::Traits::TestGridFunctionSpaceConstraints, EmptyTransformation >::value >::type | backtransform (X &x, const bool prerestrict=false) const |
void | preStage (Real time_, int r_) |
void | preStep (Real time_, Real dt_, std::size_t stages_) |
void | postStep () |
void | postStage () |
Real | suggestTimestep (Real dt) const |
LocalPatternAssemblerEngine & | localPatternAssemblerEngine (typename Traits::MatrixPattern &p) |
LocalResidualAssemblerEngine & | localResidualAssemblerEngine (typename Traits::Residual &r, const typename Traits::Solution &x) |
LocalJacobianAssemblerEngine & | localJacobianAssemblerEngine (typename Traits::Jacobian &a, const typename Traits::Solution &x) |
LocalJacobianApplyAssemblerEngine & | localJacobianApplyAssemblerEngine (typename Traits::Residual &r, const typename Traits::Solution &x) |
LocalNonlinearJacobianApplyAssemblerEngine & | localNonlinearJacobianApplyAssemblerEngine (typename Traits::Residual &r, const typename Traits::Solution &x, const typename Traits::Solution &z) |
Static Public Member Functions | |
static bool | doAlphaVolume () |
Query methods for the assembler engines. Theses methods do not belong to the assembler interface, but simplify the implementations of query methods in the engines;. More... | |
static bool | doLambdaVolume () |
static bool | doAlphaSkeleton () |
static bool | doLambdaSkeleton () |
static bool | doAlphaBoundary () |
static bool | doLambdaBoundary () |
static bool | doAlphaVolumePostSkeleton () |
static bool | doLambdaVolumePostSkeleton () |
static bool | doSkeletonTwoSided () |
static bool | doPatternVolume () |
static bool | doPatternSkeleton () |
static bool | doPatternBoundary () |
static bool | doPatternVolumePostSkeleton () |
Static Public Attributes | |
static const bool | isNonOverlapping = nonoverlapping_mode |
Protected Member Functions | |
void | eread (const GCView &globalcontainer_view, LocalMatrix< T > &localcontainer) const |
read local stiffness matrix for entity More... | |
void | ewrite (const LocalMatrix< T > &localcontainer, GCView &globalcontainer_view) const |
write local stiffness matrix for entity More... | |
void | eadd (const LocalMatrix< T > &localcontainer, GCView &globalcontainer_view) const |
write local stiffness matrix for entity More... | |
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. More... | |
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(). More... | |
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. More... | |
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... | |
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 |
Static Protected Attributes | |
static GO::Traits::TrialGridFunctionSpaceConstraints | emptyconstraintsu |
static GO::Traits::TestGridFunctionSpaceConstraints | emptyconstraintsv |
typedef DefaultLocalPatternAssemblerEngine< DefaultLocalAssembler > | LocalPatternAssemblerEngine |
typedef DefaultLocalResidualAssemblerEngine< DefaultLocalAssembler > | LocalResidualAssemblerEngine |
typedef DefaultLocalJacobianAssemblerEngine< DefaultLocalAssembler > | LocalJacobianAssemblerEngine |
typedef DefaultLocalJacobianApplyAssemblerEngine< DefaultLocalAssembler > | LocalJacobianApplyAssemblerEngine |
typedef DefaultLocalNonlinearJacobianApplyAssemblerEngine< DefaultLocalAssembler > | LocalNonlinearJacobianApplyAssemblerEngine |
The local assembler for DUNE grids.
GFSU | GridFunctionSpace for ansatz functions |
GFSV | GridFunctionSpace for test functions |
X | The solution vector representation type |
R | The residual vector representation type |
A | The jacobian matrix representation type |
B | The matrix backend |
P | The matrix pattern representation type |
CU | Constraints maps for the individual dofs (trial space) |
CV | Constraints maps for the individual dofs (test space) |
typedef Dune::PDELab::LocalAssemblerBase<typename Traits::MatrixBackend,CU,CV> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::Base |
The base class of this local assembler.
typedef Traits::TrialGridFunctionSpaceConstraints Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::CU |
typedef Traits::TestGridFunctionSpaceConstraints Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::CV |
typedef Traits::TrialGridFunctionSpace Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::GFSU |
typedef Traits::TestGridFunctionSpace Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::GFSV |
typedef Dune::PDELab::LocalFunctionSpace<GFSU, Dune::PDELab::TrialSpaceTag> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LFSU |
The local function spaces
typedef LFSIndexCache<LFSU,CU> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LFSUCache |
typedef Dune::PDELab::LocalFunctionSpace<GFSV, Dune::PDELab::TestSpaceTag> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LFSV |
typedef LFSIndexCache<LFSV,CV> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LFSVCache |
typedef DefaultLocalJacobianApplyAssemblerEngine<DefaultLocalAssembler> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalJacobianApplyAssemblerEngine |
typedef DefaultLocalJacobianAssemblerEngine<DefaultLocalAssembler> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalJacobianAssemblerEngine |
typedef DefaultLocalNonlinearJacobianApplyAssemblerEngine<DefaultLocalAssembler> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalNonlinearJacobianApplyAssemblerEngine |
typedef LOP Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalOperator |
The local operator.
typedef DefaultLocalPatternAssemblerEngine<DefaultLocalAssembler> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalPatternAssemblerEngine |
The local assembler engines
typedef DefaultLocalResidualAssemblerEngine<DefaultLocalAssembler> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalResidualAssemblerEngine |
typedef Traits::Residual::ElementType Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::RangeField |
The local operators type for real numbers e.g. time.
typedef RangeField Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::Real |
|
inherited |
typedef Dune::PDELab::LocalAssemblerTraits<GO> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::Traits |
The traits class.
|
inline |
Constructor with empty constraints.
|
inline |
Constructor for non trivial constraints.
|
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 |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Query methods for the assembler engines. Theses methods do not belong to the assembler interface, but simplify the implementations of query methods in the engines;.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlineprotectedinherited |
write local stiffness matrix for entity
|
inlineprotectedinherited |
read local stiffness matrix for entity
|
inlineprotectedinherited |
|
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 |
|
inline |
Returns a reference to the requested engine. This engine is completely configured and ready to use.
|
inline |
Returns a reference to the requested engine. This engine is completely configured and ready to use.
|
inline |
Returns a reference to the requested engine. This engine is completely configured and ready to use.
|
inline |
Access methods which provid "ready to use" enginesReturns a reference to the requested engine. This engine is completely configured and ready to use.
|
inline |
Returns a reference to the requested engine. This engine is completely configured and ready to use.
|
inline |
This method allows to set the behavior with regard to any postprocessing within the engines. It is called by the setupGridOperators() method of the GridOperator and should not be called directly.
|
inline |
|
inline |
|
inline |
This method allows to set the behavior with regard to any preprocessing within the engines. It is called by the setupGridOperators() method of the GridOperator and should not be called directly.
|
inline |
Time stepping interface
|
inline |
|
inline |
|
inlineprotectedinherited |
Scatter local jacobian to global container.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
insert dirichlet constraints for row and assemble T^T_U in constrained rows
|
inlineprotectedinherited |
|
inline |
Notifies the local assembler about the current time of assembling. Should be called before assembling if the local operator has time dependencies.
|
inline |
Notifies the assembler about the current weight of assembling.
|
inline |
|
inlineinherited |
get the constraints on the test grid function space
|
inlineinherited |
get the constraints on the trial grid function space
|
staticprotectedinherited |
|
staticprotectedinherited |
|
static |
|
protectedinherited |
|
protectedinherited |