concepts::CellDiameter Class Reference
Class representing a map of diameters of elements of a given Space. More...
#include <diameter.hh>
Public Types | |
enum | type { LINE, PLANE, FIGURE } |
Public Member Functions | |
CellDiameter (const Cell &cell, const enum type typ, bool square=false) | |
Constructor to compute diameter of type typ out of a Cell \cell. More... | |
template<class F > | |
CellDiameter (const concepts::SpaceOnCells< F > &spc, const enum type typ, bool square=false) | |
Constructor getting a Space of Elements, i.e. More... | |
const Real | operator() (uint key) const |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
Private Member Functions | |
bool | compute_ (const Cell1 *cell1, enum type typ) |
Computes the diameter out of given cell cell1 for requested type typ . More... | |
bool | compute_ (const Cell2 *cell2, enum type typ) |
Computes the diameter out of given cell cell2 for requested type typ . More... | |
bool | compute_ (const Cell3 *cell3, enum type typ) |
Computes the diameter out of given cell cell3 for requested type typ . More... | |
const std::string | typeStr_ () const |
Private Attributes | |
concepts::HashMap< Real > | diam_ |
bool | square_ |
enum type | type_ |
Detailed Description
Class representing a map of diameters of elements of a given Space.
At the moment just Straight Elements have computable diameter. To go to general curvature elements, a convex hull algorithm is needed to compute the diameter, since the diameter of a solid set is the diameter of the convex hull of this set.
The Diameter implementation is motivated by the Paper
"An hp-finite element adaptive scheme to solve the poisson problem on curved domains" by M.G. Armentano, C. Padra, M. Scheble
edge size are not exactly but 3-Point approximated.
Definition at line 43 of file diameter.hh.
Member Enumeration Documentation
◆ type
Enumerator | |
---|---|
LINE | |
PLANE | |
FIGURE |
Definition at line 48 of file diameter.hh.
Constructor & Destructor Documentation
◆ CellDiameter() [1/2]
concepts::CellDiameter::CellDiameter | ( | const concepts::SpaceOnCells< F > & | spc, |
const enum type | typ, | ||
bool | square = false |
||
) |
Constructor getting a Space of Elements, i.e.
a hpAdaptiveSpace, TraceSpace, etc. creating a map of all element's keys to its diameter.
The constructor is downward compatible, e.g. a constructor call with a Space with 2D manifold cells and a enum call of 1D Manifold, creates a mapping of 1D manifolds to its diamters. This applicates when no lower dimensional Space is in hand, i.e. a TraceSpace for an AdaptiveSpace.
- Parameters
-
spc Space of 1D 2D or 3D ElementWithCells. typ typ of the diameter to be computed square marker that is set to true if all ElementWithCells are Squares (Cubes)
◆ CellDiameter() [2/2]
Member Function Documentation
◆ compute_() [1/3]
Computes the diameter out of given cell cell1
for requested type typ
.
Returns false if cell1 is null.
◆ compute_() [2/3]
Computes the diameter out of given cell cell2
for requested type typ
.
Returns false if cell2 is null.
◆ compute_() [3/3]
Computes the diameter out of given cell cell3
for requested type typ
.
Returns false if cell3 is null.
◆ info()
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
◆ operator()()
const Real concepts::CellDiameter::operator() | ( | uint | key | ) | const |
◆ typeStr_()
|
private |
Member Data Documentation
◆ diam_
|
private |
Definition at line 101 of file diameter.hh.
◆ square_
|
private |
Definition at line 98 of file diameter.hh.
◆ type_
|
private |
Definition at line 93 of file diameter.hh.
The documentation for this class was generated from the following file:
- geometry/diameter.hh