Family of Fekete approach integration rules, suitable for integration over arbitrary regions (For tensor elements the Gauss-Lobatto points are Fekete points) More...
Public Member Functions | |
| FeketeQuadrature (int order) | |
| virtual | ~FeketeQuadrature () |
| virtual XMLObject | toXML () const |
| Write to XML. | |
| virtual std::string | description () const |
| Describable interface. | |
Handleable interface | |
| bool | _hasBasisCoeffs |
| Array< double > | _basisCoeffs |
| virtual void | getLineRule (Array< Point > &quadPoints, Array< double > &quadWeights) const |
| compute a rule for the reference line cell | |
| virtual void | getTriangleRule (Array< Point > &quadPoints, Array< double > &quadWeights) const |
| compute a rule for the reference triangle cell | |
| virtual void | getQuadRule (Array< Point > &quadPoints, Array< double > &quadWeights) const |
| compute a rule for the reference quad cell | |
| virtual void | getBrickRule (Array< Point > &quadPoints, Array< double > &quadWeights) const |
| compute a rule for the reference brick cell | |
| virtual void | getAdaptedWeights (const CellType &cellType, int cellDim, int cellLID, int facetIndex, const Mesh &mesh, const ParametrizedCurve &globalCurve, Array< Point > &quadPoints, Array< double > &quadWeights, bool &weightsChanged) const |
| Compute adapted weights according to curve. | |
| virtual void | integrateRegion (const CellType &cellType, int cellDim, const int innerOrder, const Point &x, const Point &xref, const Point &vec1, const Point &vec2, const Point &vec1ref, const Point &vec2ref, const ParametrizedCurve &curve, Array< double > &integrals) const |
| virtual void | evaluateAllBasisFunctions (const Point &q, Array< double > &result) const |
| void | computeBasisCoeffs () const |
Family of Fekete approach integration rules, suitable for integration over arbitrary regions (For tensor elements the Gauss-Lobatto points are Fekete points)
Definition at line 48 of file SundanceFeketeQuadrature.hpp.
| FeketeQuadrature::FeketeQuadrature | ( | int | order | ) |
Definition at line 54 of file SundanceFeketeQuadrature.cpp.
References _hasBasisCoeffs.
| virtual Sundance::FeketeQuadrature::~FeketeQuadrature | ( | ) | [inline, virtual] |
Definition at line 55 of file SundanceFeketeQuadrature.hpp.
| void FeketeQuadrature::computeBasisCoeffs | ( | ) | const [private] |
Definition at line 489 of file SundanceFeketeQuadrature.cpp.
References _basisCoeffs, _hasBasisCoeffs, dgetrf_(), dgetri_(), Sundance::FeketeTriangleQuadrature::evalPKDpolynomials(), Sundance::QuadratureFamilyBase::getPoints(), and Sundance::QuadratureFamilyStub::order().
Referenced by evaluateAllBasisFunctions().
| virtual std::string Sundance::FeketeQuadrature::description | ( | ) | const [inline, virtual] |
Describable interface.
Reimplemented from Sundance::QuadratureFamilyStub.
Definition at line 62 of file SundanceFeketeQuadrature.hpp.
References Sundance::QuadratureFamilyStub::order(), and Sundance::toString().
| void FeketeQuadrature::evaluateAllBasisFunctions | ( | const Point & | q, |
| Array< double > & | result | ||
| ) | const [protected, virtual] |
Definition at line 458 of file SundanceFeketeQuadrature.cpp.
References _basisCoeffs, _hasBasisCoeffs, computeBasisCoeffs(), Sundance::FeketeTriangleQuadrature::evalPKDpolynomials(), and Sundance::QuadratureFamilyStub::order().
Referenced by integrateRegion().
| void FeketeQuadrature::getAdaptedWeights | ( | const CellType & | cellType, |
| int | cellDim, | ||
| int | cellLID, | ||
| int | facetIndex, | ||
| const Mesh & | mesh, | ||
| const ParametrizedCurve & | globalCurve, | ||
| Array< Point > & | quadPoints, | ||
| Array< double > & | quadWeights, | ||
| bool & | weightsChanged | ||
| ) | const [protected, virtual] |
Compute adapted weights according to curve.
| cellType | |
| cellDim | |
| cellLID | |
| facetIndex | |
| mesh | |
| globalCurve | |
| quadPoints | |
| quadWeights | |
| changedWeights |
Reimplemented from Sundance::QuadratureFamilyBase.
Definition at line 138 of file SundanceFeketeQuadrature.cpp.
References integrateRegion(), Sundance::QuadratureFamilyStub::order(), Sundance::Mesh::pushForward(), and Sundance::TriangleCell.
| void FeketeQuadrature::getBrickRule | ( | Array< Point > & | quadPoints, |
| Array< double > & | quadWeights | ||
| ) | const [protected, virtual] |
compute a rule for the reference brick cell
Reimplemented from Sundance::QuadratureFamilyBase.
Definition at line 120 of file SundanceFeketeQuadrature.cpp.
References Sundance::QuadratureFamilyBase::getPoints(), and Sundance::QuadratureFamilyStub::order().
| void FeketeQuadrature::getLineRule | ( | Array< Point > & | quadPoints, |
| Array< double > & | quadWeights | ||
| ) | const [protected, virtual] |
compute a rule for the reference line cell
Reimplemented from Sundance::QuadratureFamilyBase.
Definition at line 67 of file SundanceFeketeQuadrature.cpp.
References Sundance::GaussLobatto1D::nodes(), Sundance::QuadratureFamilyStub::order(), and Sundance::GaussLobatto1D::weights().
| void FeketeQuadrature::getQuadRule | ( | Array< Point > & | quadPoints, |
| Array< double > & | quadWeights | ||
| ) | const [protected, virtual] |
compute a rule for the reference quad cell
Reimplemented from Sundance::QuadratureFamilyBase.
Definition at line 103 of file SundanceFeketeQuadrature.cpp.
References Sundance::QuadratureFamilyBase::getPoints(), and Sundance::QuadratureFamilyStub::order().
| void FeketeQuadrature::getTriangleRule | ( | Array< Point > & | quadPoints, |
| Array< double > & | quadWeights | ||
| ) | const [protected, virtual] |
compute a rule for the reference triangle cell
Reimplemented from Sundance::QuadratureFamilyBase.
Definition at line 86 of file SundanceFeketeQuadrature.cpp.
References Sundance::QuadratureFamilyBase::getPoints(), and Sundance::QuadratureFamilyStub::order().
| void FeketeQuadrature::integrateRegion | ( | const CellType & | cellType, |
| int | cellDim, | ||
| const int | innerOrder, | ||
| const Point & | x, | ||
| const Point & | xref, | ||
| const Point & | vec1, | ||
| const Point & | vec2, | ||
| const Point & | vec1ref, | ||
| const Point & | vec2ref, | ||
| const ParametrizedCurve & | curve, | ||
| Array< double > & | integrals | ||
| ) | const [protected, virtual] |
Definition at line 376 of file SundanceFeketeQuadrature.cpp.
References evaluateAllBasisFunctions(), Sundance::GaussLobatto1D::nodes(), Sundance::QuadratureFamilyStub::order(), Sundance::Point::resize(), and Sundance::GaussLobatto1D::weights().
Referenced by getAdaptedWeights().
| XMLObject FeketeQuadrature::toXML | ( | ) | const [virtual] |
Write to XML.
Reimplemented from Sundance::QuadratureFamilyStub.
Definition at line 60 of file SundanceFeketeQuadrature.cpp.
References Sundance::QuadratureFamilyStub::order(), and Teuchos::toString().
Array<double> Sundance::FeketeQuadrature::_basisCoeffs [mutable, private] |
Definition at line 121 of file SundanceFeketeQuadrature.hpp.
Referenced by computeBasisCoeffs(), and evaluateAllBasisFunctions().
bool Sundance::FeketeQuadrature::_hasBasisCoeffs [mutable, private] |
Definition at line 120 of file SundanceFeketeQuadrature.hpp.
Referenced by computeBasisCoeffs(), evaluateAllBasisFunctions(), and FeketeQuadrature().