49 inline const ushort*
p()
const
59 return shpfctX_t_.get();
66 return shpfctY_t_.get();
74 return shpfctX_n_.get();
82 return shpfctY_n_.get();
90 return shpfctDX_n_.get();
97 return shpfctDY_n_.get();
108 std::unique_ptr<hp2D::KarniadakisDeriv2> shpfctX_t_, shpfctY_t_;
110 std::unique_ptr<concepts::Karniadakis<1, 0> > shpfctX_n_, shpfctY_n_;
112 std::unique_ptr<concepts::Karniadakis<1, 1> > shpfctDX_n_, shpfctDY_n_;
127 template<
class F = Real>
148 virtual std::ostream&
info(std::ostream& os)
const;
151 static std::unique_ptr<concepts::ElementGraphics<F> > graphics_;
161 template<
class F = Real>
176 return i ?
chi(1.0) :
chi(0.0);
181 return *elm_.cell().connector().edge(k_);
185 inline const ushort
edge()
const
205 return k_ % 3 == 0 ? -1.0 : 1.0;
235 return elm_.chi(x[0], x[1]);
244 return elm_.jacobian(x[0], x[1]);
264 return elm_.cell().lineElement(t, k_) * 0.5;
273 virtual std::ostream&
info(std::ostream& os)
const;
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 const concepts::QuadNd & cell() const
Returns the cell on which the element is built.
virtual const concepts::TMatrixBase< F > & T() const
T-Matrix of the appropiate Quad, not used.
const ushort edge() const
Returns number of the edge.
const Quad< F > & elm() const
Returns element.
const Real sign() const
Returns sign of outer normal vector, e.g. left edge -1, right edge +1.
concepts::MapReal2d jacobian(const Real t) const
const concepts::QuadratureRule1d * integration() const
Returns the integration rule.
concepts::Real2d localCoords(const Real t) const
coordinate of point on the edge inside reference element [0,1]^2
concepts::Real2d chi(const Real t) const
concepts::MapReal2d jacobianInverse(const Real t) const
Computes the inverse of the Jacobian.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
const ushort direction() const
Returns direction of edge on reference quad [0,1]^2, 0 - x, 1 - y.
Real diffElement(const Real t) const
Computes the differential element for integration over [-1,1].
Edge(const Quad< F > &elm, const ushort k)
Real jacobianDeterminant(const Real t) const
Computes the determinant of the Jacobian.
void computeShapefunctions_(const concepts::QuadratureRule2d *intRule)
gets the shapefunctions, used in both constructors
QuadEdgeFunctions(const ushort *p, const concepts::QuadratureRule2d *intRule)
virtual ~QuadEdgeFunctions()
Destructor.
QuadEdgeFunctions(const ushort p, const concepts::QuadratureRule2d *intRule)
Quad(concepts::Quad2d &cell, ushort *p, concepts::TColumn< F > *T0, concepts::TColumn< F > *T1)
void recomputeShapefunctions()
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const concepts::ElementGraphics< F > * graphics() const
Returns element graphics class.
#define conceptsAssert(cond, exc)