Class MembraneMechanicalDesign

java.lang.Object
neqsim.process.mechanicaldesign.MechanicalDesign
neqsim.process.mechanicaldesign.membrane.MembraneMechanicalDesign
All Implemented Interfaces:
Serializable

public class MembraneMechanicalDesign extends MechanicalDesign
Mechanical design for membrane separation modules.

Covers hollow-fiber and spiral-wound module sizing, pressure vessel housing design per ASME VIII, membrane area calculation from permeability data, stage-cut optimization, and weight/cost estimation. Applicable to gas separation (CO2/CH4, N2/O2, H2 recovery) and vapor permeation.

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

    • serialVersionUID

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

      private String moduleType
      Module configuration: "HOLLOW_FIBER" or "SPIRAL_WOUND".
    • numberOfModules

      private int numberOfModules
      Number of modules required.
    • areaPerModule

      private double areaPerModule
      Membrane area per module in m2.
    • totalMembraneArea

      private double totalMembraneArea
      Total required membrane area in m2.
    • housingDiameter

      private double housingDiameter
      Module housing inner diameter in meters.
    • housingLength

      private double housingLength
      Module housing length in meters.
    • housingWallThickness

      private double housingWallThickness
      Housing wall thickness in mm.
    • designPressure

      private double designPressure
      Design pressure in bara.
    • designPressureMargin

      private double designPressureMargin
      Design pressure margin factor.
    • designTemperatureMarginC

      private double designTemperatureMarginC
      Design temperature margin above max operating in Celsius.
    • membraneLifeMonths

      private int membraneLifeMonths
      Membrane replacement interval in months.
    • feedPressureDrop

      private double feedPressureDrop
      Feed-side pressure drop in bar.
    • permeatePressureDrop

      private double permeatePressureDrop
      Permeate-side pressure drop in bar.
    • stageCut

      private double stageCut
      Stage cut (permeate fraction).
    • permeatePurity

      private double permeatePurity
      Permeate purity (mole fraction of target component).
    • totalModuleWeight

      private double totalModuleWeight
      Total weight of all modules in kg.
    • totalSkidWeight

      private double totalSkidWeight
      Skid weight including frame in kg.
    • skidFootprint

      private double skidFootprint
      Skid footprint in m2.
    • allowableStressMPa

      private double allowableStressMPa
      Allowable stress for housing material in MPa.
  • Constructor Details

    • MembraneMechanicalDesign

      public MembraneMechanicalDesign(ProcessEquipmentInterface equipment)
      Constructor for MembraneMechanicalDesign.
      Parameters:
      equipment - the membrane separator equipment
  • Method Details

    • calcDesign

      public void calcDesign()

      calcDesign.

      Overrides:
      calcDesign in class MechanicalDesign
    • getModuleType

      public String getModuleType()
      Gets the module configuration type.
      Returns:
      "HOLLOW_FIBER" or "SPIRAL_WOUND"
    • setModuleType

      public void setModuleType(String moduleType)
      Sets the module configuration type.
      Parameters:
      moduleType - "HOLLOW_FIBER" or "SPIRAL_WOUND"
    • getNumberOfModules

      public int getNumberOfModules()
      Gets the number of modules.
      Returns:
      number of modules
    • getTotalMembraneArea

      public double getTotalMembraneArea()
      Gets the total membrane area.
      Returns:
      area in m2
    • getStageCut

      public double getStageCut()
      Gets the stage cut.
      Returns:
      stage cut (0-1)
    • getHousingWallThickness

      public double getHousingWallThickness()
      Gets the housing wall thickness.
      Returns:
      wall thickness in mm
    • getTotalSkidWeight

      public double getTotalSkidWeight()
      Gets the total skid weight.
      Returns:
      weight in kg
    • getSkidFootprint

      public double getSkidFootprint()
      Gets the skid footprint.
      Returns:
      footprint in m2
    • setAreaPerModule

      public void setAreaPerModule(double area)
      Sets the membrane area per module.
      Parameters:
      area - area in m2
    • setMembraneLifeMonths

      public void setMembraneLifeMonths(int months)
      Sets the membrane replacement interval.
      Parameters:
      months - replacement interval in months
    • getMembraneLifeMonths

      public int getMembraneLifeMonths()
      Gets the membrane replacement interval.
      Returns:
      interval in months
    • getTotalModuleWeight

      public double getTotalModuleWeight()
      Gets the total module weight.
      Returns:
      weight in kg