#include <EdgeQuadrature.H>
Note that an "edge" is something which is codimension 2 in the SpaceDim space (in 2D, it's a point, in 3D, it's an edge, and in 4D, it's a face. This API is designed to seamlessly work in any dimensional space, as long as the coefficients have been defined correctly in the derived class.
Public Member Functions | |
virtual | ~EdgeQuadrature () |
virtual const Vector < QuadratureElement > | coefficients (int dir1, int dir2) const =0 |
returns quadrature coefficients -- intervals are from [-1,1] | |
virtual Real | weightMult (const RealVect &a_length, int dir1, int dir2) const =0 |
scale to apply to weight | |
virtual EdgeQuadrature * | new_quadrature () const =0 |
make a copy of myself |
virtual EdgeQuadrature::~EdgeQuadrature | ( | ) | [inline, virtual] |
Destructor.
virtual const Vector<QuadratureElement > EdgeQuadrature::coefficients | ( | int | dir1, | |
int | dir2 | |||
) | const [pure virtual] |
returns quadrature coefficients -- intervals are from [-1,1]
dim1 and dim2 define the directions in which the edge coordinate do not vary. In other words, in 3D, if dir1=0 and dir2=1, then the edge will be constant in x and y, and will vary in z. The elements of the "location" vector in dir1 and dir2 are zeros.
Implemented in GaussianQuadrature, and NewtonCotesQuadrature.
virtual EdgeQuadrature* EdgeQuadrature::new_quadrature | ( | ) | const [pure virtual] |