cell2D.hh
index_type j_
Index of this element on the local level with respect to the element in the original mesh.
Definition: cell2D.hh:748
friend std::ostream & operator<<(std::ostream &os, const QuadNd::Index &i)
virtual Real gramDeterminantRoot(const Real xi, const Real eta) const =0
Returns the square root of the Gram determinant.
Mapping< F, DimX, DimY > inverse() const
Returns the inverse of the matrix.
virtual ~Triangle3d()
virtual ~Quad2dSubdiv2H()
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const QuadSubdiv4 * topologicalStrategy() const
Returns the respective topological subdivision strategy.
MapReal2d jacobian(const Real xi, const Real eta) const
Computes the Jacobian for xi, eta .
Triangle2d(Triangle &cntr, const MappingTriangle2d &map)
Constructor.
std::ostream & info(std::ostream &os) const
Quad2d(Quad &cntr, MappingQuad2d *map, const Index &idx)
Private constructor.
InfiniteQuad2d(InfiniteQuad &cntr, const Real2d &vtx0, const Real2d &vtx1)
Constructor.
MapReal2d jacobian(Real x, Real y) const
Returns the Jacobian in a 2D linear map.
F determinant() const
Returns the determinant of the matrix (only valid for square matrices)
Quad3d(const Quad3d &other)
Real3d elemMap(const Real2d &coord_local) const
Element map from point local coordinates in 2D.
Definition: cell2D.hh:447
virtual const QuadSubdiv2V * topologicalStrategy() const
Returns the respective topological subdivision strategy.
Quad2d * createChild_(Quad &cntr, const Index &idx, bool flag) const
Non-virtual form of the private createChild_() method.
index_type j_
Index of this element on the local level with respect to the element in the original mesh.
Definition: cell2D.hh:60
virtual ~InfiniteRect2d()
virtual ~Quad2dSubdiv4()
virtual ~Triangle2d()
static std::unique_ptr< Quad2dSubdiv2H > instance_
Definition: cell2D.hh:335
A infinite quadrilateral in the topology, which possess one Edge and two InfiniteEdges since one edge...
Definition: topology.hh:423
Real3d elemMap(const Real2d &coord_local) const
Element map from point local coordinates in 2D.
Definition: cell2D.hh:790
virtual ~Quad2d()
Interface for topological subdivision strategies for quadrilaterals.
Definition: quadsubdiv.hh:37
virtual void createChildren(Quad2d &q) const
If no children of q exist, they are created.
Index(uchar l, index_type i, index_type j)
Real faceElement(const Real xi, const Real eta) const
Returns the face element for the transformation at xi, eta .
friend std::ostream & operator<<(std::ostream &os, const Triangle3d::Index &i)
const Quad2dSubdivision * subdivStrategy_
Subdivision strategy for the quadrilateral.
Definition: cell2D.hh:585
const Quad2d * child(uint i, Real xi, Real eta, Real &xiC, Real &etaC) const
Returns a child.
Definition: cell2D.hh:420
virtual Real lineElement(const Real xi, const uint edge) const
Computes the differential element on an edge.
MapReal2d inverseLaplace(const Real xi, const Real eta) const
Computes the second partial derivatives of the inverse Mapping.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual Real2d chi(Real xi, Real eta) const =0
Exception indicating that changing the subdivision strategy is not allowed (but was tried anyway).
Definition: strategyChange.hh:25
MapReal2d jacobianInverse(const Real x, const Real y) const
Returns the inverse of the Jacobian in a 2D linear map.
virtual void createChildren(Quad2d &q) const =0
If no children of q exist, they are created.
Subdivision strategy for quadrilaterals which generates two children.
Definition: quadsubdiv.hh:117
static std::unique_ptr< Quad2dSubdiv2V > instance_
Definition: cell2D.hh:355
index_type j_
Index of this element on the local level with respect to the element in the original mesh.
Definition: cell2D.hh:215
virtual ~Quad2dSubdiv2V()
Real jacobianDeterminant(const Real x, const Real y) const
Returns determinant of the Jacobian.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
MapReal2d jacobianInverse(const Real xi, const Real eta) const
Returns the inverse of the Jacobian for xi, eta .
Definition: cell2D.hh:480
std::ostream & info(std::ostream &os) const
Triangle2d(Triangle &cntr, MappingTriangle2d *map, const Index &idx)
Private constructor.
InfiniteQuad & connector() const
Returns the quadrilateral connector (topology)
Definition: cell2D.hh:629
const Quad2dSubdivision * getStrategy() const
Returns the subdivision strategy of this quad.
Definition: cell2D.hh:559
Triangle2d * clone(Triangle &cntr, MappingTriangle2d *map) const
Returns a copy of itself.
Definition: cell2D.hh:148
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.
Definition: cell2D.hh:680
std::ostream & operator<<(std::ostream &os, const Level< dim > &c)
virtual ~Quad3d()
virtual void createChildren(Quad2d &q) const
If no children of q exist, they are created.
friend std::ostream & operator<<(std::ostream &os, const Triangle2d::Index &i)
MapReal2d jacobian(const concepts::Real2d &p) const
virtual void createChildren(Quad2d &q) const
If no children of q exist, they are created.
Triangle3d * clone(Triangle &cntr, MapTriangle3d *map) const
Returns a copy of itself.
Definition: cell2D.hh:802
Index(uchar l, index_type i, index_type j)
Subdivision strategy for quadrilaterals which generates two children.
Definition: cell2D.hh:346
index_type i_
Index of this element on the local level with respect to the element in the original mesh.
Definition: cell2D.hh:209
Subdivision strategy for quadrilaterals which generates two children.
Definition: quadsubdiv.hh:95
virtual Real lineElement(const Real xi, const uint edge) const
Real3d jacobianColumn(uint i, const Real xi, const Real eta) const
Computes the Jacobian for xi, eta .
virtual MapReal2d jacobian(const Real xi, const Real eta) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Index(uchar k, uchar l, index_type i, index_type j)
Definition: cell2D.hh:218
Real3d elemMap(const Real2d &coord_local) const
Element map from point local coordinates in 2D.
Definition: cell2D.hh:112
static const Quad2dSubdiv2V * instance()
Quad3d * clone(Quad &cntr, MappingQuad3d *map) const
Returns a copy of itself.
Definition: cell2D.hh:955
Interface for geometrical subdivision strategies for quadrilaterals.
Definition: cell2D.hh:283
Subdivision strategy for quadrilaterals which generates two children.
Definition: cell2D.hh:326
Real jacobianDeterminant(const Real xi, const Real eta) const
Returns the determinant of the Jacobian for xi, eta .
Definition: cell2D.hh:487
virtual Quad2d * createChild_(Quad &cntr, const Index &idx) const
Creates and returns a child.
index_type i_
Index of this element on the local level with respect to the element in the original mesh.
Definition: cell2D.hh:54
Real3d n0(Real xi, Real eta) const
Returns the normal vector on a point of the quad.
InfiniteRect2d * clone(InfiniteQuad &cntr, const Real2d &vtx0, const Real2d &vtx1) const
Returns a copy of itself.
Definition: cell2D.hh:691
const MappingQuad3d * map() const
Returns the stored element map (same for all family related to one ancestor).
Definition: cell2D.hh:952
Real3d elemMap(const Real2d &coord_local) const
Element map from point local coordinates in 2D.
Definition: cell2D.hh:898
virtual void setStrategy(const Quad2dSubdivision *strategy=0)
Sets the subdivision strategy of this quad.
Quad3d(Quad &cntr, MappingQuad3d *map, const Index &idx, const Z2 dir=0)
static const Quad2dSubdiv4 * instance()
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
static const Quad2dSubdiv2H * instance()
const MappingQuad2d * map() const
Returns the stored element map (same for all family related to one ancestor).
Definition: cell2D.hh:521
Subdivision strategy for quadrilaterals which generates four children.
Definition: quadsubdiv.hh:73
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
static std::unique_ptr< Quad2dSubdiv4 > instance_
Definition: cell2D.hh:315
Quad2d * clone(Quad &cntr, MappingQuad2d *map) const
Returns a copy of itself.
Definition: cell2D.hh:536
Quad3d * createChild_(Quad &cntr, const Index &idx, bool flag) const
Non-virtual form of the private createChild_() method.
Subdivision strategy for quadrilaterals which generates four children.
Definition: cell2D.hh:306
virtual Real gramDeterminantRoot(const Real xi, const Real eta) const
Returns the square root of the Gram determinant.
Definition: cell2D.hh:935
virtual Real lineElement(const Real xi, const uint edge) const =0
virtual const QuadSubdiv2H * topologicalStrategy() const
Returns the respective topological subdivision strategy.
virtual Quad3d * createChild_(Quad &cntr, const Index &idx) const
Subdivision strategy for the quadrilateral.
static Real2d duffyInv(const Real2d &x)
Maps coordinates from to to use them in chi.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Triangle3d(Triangle &cntr, MapTriangle3d *map, const Index &key)
Private constructor.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const QuadSubdivision * topologicalStrategy() const =0
Returns the respective topological subdivision strategy.
std::ostream & info(std::ostream &os) const
InfiniteRect2d(InfiniteQuad &cntr, const Real2d &vtx0, const Real2d &vtx1)
Constructor.
Quad3d & operator=(const Quad3d &other)
virtual Real gramDeterminantRoot(const Real xi, const Real eta) const
Returns the square root of the Gram determinant.
Definition: cell2D.hh:491
index_type i_
Index of this element on the local level with respect to the element in the original mesh.
Definition: cell2D.hh:742
virtual MapReal2d jacobian(const Real xi, const Real eta) const =0
Real3d vertex(uint i) const
Returns the coordinates of the ith vertex.
Quad2d(const Quad2d &other)
virtual void removeChildren(Quad2d &q) const
If there are children, they are removed.
Quad2d & operator=(const Quad2d &other)