formulafrmEformula.hh
Go to the documentation of this file.
521 //this is the maximal refinement level allowed here, maximal practical level should be around < 32.
840 void buildBoxCandidates_(const Point<Real, dim> P, concepts::Set<CellStripeElement<dim> >& box) const;
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: formulafrmEformula.hh:179
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: formulafrmEformula.hh:255
Basic template class for a tensor map vertex.
Definition: formulafrmEformula.hh:61
static uint max_lvl
Definition: formulafrmEformula.hh:522
virtual ~FormulaFromElementFormula()
Definition: formulafrmEformula.hh:567
virtual FormulaFromElementFormula< dim, F, G > * clone() const
const ElementWithCell< Real > * map
Definition: formulafrmEformula.hh:272
const uint cardF_2_
Square root of amount of interior points in a curved cell for distance evaluation.
Definition: formulafrmEformula.hh:648
bool compute0_(const typename JacobianCell< dim >::cell &cCell, const Point< Real, dim > &P, const Point< Real, dim > &cEta, const Real t, F &val) const
Evaluates the ElementFormula in the case of coarse Cell with key cKey has a local mapping.
void build_directMap_(const typename JacobianCell< dim >::cell *cell, const concepts::HashMap< const concepts::ElementWithCell< G > * > &mapToElm)
Method to build the O(1) access mapping defined via maxDoI .
bool isCoarse_(const typename JacobianCell< dim >::cell &cell)
bool allowPer_
Flag defining whether the destination mesh is considered periodic for the formula projection.
Definition: formulafrmEformula.hh:678
void buildBoxCandidates_(const Point< Real, dim > P, concepts::Set< CellStripeElement< dim > > &box) const
Build Boxes of Vertex Cells that contain the point P.
A 2D element map for a quadrilateral given by a the four vertices.
Definition: elementMaps.hh:818
PNF
Exc = 0, by default exception is thrown NaN = 1, if point is not found return a NaN Zero = 2,...
Definition: formulafrmEformula.hh:531
const JacobianCell< dim >::cell * lastCoarseCell_
last coarse cell to avoid dynamic cast
Definition: formulafrmEformula.hh:660
Set with operations, output operator, and method of the particular element types.
Definition: traces.hh:18
Point< Real, dim > O_
Origin of the periodic box, in a case of a periodic formula projection.
Definition: formulafrmEformula.hh:681
void setPNF(PNF pnf)
Sets the behaviour of the class in the case when a requested point is not found, e....
Definition: formulafrmEformula.hh:617
#define conceptsAssert(cond, exc)
Assert that a certain condition is fulfilled.
Definition: exceptions.hh:394
Set< uint > mapCCells_
Keys of all coarse cells that provide local mapping.
Definition: formulafrmEformula.hh:750
CellStripeElement(const typename JacobianCell< dimC >::cell &cell)
Definition: formulafrmEformula.hh:88
const concepts::RCP< const concepts::Set< uint > > s_attrb_
Source attributes.
Definition: formulafrmEformula.hh:634
Projection class that allows to project an ElementFormula (i.e.
Definition: formulafrmEformula.hh:518
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: formulafrmEformula.hh:104
const concepts::ElementFormulaContainer< F, G > u_
The original projected formula.
Definition: formulafrmEformula.hh:631
const Point< Real, dim > shift_
Shift box, from destination mesh to source mesh.
Definition: formulafrmEformula.hh:641
const uint maxDoI_
Determines the internal map for resolving meshes with hanging nodes.
Definition: formulafrmEformula.hh:688
virtual std::ostream & info(std::ostream &os) const
Definition: formulafrmEformula.hh:623
CellBox(const typename JacobianCell< dimC >::cell &cell)
Definition: formulafrmEformula.hh:128
void getChild(const typename JacobianCell< dimC >::cell &cCell, const Point< Real, dimC > &eta, const std::array< Real, std::size_t(dimC)> x0, const std::array< Real, std::size_t(dimC)> xN, const typename JacobianCell< dimC >::cell *&cld)
Searches through the dichotomic tree cell hierachy to find the unique child cell that is defined via ...
const Real interior_
Interior in . Defines projection rule, meant to be very small.
Definition: formulafrmEformula.hh:650
std::pair< concepts::Set< CellBox< 1 > >, Real > map
Definition: formulafrmEformula.hh:283
void add(const ElementWithCell< H > *elm, const uint(&idx)[dimC])
const JacobianCell< dimC >::cell & cell
Definition: formulafrmEformula.hh:99
const ElementWithCell< G > * lastElm_
Definition: formulafrmEformula.hh:654
CellMap(const CellMap< dimC, H > &map)
concepts::MapHexahedron3d vtxmap
Definition: formulafrmEformula.hh:75
bool operator==(CCell_F_dist ccF_d) const
Definition: formulafrmEformula.hh:243
A multivector in dimension dimC with const pointer entries.
Definition: formulafrmEformula.hh:265
void shift_DBox_(const Point< Real, dim > &p, Point< Real, dim > &P) const
shifts the physical point to the default periodic box out of the destination mesh,...
CCell_F_dist(const CCell_F< dimC > &ccF, const Point< Real, dimC > &P)
Definition: formulafrmEformula.hh:236
const concepts::RCP< const concepts::Set< uint > > d_attrb_
Destination attributes.
Definition: formulafrmEformula.hh:636
Interface class for SpacesOnCells that also allow for allCells(), that i.e.
Definition: space.hh:127
F compute_(const Point< Real, dim > &p, const Real t) const
Internal evaluation of local coordinate in the source space and its corresponding element.
concepts::Set< CCell_F< dim > > rCC_
Remaining coarse cells that do not provide box design, i.e. non vertex.
Definition: formulafrmEformula.hh:748
virtual bool operator==(const CellStripeElement< dimC > &sb) const
Definition: formulafrmEformula.hh:95
Sequence with operations, output operator, and method of the particular element types.
Definition: sequence.hh:39
std::complex< Real > Cmplx
Type for a complex number. It also depends on the setting of Real.
Definition: typedefs.hh:39
F handlePNF_() const
FormulaFromElementFormula(const concepts::ElementFormulaContainer< F, G > frm, const concepts::RCP< const concepts::Set< uint > > s_attrb, const concepts::RCP< const concepts::Set< uint > > d_attrb, const Point< Real, dim > scale, const Point< Real, dim > shift, const uint N, const uint cardF_2, const Real tol, const Real interior, const concepts::Set< CellBox< dim > > cBoxes, const concepts::Set< CCell_F< dim > > rCC, const bool allowPer, const Point< Real, dim > O, const Point< Real, dim > eL, const Set< uint > mapCCells, const Set< const typename JacobianCell< dim >::cell * > coarsestCell, const Set< const typename JacobianCell< dim >::cell * > irrCCells, const concepts::HashMap< CellMap< dim, G > > mapToFinestElm, const uint maxDoI, const PNF pnf, const HashMap< HashMap< const concepts::ElementWithCell< G > * > > coarseToElm)
bool operator<(CCell_F_dist ccF_d) const
Definition: formulafrmEformula.hh:247
Definition: hashMap.hh:19
virtual bool operator<(const CellBox< dimC > &box) const
The Operator ensures that if a coordinate x > minX[0], then all following boxes in a set also have th...
const Point< Real, dim > scale_
Scaling box, from destination mesh to source mesh.
Definition: formulafrmEformula.hh:639
Point< Real, dim > eL_
Size of the periodic box, in a case of a periodic formula projection.
Definition: formulafrmEformula.hh:683
Set< const typename JacobianCell< dim >::cell * > coarsestCell_
Set of coarsest cells.
Definition: formulafrmEformula.hh:696
std::pair< concepts::Set< CellBox< 2 > >, Real > map
Definition: formulafrmEformula.hh:287
void computeF()
Struct that provides a CCell_F object together with a heuristic distance between given point to the ...
Definition: formulafrmEformula.hh:235
bool compute1_(const typename JacobianCell< dim >::cell &cCell, const Point< Real, dim > &P, const Point< Real, dim > &cEta, const Real t, F &val) const
Evaluates the ElementFormula in the case of coarse Cell using quasi-binary search in the dichotomic t...
CellMap()
Definition: space.hh:102
const ElementWithCell< H > * get(const uint(&idx)[dimC])
CCell_F(const typename JacobianCell< dimC >::cell &cell, const uint cardF=2)
Definition: formulafrmEformula.hh:198
void getExtremalLevel(const typename JacobianCell< dim >::cell *cell, uint(&maxL)[dim], uint(&minL)[dim])
Z2 cCellType_
type of last Coarse Cell 0 = Coarse Cell with mapping => O(1) search 1 = Coarse cell has no boxing =>...
Definition: formulafrmEformula.hh:674
concepts::HashMap< CellMap< dim, G > > mapToFinestElm_
Definition: formulafrmEformula.hh:735
void addElements_(const uint cKey, const typename JacobianCell< dim >::cell &cell, const HashMap< const concepts::ElementWithCell< G > * > &mapToElm, HashMap< HashMap< const concepts::ElementWithCell< G > * > > &cCtE)
void allowPeriodicity(const Point< Real, dim > &O, const Point< Real, dim > &eL)
This method allows for periodic destination meshes.
MultiVector< dimC, const ElementWithCell< H > * >::map map
Definition: formulafrmEformula.hh:329
CellBox(const typename JacobianCell< dimC >::cell &cell, Real xMax)
Definition: formulafrmEformula.hh:145
HashMap< HashMap< const concepts::ElementWithCell< G > * > > coarseToElm_
maps from coarse cell key to all finest element children belonging to that coarse cell; this is kind ...
Definition: formulafrmEformula.hh:741
virtual bool operator==(const CellBox< dimC > &box) const
Definition: formulafrmEformula.hh:166
const ElementWithCell< Cmplx > * map
Definition: formulafrmEformula.hh:276
void setLocalMap_(const typename JacobianCell< dim >::cell *coarseCell, const HashMap< const ElementWithCell< G > * > &mapToElm, CellMap< dim, G > &map, const std::array< uint, dim > idxL, const std::array< uint, dim > idxR) const
Exception class to handle errors in the FormulaFromElementFormula class.
Definition: formulafrmEformula.hh:345
Set< const typename JacobianCell< dim >::cell * > irrCCells_
Set of coarsest cells that have an irregular children refinement pattern with irregular degree bigger...
Definition: formulafrmEformula.hh:700
std::pair< concepts::Set< CellBox< 3 > >, Real > map
Definition: formulafrmEformula.hh:291
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: formulafrmEformula.hh:332
virtual const char * what() const
void resize(const uint(&maxlevel)[dimC])
virtual F operator()(const Real p, const Real t=0.0) const
Application operator.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: formulafrmEformula.hh:222
const JacobianCell< dim >::cell * lastCell_
last cell to avoid dynamic cast
Definition: formulafrmEformula.hh:657
Curved Cell struct that holds a physical non-vertex cell with a finite number of setted point evaluat...
Definition: formulafrmEformula.hh:196
std::vector< typename MultiVector< dimC-1, const concepts::ElementWithCell< H > * >::map > map
Definition: formulafrmEformula.hh:298
bool getOrigPoint_(const typename JacobianCell< dim >::cell &cell, const Point< Real, dim > P, Point< Real, dim > &eta, const uint N, const Real interior, const Point< Real, dim > &x0=Real3d(0.49, 0.51, 0.49)) const
Projected Newton scheme based on the parameter interior.
bool operator==(CCell_F cCF) const
Definition: formulafrmEformula.hh:205
concepts::Set< CellBox< dim > > cBoxes_
Coarse boxes of vertex coarse cells.
Definition: formulafrmEformula.hh:745
bool checkCCells_(const std::set< typename CellType< dim >::cell * > &allCell, typename std::set< typename CellType< dim >::cell * >::const_iterator iter)
Method checks for the preassumed of ordered Cells, starting with coarsest cells, then finer ones etc.
FormulaFromElementFormula(const concepts::ElementFormulaContainer< F, G > frm, const concepts::SpaceOnCoarseCells< dim, G > &sSpc, const Set< uint > *s_attrb=0, const Set< uint > *d_attrb=0, const Point< Real, dim > scale=Point< Real, dim >(1), const Point< Real, dim > shift=Point< Real, dim >(0), const uint N=10, const uint cardF_2=2, const Real tol=EPS, const Real interior=0.00000001, const uint maxDoI=3)
Constructor of the projection.
concepts::VertexQuad2d vtxmap
Definition: formulafrmEformula.hh:70
concepts::MapEdge1d vtxmap
Definition: formulafrmEformula.hh:65
virtual bool operator<(const CellStripeElement< dimC > &sb) const
Definition: formulafrmEformula.hh:91
FFEF_Error(const std::string &file, const unsigned int line, const std::string &function, const std::string &errorMessage)
Constructor.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.