TransFlow
0.1.0
A transient pipeline flow simulation library
|
13 #include "pipeline.hpp"
14 #include "solver/solver.hpp"
15 #include "physics.hpp"
16 #include "timeseries.hpp"
18 #include "sampler.hpp"
47 std::unique_ptr<Physics>&
physics,
48 std::unique_ptr<Solver>&
solver);
const Solver & solver() const
Get (const ref) Solver.
Definition: simulator.hpp:73
const Physics & physics() const
Get (const ref) Physics.
Definition: simulator.hpp:76
std::unique_ptr< Physics > m_physics
Physics instance, contains HeatTransfer and EquationOfState.
Definition: simulator.hpp:83
std::optional< Sampler > m_sampler
(Optional) sampler instance, for writing results to file during simulation
Definition: simulator.hpp:85
Simulator(const Pipeline &pipeline=Pipeline(), const Config &config=Config())
Construct using Pipeline and Config. Will construct Physics and Solver using the settings in Config,...
Definition: pipeline.hpp:16
std::optional< Sampler > makeSampler(const Config &config)
Make optional Sampler instance. Returns empty optional if config.outputPath is empty.
const Pipeline::State & state() const
Get (const ref) Pipeline::State.
Definition: simulator.hpp:70
arma::vec simulate(const TimeSeries &timeSeries)
Advance the pipeline in time by any number of time steps. If initialize is true the pipeline pressure...
The Physics class combines EquationOfState and HeatTransfer to calculate the new state of a pipeline ...
Definition: physics.hpp:21
The Simulator class combines Physics and Solver to advance the state of the pipeline in time....
Definition: simulator.hpp:25
std::unique_ptr< Solver > m_solver
Solver instance, contains GoverningEquationSolver and BatchTracking.
Definition: simulator.hpp:84
arma::uword size() const
Get size (number of grid points)
Definition: simulator.hpp:64
std::unique_ptr< Pipeline > m_state
Pipeline state.
Definition: simulator.hpp:82
void enableBatchTracking()
Enables batch tracking. Wrapper around Pipeline::enableBatchTracking().
The Solver class combines GoverningEquationSolver and BatchTracking to advance the governing equation...
Definition: solver.hpp:25
Definition: pipeline.hpp:20
The Config struct stores all settings for the different parts of the pipeline simulation.
Definition: config.hpp:11
Sampler & sampler()
Get (ref) sampler.
Definition: simulator.hpp:79
const Pipeline & pipeline() const
Get (const ref) Pipeline.
Definition: simulator.hpp:67
The TimeSeries class is used to store the boundary conditions for several time steps.
Definition: timeseries.hpp:29
The Sampler class is used to sample selected Pipeline properties during simulations.
Definition: sampler.hpp:69