13#include "function/vector.hh"
24 class FvdgP0TetGraphics;
25 class FvdgP1TetGraphics;
83 const uint edgeIdx)
const = 0;
90 const uint vertexIdx)
const = 0;
100 virtual std::ostream&
info(std::ostream& os)
const;
102 std::unique_ptr<concepts::TMatrixBase<Real> > T_;
104 static Real eta_[6][3];
154 const uint edgeIdx)
const {
155 return sol(T_->index(0));
163 const uint vertexIdx)
const {
164 return sol(T_->index(0));
170 virtual std::ostream&
info(std::ostream& os)
const;
222 const uint edgeIdx)
const;
229 const uint vertexIdx)
const;
234 virtual std::ostream&
info(std::ostream& os)
const;
257 enum graphicsType type,
260 virtual std::ostream&
info(std::ostream& os)
const;
269 enum graphicsType type,
272 virtual std::ostream&
info(std::ostream& os)
const;
Tetrahedron & connector() const
Returns the connector.
Real3d vertex(uint i) const
Returns the coordinates of the ith vertex.
const concepts::TMatrixBase< Real > & T() const
Returns the T matrix of this element.
virtual const concepts::Tetrahedron3d & cell() const
Returns the geometrical cell of this element.
virtual std::ostream & info(std::ostream &os) const
Returns cell and T matrix of this element.
FvdgElement(const concepts::Tetrahedron3d &cell, uint idx[], uint m)
Constructor.
virtual concepts::Real3d shapeFctGradient(const uint fctIdx) const =0
virtual Real solutionVertex(const concepts::Vector< Real > &sol, const uint vertexIdx) const =0
virtual Real solutionEdgeCenter(const concepts::Vector< Real > &sol, const uint edgeIdx) const =0
virtual const concepts::ElementGraphics< Real > * graphics() const =0
Returns the graphics object for the element.
virtual Real shapeFct(const uint fctIdx, const concepts::Real3d xi) const =0
virtual Real shapeFctEdgeCenter(const uint fctIdx, const uint edgeIdx) const =0
Real solution(const concepts::Vector< Real > &sol, const concepts::Real3d xi) const
virtual Real shapeFctVertex(const uint fctIdx, const uint vtxIdx) const =0
const concepts::Real3d vertex(const uint i) const
Returns the vertex with local index i in this element.
concepts::Real3d edgeCenter(uint edgeIdx) const
const concepts::Tetrahedron & support() const
Returns the topological support of this element.
Real shapeFctEdgeCenter(const uint fctIdx, const uint edgeIdx) const
FvdgP0TetElem(const concepts::Tetrahedron3d &cell, uint idx[])
const concepts::ElementGraphics< Real > * graphics() const
Returns the graphics object for the element.
Real shapeFctVertex(const uint fctIdx, const uint vtxIdx) const
virtual std::ostream & info(std::ostream &os) const
Returns cell and T matrix of this element.
Real solutionVertex(const concepts::Vector< Real > &sol, const uint vertexIdx) const
Real solutionEdgeCenter(const concepts::Vector< Real > &sol, const uint edgeIdx) const
static std::unique_ptr< FvdgP0TetGraphics > graphics_
Graphics object of the element.
Real shapeFct(const uint fctIdx, const concepts::Real3d xi) const
concepts::Real3d shapeFctGradient(const uint fctIdx) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
static uint nonVanishingNbr_[6]
Number of non vanishing shape function at edge centers.
static Real shapeFctEdgeCenter_[6][4]
Values of shape functions at edge centers.
static Real shapeFctGradient_[3][4]
Values of shape function gradients.
Real shapeFctEdgeCenter(const uint fctIdx, const uint edgeIdx) const
static std::unique_ptr< FvdgP1TetGraphics > graphics_
Graphics object of the element.
FvdgP1TetElem(const concepts::Tetrahedron3d &cell, uint idx[])
const concepts::ElementGraphics< Real > * graphics() const
Returns the graphics object for the element.
static Real shapeFctVertex_[4][4]
Values of shape functions at vertices.
virtual std::ostream & info(std::ostream &os) const
Returns cell and T matrix of this element.
Real shapeFctVertex(const uint fctIdx, const uint vtxIdx) const
concepts::Real3d shapeFctGradient(const uint fctIdx) const
static Real nonVanishingSign_[6]
Value of non vanishing shape function at edge centers.
Real shapeFct(const uint fctIdx, const concepts::Real3d xi) const
Real solutionEdgeCenter(const concepts::Vector< Real > &sol, const uint edgeIdx) const
Real solutionVertex(const concepts::Vector< Real > &sol, const uint vertexIdx) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
#define conceptsAssert(cond, exc)