Go to the documentation of this file.
49 #ifndef INTREPID_CUBATURE_TENSORSORTED_HPP
50 #define INTREPID_CUBATURE_TENSORSORTED_HPP
89 template<
class Scalar,
class ArrayPo
int = FieldContainer<Scalar>,
class ArrayWeight = ArrayPo
int>
95 typename std::map<std::vector<Scalar>,
int>
points_;
135 CubatureTensorSorted(
int dimension, std::vector<int> numPoints1D, std::vector<EIntrepidBurkardt> rule1D,
bool isNormalized);
144 CubatureTensorSorted(
int dimension, std::vector<int> numPoints1D, std::vector<EIntrepidBurkardt> rule1D, std::vector<EIntrepidGrowth> growth1D,
bool isNormalized);
154 CubatureTensorSorted(
int dimension,
int maxNumPoints, std::vector<EIntrepidBurkardt> rule1D, std::vector<EIntrepidGrowth> growth1D,
bool isNormalized);
164 ArrayWeight & cubWeights)
const;
174 ArrayWeight& cubWeights,
175 ArrayPoint& cellCoords)
const;
184 void getAccuracy(std::vector<int> & accuracy)
const;
192 typename std::map<std::vector<Scalar>,
int>::iterator
begin();
196 typename std::map<std::vector<Scalar>,
int>::iterator
end();
200 void insert(
typename std::map<std::vector<Scalar>,
int>::iterator it,
201 std::vector<Scalar> point, Scalar weight);
205 std::vector<Scalar>
getNode(
typename std::map<std::vector<Scalar>,
int>::iterator it);
213 Scalar
getWeight(std::vector<Scalar> point);
226 template<
class Scalar>
227 CubatureTensorSorted<Scalar> kron_prod(CubatureTensorSorted<Scalar> & rule1,
228 CubatureLineSorted<Scalar> & rule2 );
void insert(typename std::map< std::vector< Scalar >, int >::iterator it, std::vector< Scalar > point, Scalar weight)
Insert a node and weight into data near the iterator position.
void normalize()
Normalize CubatureLineSorted weights.
std::vector< int > degree_
The degree of polynomials that are integrated exactly by this cubature rule.
Defines the base class for cubature (integration) rules in Intrepid.
int getDimension() const
Returns dimension of domain of integration.
int numPoints_
Contains the number of nodes for this cubature rule.
void getAccuracy(std::vector< int > &accuracy) const
Returns max. degree of polynomials that are integrated exactly. The return vector has size 1.
Utilizes cubature (integration) rules contained in the library sandia_rules (John Burkardt,...
void update(Scalar alpha2, CubatureTensorSorted< Scalar > &cubRule2, Scalar alpha1)
Replace CubatureLineSorted values with "this = alpha1*this+alpha2*cubRule2".
Utilizes 1D cubature (integration) rules contained in the library sandia_rules (John Burkardt,...
std::map< std::vector< Scalar >, int > points_
Contains nodes of this cubature rule.
int dimension_
Dimension of integration domain.
std::vector< Scalar > getNode(typename std::map< std::vector< Scalar >, int >::iterator it)
Get a specific node described by the iterator location.
Definition file for the Intrepid::CubatureTensorSorted class.
Header file for the Intrepid::CubatureLineSorted class.
std::map< std::vector< Scalar >, int >::iterator end()
Initiate iterator at the end of data.
void getCubature(ArrayPoint &cubPoints, ArrayWeight &cubWeights) const
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated).
Scalar getWeight(int node)
Get a specific weight described by the integer location.
std::vector< Scalar > weights_
Contains weights of this cubature rule.
int getNumPoints() const
Returns the number of cubature points.
std::map< std::vector< Scalar >, int >::iterator begin()
Initiate iterator at the beginning of data.