TransFlow  0.1.0
A transient pipeline flow simulation library
SteadyStateHeatTransfer Class Reference

Class that implements steady state heat transfer between gas and pipeline surroundings. More...

#include <steadystate.hpp>

Inheritance diagram for SteadyStateHeatTransfer:
RadialHeatTransfer HeatTransferBase

Public Member Functions

 SteadyStateHeatTransfer (const double diameter, const PipeWall &pipeWall, const double burialDepth, const BurialMedium &burialMedium, const AmbientFluid &ambientFluid)
 Construct from full description of pipeline. More...
 
 SteadyStateHeatTransfer (const double diameter=1.0, const double burialDepth=1.0)
 Constructor with default pipe wall, burial medium and ambient medium. More...
 
virtual HeatTransferState evaluate (const HeatTransferState &current, const double timeStep, const double ambientTemperature, const double gasPressure, const double gasTemperature, const double gasReynoldsNumber, const double gasHeatCapacity, const double gasViscosity) const override
 Evaluate 1d radial steady state heat transfer. More...
 
HeatTransferState evaluateInternal (const double ambientTemperature, const double gasPressure, const double gasTemperature, const double gasReynoldsNumber, const double gasHeatCapacity, const double gasViscosity) const
 Internal method used for evaluating steady state heat transfer. More...
 
double calculateHeatTransferCoefficient (const double gasPressure, const double gasReynoldsNumber, const double gasHeatCapacityConstantPressure, const double gasViscosity) const
 Calculate the total heat transfer coefficient U. More...
 
double getOverallHeatTransferCoefficient () const
 
double getOverallThermalResistance () const
 
- Public Member Functions inherited from RadialHeatTransfer
 RadialHeatTransfer (const double diameter, const PipeWall &pipeWall, const double burialDepth, const BurialMedium &burialMedium, const AmbientFluid &ambientFluid)
 Constructor that sets up the discretization of the pipe surroundings. More...
 
double calculateOuterFilmCoefficient () const
 Calculate the outer film coefficient. Basically a wrapper around utils::calcOuterWallFilmCoefficient(const double, const AmbientFluid&) using the proper arguments. More...
 
virtual arma::uword size () const
 The number of discretization elements.
 
virtual HeatTransferState makeState (const double heatFlux) const override
 Make instance of HeatTransferState from heat flux. Override. More...
 
virtual HeatTransferState makeState (const double heatFlux, const double gasTemperature, const double ambientTemperature) const override
 Make instance of HeatTransferState from heat flux. Override. More...
 
- Public Member Functions inherited from HeatTransferBase
virtual ~HeatTransferBase ()
 

Private Attributes

double m_overallHeatTransferCoefficient
 
double m_overallThermalResistance
 

Additional Inherited Members

- Protected Attributes inherited from RadialHeatTransfer
double m_diameter
 Pipe inner diameter [m].
 
double m_burialDepth
 Distance from top of pipe to top of burial medium [m].
 
BurialMedium m_burialMedium
 
AmbientFluid m_ambientFluid
 Description of the fluid surrounding the pipeline.
 
arma::vec m_width
 Width of each discretization shell [m].
 
arma::vec m_conductivity
 Thermal conductivity of each discretization shell [W/(m K)].
 
arma::vec m_density
 Density of each discretization shell [kg/m3].
 
arma::vec m_heatCapacity
 Heat capacity of each discretization shell ( \(c_p\)) [J/(kg K)].
 
arma::uvec m_isBurialLayer
 
arma::vec m_crossSection
 Area/cross-section of each shell [m2].
 
arma::vec m_ri
 Inner radius [m].
 
arma::vec m_ro
 Outer radius [m].
 

Detailed Description

Class that implements steady state heat transfer between gas and pipeline surroundings.

This is well documented in Jan Fredrik Helgaker's PhD thesis.

Constructor & Destructor Documentation

◆ SteadyStateHeatTransfer() [1/2]

SteadyStateHeatTransfer::SteadyStateHeatTransfer ( const double  diameter,
const PipeWall pipeWall,
const double  burialDepth,
const BurialMedium burialMedium,
const AmbientFluid ambientFluid 
)

Construct from full description of pipeline.

Parameters
diameterInner diameter [m]
pipeWallPipeWall instance
burialDepthDistance from top of pipe to top of burial medium [m]
burialMediumBurialMedium instace
ambientFluidAmbientFluid instance

◆ SteadyStateHeatTransfer() [2/2]

SteadyStateHeatTransfer::SteadyStateHeatTransfer ( const double  diameter = 1.0,
const double  burialDepth = 1.0 
)

Constructor with default pipe wall, burial medium and ambient medium.

Parameters
diameterInner diameter [m]
burialDepthDistance from top of pipe to top of burial medium [m]

Member Function Documentation

◆ calculateHeatTransferCoefficient()

double SteadyStateHeatTransfer::calculateHeatTransferCoefficient ( const double  gasPressure,
const double  gasReynoldsNumber,
const double  gasHeatCapacityConstantPressure,
const double  gasViscosity 
) const

Calculate the total heat transfer coefficient U.

This is exposed for testing purposes. We typically use pointers anyway, so this is not accessible without casting to SteadyStateHeatTransfer.

Parameters
gasPressureGas pressure [Pa]
gasReynoldsNumberGas Reynolds number [-]
gasHeatCapacityConstantPressureGas heat capacity ( \(c_p\)) [J/(kg K)]
gasViscosityGas dynamic viscosity [Pa s] = [kg/m*s]
Returns
Total heat transfer coefficient U [W/(m2 K)]

◆ evaluate()

virtual HeatTransferState SteadyStateHeatTransfer::evaluate ( const HeatTransferState current,
const double  timeStep,
const double  ambientTemperature,
const double  gasPressure,
const double  gasTemperature,
const double  gasReynoldsNumber,
const double  gasHeatCapacity,
const double  gasViscosity 
) const
overridevirtual

Evaluate 1d radial steady state heat transfer.

Operates on a HeatTransferState and returns a new HeatTransferState, but does not require discretization temperature.

Parameters
currentCurrent HeatTransferState
timeStepTime step [s]
ambientTemperatureAmbient temperature [K]
gasPressureGas pressure [Pa]
gasTemperatureGas temperature [K]
gasReynoldsNumberReynolds number of gas [-]
gasHeatCapacityGas heat capacity ( \(c_p\)) [J/(kg K)]
gasViscosityGas dynamic viscosity [Pa s] = [kg/m*s]
Returns
HeatTransferState with new heat flux.

Implements HeatTransferBase.

◆ evaluateInternal()

HeatTransferState SteadyStateHeatTransfer::evaluateInternal ( const double  ambientTemperature,
const double  gasPressure,
const double  gasTemperature,
const double  gasReynoldsNumber,
const double  gasHeatCapacity,
const double  gasViscosity 
) const

Internal method used for evaluating steady state heat transfer.

This is exposed for testing purposes. We typically use pointers anyway, so this is not accessible without casting to SteadyStateHeatTransfer.

Parameters
ambientTemperatureAmbient temperature [K]
gasPressureGas pressure [Pa]
gasTemperatureGas temperature [K]
gasReynoldsNumberReynolds number of gas [-]
gasHeatCapacityGas heat capacity ( \(c_p\)) [J/(kg K)]
gasViscosityGas dynamic viscosity [Pa s] = [kg/m*s]
Returns
HeatTransferState with new heat flux.

◆ getOverallHeatTransferCoefficient()

double SteadyStateHeatTransfer::getOverallHeatTransferCoefficient ( ) const
inline

Get the total heat transfer coefficient of all radial discretization shells. Does not include the inner film coefficient.

◆ getOverallThermalResistance()

double SteadyStateHeatTransfer::getOverallThermalResistance ( ) const
inline

Get the total thermal resistance of all radial discretization shells. Does not include the inner film coefficient.

Member Data Documentation

◆ m_overallHeatTransferCoefficient

double SteadyStateHeatTransfer::m_overallHeatTransferCoefficient
private

Total heat transfer coefficient of all radial discretization shells. Does not include the inner film coefficient.

◆ m_overallThermalResistance

double SteadyStateHeatTransfer::m_overallThermalResistance
private

Total thermal resistance of all radial discretization shells. Does not include the inner film coefficient.


The documentation for this class was generated from the following file: