57 libmesh_assert_equal_to (this->
get_dim(), 2);
63 std::pair<Real, Real> old_range(-1.0L, 1.0L);
64 std::pair<Real, Real> new_range( 0.0L, 1.0L);
65 gauss1D.
scale(old_range,
74 const unsigned int np = gauss1D.
n_points();
77 libmesh_assert_greater_equal (gauss1D.
qp(0)(0), 0.0);
78 libmesh_assert_less_equal (gauss1D.
qp(np-1)(0), 1.0);
79 libmesh_assert_greater_equal (jac1D.
qp(0)(0), 0.0);
80 libmesh_assert_less_equal (jac1D.
qp(np-1)(0), 1.0);
88 for (
unsigned int i=0; i<np; i++)
89 for (
unsigned int j=0; j<np; j++)
92 _points[gp](1) = gauss1D.
qp(i)(0) * (1.-jac1D.
qp(j)(0));
108 libmesh_assert_equal_to (this->
get_dim(), 3);
115 std::pair<Real, Real> old_range(-1.0L, 1.0L);
116 std::pair<Real, Real> new_range( 0.0L, 1.0L);
117 gauss1D.
scale(old_range,
127 const unsigned int np = gauss1D.
n_points();
130 libmesh_assert_greater_equal (gauss1D.
qp(0)(0), 0.0);
131 libmesh_assert_less_equal (gauss1D.
qp(np-1)(0), 1.0);
132 libmesh_assert_greater_equal (jacA1D.
qp(0)(0), 0.0);
133 libmesh_assert_less_equal (jacA1D.
qp(np-1)(0), 1.0);
134 libmesh_assert_greater_equal (jacB1D.
qp(0)(0), 0.0);
135 libmesh_assert_less_equal (jacB1D.
qp(np-1)(0), 1.0);
143 for (
unsigned int i=0; i<np; i++)
144 for (
unsigned int j=0; j<np; j++)
145 for (
unsigned int k=0; k<np; k++)
148 _points[gp](1) = jacA1D.
qp(j)(0) * (1.-jacB1D.
qp(k)(0));
149 _points[gp](2) = gauss1D.
qp(i)(0) * (1.-jacA1D.
qp(j)(0)) * (1.-jacB1D.
qp(k)(0));
150 _weights[gp] = gauss1D.
w(i) * jacA1D.
w(j) * jacB1D.
w(k);
185 libmesh_assert_equal_to (this->
get_dim(), 3);
194 const unsigned int np = gauss1D.
n_points();
202 for (
unsigned int i=0; i<np; ++i)
203 for (
unsigned int j=0; j<np; ++j)
204 for (
unsigned int k=0; k<np; ++k, ++q)
206 const Real xi=gauss1D.
qp(i)(0);
207 const Real yj=gauss1D.
qp(j)(0);
208 const Real zk=jac1D.
qp(k)(0);
213 _weights[q] = gauss1D.
w(i) * gauss1D.
w(j) * jac1D.
w(k);
Point qp(const unsigned int i) const
virtual void init_1D(const ElemType, unsigned int=0) override
const std::vector< Real > & get_weights() const
std::vector< Point > _points
void conical_product_tri(unsigned int p)
std::vector< Real > _weights
void conical_product_tet(unsigned int p)
unsigned int get_dim() const
unsigned int n_points() const
virtual QuadratureType type() const override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::vector< Point > & get_points() const
Implements 1D Gauss-Jacobi quadrature rules of various orders.
Implements 1, 2, and 3D "Gaussian" quadrature rules.
void scale(std::pair< Real, Real > old_range, std::pair< Real, Real > new_range)
Real w(const unsigned int i) const
void conical_product_pyramid(unsigned int p)