28 class HexahedronGraphics;
62 return shpfctX_.get();
66 return shpfctY_.get();
70 return shpfctZ_.get();
75 return shpfctDX_.get();
79 return shpfctDY_.get();
83 return shpfctDZ_.get();
102 const Real z)
const {
103 return cell_.
chi(x, y, z);
108 const Real z)
const {
116 const Real z)
const {
122 const Real z)
const {
127 const Real z)
const {
198 bool localCoord)
const;
200 void recomputeShapefunctions();
201 void recomputeShapefunctions(
const uint nq[2]);
203 virtual std::ostream&
info(std::ostream& os)
const;
212 std::unique_ptr<concepts::Karniadakis<1, 0> > shpfctX_, shpfctY_, shpfctZ_;
214 std::unique_ptr<concepts::Karniadakis<1, 1> > shpfctDX_, shpfctDY_, shpfctDZ_;
216 std::unique_ptr<concepts::QuadratureRule1d> intX_, intY_, intZ_;
223 static std::unique_ptr<HexahedronGraphics> graphics_;
Hexahedron & connector() const
Returns the connector.
MapReal3d jacobian(const Real xi, const Real eta, const Real zeta) const
Real3d vertex(uint i) const
Returns the coordinates of the ith vertex.
void setStrategy(const Hex3dSubdivision *strategy=0)
Real3d chi(Real xi, Real eta, Real zeta) const
const Hex3dSubdivision * getStrategy() 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)
ArrayHexaWeights(const Hexahedron &hex)
const concepts::QuadratureRule1d * integrationZ() const
Returns the integration rule in z direction.
virtual concepts::Real3d vertex(uint i) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
void edgeP(const uint i, const concepts::AdaptiveControlP< 1 > &p)
Set polynomial degree of edge i to p.
const concepts::QuadratureRule1d * integrationX() const
Returns the integration rule in x direction.
virtual const concepts::Hexahedron3d & cell() const
Hexahedron(concepts::Hexahedron3d &cell, const ushort *p, concepts::TColumn< Real > *T0, concepts::TColumn< Real > *T1)
concepts::MapReal3d jacobian(const Real x, const Real y, const Real z) const
Computes the Jacobian.
void computeShapefunctions_(const concepts::QuadratureRule1d *intX, const concepts::QuadratureRule1d *intY, const concepts::QuadratureRule1d *intZ)
gets the shapefunctions, used in both constructors
virtual bool quadraturePoint(uint i, intPoint &p, intFormType form, bool localCoord) const
const concepts::Karniadakis< 1, 1 > * shpfctDZ() const
Returns the shape functions in z direction.
virtual const concepts::Hexahedron & support() const
concepts::MapReal3d hessian(const uint i, const Real x, const Real y, const Real z) const
Computes the Hessian.
const concepts::AdaptiveControlP< 2 > & faceP(const uint i) const
Get polynomial degree of face i.
concepts::Real3d chi(const Real x, const Real y, const Real z) const
const concepts::AdaptiveControlP< 1 > & edgeP(const uint i) const
Get polynomial degree of edge i.
const concepts::Karniadakis< 1, 0 > * shpfctY() const
Returns the shape functions in y direction.
bool hasSameMatrix(const Hexahedron &elm) const
static concepts::QuadRuleFactory & rule()
Real jacobianDeterminant(const Real x, const Real y, const Real z) const
Computes the determinant of the Jacobian.
const concepts::Karniadakis< 1, 1 > * shpfctDY() const
Returns the shape functions in y direction.
const concepts::Karniadakis< 1, 1 > * shpfctDX() const
Returns the derivatives of the shape functions in x direction.
const concepts::Karniadakis< 1, 0 > * shpfctZ() const
Returns the shape functions in z direction.
const concepts::Karniadakis< 1, 0 > * shpfctX() const
Returns the shape functions in x direction.
concepts::MapReal3d jacobianInverse(const Real x, const Real y, const Real z) const
Computes the inverse of the Jacobian.
void setStrategy(const concepts::Hex3dSubdivision *strategy=0)
void faceP(const uint i, const concepts::AdaptiveControlP< 2 > &p)
Set polynomial degree of face i to p.
const concepts::Hex3dSubdivision * getStrategy() const
const concepts::QuadratureRule1d * integrationY() const
Returns the integration rule in y direction.
#define conceptsAssert(cond, exc)