39 typedef uint index_type;
43 static uint MAX_LEVEL;
64 std::ostream& info(std::ostream&
os)
const;
67 friend std::ostream& operator<<(std::ostream&
os,
157 virtual std::ostream&
info(std::ostream&
os)
const;
194 typedef uint index_type;
198 static uint MAX_LEVEL;
220 std::ostream& info(std::ostream&
os)
const;
227 friend std::ostream& operator<<(std::ostream&
os,
228 const QuadNd::Index& i);
250 virtual Real lineElement(
const Real xi,
const uint edge)
const = 0;
313 virtual std::ostream&
info(std::ostream&
os)
const;
315 static std::unique_ptr<Quad2dSubdiv4> instance_;
333 virtual std::ostream&
info(std::ostream&
os)
const;
335 static std::unique_ptr<Quad2dSubdiv2H> instance_;
353 virtual std::ostream&
info(std::ostream&
os)
const;
355 static std::unique_ptr<Quad2dSubdiv2V> instance_;
409 inline bool hasChildren()
const {
return chld_ != 0; }
422 if (chld == 0)
return 0;
562 virtual std::ostream&
info(std::ostream&
os)
const;
630 virtual std::ostream&
info(std::ostream&
os)
const;
668 inline bool hasChildren()
const {
return chld_ != 0; }
697 virtual std::ostream&
info(std::ostream&
os)
const;
726 typedef uint index_type;
730 static uint MAX_LEVEL;
751 std::ostream& info(std::ostream&
os)
const;
754 friend std::ostream& operator<<(std::ostream&
os,
804 virtual std::ostream&
info(std::ostream&
os)
const;
886 inline bool hasChildren()
const {
return chld_ != 0; }
986 virtual std::ostream&
info(std::ostream&
os)
const;
Real3d vertex(uint i) const
Returns the coordinates of the ith vertex.
InfiniteQuad2d(InfiniteQuad &cntr, const Real2d &vtx0, const Real2d &vtx1)
InfiniteQuad & connector() const
Returns the quadrilateral connector (topology)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const InfiniteRect2d * child(uint i) const
virtual Real2d chi(Real xi, Real eta) const
InfiniteRect2d(InfiniteQuad &cntr, const Real2d &vtx0, const Real2d &vtx1)
InfiniteRect2d * clone(InfiniteQuad &cntr, const Real2d &vtx0, const Real2d &vtx1) const
Returns a copy of itself.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Real3d elemMap(const Real2d &coord_local) const
Element map from point local coordinates in 2D.
virtual InfiniteRect2d * child(uint i)
Real3d center() const
Makes no sense. Calling throws an exception.
Mapping< F, DimX, DimY > inverse() const
Returns the inverse of the matrix.
F determinant() const
Returns the determinant of the matrix (only valid for square matrices)
virtual void createChildren(Quad2d &q) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const QuadSubdiv2H * topologicalStrategy() const
virtual void createChildren(Quad2d &q) const
virtual const QuadSubdiv2V * topologicalStrategy() const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual void createChildren(Quad2d &q) const
virtual const QuadSubdiv4 * topologicalStrategy() const
virtual void removeChildren(Quad2d &q) const
virtual void createChildren(Quad2d &q) const =0
virtual const QuadSubdivision * topologicalStrategy() const =0
virtual const Quad2d * child(uint i) const
virtual Real gramDeterminantRoot(const Real xi, const Real eta) const
const MappingQuad2d * map() const
Real2d chi(Real xi, Real eta) const
Quad2d(Quad &cntr, const MappingQuad2d &map)
MapReal2d inverseLaplace(const Real xi, const Real eta) const
const Quad2d * child(uint i, Real xi, Real eta, Real &xiC, Real &etaC) const
MapReal2d jacobianInverse(const Real xi, const Real eta) const
Returns the inverse of the Jacobian for xi, eta .
Real jacobianDeterminant(const Real xi, const Real eta) const
Quad2d * createChild_(Quad &cntr, const Index &idx, bool flag) const
MappingQuad2d * map_
Pointer to the element map.
Real3d elemMap(const Real2d &coord_local) const
Element map from point local coordinates in 2D.
MapReal2d jacobian(const Real xi, const Real eta) const
Quad2d * clone(Quad &cntr, MappingQuad2d *map) const
Returns a copy of itself.
Real3d center() const
Returns the center of the cell.
const Quad2dSubdivision * getStrategy() const
virtual void setStrategy(const Quad2dSubdivision *strategy=0)
MappingEdge2d * edgeMap(uint edge) const
virtual Real lineElement(const Real xi, const uint edge) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Real3d vertex(uint i) const
Returns the coordinates of the ith vertex.
Quad2d(Quad &cntr, MappingQuad2d *map, const Index &idx)
Private constructor.
virtual Quad2d * child(uint i)
virtual Real gramDeterminantRoot(const Real xi, const Real eta) const
Real3d elemMap(const Real2d &coord_local) const
Element map from point local coordinates in 2D.
const MappingQuad3d * map() const
Real3d jacobianColumn(uint i, const Real xi, const Real eta) const
Quad3d * clone(Quad &cntr, MappingQuad3d *map) const
Returns a copy of itself.
Quad3d * createChild_(Quad &cntr, const Index &idx, bool flag) const
Quad3d(Quad &cntr, const MappingQuad3d &map, const Z2 dir=0)
MappingQuad3d * map_
Pointer to the element map.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Real3d vertex(uint i) const
Returns the coordinates of the ith vertex.
Real3d n0(Real xi, Real eta) const
virtual const Quad3d * child(uint i) const
Real3d chi(Real xi, Real eta) const
Real faceElement(const Real xi, const Real eta) const
Real3d center() const
Returns the center of the cell.
virtual Quad3d * child(uint i)
Quad & connector() const
Returns the quadrilateral connector (topology)
Index idx_
Index of this element.
virtual Real gramDeterminantRoot(const Real xi, const Real eta) const =0
Quad & cntr_
Reference to the quadrilateral connector (topology)
virtual uint dim() const =0
const MappingTriangle2d * map() const
Returns the element map.
Real jacobianDeterminant(const Real x, const Real y) const
Real3d vertex(uint i) const
Returns the coordinates of the ith vertex.
Real3d elemMap(const Real2d &coord_local) const
Element map from point local coordinates in 2D.
static Real2d duffyInv(const Real2d &x)
Triangle & connector() const
Returns the triangle connector (topology)
virtual Triangle2d * child(uint i)
Real2d chi(Real xi, Real eta) const
virtual const Triangle2d * child(uint i) const
Triangle2d * clone(Triangle &cntr, MappingTriangle2d *map) const
Returns a copy of itself.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
MapReal2d jacobian(Real x, Real y) const
MapReal2d jacobianInverse(const Real x, const Real y) const
Real area() const
Returns the area of the element.
Real3d center() const
Returns the center of the cell.
Triangle2d(Triangle &cntr, const MappingTriangle2d &map)
Real3d elemMap(const Real2d &coord_local) const
Element map from point local coordinates in 2D.
const MapTriangle3d * map() const
Returns the element map.
Triangle3d * clone(Triangle &cntr, MapTriangle3d *map) const
Returns a copy of itself.
Real3d center() const
Returns the center of the cell.
Real3d chi(Real xi, Real eta) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const Triangle3d * child(uint i) const
Triangle & connector() const
Returns the triangle connector (topology)
Real3d vertex(uint i) const
Returns the coordinates of the ith vertex.
Triangle3d(Triangle &cntr, const MapTriangle3d &map)
virtual Triangle3d * child(uint i)
Set< F > makeSet(uint n, const F &first,...)
unsigned short ushort
Abbreviation for unsigned short.
unsigned char uchar
Abbreviation for unsigned char.
Subclass of QuadNd representing its index.
Level< 2 > level_
Level of this element.
Subclass of Triangle2d representing its index.
uchar l_
Level of this element.
Subclass of Quad2d representing its index.
uchar l_
Level of this element.