buergDoerfler.hh
Go to the documentation of this file.
145 //maps from finer cell key to pointprojection data, i.e quad child number, father quad of original space
146 // which ie. has T matrix, and subdevision info, used for the application operators for integration
159 class LocalProjections_S : public LocalProjectionBase<F,H>, public concepts::ElementFormula<F, H >{
175 virtual F operator() (const concepts::ElementWithCell<H>& elm, const Real p, const Real t = 0.0) const;
177 virtual F operator() (const concepts::ElementWithCell<H>& elm, const concepts::Real2d& p,const Real t = 0.0) const;
179 virtual F operator() (const concepts::ElementWithCell<H>& elm, const concepts::Real3d& p, const Real t = 0.0) const;
204 class LocalProjections_P : public LocalProjectionBase<F,H>, public concepts::ElementFormula<concepts::Point<F,dim>, H >{ //concepts::ElementFormula<concepts::Point<F,dim>,H>{ //for vectorvalued
231 LocalMesh2& locMsh, //TODO: Evtl den space nehmen nicht local Mesh, damit sichergestellt wird dass nicht falsches mesh evaluiert wird da kinder dann gar nicht vorhanden
243 virtual concepts::Point<F,dim> operator() (const concepts::ElementWithCell<H>& elm, const Real p, const Real t = 0.0) const;
245 virtual concepts::Point<F,dim> operator() (const concepts::ElementWithCell<H>& elm, const concepts::Real2d& p,const Real t = 0.0) const;
247 virtual concepts::Point<F,dim> operator() (const concepts::ElementWithCell<H>& elm, const concepts::Real3d& p, const Real t = 0.0) const;
249 virtual LocalProjections_P<dim,F,H>* clone() const{ return new LocalProjections_P<dim,F,H>(*this);}
275 BuergDoerfler(const concepts::SpaceOnCells<Real>& spc, const LocalEstimator<F>& estimator, const concepts::Vector<F>& sol);
PointProjection()
Definition: buergDoerfler.hh:125
const LocalEstimator< F > & estimator_
Definition: buergDoerfler.hh:335
Definition: meshGraph.hh:178
concepts::HashMap< const hp2D::Quad< Real > * > elms_
Definition: buergDoerfler.hh:88
hp2D::hpFull * p1Pattern_(concepts::Mesh2 &msh, uint K, const hp2D::hpFull &globPrebuild)
hp2D::hpFull * hbisectPattern_(concepts::Mesh2 &msh, uint K, const hp2D::hpFull &globPrebuild)
An abstract class for a function in a FE space.
Definition: elementFormula.hh:25
virtual LocalProjections_P< dim, F, H > * clone() const
Virtual copy constructor.
Definition: buergDoerfler.hh:249
S(concepts::HashMap< concepts::Quad2d * > &cells)
Definition: buergDoerfler.hh:67
BuergDoerfler(const concepts::SpaceOnCells< Real > &spc, const LocalEstimator< F > &estimator, const concepts::Vector< F > &sol)
concepts::HashMap< concepts::Quad * > qMap_
Definition: buergDoerfler.hh:80
LocalProjectionBase()
void buildRefinement(const Marking< F > &mark, const LocalEstimator< F > &estimator)
concepts::HashMap< concepts::Quad2d * >::iterator iter_
Definition: buergDoerfler.hh:64
void compute_()
Definition: buergDoerfler.hh:18
void compute_H4Iso_Ind_K(LocalMesh2 &localMesh, uint K, Real n_K, const hp2D::hpFull &globPrebuild, concepts::BoundaryConditions &bc)
concepts::HashMap< concepts::Edge * > eMap_
Definition: buergDoerfler.hh:79
concepts::HashMap< Real > indicator_P1Iso_
Definition: buergDoerfler.hh:304
LocalProjections_S(const LocalProjections_S< F, H > &frm)
Definition: buergDoerfler.hh:63
enum pattern type_
Definition: buergDoerfler.hh:409
virtual F operator()(const concepts::ElementWithCell< H > &elm, const Real p, const Real t=0.0) const
void addLhs(const concepts::BilinearForm< F > &, const Real c=1)
Helper class for building 2D hp-FEM spaces (space pre builder).
Definition: spacePreBuilder.hh:168
LocalProjections_P(const enum pattern pat, const concepts::HashMap< const hp2D::Quad< H > * > &source, LocalMesh2 &locMsh, const concepts::Vector< F > &sol, const concepts::ElementFunction< F, H > &f)
Constructor sources are the original elements that i.e.
LocalMesh2(const concepts::MeshGraph2 &meshGraph, uint K)
PointProjection & operator=(const PointProjection &pP)
concepts::HashMap< uint > dofs_H4_
Definition: buergDoerfler.hh:312
weightedIndictor(uint K, Real sup, enum pattern pat)
const hp2D::Quad< H > * elm
Definition: buergDoerfler.hh:141
std::auto_ptr< concepts::ElementFunction< F, H > > f_
Definition: buergDoerfler.hh:257
virtual LocalProjections_S< F, H > * clone() const
Virtual copy constructor.
Definition: buergDoerfler.hh:182
LocalProjections_S(const enum pattern pat, const concepts::HashMap< const hp2D::Quad< H > * > &source, LocalMesh2 &locMsh, const concepts::Vector< F > &sol, const concepts::ElementFunction< F, H > &f)
virtual std::ostream & info(std::ostream &os) const
virtual concepts::Point< F, dim > operator()(const concepts::ElementWithCell< H > &elm, const Real p, const Real t=0.0) const
void addP1ISO_(const concepts::HashMap< const hp2D::Quad< H > * > &source, LocalMesh2 &locMsh, const concepts::Vector< F > &sol)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
void addH4_(const concepts::HashMap< const hp2D::Quad< H > * > &source, LocalMesh2 &locMsh, const concepts::Vector< F > &sol)
concepts::Scan2 * scan()
Returns a scanner over the cells of the mesh.
Definition: buergDoerfler.hh:57
concepts::HashMap< concepts::Vertex * > vMap_
Definition: buergDoerfler.hh:78
const concepts::HashMap< const hp2D::Quad< Real > * > & sources() const
Definition: buergDoerfler.hh:54
concepts::Sequence< const concepts::ElementFormula< F > * > rhs_f_
Definition: buergDoerfler.hh:321
Interface for a formula defined element by element.
Definition: elementFormula.hh:35
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
bool operator<(const weightedIndictor &wI) const
const concepts::SpaceOnCells< Real > & spc_
Definition: buergDoerfler.hh:330
An abstract class for scanning a mesh (a set of cells) or a space (a set of elements).
Definition: scannerConnectors.hh:29
concepts::Cell2 & operator++(int)
Returns the next element in the scanned set.
Definition: buergDoerfler.hh:72
virtual ~LocalProjections_S()
concepts::HashMap< Real > sup_P1Iso_
Definition: buergDoerfler.hh:309
Sequence with operations, output operator, and method of the particular element types.
Definition: sequence.hh:39
concepts::HashMap< concepts::Quad2d * > & cells_
Definition: buergDoerfler.hh:65
__gnu_cxx::hash_map< uint, PointProjection > data_
Definition: buergDoerfler.hh:148
concepts::HashMap< uint > dofs_P1Iso_
Definition: buergDoerfler.hh:313
concepts::HashMap< concepts::Quad2d * > cMap_
Definition: buergDoerfler.hh:81
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual ~LocalProjections_P()
Definition: hashMap.hh:19
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
void addRhs_f(const concepts::ElementFormula< F > &f, const Real c=1)
This adds the information of the right hand side on the domain.
LocalProjections_P(const LocalProjections_P< dim, F, H > &frm)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: buergDoerfler.hh:59
LocalProjectionBase(enum pattern pat)
concepts::HashMap< Real > indicator_H4_
Definition: buergDoerfler.hh:302
~LocalMesh2()
This is a local Neighboorhood Mesh (i.e regular) of a given node (key = K), which content is a space ...
Definition: buergDoerfler.hh:44
Class representing the hp marking strategy proposed by Buerg in this dissertation.
Definition: buergDoerfler.hh:271
void addRhs_g(const concepts::ElementFormula< F > &g, const concepts::Set< uint > &set)
void compute()
enum subType sub
Definition: buergDoerfler.hh:139
concepts::HashMap< concepts::Array< F > > coeffs_
Definition: buergDoerfler.hh:105
void operator()(concepts::Real2d &p) const
Actual refinement hp rule that generalizes dörflers bulk marking.
Definition: buergDoerfler.hh:385
PointProjection(enum subType qs, uint i, const hp2D::Quad< H > *elm)
std::auto_ptr< concepts::ElementFunction< F, H > > f_
Definition: buergDoerfler.hh:193
void compute_P1Iso_Ind_K(LocalMesh2 &localMesh, uint K, Real n_K, const hp2D::hpFull &globPrebuild, concepts::BoundaryConditions &bc)
bool operator==(const weightedIndictor &wI) const