LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Toggle main menu visibility
Loading...
Searching...
No Matches
fluid_nonhyperbolic.h
Go to the documentation of this file.
1
#pragma once
2
/**
3
* @file fluid_nonhyperbolic.h
4
* @ingroup line_solvers
5
* @brief The one exception the fluid fallback ladder catches.
6
*
7
* Split out of `fluid_moments.h` on 2026-08-28 so that `solver_fluid.h` can
8
* raise it too. `fluid_moments.h` includes `solver_fluid.h`, so the definition
9
* could not stay there and be visible in the window loop: the conservation
10
* guard raises it from inside the integration, where a divergence is first
11
* detectable, and `fluid_runner.h` catches it in exactly the same place as
12
* before.
13
*/
14
15
#include <string>
16
17
#include "
line/util/error.h
"
18
19
namespace
line
{
20
namespace
fluid
{
21
22
/**
23
* Raised when the moment closure cannot serve this model: the linearization at
24
* the fixed point is not hyperbolic, or the drift has left the simplex. A
25
* non-hyperbolic fixed point cannot be detected before the mean is solved, so
26
* `fluid_minnormal_applicable` cannot decline it in advance; the runner catches
27
* THIS exception, and only this one, to fall back to a first-order method when
28
* the moment closure was RESOLVED from `default` rather than asked for by name.
29
* Catching a plain NumericError there would also swallow a singular Jacobian or
30
* a failed integration, which are defects and not model properties.
31
*/
32
class
FluidNonHyperbolicError
:
public
NumericError
{
33
public
:
34
explicit
FluidNonHyperbolicError
(
const
std::string& what) :
NumericError
(what) {}
35
};
36
37
}
// namespace fluid
38
}
// namespace line
line::NumericError::NumericError
NumericError(const std::string &what)
Definition
error.h:45
line::fluid::FluidNonHyperbolicError::FluidNonHyperbolicError
FluidNonHyperbolicError(const std::string &what)
Definition
fluid_nonhyperbolic.h:34
error.h
The exception types the port throws.
line::fluid
Definition
fluid_aoi.h:81
line
Definition
aoi_dist2ph.h:52
include
line
solvers
fluid
fluid_nonhyperbolic.h
Generated by
1.18.0