https://mooseframework.inl.gov
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 
15 using namespace libMesh;
16 
17 ArbitraryQuadrature::ArbitraryQuadrature(const unsigned int d, const Order o) : QBase(d, o) {}
18 
19 std::unique_ptr<QBase>
21 {
22  return std::make_unique<ArbitraryQuadrature>(*this);
23 }
24 
27 {
29 }
30 
31 void
32 ArbitraryQuadrature::setPoints(const std::vector<Point> & points)
33 {
34  _points = points;
35  _weights.resize(points.size(), 1.0);
36 }
37 
38 void
39 ArbitraryQuadrature::setWeights(const std::vector<Real> & weights)
40 {
41  _weights = weights;
42 }
43 
44 #ifdef LIBMESH_QBASE_INIT_ARGUMENTS_REMOVED
45 void
47 {
48 }
49 
50 void
52 {
53 }
54 
55 void
57 {
58 }
59 
60 #else
61 void
62 ArbitraryQuadrature::init_1D(const ElemType, unsigned int)
63 {
64 }
65 
66 void
67 ArbitraryQuadrature::init_2D(const ElemType, unsigned int)
68 {
69 }
70 
71 void
72 ArbitraryQuadrature::init_3D(const ElemType, unsigned int)
73 {
74 }
75 #endif // LIBMESH_QBASE_INIT_ARGUMENTS_REMOVED
ElemType
Order
libMesh::QuadratureType type() const override
void init_1D() override
These functions must be defined to fulfill the interface expected by the quadrature initialization ro...
void init_2D() override
QuadratureType
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
void setWeights(const std::vector< libMesh::Real > &weights)
Set the quadrature weights.
std::vector< Point > _points
std::vector< Real > _weights
void setPoints(const std::vector< libMesh::Point > &points)
Set the quadrature points.
virtual std::unique_ptr< libMesh::QBase > clone() const override
ArbitraryQuadrature(const unsigned int _dim, const libMesh::Order _order=libMesh::INVALID_ORDER)
void init_3D() override