dune-pdelab 2.7-git
|
The local assembler for DUNE grids. More...
#include <dune/pdelab/gridoperator/fastdg/localassembler.hh>
Public Types | |
typedef Dune::PDELab::LocalAssemblerTraits< GO > | Traits |
The traits class. | |
typedef Traits::Residual::ElementType | RangeField |
The local operators type for real numbers e.g. time. | |
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. | |
typedef LOP | LocalOperator |
The local operator. | |
typedef B::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, true > | LFSUCache |
typedef LFSIndexCache< LFSV, CV, true > | LFSVCache |
Public Member Functions | |
FastDGLocalAssembler (LOP &lop_, std::shared_ptr< typename GO::BorderDOFExchanger > border_dof_exchanger) | |
Constructor with empty constraints. | |
FastDGLocalAssembler (LOP &lop_, const CU &cu_, const CV &cv_, std::shared_ptr< typename GO::BorderDOFExchanger > border_dof_exchanger) | |
Constructor for non trivial constraints. | |
LOP & | localOperator () |
get a reference to the local operator | |
const LOP & | localOperator () const |
get a reference to the local operator | |
void | setTime (Real time_) |
RangeField | weight () const |
Obtain the weight that was set last. | |
void | setWeight (RangeField weight) |
Notifies the assembler about the current weight of assembling. | |
bool | reconstructBorderEntries () const |
bool | doPreProcessing () const |
Query whether to do preprocessing in the engines. | |
void | preProcessing (bool v) |
bool | doPostProcessing () const |
Query whether to do postprocessing in the engines. | |
void | postProcessing (bool v) |
template<typename GFSV , typename GC , typename C > | |
void | set_trivial_rows (const GFSV &gfsv, GC &globalcontainer, const C &c) const |
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 |
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 ![]() ![]() ![]() ![]() | |
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 (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 | 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;. | |
static constexpr bool | doLambdaVolume () |
static constexpr bool | doAlphaSkeleton () |
static constexpr bool | doLambdaSkeleton () |
static constexpr bool | doAlphaBoundary () |
static constexpr bool | doLambdaBoundary () |
static constexpr bool | doAlphaVolumePostSkeleton () |
static constexpr bool | doLambdaVolumePostSkeleton () |
static constexpr bool | doSkeletonTwoSided () |
static constexpr bool | doPatternVolume () |
static constexpr bool | doPatternSkeleton () |
static constexpr bool | doPatternBoundary () |
static constexpr bool | doPatternVolumePostSkeleton () |
static constexpr bool | isLinear () |
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 | |
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 |
Static Protected Attributes | |
static GO::Traits::TrialGridFunctionSpaceConstraints | emptyconstraintsu |
static GO::Traits::TestGridFunctionSpaceConstraints | emptyconstraintsv |
typedef FastDGLocalPatternAssemblerEngine< FastDGLocalAssembler > | LocalPatternAssemblerEngine |
typedef FastDGLocalResidualAssemblerEngine< FastDGLocalAssembler > | LocalResidualAssemblerEngine |
typedef FastDGLocalJacobianAssemblerEngine< FastDGLocalAssembler > | LocalJacobianAssemblerEngine |
typedef FastDGLocalJacobianApplyAssemblerEngine< FastDGLocalAssembler > | LocalJacobianApplyAssemblerEngine |
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::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::Base |
The base class of this local assembler.
typedef Traits::TrialGridFunctionSpaceConstraints Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::CU |
typedef Traits::TestGridFunctionSpaceConstraints Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::CV |
typedef Traits::TrialGridFunctionSpace Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::GFSU |
typedef Traits::TestGridFunctionSpace Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::GFSV |
typedef Dune::PDELab::LocalFunctionSpace<GFSU, Dune::PDELab::TrialSpaceTag> Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::LFSU |
The local function spaces
typedef LFSIndexCache<LFSU,CU,true> Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::LFSUCache |
typedef Dune::PDELab::LocalFunctionSpace<GFSV, Dune::PDELab::TestSpaceTag> Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::LFSV |
typedef LFSIndexCache<LFSV,CV,true> Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::LFSVCache |
typedef FastDGLocalJacobianApplyAssemblerEngine<FastDGLocalAssembler> Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalJacobianApplyAssemblerEngine |
typedef FastDGLocalJacobianAssemblerEngine<FastDGLocalAssembler> Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalJacobianAssemblerEngine |
typedef LOP Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalOperator |
The local operator.
typedef FastDGLocalPatternAssemblerEngine<FastDGLocalAssembler> Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalPatternAssemblerEngine |
The local assembler engines
typedef FastDGLocalResidualAssemblerEngine<FastDGLocalAssembler> Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalResidualAssemblerEngine |
typedef Traits::Residual::ElementType Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::RangeField |
The local operators type for real numbers e.g. time.
typedef RangeField Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::Real |
|
inherited |
typedef Dune::PDELab::LocalAssemblerTraits<GO> Dune::PDELab::FastDGLocalAssembler< 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
|
inlineinherited |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
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;.
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inline |
Query whether to do postprocessing in the engines.
This method is used by the engines.
|
inline |
Query whether to do preprocessing in the engines.
This method is used by the engines.
|
inlinestaticconstexpr |
|
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
|
inlineinherited |
|
inlineprotectedinherited |
|
inline |
|
inlinestaticconstexpr |
|
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 |
get a reference to the local operator
|
inline |
get a reference to the local operator
|
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.
|
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
|
inline |
|
inlineprotectedinherited |
|
inline |
|
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
|
inline |
Obtain the weight that was set last.
|
staticprotectedinherited |
|
staticprotectedinherited |
|
static |
|
protectedinherited |
|
protectedinherited |