hummingbird
Solving the self-adjoint angular flux transport equation using spectral elements on Cartesian geometry
Loading...
Searching...
No Matches
sem_problem.cc
Go to the documentation of this file.
1
#include "
problem/sem_problem.h
"
2
3
#include <stdexcept>
4
5
namespace
hummingbird
{
6
SEMProblem::SEMProblem
(
const
FEFormulation
fe_formulation,
const
Mesh
& mesh,
7
const
size_t
n_ordinates) {
8
switch
(fe_formulation) {
9
case
FEFormulation::CG
:
10
sem_problem_
= std::make_unique<CGProblem>(mesh.
n_nodes
(), n_ordinates);
11
break
;
12
13
default
:
14
throw
std::runtime_error(
"FEFormulation not supported."
);
15
break
;
16
}
17
}
18
}
// namespace hummingbird
hummingbird::Mesh
Class defing a mesh.
Definition
mesh.h:27
hummingbird::Mesh::n_nodes
size_t n_nodes() const
Get the number of nodes in the mesh.
Definition
mesh.h:107
hummingbird::SEMProblem::SEMProblem
SEMProblem(const FEFormulation fe_formulation, const Mesh &mesh, const size_t n_ordinates)
Construct a new SEMProblem object, creating the concrete ProblemBase implementation matching fe_formu...
Definition
sem_problem.cc:6
hummingbird::SEMProblem::sem_problem_
std::unique_ptr< ProblemBase > sem_problem_
Concrete ProblemBase implementation for the chosen formulation.
Definition
sem_problem.h:41
hummingbird
Definition
bank_base.h:13
hummingbird::FEFormulation
FEFormulation
Available finite element formulations.
Definition
enums.h:63
hummingbird::FEFormulation::CG
@ CG
Definition
enums.h:63
sem_problem.h
src
problem
sem_problem.cc
Generated by
1.17.0