TransFlow  0.1.0
A transient pipeline flow simulation library
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 CBatchTrackingState::BatchContains the information for a single batch
 CBatchTrackingA class for calculating the time development of the gas composition from the gas velocity
 CBatchTrackingStateContains the state which BatchTracking operates on
 CBoundaryConditionsContainer for the boundary conditions at the inlet and outlet of a pipeline, for a single time step
 CTimeStepSubclass of BoundaryConditions with an extra member to store the timestamp of the boundary conditions
 CCompositionSimple container class for the composition of natural gas. We use arma::vec::fixed<10> to fix the number of components at 10
 CConfigThe Config struct stores all settings for the different parts of the pipeline simulation
 CDiscretizerDiscretizer is an abstract class, the base class the implementation of the discretization of the two different sets of governing equations; internal energy and enthalpy
 CEnthalpyDiscretizerImplementation of Discretizer for the enthalpy form of the energy equation
 CInternalEnergyDiscretizerImplementation of Discretizer for the internal energy form of the energy equation
 CEquationOfStateWrapper around EquationOfStateBase that has one equation of state instance per grid point, and wraps the EquationOfStateBase::evaluate() function
 CEquationOfStateBaseThe EquationOfStateBase is an abstract class, the base class for different equations of state
 CBWRSImplements the Benedict-Webb-Rubin-Starling (BWRS) equation of state
 CDummyGasDummy EOS implementation used for unit testing. This uses a special molar mass for the gas components, which makes for easier testing
 CGERG04Implements the GERG 2004 equation of state
 CIdealGasImplements the equation of state for an ideal gas
 CGoverningEquationSolverBaseSimple Base class to avoid having to specify template argument for GoverningEquationSolver. This means that we have to use pointers to GoverningEquationSolverBase instead of simple GoverningEquationSolverBase instances
 CGoverningEquationSolver< T >The GoverningEquationSolver class is a composition of Discretizer and MatrixEquation with a little bit of logic, that solves the governing equations for a 1d gas pipeline
 CHeatTransferThe EquationOfState class is a wrapper around HeatTransferBase that has one heat transfer instance per grid point, and wraps the HeatTransferBase::evaluate() function
 CHeatTransferBaseAbstract class, the base class for all heat transfer implementations. It mostly just defines a stencil for the evaluate() function and the HeatTransferState class
 CFixedQValueImplementation of HeatTransferBase for fixed heat flux
 CFixedUValueImplementation of HeatTransferBase for fixed U-value (total heat transfer coefficient)
 CRadialHeatTransferBase class for heat transfer calculation with 1d radial models
 CSteadyStateHeatTransferClass that implements steady state heat transfer between gas and pipeline surroundings
 CUnsteadyHeatTransferImplements 1d radial unsteady heat transfer
 CHeatTransferStateContainer for the state of a HeatTransferBase instance. All HeatTransferBase subclasses operate on instances of State, and return State
 Cutils::LinearInterpolator
 CMaterialSimple container class that defines the conductivity, density and heat capacity of a material
 CAmbientFluidSimple container class that defines the conductivity, density, heat capacity, dynamic viscosity and velocity of a fluid used by HeatTransfer
 CBurialMediumSimple container class that defines the conductivity, density and heat capacity of a burial medium. Mostly used by HeatTransfer
 CPipeWall::LayerThe PipeWall::Layer class is a simple container class that defines the thickness and all other material properties of a single layer of pipe wall
 CMatrixEquationSets up the matrix equation from the system of equations found from the governing equations
 CPhysicsCombines EquationOfState and HeatTransfer to calculate the new state of a pipeline given a new pressure, temperature and flow
 CPipeline
 CPipeWallContainer class that defines the thickness and Material properties of each layer a pipe consists of
 Cdetails::PropertyToSampleThe PropertyToSample struct contains information about a single property from Pipeline that we are going to sample
 Crange_error
 Cutils::physics_error
 Cutils::pressure_range_error
 Cutils::temperature_range_error
 Cruntime_error
 Cutils::linalg_error
 Cutils::no_solution_found
 Cutils::no_convergence_error
 CSamplerUsed to sample selected Pipeline properties during simulations
 CTimeSeries::Series
 CSimulatorCombines Physics and Solver to advance the state of the pipeline in time. It contains a Pipeline instance which has thes state of the pipeline at all times
 CBoundaryConditions::SingleConditionUsed to store a single boundary condition (like flow, pressure or temperature), and also contains information on whether the condition is "active", meaning if it is meant to be a constrain when solving the governing equations
 CSolverCombines GoverningEquationSolver and BatchTracking to advance the governing equations forward in time, and advect the gas composition
 CPipeline::State
 Cutils::stringbuilder
 CTimeSeriesUsed to store the boundary conditions for several time steps