hummingbird
Solving the self-adjoint angular flux transport equation using spectral elements on Cartesian geometry
Loading...
Searching...
No Matches
angular_quadrature_set.h
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-3-Clause
2// Copyright (c) 2026, Liam Pohlmann
3
4#ifndef HUMMINGBIRD_QUADRATURE_ANGULAR_ANGULAR_QUADRATURE_SET_H_
5#define HUMMINGBIRD_QUADRATURE_ANGULAR_ANGULAR_QUADRATURE_SET_H_
6
10#include "utils/enums.h"
11
12namespace hummingbird {
13/**
14 * @brief Wrapper class that owns an angular QuadratureBase<Ordinate> of the
15 * type corresponding to the given AngularQuadSet
16 *
17 */
19 public:
20 /**
21 * @brief Construct a new AngularQuadratureSet object, creating the
22 * concrete quadrature set matching quad_set
23 *
24 * @param quad_set Angular quadrature set to use
25 * @param n_azim Number of azimuthal quadrature points
26 * @param n_polar Number of polar quadrature points
27 * @throw std::runtime_error if n_azim is not strictly positive, n_polar is
28 * less than 2, n_polar is odd, or quad_set is not supported
29 */
30 AngularQuadratureSet(const AngularQuadSet quad_set, const size_t n_azim,
31 const size_t n_polar);
32
33 /**
34 * @brief Get the underlying quadrature set object
35 *
36 * @return const QuadratureBase<Ordinate>*
37 */
39 return angular_quadrature_set_.get();
40 }
41
42 private:
43 /// @brief Concrete angular quadrature set for the chosen AngularQuadSet
44 std::unique_ptr<QuadratureBase<Ordinate>> angular_quadrature_set_;
45};
46} // namespace hummingbird
47
48#endif // HUMMINGBIRD_QUADRATURE_ANGULAR_ANGULAR_QUADRATURE_SET_H_
AngularQuadratureSet(const AngularQuadSet quad_set, const size_t n_azim, const size_t n_polar)
Construct a new AngularQuadratureSet object, creating the concrete quadrature set matching quad_set.
const QuadratureBase< Ordinate > * get() const
Get the underlying quadrature set object.
std::unique_ptr< QuadratureBase< Ordinate > > angular_quadrature_set_
Concrete angular quadrature set for the chosen AngularQuadSet.
Base class for defining a quadrature set.
AngularQuadSet
Angular quadrature set.
Definition enums.h:79