1212 - PR: Peng-Robinson (similar to SRK, often better liquid density)
1313 - CPA: Cubic-Plus-Association (water, alcohols, glycols)
1414 - GERG-2008: Reference EoS for natural gas (very accurate)
15+ - EOS-CG: For CO2 and combustion product gases
1516 - PR-Peneloux: Peng-Robinson with volume translation
1617
1718@author: NeqSim Team
3839'cpa' | CPA-SRK - polar & associating compounds
3940'cpa-pr' | CPA-Peng-Robinson
4041'gerg-2008' | GERG-2008 - reference EoS for natural gas
41- 'span-wagner' | Span-Wagner - reference EoS for CO2
42+ 'eos-cg' | EOS-CG - CO2 and combustion gases (GERG-2008 based)
43+ 'span-wagner' | Span-Wagner - reference EoS for pure CO2
4244'electrolyte' | For brine/salt solutions
4345'nrtl' | Activity coefficient model
4446'unifac' | UNIFAC group contribution model
@@ -199,9 +201,58 @@ def create_wet_gas(eos_name):
199201 print (f"{ eos :13} | Error: { e } " )
200202
201203# =============================================================================
202- # 6. GUIDELINES FOR EoS SELECTION
204+ # 6. EOS-CG FOR CO2 AND COMBUSTION GASES
203205# =============================================================================
204- print ("\n 6. GUIDELINES FOR EoS SELECTION" )
206+ print ("\n 6. EOS-CG FOR CO2 AND COMBUSTION GASES" )
207+ print ("-" * 40 )
208+ print ("""
209+ EOS-CG (Equation of State for Combustion Gases) is based on GERG-2008
210+ but optimized for CO2-rich mixtures and combustion product gases.
211+
212+ Best suited for:
213+ - Carbon capture and storage (CCS)
214+ - CO2 transport pipelines
215+ - Flue gas/exhaust gas mixtures
216+ - Oxy-fuel combustion systems
217+ - Blue/green hydrogen with CO2
218+
219+ Components: CO2, N2, O2, Ar, H2O, CO, H2, H2S, SO2, CH4
220+ """ )
221+
222+ # Create a typical flue gas / CCS mixture
223+ print ("Example: CO2-rich CCS mixture" )
224+ print ("Composition: 95% CO2, 3% N2, 1% O2, 1% Ar" )
225+ print (f"\n Conditions: T = 25°C, P = 100 bara (dense phase CO2)" )
226+ print ("\n EoS | Density [kg/m³] | Z-factor" )
227+ print ("-" * 45 )
228+
229+ for eos in ["srk" , "pr" , "eos-cg" ]:
230+ try :
231+ ccs_gas = fluid (eos )
232+ ccs_gas .addComponent ("CO2" , 95.0 , "mol%" )
233+ ccs_gas .addComponent ("nitrogen" , 3.0 , "mol%" )
234+ ccs_gas .addComponent ("oxygen" , 1.0 , "mol%" )
235+ ccs_gas .addComponent ("argon" , 1.0 , "mol%" )
236+ if eos not in ["eos-cg" ]:
237+ ccs_gas .setMixingRule ("classic" )
238+ ccs_gas .setTemperature (25.0 , "C" )
239+ ccs_gas .setPressure (100.0 , "bara" )
240+ TPflash (ccs_gas )
241+ ccs_gas .initThermoProperties ()
242+
243+ rho = ccs_gas .getDensity ("kg/m3" )
244+ z = ccs_gas .getZ ()
245+ print (f"{ eos :13} | { rho :15.2f} | { z :.5f} " )
246+ except Exception as e :
247+ print (f"{ eos :13} | Error: { e } " )
248+
249+ print ("\n Note: EOS-CG provides higher accuracy for CO2 mixtures near" )
250+ print (" critical conditions compared to cubic EoS (SRK/PR)." )
251+
252+ # =============================================================================
253+ # 7. GUIDELINES FOR EoS SELECTION
254+ # =============================================================================
255+ print ("\n 7. GUIDELINES FOR EoS SELECTION" )
205256print ("-" * 40 )
206257print ("""
207258Application | Recommended EoS
@@ -214,8 +265,12 @@ def create_wet_gas(eos_name):
214265Glycol dehydration | CPA-SRK
215266Water content in gas | CPA-SRK or CPA-PR
216267 |
217- CO2 capture/storage | Span-Wagner (pure CO2)
218- | SRK/PR with kij (mixtures)
268+ CO2 capture/storage (CCS) | EOS-CG (CO2 + impurities)
269+ | Span-Wagner (pure CO2)
270+ |
271+ CO2 transport pipelines | EOS-CG
272+ |
273+ Flue gas / combustion products | EOS-CG
219274 |
220275Refinery / petrochemical | SRK or PR with kij
221276 |
0 commit comments