hummingbird
Solving the self-adjoint angular flux transport equation using spectral elements on Cartesian geometry
Loading...
Searching...
No Matches
source_base.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_PHYSICS_SOURCE_BASE_H_
5#define HUMMINGBIRD_PHYSICS_SOURCE_BASE_H_
6
7#include "mesh/node.h"
9
10namespace hummingbird {
11/**
12 * @brief Base class for independent sources
13 *
14 */
16 public:
17 /**
18 * @brief Construct a new Source Base object
19 *
20 */
21 SourceBase() = default;
22
23 /**
24 * @brief Destroy the Source Base object
25 *
26 */
27 virtual ~SourceBase() = default;
28
29 /**
30 * @brief Evaluate the source at a node in a particular direction
31 *
32 * @param node Node
33 * @param ordinate Ordinate (direction)
34 * @return Volumetric source in n/cm2/s/str
35 */
36 virtual double EvaluateAtNode(const Node& node, const Ordinate& ordinate) = 0;
37};
38} // namespace hummingbird
39
40#endif // HUMMINGBIRD_PHYSICS_SOURCE_BASE_H_
Defines a solid angle, or ordinate, in spherical geometry.
Definition ordinate.h:15
SourceBase()=default
Construct a new Source Base object.
virtual ~SourceBase()=default
Destroy the Source Base object.
virtual double EvaluateAtNode(const Node &node, const Ordinate &ordinate)=0
Evaluate the source at a node in a particular direction.
A point in the mesh holding its coordinates, boundary info, and flux solution values.
Definition node.h:26