oomph::GaussLobattoLegendre< 1, NPTS_1D > Class Template Reference

1D Gauss Lobatto Legendre integration class More...

#include <integral.h>

+ Inheritance diagram for oomph::GaussLobattoLegendre< 1, NPTS_1D >:

Public Member Functions

 GaussLobattoLegendre ()
 Deafault constructor. Calculates and stores GLL nodes. More...
 
unsigned nweight () const
 Number of integration points of the scheme. More...
 
double knot (const unsigned &i, const unsigned &j) const
 Return coordinate s[j] (j=0) of integration point i. More...
 
double weight (const unsigned &i) const
 Return weight of integration point i. More...
 
- Public Member Functions inherited from oomph::Integral
 Integral ()
 Default constructor (empty) More...
 
 Integral (const Integral &dummy)=delete
 Broken copy constructor. More...
 
void operator= (const Integral &)=delete
 Broken assignment operator. More...
 
virtual ~Integral ()
 Virtual destructor (empty) More...
 
virtual Vector< doubleknot (const unsigned &i) const
 Return local coordinates of i-th intergration point. Broken virtual. More...
 

Private Attributes

double Knot [NPTS_1D][1]
 Array to hold weight and knot points. More...
 
double Weight [NPTS_1D]
 

Static Private Attributes

static const unsigned Npts = NPTS_1D
 Number of integration points in scheme. More...
 

Detailed Description

template<unsigned NPTS_1D>
class oomph::GaussLobattoLegendre< 1, NPTS_1D >

1D Gauss Lobatto Legendre integration class

Constructor & Destructor Documentation

◆ GaussLobattoLegendre()

template<unsigned NPTS_1D>
oomph::GaussLobattoLegendre< 1, NPTS_1D >::GaussLobattoLegendre

Deafault constructor. Calculates and stores GLL nodes.

Calculate positions and weights for the 1D Gauss Lobatto Legendre integration class

1327  {
1328  // Temporary storage for the integration points
1329  Vector<double> s(NPTS_1D), w(NPTS_1D);
1330  // call the function that calculates the points
1331  Orthpoly::gll_nodes(NPTS_1D, s, w);
1332  // Populate the arrays
1333  for (unsigned i = 0; i < NPTS_1D; i++)
1334  {
1335  Knot[i][0] = s[i];
1336  Weight[i] = w[i];
1337  }
1338  }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
RowVector3d w
Definition: Matrix_resize_int.cpp:3
double Weight[NPTS_1D]
Definition: integral.h:1295
double Knot[NPTS_1D][1]
Array to hold weight and knot points.
Definition: integral.h:1295
RealScalar s
Definition: level1_cplx_impl.h:130
void gll_nodes(const unsigned &Nnode, Vector< double > &x)
Calculates the Gauss Lobatto Legendre abscissas for degree p = NNode-1.
Definition: orthpoly.cc:33

References oomph::Orthpoly::gll_nodes(), i, s, w, and ProblemParameters::Weight.

Member Function Documentation

◆ knot()

template<unsigned NPTS_1D>
double oomph::GaussLobattoLegendre< 1, NPTS_1D >::knot ( const unsigned i,
const unsigned j 
) const
inlinevirtual

Return coordinate s[j] (j=0) of integration point i.

Implements oomph::Integral.

1309  {
1310  return Knot[i][j];
1311  }
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2

References i, and j.

◆ nweight()

template<unsigned NPTS_1D>
unsigned oomph::GaussLobattoLegendre< 1, NPTS_1D >::nweight ( ) const
inlinevirtual

Number of integration points of the scheme.

Implements oomph::Integral.

1303  {
1304  return Npts;
1305  }
static const unsigned Npts
Number of integration points in scheme.
Definition: integral.h:1292

◆ weight()

template<unsigned NPTS_1D>
double oomph::GaussLobattoLegendre< 1, NPTS_1D >::weight ( const unsigned i) const
inlinevirtual

Return weight of integration point i.

Implements oomph::Integral.

1315  {
1316  return Weight[i];
1317  }

References i, and ProblemParameters::Weight.

Member Data Documentation

◆ Knot

template<unsigned NPTS_1D>
double oomph::GaussLobattoLegendre< 1, NPTS_1D >::Knot[NPTS_1D][1]
private

Array to hold weight and knot points.

◆ Npts

template<unsigned NPTS_1D>
const unsigned oomph::GaussLobattoLegendre< 1, NPTS_1D >::Npts = NPTS_1D
staticprivate

Number of integration points in scheme.

◆ Weight

template<unsigned NPTS_1D>
double oomph::GaussLobattoLegendre< 1, NPTS_1D >::Weight[NPTS_1D]
private

The documentation for this class was generated from the following file: