Class CO2CaptureTemplate
java.lang.Object
neqsim.process.design.template.CO2CaptureTemplate
- All Implemented Interfaces:
ProcessTemplate
Template for creating amine-based CO2 capture systems.
This template creates a standard amine-based CO2 absorption unit consisting of an absorber column, solvent regeneration system, and heat integration equipment. Supports various amine solvents including MEA, MDEA, and proprietary blends.
Features
- Amine absorber with configurable stages and amine type
- Rich amine flash drum for hydrocarbon recovery
- Lean-rich heat exchanger for heat recovery
- Regenerator column with reboiler
- Lean amine cooler and pump
- CO2 compression option
Supported Amine Types
- MEA (Monoethanolamine) - 15-30 wt%
- DEA (Diethanolamine) - 25-35 wt%
- MDEA (Methyldiethanolamine) - 35-50 wt%
- MDEA+PZ (Activated MDEA) - Enhanced kinetics
Usage Example
ProcessBasis basis = new ProcessBasis();
basis.setFeedFluid(flueGasFluid);
basis.setParameter("amineType", "MDEA");
basis.setParameter("amineConcentration", 0.45); // 45 wt%
basis.setParameter("co2RemovalTarget", 0.90); // 90% removal
CO2CaptureTemplate template = new CO2CaptureTemplate();
ProcessSystem capture = template.create(basis);
capture.run();
Design Standards
- GPSA Engineering Data Book - Chapter 21
- API RP 945 - Corrosion in amine units
- NACE MR0175/ISO 15156 - Materials selection
- Version:
- 1.0
- Author:
- NeqSim Development Team
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumAmine type enumeration. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate CO2CaptureTemplate.AmineTypeSelected amine type.private static final intDefault number of theoretical stages in absorber.private static final doubleDefault amine concentration (mass fraction).private static final doubleDefault approach temperature for heat exchangers in K.private static final doubleDefault lean amine temperature in Celsius.private static final doubleDefault CO2 loading in lean amine (mol CO2/mol amine).private static final doubleDefault reboiler temperature in Celsius.private static final intDefault number of theoretical stages in regenerator. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new CO2CaptureTemplate with default MDEA amine.CO2CaptureTemplate(CO2CaptureTemplate.AmineType amineType) Creates a new CO2CaptureTemplate with specified amine type. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddAmineComponents(SystemInterface fluid, CO2CaptureTemplate.AmineType type, double concentration) Adds amine components to fluid.static doublecalculateSpecificReboilerDuty(CO2CaptureTemplate.AmineType amineType, double richLoading, double leanLoading) Calculates specific reboiler duty for amine regeneration.create(ProcessBasis basis) Create a process system from this template using the given process basis.private SystemInterfacecreateAmineFluid(CO2CaptureTemplate.AmineType type, double concentration, double pressure) Creates an amine solvent fluid.private doubleestimateAmineCirculationRate(SystemInterface feedFluid, double gasFlowRate, double amineConcentration, double removalTarget) Estimates amine circulation rate for given CO2 removal.static doubleestimateAmineLoss(CO2CaptureTemplate.AmineType amineType, double gasFlowRate) Estimates amine loss rate.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.private CO2CaptureTemplate.AmineTypeparseAmineType(String amineStr) Parses amine type from string.
-
Field Details
-
DEFAULT_ABSORBER_STAGES
private static final int DEFAULT_ABSORBER_STAGESDefault number of theoretical stages in absorber.- See Also:
-
DEFAULT_REGENERATOR_STAGES
private static final int DEFAULT_REGENERATOR_STAGESDefault number of theoretical stages in regenerator.- See Also:
-
DEFAULT_REBOILER_TEMP_C
private static final double DEFAULT_REBOILER_TEMP_CDefault reboiler temperature in Celsius.- See Also:
-
DEFAULT_AMINE_CONCENTRATION
private static final double DEFAULT_AMINE_CONCENTRATIONDefault amine concentration (mass fraction).- See Also:
-
DEFAULT_LEAN_AMINE_TEMP_C
private static final double DEFAULT_LEAN_AMINE_TEMP_CDefault lean amine temperature in Celsius.- See Also:
-
DEFAULT_LEAN_LOADING
private static final double DEFAULT_LEAN_LOADINGDefault CO2 loading in lean amine (mol CO2/mol amine).- See Also:
-
DEFAULT_APPROACH_TEMP_K
private static final double DEFAULT_APPROACH_TEMP_KDefault approach temperature for heat exchangers in K.- See Also:
-
amineType
Selected amine type.
-
-
Constructor Details
-
CO2CaptureTemplate
public CO2CaptureTemplate()Creates a new CO2CaptureTemplate with default MDEA amine. -
CO2CaptureTemplate
Creates a new CO2CaptureTemplate with specified amine type.- Parameters:
amineType- the amine type to use
-
-
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
-
createAmineFluid
private SystemInterface createAmineFluid(CO2CaptureTemplate.AmineType type, double concentration, double pressure) Creates an amine solvent fluid.- Parameters:
type- amine typeconcentration- amine mass fractionpressure- system pressure in bara- Returns:
- amine fluid system
-
addAmineComponents
private void addAmineComponents(SystemInterface fluid, CO2CaptureTemplate.AmineType type, double concentration) Adds amine components to fluid.- Parameters:
fluid- fluid systemtype- amine typeconcentration- amine mass fraction
-
parseAmineType
Parses amine type from string.- Parameters:
amineStr- amine type string- Returns:
- AmineType enum value
-
estimateAmineCirculationRate
private double estimateAmineCirculationRate(SystemInterface feedFluid, double gasFlowRate, double amineConcentration, double removalTarget) Estimates amine circulation rate for given CO2 removal.- Parameters:
feedFluid- feed fluid systemgasFlowRate- gas flow rate in kg/hramineConcentration- amine mass fractionremovalTarget- CO2 removal fraction (0-1)- Returns:
- estimated amine circulation rate in kg/hr
-
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
-
calculateSpecificReboilerDuty
public static double calculateSpecificReboilerDuty(CO2CaptureTemplate.AmineType amineType, double richLoading, double leanLoading) Calculates specific reboiler duty for amine regeneration.- Parameters:
amineType- type of aminerichLoading- rich amine loading (mol CO2/mol amine)leanLoading- lean amine loading (mol CO2/mol amine)- Returns:
- specific reboiler duty in GJ/ton CO2
-
estimateAmineLoss
Estimates amine loss rate.- Parameters:
amineType- type of aminegasFlowRate- gas flow rate in MMscfd- Returns:
- amine loss rate in kg/MMscf
-