Class PackingSpecification

java.lang.Object
neqsim.process.equipment.distillation.internals.PackingSpecification
All Implemented Interfaces:
Serializable

public class PackingSpecification extends Object implements Serializable
Immutable packed-column packing data used by hydraulic and rate-based column models.

The specification stores geometry, hydraulic capacity, material wetting data, and optional Billet-Schultes constants in one reusable object. Nominal size is stored in millimetres to match vendor and NeqSim design-data tables.

Version:
1.0
Author:
NeqSim
See Also:
  • Field Details

    • serialVersionUID

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

      private final String name
      Packing display name.
    • category

      private final String category
      Packing category such as random or structured.
    • material

      private final String material
      Packing material such as metal, plastic, or ceramic.
    • nominalSizeMm

      private final double nominalSizeMm
      Nominal packing size in millimetres.
    • specificSurfaceArea

      private final double specificSurfaceArea
      Specific surface area in square metres per cubic metre.
    • voidFraction

      private final double voidFraction
      Packing void fraction.
    • packingFactor

      private final double packingFactor
      Packing factor used by GPDC-style hydraulic correlations.
    • criticalSurfaceTension

      private final double criticalSurfaceTension
      Critical surface tension in newtons per metre.
    • billetLiquidConstant

      private final double billetLiquidConstant
      Billet-Schultes liquid-side constant.
    • billetGasConstant

      private final double billetGasConstant
      Billet-Schultes gas-side constant.
    • source

      private final String source
      Source text for traceability.
  • Constructor Details

    • PackingSpecification

      public PackingSpecification(String name, String category, String material, double nominalSizeMm, double specificSurfaceArea, double voidFraction, double packingFactor, double criticalSurfaceTension, double billetLiquidConstant, double billetGasConstant, String source)
      Create a packing specification.
      Parameters:
      name - packing display name
      category - packing category, normally random or structured
      material - packing material, for example metal, plastic, or ceramic
      nominalSizeMm - nominal packing size in millimetres, or zero for structured packing
      specificSurfaceArea - specific surface area in m2/m3, must be positive
      voidFraction - void fraction from zero to one, must be positive
      packingFactor - hydraulic packing factor in 1/m, must be positive
      criticalSurfaceTension - critical surface tension in N/m, must be positive
      billetLiquidConstant - Billet-Schultes liquid-side constant, must be positive
      billetGasConstant - Billet-Schultes gas-side constant, must be positive
      source - source description for the data
      Throws:
      IllegalArgumentException - if a required numeric value is outside its valid range
  • Method Details

    • requireText

      private static String requireText(String value, String fieldName)
      Require a non-empty text field.
      Parameters:
      value - text value to check
      fieldName - name of the field being checked
      Returns:
      trimmed text value
      Throws:
      IllegalArgumentException - if the value is null or empty
    • validatePositive

      private static void validatePositive(double value, String fieldName)
      Validate that a numeric value is positive and finite.
      Parameters:
      value - value to validate
      fieldName - name of the field being checked
      Throws:
      IllegalArgumentException - if the value is not positive or finite
    • validateNonNegative

      private static void validateNonNegative(double value, String fieldName)
      Validate that a numeric value is non-negative and finite.
      Parameters:
      value - value to validate
      fieldName - name of the field being checked
      Throws:
      IllegalArgumentException - if the value is negative or not finite
    • validateFraction

      private static void validateFraction(double value, String fieldName)
      Validate that a numeric value is a fraction between zero and one.
      Parameters:
      value - value to validate
      fieldName - name of the field being checked
      Throws:
      IllegalArgumentException - if the value is outside the open interval zero to one
    • getName

      public String getName()
      Get the packing display name.
      Returns:
      packing display name
    • getCategory

      public String getCategory()
      Get the packing category.
      Returns:
      packing category
    • getMaterial

      public String getMaterial()
      Get the packing material.
      Returns:
      packing material
    • getNominalSizeMm

      public double getNominalSizeMm()
      Get the nominal packing size.
      Returns:
      nominal size in millimetres
    • getNominalSizeM

      public double getNominalSizeM()
      Get the nominal packing size.
      Returns:
      nominal size in metres
    • getSpecificSurfaceArea

      public double getSpecificSurfaceArea()
      Get the specific surface area.
      Returns:
      specific surface area in m2/m3
    • getVoidFraction

      public double getVoidFraction()
      Get the void fraction.
      Returns:
      void fraction
    • getPackingFactor

      public double getPackingFactor()
      Get the hydraulic packing factor.
      Returns:
      packing factor in 1/m
    • getCriticalSurfaceTension

      public double getCriticalSurfaceTension()
      Get the critical surface tension.
      Returns:
      critical surface tension in N/m
    • getBilletLiquidConstant

      public double getBilletLiquidConstant()
      Get the Billet-Schultes liquid-side constant.
      Returns:
      liquid-side constant
    • getBilletGasConstant

      public double getBilletGasConstant()
      Get the Billet-Schultes gas-side constant.
      Returns:
      gas-side constant
    • getSource

      public String getSource()
      Get the source description.
      Returns:
      data source description
    • isStructured

      public boolean isStructured()
      Check whether this packing is structured.
      Returns:
      true if the category is structured