https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ArbitraryQuadrature.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#include "ArbitraryQuadrature.h"
11
12// libMesh includes
13#include "libmesh/enum_quadrature_type.h"
14
15using namespace libMesh;
16
17ArbitraryQuadrature::ArbitraryQuadrature(const unsigned int d, const Order o) : QBase(d, o) {}
18
19std::unique_ptr<QBase>
21{
22 return std::make_unique<ArbitraryQuadrature>(*this);
23}
24
30
31void
32ArbitraryQuadrature::setPoints(const std::vector<Point> & points)
33{
34 _points = points;
35 _weights.resize(points.size(), 1.0);
36}
37
38void
39ArbitraryQuadrature::setWeights(const std::vector<Real> & weights)
40{
41 _weights = weights;
42}
43
44#ifdef LIBMESH_QBASE_INIT_ARGUMENTS_REMOVED
45void
49
50void
54
55void
59
60#else
61void
63{
64}
65
66void
68{
69}
70
71void
73{
74}
75#endif // LIBMESH_QBASE_INIT_ARGUMENTS_REMOVED
void setWeights(const std::vector< libMesh::Real > &weights)
Set the quadrature weights.
virtual std::unique_ptr< libMesh::QBase > clone() const override
libMesh::QuadratureType type() const override
void setPoints(const std::vector< libMesh::Point > &points)
Set the quadrature points.
void init_1D() override
These functions must be defined to fulfill the interface expected by the quadrature initialization ro...
ArbitraryQuadrature(const unsigned int _dim, const libMesh::Order _order=libMesh::INVALID_ORDER)
std::vector< Point > _points
std::vector< Real > _weights
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...