implicitEquilibratedAO.hh
Go to the documentation of this file.
154 const hp2D::hpAdaptiveSpaceH1* hpSpc =dynamic_cast<const hp2D::hpAdaptiveSpaceH1*> (&(this->spc_));
175 throw conceptsException(concepts::ImplicitEquilibratedA0Error("Linearform must be a LinearformChoice"));
184 throw conceptsException(concepts::ImplicitEquilibratedA0Error("Linearform must be a LinearformChoice"));
360 for(concepts::HashMap<Real>::const_iterator iter_err = error_2.begin(); iter_err != error_2.end(); ++iter_err){
440 //number of pure Neumannedges, it is 4 if it's an interior quad or a quad that intersects neumannbdn
447 //local problem is unique solveable or touches a boundary element that is not Neumann (i.e. a Dirichlet)
548 for(concepts::Set<uint>::const_iterator iter = nattrb_K.begin(); iter != nattrb_K.end(); ++iter){
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: implicitEquilibratedAO.hh:380
concepts::Sequence< F > scalars_L
Definition: implicitEquilibratedAO.hh:395
ImplicitEquilibratedA0Error(const std::string &errorMessage)
Constructor.
Definition: implicitEquilibratedAO.hh:26
ImplicitEquilibratedA0(const concepts::SpaceOnCells< F > &spc, const concepts::Vector< F > &sol, concepts::LinearForm< F > &f, ushort loc_rule=2, const concepts::ElementFormula< F > *a=0)
Constructor of the 2d implicit residual a posteriori Error estimator based on solving local Neumannpr...
Definition: implicitEquilibratedAO.hh:75
Definition: moments.hh:174
void addNeumannInfo(concepts::ParsedFormula< F > &frm, const concepts::Set< uint > &attrb)
Method to add boundary infos that are needed for the estimator.
Definition: implicitEquilibratedAO.hh:120
Definition: hpAdaptiveSpaceH1.hh:63
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: implicitEquilibratedAO.hh:34
virtual ~ImplicitEquilibratedA0()
Definition: implicitEquilibratedAO.hh:91
Real computeLocalError_2(hp2D::hpAdaptiveSpaceH1 &spc_K, const concepts::Vector< F > &sol_K)
Definition: implicitEquilibratedAO.hh:582
Interface class for Linearform in that one can choice for the basis evaluation type,...
Definition: linearForm.hh:64
concepts::Sequence< concepts::ParsedFormula< F > > nfrms_
Definition: implicitEquilibratedAO.hh:407
Definition: parsedFormula.hh:94
LocalEstimator(const concepts::SpaceOnCells< F > &spc, const concepts::Vector< F > &sol)
Definition: estimator.hh:145
void isunique(bool unique=true)
Definition: implicitEquilibratedAO.hh:146
void addInnerInfo(const concepts::Set< uint > &attrb)
Add inner edges attribute info, if additional existing.
Definition: implicitEquilibratedAO.hh:141
Real L2product(const ElementWithCell< G > &elm, const ElementFormula< F, G > &u, const ElementFormula< Real > *c=0, const Real t=0.0, IntegrationCell::intFormType form=IntegrationCell::ZERO)
Returns the L2 product or with c weighted L2 product of an element formula u over the cell belonging ...
Definition: integral.hh:214
Class for holding a general mutable mesh of 2D cell where cells and other 2D meshes can be added.
Definition: mutableMesh.hh:142
#define conceptsAssert(cond, exc)
Assert that a certain condition is fulfilled.
Definition: exceptions.hh:394
void addLinearformInfo(concepts::LinearForm< F > &form, const F scalar=1)
Method to give Linearform residual information to the estimator.
Definition: implicitEquilibratedAO.hh:104
concepts::Sequence< concepts::Set< uint > > nAttrbs_
Definition: implicitEquilibratedAO.hh:409
concepts::Set< uint > dAttrbs_
Definition: implicitEquilibratedAO.hh:413
void buildlocalA_(const hp2D::hpAdaptiveSpaceH1 &spc_K, concepts::SparseMatrix< F > &A_K)
Definition: implicitEquilibratedAO.hh:570
void addNeumann(concepts::ParsedFormula< F > &frm, concepts::Set< uint > &set)
Add Neumann data since integration rountines later need that information.
Definition: moments.hh:64
void addInto(Matrix< H > &dest, const I fact, const uint rowoffset=0, const uint coloffset=0) const
This matrix is added as block to the given matrix dest.
Definition: sparseMatrix.hh:538
concepts::Sequence< concepts::BilinearForm< F > * > L_
Definition: implicitEquilibratedAO.hh:394
const concepts::SubspaceHelper< F, SpacePreBuilder > & helper() const
Definition: hpAdaptiveSpace.hh:89
Definition: estimator.hh:19
HashMap< Real >::const_iterator const_iterator
Definition: estimator.hh:96
Vectorial formula created from a FE function.
Definition: elementFormula.hh:145
Definition: moments.hh:48
void rebuild(bool sameIndices=false)
Rebuilds the mesh and the elements due to adjustment orders.
Sequence with operations, output operator, and method of the particular element types.
Definition: sequence.hh:39
void buildnonUniquelocalRhs_(const concepts::Quad &quad, const hp2D::hpAdaptiveSpaceH1 &spc_K, const hp2D::Fluxes &flux, const concepts::BoundaryConditions &bc, concepts::Vector< F > &rhs)
Definition: implicitEquilibratedAO.hh:508
virtual ~ImplicitEquilibratedA0Error()
Definition: implicitEquilibratedAO.hh:30
virtual Scan * scan() const
Returns a scanner to iterate over the elements of the space.
Definition: hpAdaptiveSpace.hh:263
void addDirichletInfo(const concepts::Set< uint > &attrb)
Adds Dirichletinfo.
Definition: implicitEquilibratedAO.hh:129
concepts::Sequence< concepts::LinearForm< F > * > B_
Definition: implicitEquilibratedAO.hh:387
bool buildlocalRhs_(const concepts::Quad &quad, const hp2D::hpAdaptiveSpaceH1 &spc_K, const hp2D::Fluxes &flux, const concepts::BoundaryConditions &bc, concepts::Vector< F > &rhs)
Definition: implicitEquilibratedAO.hh:421
virtual uint nelm() const
Returns the number of elements in the space.
Definition: hpAdaptiveSpace.hh:256
concepts::Set< uint > iAttrbs_
Definition: implicitEquilibratedAO.hh:415
Class to build up maps form Vertexkeys to EdgePatches or ElementPatches.
Definition: patches.hh:486
concepts::HashMap< uint > help_
Definition: implicitEquilibratedAO.hh:411
void addDirichlet(concepts::Set< uint > &set)
Add homogeneous dirichlet data since integration rountines later need that information.
Definition: moments.hh:84
void addBillinearInfo(concepts::BilinearForm< F > &bform, const F scalar=1)
Definition: implicitEquilibratedAO.hh:109
Definition: fluxes.hh:182
virtual ImplicitEquilibratedA0 * clone() const
Virtual constructor.
Definition: implicitEquilibratedAO.hh:376
concepts::LinearForm< F > & f_
Definition: implicitEquilibratedAO.hh:391
concepts::Sequence< F > scalars_
Definition: implicitEquilibratedAO.hh:389
void add(LinearForm< F, G > &lform, const F a=1)
Add routine to build up the local inner Residuals.
virtual void addCell(Cell *cell, bool holding=true)
Adds a cell to the mesh, which is by default hold by this object and will be deleted by its destructo...
Application of this class is to solve local Problems on one Quad.
Definition: fluxes.hh:59
std::string errorMessage_
Definition: implicitEquilibratedAO.hh:39
Definition: innerResidual.hh:54