Class ProcessBasis

java.lang.Object
neqsim.process.design.ProcessBasis

public class ProcessBasis extends Object
Class representing process basis (design basis) for a process template.

ProcessBasis encapsulates all the input data needed to configure a process template, including:

  • Feed stream conditions (composition, flow rate, P, T)
  • Product specifications (outlet pressures, temperatures)
  • Environmental conditions (ambient temperature, cooling medium)
  • Design constraints and safety factors
  • Company standards and TR documents

Example usage:

ProcessBasis basis = ProcessBasis.builder().setFeedFluid(gasCondensate)
    .setFeedFlowRate(100000.0, "kg/hr").setFeedPressure(100.0, "bara")
    .setFeedTemperature(80.0, "C").addStagePressure(1, 70.0, "bara")
    .addStagePressure(2, 20.0, "bara").addStagePressure(3, 2.0, "bara")
    .setCompanyStandard("Equinor", "TR2000").setSafetyFactor(1.2).build();
Version:
1.0
Author:
NeqSim Development Team
  • Field Details

    • feedFluid

      private SystemInterface feedFluid
    • feedStream

      private StreamInterface feedStream
    • feedFlowRate

      private double feedFlowRate
    • feedPressure

      private double feedPressure
    • feedTemperature

      private double feedTemperature
    • stagePressures

      private Map<Integer,Double> stagePressures
    • stageTemperatures

      private Map<Integer,Double> stageTemperatures
    • ambientTemperature

      private double ambientTemperature
    • coolingMediumTemperature

      private double coolingMediumTemperature
    • companyStandard

      private String companyStandard
    • trDocument

      private String trDocument
    • safetyFactor

      private double safetyFactor
    • productSpecs

      private List<ProcessBasis.ProductSpecification> productSpecs
    • constraints

      private Map<String,Double> constraints
    • parameters

      private Map<String,Double> parameters
    • stringParameters

      private Map<String,String> stringParameters
  • Constructor Details

    • ProcessBasis

      public ProcessBasis()
      Default constructor - for direct instantiation.
  • Method Details

    • builder

      public static ProcessBasis.Builder builder()
      Create a new builder for ProcessBasis.
      Returns:
      new builder instance
    • getFeedFluid

      public SystemInterface getFeedFluid()
      Get the feed fluid.
      Returns:
      feed fluid
    • getFeedStream

      public StreamInterface getFeedStream()
      Get the feed stream. If not explicitly set, creates one from feed fluid.
      Returns:
      feed stream
    • getFeedFlowRate

      public double getFeedFlowRate()
      Get the feed flow rate in kg/hr.
      Returns:
      feed flow rate
    • getFeedPressure

      public double getFeedPressure()
      Get the feed pressure in bara.
      Returns:
      feed pressure
    • getFeedTemperature

      public double getFeedTemperature()
      Get the feed temperature in Kelvin.
      Returns:
      feed temperature
    • getStagePressure

      public Double getStagePressure(int stage)
      Get the pressure for a specific stage.
      Parameters:
      stage - stage number (1-based)
      Returns:
      pressure in bara, or null if not set
    • getStagePressures

      public Map<Integer,Double> getStagePressures()
      Get all stage pressures.
      Returns:
      map of stage number to pressure
    • getNumberOfStages

      public int getNumberOfStages()
      Get the number of stages defined.
      Returns:
      number of stages
    • getAmbientTemperature

      public double getAmbientTemperature()
      Get the ambient temperature in Kelvin.
      Returns:
      ambient temperature
    • getCoolingMediumTemperature

      public double getCoolingMediumTemperature()
      Get the cooling medium temperature in Kelvin.
      Returns:
      cooling medium temperature
    • getCompanyStandard

      public String getCompanyStandard()
      Get the company standard.
      Returns:
      company standard
    • getTRDocument

      public String getTRDocument()
      Get the TR document reference.
      Returns:
      TR document
    • getSafetyFactor

      public double getSafetyFactor()
      Get the safety factor.
      Returns:
      safety factor
    • getProductSpecs

      public List<ProcessBasis.ProductSpecification> getProductSpecs()
      Get product specifications.
      Returns:
      list of product specifications
    • getConstraint

      public Double getConstraint(String name)
      Get a constraint value by name.
      Parameters:
      name - constraint name
      Returns:
      constraint value or null if not set
    • getParameter

      public double getParameter(String name, double defaultValue)
      Get a parameter value by name with default.
      Parameters:
      name - parameter name
      defaultValue - default value if not set
      Returns:
      parameter value or default
    • setParameter

      public void setParameter(String name, double value)
      Set a parameter value.
      Parameters:
      name - parameter name
      value - parameter value
    • getParameterString

      public String getParameterString(String name, String defaultValue)
      Get a string parameter value by name with default.
      Parameters:
      name - parameter name
      defaultValue - default value if not set
      Returns:
      parameter value or default
    • setParameterString

      public void setParameterString(String name, String value)
      Set a string parameter value.
      Parameters:
      name - parameter name
      value - parameter value
    • setFeedFluid

      public void setFeedFluid(SystemInterface fluid)
      Set the feed fluid directly (convenience method).
      Parameters:
      fluid - the fluid
    • setFeedPressure

      public void setFeedPressure(double pressure)
      Set the feed pressure directly (convenience method).
      Parameters:
      pressure - pressure in bara
    • setFeedTemperature

      public void setFeedTemperature(double temperature)
      Set the feed temperature directly (convenience method).
      Parameters:
      temperature - temperature in Kelvin
    • setFeedFlowRate

      public void setFeedFlowRate(double flowRate)
      Set the feed flow rate directly (convenience method).
      Parameters:
      flowRate - flow rate in kg/hr