hummingbird
Solving the self-adjoint angular flux transport equation using spectral elements on Cartesian geometry
Loading...
Searching...
No Matches
gauss_legendre_trapezoid.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_GAUSS_LEGENDRE_TRAPEZOID_H_
5
#define HUMMINGBIRD_QUADRATURE_ANGULAR_GAUSS_LEGENDRE_TRAPEZOID_H_
6
7
#include "
quadrature/angular/ordinate.h
"
8
#include "
quadrature/gauss_legendre.h
"
9
#include "
quadrature/quadrature_base.h
"
10
namespace
hummingbird
{
11
12
/**
13
* @brief Class defines a Gauss-Legendre-Trapezoid rule on the unit sphere,
14
* where a Gauss-Legendre rule is used on the polar coordinate, and a trapezoid
15
* rule is used on the azimuthal.
16
*
17
*/
18
class
GaussLegendreTrapezoid
:
public
QuadratureBase
<Ordinate> {
19
public
:
20
/**
21
* @brief Construct a new Gauss Legendre Trapezoid object
22
*
23
* @param n_azim Number of azimuthal quadrature points
24
* @param n_polar Number of polar quadrature points
25
* @param polar_measured_from_x If true, each ordinate is built so its
26
* polar Gauss-Legendre root ends up in Ordinate::x() (via
27
* Ordinate(acos(root), pi/2)) instead of Ordinate::z(). Used for 1D
28
* problems along x, where x() (not z()) is the streaming/BC direction
29
* cosine every consumer (Segment, ParsedVolumetricSource, CGProblem)
30
* reads; azim is otherwise degenerate for n_azim=1, since sin(polar) is
31
* the same for a Gauss-Legendre root and its negative. Defaults to false
32
* (the standard sphere convention, needed for future 2D/3D use).
33
*/
34
GaussLegendreTrapezoid
(
const
size_t
n_azim,
const
size_t
n_polar,
35
const
bool
polar_measured_from_x =
false
);
36
};
37
}
// namespace hummingbird
38
39
#endif
// HUMMINGBIRD_QUADRATURE_ANGULAR_GAUSS_LEGENDRE_TRAPEZOID_H_
hummingbird::GaussLegendreTrapezoid::GaussLegendreTrapezoid
GaussLegendreTrapezoid(const size_t n_azim, const size_t n_polar, const bool polar_measured_from_x=false)
Construct a new Gauss Legendre Trapezoid object.
Definition
gauss_legendre_trapezoid.cc:5
hummingbird::QuadratureBase< Ordinate >::QuadratureBase
QuadratureBase()=default
gauss_legendre.h
hummingbird
Definition
bank_base.h:13
ordinate.h
quadrature_base.h
include
quadrature
angular
gauss_legendre_trapezoid.h
Generated by
1.17.0