Chombo + EB + MF  3.2
GaussianQuadrature.H
Go to the documentation of this file.
1 #ifdef CH_LANG_CC
2 /*
3  * _______ __
4  * / ___/ / ___ __ _ / / ___
5  * / /__/ _ \/ _ \/ V \/ _ \/ _ \
6  * \___/_//_/\___/_/_/_/_.__/\___/
7  * Please refer to Copyright.txt, in Chombo's root directory.
8  */
9 #endif
10 
11 #ifndef _GAUSSIANQUADRATURE_H_
12 #define _GAUSSIANQUADRATURE_H_
13 
14 #include "EdgeQuadrature.H"
15 
16 #include "NamespaceHeader.H"
17 
18 /// Implements Gaussian quadrature for edge-based quadrature
19 /**
20 */
22 {
23 public:
24 
25  /// constructor
26  GaussianQuadrature(int a_numberOfPoints = 3);
27 
28  /**
29  Destructor.
30  */
32  {;}
33 
34  /// returns quadrature coefficients
35  virtual const Vector<QuadratureElement > coefficients(int dir1,
36  int dir2) const;
37 
38  /// scale to apply to weight
39  /* this is essentially the length (area, volume, etc) of an edge
40  given interval length a_length and dir1, dir2 the same as in the
41  coefficients function
42  */
43  virtual Real weightMult(const RealVect& a_length, int dir1, int dir2) const;
44 
45  /// make a copy of myself
46  virtual EdgeQuadrature* new_quadrature() const;
47 
48 
49 protected:
51 
52 };
53 
54 #include "NamespaceFooter.H"
55 
56 #endif
Implements Gaussian quadrature for edge-based quadrature.
Definition: GaussianQuadrature.H:21
Vector< QuadratureElement > m_coefficients
Definition: GaussianQuadrature.H:50
virtual Real weightMult(const RealVect &a_length, int dir1, int dir2) const
scale to apply to weight
virtual EdgeQuadrature * new_quadrature() const
make a copy of myself
double Real
Definition: REAL.H:33
GaussianQuadrature(int a_numberOfPoints=3)
constructor
virtual ~GaussianQuadrature()
Definition: GaussianQuadrature.H:31
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
virtual const Vector< QuadratureElement > coefficients(int dir1, int dir2) const
returns quadrature coefficients
Virtual base class for defining edge-based quadratures.
Definition: EdgeQuadrature.H:37