Class GasCompressionTemplate
java.lang.Object
neqsim.process.design.template.GasCompressionTemplate
- All Implemented Interfaces:
ProcessTemplate
Template for creating multi-stage gas compression systems.
This template creates a standard gas compression train consisting of multiple stages with interstage cooling and liquid knockout. The number of stages is determined automatically based on the overall pressure ratio or can be specified manually.
Features
- Automatic stage calculation based on optimal compression ratio per stage
- Interstage coolers with configurable outlet temperature
- Knockout drums for liquid removal between stages
- Support for wet gas and condensate-rich applications
Usage Example
ProcessBasis basis = new ProcessBasis();
basis.setFeedFluid(gasFluid);
basis.setFeedPressure(5.0); // bara
basis.setParameter("dischargePressure", 100.0); // bara
basis.setParameter("interstageTemperature", 40.0); // °C
GasCompressionTemplate template = new GasCompressionTemplate();
ProcessSystem compression = template.create(basis);
compression.run();
- Version:
- 1.0
- Author:
- NeqSim Development Team
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final doubleDefault inlet temperature in Celsius.private static final doubleDefault interstage temperature in Celsius.private static final doubleDefault compressor polytropic efficiency.private static final doubleMaximum compression ratio per stage.private static final doubleOptimal compression ratio per stage (typically 2.5-4.0). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate intcalculateOptimalStages(double inletPressure, double dischargePressure) Calculates the optimal number of compression stages.create(ProcessBasis basis) Create a process system from this template using the given process basis.Get a description of the process template.String[]Get the expected outputs from this process template.getName()Get the template name.String[]Get the required equipment types for this template.booleanisApplicable(SystemInterface fluid) Check if this template is applicable for the given fluid.
-
Field Details
-
DEFAULT_INTERSTAGE_TEMP_C
private static final double DEFAULT_INTERSTAGE_TEMP_CDefault interstage temperature in Celsius.- See Also:
-
DEFAULT_POLYTROPIC_EFFICIENCY
private static final double DEFAULT_POLYTROPIC_EFFICIENCYDefault compressor polytropic efficiency.- See Also:
-
OPTIMAL_COMPRESSION_RATIO
private static final double OPTIMAL_COMPRESSION_RATIOOptimal compression ratio per stage (typically 2.5-4.0).- See Also:
-
MAX_COMPRESSION_RATIO
private static final double MAX_COMPRESSION_RATIOMaximum compression ratio per stage.- See Also:
-
DEFAULT_INLET_TEMP_C
private static final double DEFAULT_INLET_TEMP_CDefault inlet temperature in Celsius.- See Also:
-
-
Constructor Details
-
GasCompressionTemplate
public GasCompressionTemplate()Creates a new GasCompressionTemplate.
-
-
Method Details
-
create
Create a process system from this template using the given process basis.- Specified by:
createin interfaceProcessTemplate- Parameters:
basis- the process basis containing feed conditions and constraints- Returns:
- a configured ProcessSystem
-
calculateOptimalStages
private int calculateOptimalStages(double inletPressure, double dischargePressure) Calculates the optimal number of compression stages.- Parameters:
inletPressure- inlet pressure in baradischargePressure- discharge pressure in bara- Returns:
- optimal number of stages
-
isApplicable
Check if this template is applicable for the given fluid.- Specified by:
isApplicablein interfaceProcessTemplate- Parameters:
fluid- the fluid to check- Returns:
- true if template is applicable
-
getRequiredEquipmentTypes
Get the required equipment types for this template.- Specified by:
getRequiredEquipmentTypesin interfaceProcessTemplate- Returns:
- array of equipment type names
-
getExpectedOutputs
Get the expected outputs from this process template.- Specified by:
getExpectedOutputsin interfaceProcessTemplate- Returns:
- array of output stream names/types
-
getName
Get the template name.- Specified by:
getNamein interfaceProcessTemplate- Returns:
- template name
-
getDescription
Get a description of the process template.- Specified by:
getDescriptionin interfaceProcessTemplate- Returns:
- template description
-