Class RadialThermalLayer
java.lang.Object
neqsim.process.equipment.pipeline.RadialThermalLayer
- All Implemented Interfaces:
Serializable
Represents a radial thermal layer for multi-layer heat transfer calculations in pipelines.
This class supports OLGA-style multi-layer thermal modeling with typical layers including:
- Steel pipe wall - high conductivity, high thermal mass
- Corrosion coating - thin, low conductivity
- Insulation layers (PU foam, aerogel, etc.) - thick, very low conductivity
- Concrete weight coating - high conductivity, high thermal mass
- Burial/soil layer - variable conductivity depending on conditions
References:
- Bai, Y. & Bai, Q. "Subsea Pipelines and Risers" - thermal design chapter
- DNV-OS-F101 - Submarine Pipeline Systems
- OLGA User Manual - Heat Transfer Models
- Version:
- 1.0
- Author:
- ASMF
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumPredefined layer material types with default properties. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleDensity [kg/m³].private doubleInner radius of this layer [m].private RadialThermalLayer.MaterialTypeLayer material type.private StringLayer name/identifier.private doubleOuter radius of this layer [m].private doubleTemperature at previous time step [K].private static final longprivate doubleSpecific heat capacity [J/(kg·K)].private doubleCurrent temperature of layer [K] - for transient calculations.private doubleThermal conductivity [W/(m·K)]. -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor creating a custom layer.RadialThermalLayer(String name, double innerRadius, double thickness, double k, double rho, double cp) Construct a custom thermal layer with user-specified properties.RadialThermalLayer(String name, double innerRadius, double thickness, RadialThermalLayer.MaterialType material) Construct a thermal layer with specified dimensions and material type. -
Method Summary
Modifier and TypeMethodDescriptioncopy()Create a copy of this layer.doubleCalculate cross-sectional area of the layer.doubleGet density.doubleGet inner radius.doubleCalculate mass per unit length.Get material type.doubleGet mean radius of the layer.getName()Get layer name.doubleGet outer radius.doubleGet previous time step temperature.doubleGet specific heat capacity.doubleGet current temperature.doubleGet thermal conductivity.doubleCalculate thermal mass per unit length.doubleCalculate thermal resistance of this cylindrical layer per unit length.doubleGet the layer thickness.voidinitializeTemperature(double initialTemperature) Initialize temperatures for start of transient.voidsetDensity(double density) Set density (overrides material preset).voidsetInnerRadius(double innerRadius) Set inner radius.voidsetMaterialType(RadialThermalLayer.MaterialType materialType) Set material type and update properties from preset.voidSet layer name.voidsetOuterRadius(double outerRadius) Set outer radius.voidsetSpecificHeat(double specificHeat) Set specific heat (overrides material preset).voidsetTemperature(double temperature) Set current temperature.voidsetThermalConductivity(double thermalConductivity) Set thermal conductivity (overrides material preset).toString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
name
Layer name/identifier. -
materialType
Layer material type. -
innerRadius
private double innerRadiusInner radius of this layer [m]. -
outerRadius
private double outerRadiusOuter radius of this layer [m]. -
thermalConductivity
private double thermalConductivityThermal conductivity [W/(m·K)]. -
density
private double densityDensity [kg/m³]. -
specificHeat
private double specificHeatSpecific heat capacity [J/(kg·K)]. -
temperature
private double temperatureCurrent temperature of layer [K] - for transient calculations. -
previousTemperature
private double previousTemperatureTemperature at previous time step [K].
-
-
Constructor Details
-
RadialThermalLayer
public RadialThermalLayer()Default constructor creating a custom layer. -
RadialThermalLayer
public RadialThermalLayer(String name, double innerRadius, double thickness, RadialThermalLayer.MaterialType material) Construct a thermal layer with specified dimensions and material type.- Parameters:
name- Layer identifierinnerRadius- Inner radius [m]thickness- Layer thickness [m]material- Material type preset
-
RadialThermalLayer
public RadialThermalLayer(String name, double innerRadius, double thickness, double k, double rho, double cp) Construct a custom thermal layer with user-specified properties.- Parameters:
name- Layer identifierinnerRadius- Inner radius [m]thickness- Layer thickness [m]k- Thermal conductivity [W/(m·K)]rho- Density [kg/m³]cp- Specific heat [J/(kg·K)]
-
-
Method Details
-
getThickness
public double getThickness()Get the layer thickness.- Returns:
- Thickness in meters
-
getThermalResistance
public double getThermalResistance()Calculate thermal resistance of this cylindrical layer per unit length.For a cylindrical shell: R = ln(r_o/r_i) / (2 * π * k)
- Returns:
- Thermal resistance in (m·K)/W per unit length
-
getThermalMassPerLength
public double getThermalMassPerLength()Calculate thermal mass per unit length.Thermal mass = ρ * Cp * A = ρ * Cp * π * (r_o² - r_i²)
- Returns:
- Thermal mass in J/(K·m)
-
getCrossSectionalArea
public double getCrossSectionalArea()Calculate cross-sectional area of the layer.- Returns:
- Area in m²
-
getMassPerLength
public double getMassPerLength()Calculate mass per unit length.- Returns:
- Mass in kg/m
-
getMeanRadius
public double getMeanRadius()Get mean radius of the layer.- Returns:
- Mean radius in meters
-
getName
-
setName
-
getMaterialType
Get material type.- Returns:
- Material type enum
-
setMaterialType
Set material type and update properties from preset.- Parameters:
materialType- Material type preset
-
getInnerRadius
public double getInnerRadius()Get inner radius.- Returns:
- Inner radius in meters
-
setInnerRadius
public void setInnerRadius(double innerRadius) Set inner radius.- Parameters:
innerRadius- Inner radius in meters
-
getOuterRadius
public double getOuterRadius()Get outer radius.- Returns:
- Outer radius in meters
-
setOuterRadius
public void setOuterRadius(double outerRadius) Set outer radius.- Parameters:
outerRadius- Outer radius in meters
-
getThermalConductivity
public double getThermalConductivity()Get thermal conductivity.- Returns:
- Thermal conductivity in W/(m·K)
-
setThermalConductivity
public void setThermalConductivity(double thermalConductivity) Set thermal conductivity (overrides material preset).- Parameters:
thermalConductivity- Thermal conductivity in W/(m·K)
-
getDensity
public double getDensity()Get density.- Returns:
- Density in kg/m³
-
setDensity
public void setDensity(double density) Set density (overrides material preset).- Parameters:
density- Density in kg/m³
-
getSpecificHeat
public double getSpecificHeat()Get specific heat capacity.- Returns:
- Specific heat in J/(kg·K)
-
setSpecificHeat
public void setSpecificHeat(double specificHeat) Set specific heat (overrides material preset).- Parameters:
specificHeat- Specific heat in J/(kg·K)
-
getTemperature
public double getTemperature()Get current temperature.- Returns:
- Temperature in Kelvin
-
setTemperature
public void setTemperature(double temperature) Set current temperature.- Parameters:
temperature- Temperature in Kelvin
-
getPreviousTemperature
public double getPreviousTemperature()Get previous time step temperature.- Returns:
- Previous temperature in Kelvin
-
initializeTemperature
public void initializeTemperature(double initialTemperature) Initialize temperatures for start of transient.- Parameters:
initialTemperature- Initial temperature in Kelvin
-
toString
-
copy
-