1#ifndef ERRORESTIMATIONTRAITS_HH
2#define ERRORESTIMATIONTRAITS_HH
15 namespace ErrorEstimator_Detail
17 double add(
const double& x1,
const std::pair<double,int>& x2)
19 return std::fabs(x1) + std::fabs(x2.first);
23 template <
template <
class,
class,
class>
class Functional,
class VariableSetDescription,
class ExtensionVariableSetDescription>
29 typedef Functional<VariableSetDescription,VariableSetDescription,VariableSetDescription>
Functional_HH;
30 typedef Functional<VariableSetDescription,ExtensionVariableSetDescription,VariableSetDescription>
Functional_HE;
31 typedef Functional<ExtensionVariableSetDescription,VariableSetDescription,ExtensionVariableSetDescription>
Functional_EH;
32 typedef Functional<ExtensionVariableSetDescription,ExtensionVariableSetDescription,ExtensionVariableSetDescription>
Functional_EE;
37 typedef typename Functional_HH::TestVars::VariableSet
ImageElement;
41 typedef typename Functional_HH::Scalar
Scalar;
48 static constexpr int stateId = getStateId<Functional_HH>();
49 static constexpr int controlId = getControlId<Functional_HH>();
50 static constexpr int adjointId = getAdjointId<Functional_HH>();
52 static constexpr int dim = VariableSetDescription::Grid::dimension;
111 typedef typename VariableSetDescription::template CoefficientVectorRepresentation<>::type
Vector;
112 typedef typename VariableSetDescription::template CoefficientVectorRepresentation<stateId,stateId+1>::type
VectorY;
113 typedef typename VariableSetDescription::template CoefficientVectorRepresentation<controlId,controlId+1>::type
VectorU;
114 typedef typename VariableSetDescription::template CoefficientVectorRepresentation<adjointId,adjointId+1>::type
VectorP;
115 typedef typename ExtensionVariableSetDescription::template CoefficientVectorRepresentation<>::type
ExtensionVector;
116 typedef typename ExtensionVariableSetDescription::template CoefficientVectorRepresentation<stateId,stateId+1>::type
ExtensionVectorY;
117 typedef typename ExtensionVariableSetDescription::template CoefficientVectorRepresentation<controlId,controlId+1>::type
ExtensionVectorU;
118 typedef typename ExtensionVariableSetDescription::template CoefficientVectorRepresentation<adjointId,adjointId+1>::type
ExtensionVectorP;
123 typedef typename VariableSetDescription::template CoefficientVectorRepresentation<>
Vector_Initializer;
124 typedef typename VariableSetDescription::template CoefficientVectorRepresentation<stateId,stateId+1>
VectorY_Initializer;
125 typedef typename VariableSetDescription::template CoefficientVectorRepresentation<controlId,controlId+1>
VectorU_Initializer;
126 typedef typename VariableSetDescription::template CoefficientVectorRepresentation<adjointId,adjointId+1>
VectorP_Initializer;
133 template <
class VariableSetDescription,
class ErrorRepresentation,
class ExtensionSpace,
template <
class>
class RefinementStrategy>
138 : RefinementStrategy<typename
VariableSetDescription::Grid>( extensionSpace_.gridManager(), fraction, verbose ),
151 std::unique_ptr<ErrorRepresentation>
mde;
Interfaces for function space oriented algorithms.
An adaptor presenting a Dune::LinearOperator <domain_type,range_type> interface to a contiguous sub-b...
std::unique_ptr< ErrorRepresentation > mde
double estimatedAbsoluteError() const final
size_t gridSize() const final
ErrorEstimatorBase(ExtensionSpace &extensionSpace_, double fraction, bool verbose=false)
ExtensionSpace & extensionSpace
std::vector< std::pair< double, int > > errorDistribution
A class that stores information about a set of variables.
A class for storing a heterogeneous collection of FunctionSpaceElement s.
A class for assembling Galerkin representation matrices and right hand sides for variational function...
double add(const double &x1, const std::pair< double, int > &x2)
Functional< ExtensionVariableSetDescription, VariableSetDescription, ExtensionVariableSetDescription > Functional_EH
ExtensionVariableSetDescription::template CoefficientVectorRepresentation< stateId, stateId+1 >::type ExtensionVectorY
AssembledGalerkinOperator< Assembler_EE, stateId, stateId+1, adjointId, adjointId+1 > AT_EE
AssembledGalerkinOperator< Assembler_HE, controlId, controlId+1, stateId, stateId+1 > Luy_HE
AssembledGalerkinOperator< Assembler_EH, controlId, controlId+1, adjointId, adjointId+1 > BT_EH
VariableSetDescription::template CoefficientVectorRepresentation Vector_Initializer
AssembledGalerkinOperator< Assembler_HE, stateId, stateId+1, controlId, controlId+1 > Lyu_HE
VariableSetDescription::template CoefficientVectorRepresentation< controlId, controlId+1 > VectorU_Initializer
Functional< ExtensionVariableSetDescription, ExtensionVariableSetDescription, ExtensionVariableSetDescription > Functional_EE
AssembledGalerkinOperator< Assembler_HE, stateId, stateId+1, adjointId, adjointId+1 > AT_HE
AssembledGalerkinOperator< Assembler_HH > Operator_HH
ExtensionVariableSetDescription::template CoefficientVectorRepresentation ::type ExtensionVector
Functional_HH::AnsatzVars::VariableSet DomainElement
AssembledGalerkinOperator< Assembler_HE, adjointId, adjointId+1, stateId, stateId+1 > A_HE
VariationalFunctionalAssembler< LinearizationAt< Functional_EH > > Assembler_EH
ExtensionVariableSetDescription::template CoefficientVectorRepresentation< stateId, stateId+1 > ExtensionVectorY_Initializer
static constexpr int adjointId
AssembledGalerkinOperator< Assembler_HE, controlId, controlId+1, adjointId, adjointId+1 > BT_HE
ExtensionVariableSetDescription::template CoefficientVectorRepresentation< adjointId, adjointId+1 >::type ExtensionVectorP
AssembledGalerkinOperator< Assembler_EE, adjointId, adjointId+1, stateId, stateId+1 > A_EE
AssembledGalerkinOperator< Assembler_HE, controlId, controlId+1, controlId, controlId+1 > Luu_HE
AssembledGalerkinOperator< Assembler_HH, adjointId, adjointId+1, controlId, controlId+1 > B_HH
AssembledGalerkinOperator< Assembler_EE, controlId, controlId+1, stateId, stateId+1 > Luy_EE
AssembledGalerkinOperator< Assembler_HH, controlId, controlId+1, adjointId, adjointId+1 > BT_HH
VariationalFunctionalAssembler< LinearizationAt< Functional_HH > > Assembler_HH
VariableSet< ExtensionVariableSetDescription > ExtensionVarSet
AssembledGalerkinOperator< Assembler_HH, stateId, stateId+1, adjointId, adjointId+1 > AT_HH
AssembledGalerkinOperator< Assembler_EH, adjointId, adjointId+1, stateId, stateId+1 > A_EH
Functional< VariableSetDescription, VariableSetDescription, VariableSetDescription > Functional_HH
AssembledGalerkinOperator< Assembler_HH, controlId, controlId+1, stateId, stateId+1 > Luy_HH
AssembledGalerkinOperator< Assembler_EH, controlId, controlId+1, controlId, controlId+1 > Luu_EH
AssembledGalerkinOperator< Assembler_EH, adjointId, adjointId+1, controlId, controlId+1 > B_EH
VariableSet< VariableSetDescription > VarSet
VariableSetDescription::template CoefficientVectorRepresentation< controlId, controlId+1 >::type VectorU
Functional< VariableSetDescription, ExtensionVariableSetDescription, VariableSetDescription > Functional_HE
AssembledGalerkinOperator< Assembler_EE, stateId, stateId+1, stateId, stateId+1 > Lyy_EE
AssembledGalerkinOperator< Assembler_HE > Operator_HE
Functional_HH::Scalar Scalar
AssembledGalerkinOperator< Assembler_HE, adjointId, adjointId+1, controlId, controlId+1 > B_HE
ExtensionVariableSetDescription::template CoefficientVectorRepresentation< controlId, controlId+1 >::type ExtensionVectorU
Functional_EE::OriginVars::VariableSet OriginExtensionElement
static constexpr int controlId
ExtensionVariableSetDescription::template CoefficientVectorRepresentation ExtensionVector_Initializer
VariationalFunctionalAssembler< LinearizationAt< Functional_EE > > Assembler_EE
AssembledGalerkinOperator< Assembler_EH > Operator_EH
ExtensionVariableSetDescription::template CoefficientVectorRepresentation< controlId, controlId+1 > ExtensionVectorU_Initializer
AssembledGalerkinOperator< Assembler_EH, controlId, controlId+1, stateId, stateId+1 > Luy_EH
static constexpr int stateId
VariableSetDescription::template CoefficientVectorRepresentation< stateId, stateId+1 >::type VectorY
Functional_EE::AnsatzVars::VariableSet DomainExtensionElement
AssembledGalerkinOperator< Assembler_HH, controlId, controlId+1, controlId, controlId+1 > Luu_HH
Functional_HH::TestVars::VariableSet ImageElement
AssembledGalerkinOperator< Assembler_EE > Operator_EE
VariableSetDescription::template CoefficientVectorRepresentation< adjointId, adjointId+1 >::type VectorP
AssembledGalerkinOperator< Assembler_EH, stateId, stateId+1, adjointId, adjointId+1 > AT_EH
AssembledGalerkinOperator< Assembler_EH, stateId, stateId+1, stateId, stateId+1 > Lyy_EH
Functional_EE::TestVars::VariableSet ImageExtensionElement
AssembledGalerkinOperator< Assembler_HE, stateId, stateId+1, stateId, stateId+1 > Lyy_HE
AssembledGalerkinOperator< Assembler_HH, stateId, stateId+1, stateId, stateId+1 > Lyy_HH
AssembledGalerkinOperator< Assembler_EE, adjointId, adjointId+1, controlId, controlId+1 > B_EE
AssembledGalerkinOperator< Assembler_HH, adjointId, adjointId+1, stateId, stateId+1 > A_HH
VariableSetDescription::template CoefficientVectorRepresentation ::type Vector
VariableSetDescription::template CoefficientVectorRepresentation< adjointId, adjointId+1 > VectorP_Initializer
ExtensionVariableSetDescription::template CoefficientVectorRepresentation< adjointId, adjointId+1 > ExtensionVectorP_Initializer
AssembledGalerkinOperator< Assembler_EE, stateId, stateId+1, controlId, controlId+1 > Lyu_EE
AssembledGalerkinOperator< Assembler_HH, stateId, stateId+1, controlId, controlId+1 > Lyu_HH
VariableSetDescription::template CoefficientVectorRepresentation< stateId, stateId+1 > VectorY_Initializer
AssembledGalerkinOperator< Assembler_EE, controlId, controlId+1, controlId, controlId+1 > Luu_EE
AssembledGalerkinOperator< Assembler_EH, stateId, stateId+1, controlId, controlId+1 > Lyu_EH
AssembledGalerkinOperator< Assembler_EE, controlId, controlId+1, adjointId, adjointId+1 > BT_EE
Functional_HH::OriginVars::VariableSet OriginElement
VariationalFunctionalAssembler< LinearizationAt< Functional_HE > > Assembler_HE
Variables and their descriptions.