49 #ifndef INTREPID_CUBATURE_LINESORTED_HPP 50 #define INTREPID_CUBATURE_LINESORTED_HPP 52 #include "Intrepid_ConfigDefs.hpp" 55 #include "Teuchos_Assert.hpp" 56 #include "Teuchos_Array.hpp" 61 enum EIntrepidGrowth {
88 template<
class Scalar,
class ArrayPo
int = FieldContainer<Scalar>,
class ArrayWeight = ArrayPo
int>
145 ArrayWeight & cubWeights)
const;
155 ArrayWeight& cubWeights,
156 ArrayPoint& cellCoords)
const;
165 void getAccuracy(std::vector<int> & accuracy)
const;
177 Scalar
getNode(
typename std::map<Scalar,int>::iterator it);
189 typename std::map<Scalar,int>::iterator
begin(
void);
193 typename std::map<Scalar,int>::iterator
end(
void);
201 int growthRule1D(
int index, EIntrepidGrowth growth, EIntrepidBurkardt rule);
CubatureLineSorted(int degree=0, EIntrepidBurkardt rule=BURK_CLENSHAWCURTIS, bool isNormalized=false)
Constructor.
void getAccuracy(std::vector< int > &accuracy) const
Returns max. degree of polynomials that are integrated exactly. The return vector has size 1...
const char * getName() const
Returns cubature name.
int getNumPoints() const
Returns the number of cubature points.
Utilizes cubature (integration) rules contained in the library sandia_rules (John Burkardt...
int getDimension() const
Returns dimension of domain of integration.
std::map< Scalar, int >::iterator begin(void)
Initiate iterator at the beginning of data.
void update(Scalar alpha2, CubatureLineSorted< Scalar > &cubRule2, Scalar alpha1)
Replace CubatureLineSorted values with "this = alpha1*this+alpha2*cubRule2".
EIntrepidBurkardt rule_type_
Type of integration points.
Header file for utility class to provide multidimensional containers.
std::vector< Scalar > weights_
Contains points of this cubature rule.
Header file for integration rules provided by John Burkardt. <>
static const char * cubature_name_
Cubature name.
Defines the base class for cubature (integration) rules in Intrepid.
void getCubature(ArrayPoint &cubPoints, ArrayWeight &cubWeights) const
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated).
Scalar getNode(typename std::map< Scalar, int >::iterator it)
Get a specific node described by the iterator location.
Definition file for the Intrepid::CubatureLineSorted class.
std::map< Scalar, int > points_
Contains points of this cubature rule.
Header file for the Intrepid::Cubature class.
int numPoints_
Contains the number of nodes for this cubature rule.
int degree_
The degree of polynomials that are integrated exactly by this cubature rule.
Scalar getWeight(int weight)
Get a specific weight described by the integer location.
EIntrepidBurkardt
Enumeration of integration rules provided by John Burkardt.
std::map< Scalar, int >::iterator end(void)
Initiate iterator at the end of data.