Class TankGeometry

java.lang.Object
neqsim.process.equipment.lng.TankGeometry
All Implemented Interfaces:
Serializable

public class TankGeometry extends Object implements Serializable
Defines the physical geometry of an LNG cargo tank.

Tank geometry determines the heat transfer zones, liquid surface area, wetted wall area at a given fill level, and how liquid height relates to volume. Commercial LNG simulators (Cargo Expert, LNGMAP) use detailed geometric models for each containment type.

Four containment types are supported:

  • Membrane (GTT NO96 / Mark III) — prismatic box integrated into ship hull
  • Moss (Moss Maritime) — spherical self-supporting tank
  • Type C (IMO Type C) — horizontal cylindrical pressure vessel
  • SPB (IHI Self-supporting Prismatic) — prismatic self-supporting tank
Version:
1.0
Author:
NeqSim
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version UID.
      See Also:
    • containmentType

      private TankGeometry.ContainmentType containmentType
      Containment type.
    • totalVolume

      private double totalVolume
      Total tank volume (m3).
    • length

      private double length
      Tank length (m). For membrane/SPB: fore-aft length. For Type C: cylinder length.
    • width

      private double width
      Tank width/breadth (m). For membrane: athwartship. For Moss/Type C: diameter.
    • height

      private double height
      Tank height (m). For membrane: depth from bottom to roof. For Moss: diameter.
    • innerDiameter

      private double innerDiameter
      Tank inner diameter (m). For Moss and Type C.
    • insulationThickness

      private double insulationThickness
      Insulation thickness (m). Typical: membrane 0.27m, Moss 0.30m.
    • insulationConductivity

      private double insulationConductivity
      Insulation thermal conductivity (W/(m*K)).
  • Constructor Details

    • TankGeometry

      public TankGeometry()
      Default constructor. Creates a typical 140,000 m3 membrane tank.
    • TankGeometry

      public TankGeometry(TankGeometry.ContainmentType type, double totalVolume)
      Constructor with containment type.
      Parameters:
      type - containment type
      totalVolume - total tank volume (m3)
  • Method Details

    • setDefaultDimensionsForType

      private void setDefaultDimensionsForType(TankGeometry.ContainmentType type, double volume)
      Set default dimensions based on containment type and total volume.
      Parameters:
      type - containment type
      volume - total volume (m3)
    • getBottomArea

      public double getBottomArea()
      Get the bottom area of the tank (contact with bottom insulation/ballast).
      Returns:
      bottom area (m2)
    • getRoofArea

      public double getRoofArea()
      Get the roof area of the tank (exposed to ambient/deck).
      Returns:
      roof area (m2)
    • getSidewallArea

      public double getSidewallArea()
      Get the sidewall area of the tank.
      Returns:
      sidewall area (m2)
    • getTotalSurfaceArea

      public double getTotalSurfaceArea()
      Get the total external surface area of the tank.
      Returns:
      total surface area (m2)
    • getWettedWallArea

      public double getWettedWallArea(double fillFraction)
      Get the wetted wall area for a given fill level.

      The wetted area determines the effective area for wall-to-liquid heat transfer.

      Parameters:
      fillFraction - fill level (0.0 to 1.0)
      Returns:
      wetted wall area (m2)
    • getLiquidHeight

      public double getLiquidHeight(double liquidVolume)
      Get the liquid height for a given fill volume.
      Parameters:
      liquidVolume - liquid volume (m3)
      Returns:
      liquid height (m)
    • getLiquidSurfaceArea

      public double getLiquidSurfaceArea(double fillFraction)
      Get the liquid surface area at a given fill level (free surface for evaporation).
      Parameters:
      fillFraction - fill level (0.0 to 1.0)
      Returns:
      liquid surface area (m2)
    • getInsulationUValue

      public double getInsulationUValue()
      Get the overall heat transfer coefficient for the insulation.

      U = k / t, where k is insulation conductivity and t is thickness.

      Returns:
      U-value (W/(m2*K))
    • createQMax

      public static TankGeometry createQMax()
      Create a typical 174,000 m3 Q-Max membrane tank.
      Returns:
      tank geometry for Q-Max
    • createMossSingle

      public static TankGeometry createMossSingle()
      Create a typical 36,000 m3 Moss tank (one sphere of a 145,000 m3 Moss carrier).
      Returns:
      tank geometry for single Moss sphere
    • createTypeC

      public static TankGeometry createTypeC()
      Create a typical small-scale Type C tank (e.g., 7500 m3 for small LNG carrier).
      Returns:
      tank geometry for Type C
    • getContainmentType

      public TankGeometry.ContainmentType getContainmentType()
      Get containment type.
      Returns:
      containment type
    • setContainmentType

      public void setContainmentType(TankGeometry.ContainmentType containmentType)
      Set containment type.
      Parameters:
      containmentType - containment type
    • getTotalVolume

      public double getTotalVolume()
      Get total volume.
      Returns:
      total volume (m3)
    • setTotalVolume

      public void setTotalVolume(double totalVolume)
      Set total volume.
      Parameters:
      totalVolume - total volume (m3)
    • getLength

      public double getLength()
      Get tank length.
      Returns:
      length (m)
    • setLength

      public void setLength(double length)
      Set tank length.
      Parameters:
      length - length (m)
    • getWidth

      public double getWidth()
      Get tank width.
      Returns:
      width (m)
    • setWidth

      public void setWidth(double width)
      Set tank width.
      Parameters:
      width - width (m)
    • getHeight

      public double getHeight()
      Get tank height.
      Returns:
      height (m)
    • setHeight

      public void setHeight(double height)
      Set tank height.
      Parameters:
      height - height (m)
    • getInnerDiameter

      public double getInnerDiameter()
      Get inner diameter.
      Returns:
      inner diameter (m)
    • setInnerDiameter

      public void setInnerDiameter(double innerDiameter)
      Set inner diameter.
      Parameters:
      innerDiameter - inner diameter (m)
    • getInsulationThickness

      public double getInsulationThickness()
      Get insulation thickness.
      Returns:
      insulation thickness (m)
    • setInsulationThickness

      public void setInsulationThickness(double insulationThickness)
      Set insulation thickness.
      Parameters:
      insulationThickness - insulation thickness (m)
    • getInsulationConductivity

      public double getInsulationConductivity()
      Get insulation conductivity.
      Returns:
      thermal conductivity (W/(m*K))
    • setInsulationConductivity

      public void setInsulationConductivity(double insulationConductivity)
      Set insulation conductivity.
      Parameters:
      insulationConductivity - thermal conductivity (W/(m*K))