Skip to content

Commit b543f65

Browse files
Merge pull request #2118 from NREL/sco2_py_samples
Update sco2 python functionality for new configurations
2 parents ca0cdaf + 6280400 commit b543f65

File tree

8 files changed

+317
-126
lines changed

8 files changed

+317
-126
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,3 +391,4 @@ deploy/mslf_iph_mimo_ssc_auto_exec.lk
391391
deploy/physical_trough_v2_mimo_ssc_auto_exec.lk
392392

393393
deploy/physical_trough_IPH_v2_mimo_ssc_auto_exec.lk
394+
/samples/CSP/sco2_analysis_python_V2/.vscode
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
## [2025.10.21]
6+
### Git Commits
7+
- **SSC**: https://github.com/NREL/ssc/commit/1e7fc7d740bd1dbd56a578b0323af96da70a525f
8+
- **SAM**: https://github.com/NREL/SAM/commit/82466c3527505f0adc59bf9e8a140d3c08ed593a
9+
### Added
10+
- Two new cycle configurations:
11+
- Recompression with HTR Bypass
12+
- Turbine Split Flow
13+
- Inflation year parameter (`yr_inflation`)
14+
- Modifies cycle component costs to target inflation year
15+
- Thermal efficiency cutoff
16+
- Prevents finalization of component designs if efficiency is below the threshold
17+
18+
### Changed
19+
- Recuperator cost model
20+
- Adds temperature-based cost factor for temperatures above 550 °C
21+
- Based on Weiland et al., 2019
22+
- Axial turbine cost model
23+
- Adds temperature-based cost factor for inlet temperatures above 550 °C
24+
- Based on Weiland et al., 2019
25+
- Optimization objective metric calculation
26+
- Improved behavior when using a minimum temperature difference (`min_phx_deltaT`)
27+
28+
### Fixed
29+
- Improved stability of air cooler convergence at low cycle efficiencies
30+
- Fixed bug solving heat exchangers with low effectiveness due to pinch points
31+
- Fixed heat exchanger bug with 2-phase cold fluid stream

samples/CSP/sco2_analysis_python_V2/core/sco2_cycle_ssc.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,10 @@ def get_cycle_name_str(cycle_des_par_dict):
351351
return "simple"
352352
elif(cycle_config == 2):
353353
return "partialcooling"
354+
elif(cycle_config == 3):
355+
return "htrbp"
356+
elif(cycle_config==4):
357+
return "turbinesplitflow"
354358
else:
355359
return "unknowncycle"
356360

@@ -370,6 +374,14 @@ def mod_dict_for_cycle_config(dict_in, cycle_config_str):
370374
dict_out["cycle_config"] = 2
371375
dict_out["is_recomp_ok"] = 1
372376

377+
elif(cycle_config_str == "htrbp"):
378+
dict_out["cycle_config"] = 3
379+
dict_out["is_recomp_ok"] = 1
380+
381+
elif(cycle_config_str == "turbinesplitflow"):
382+
dict_out["cycle_config"] = 4
383+
dict_out["is_recomp_ok"] = 0
384+
373385
else:
374386
dict_out["cycle_config"] = -999
375387
dict_out["is_recomp_ok"] = -999
@@ -445,7 +457,18 @@ def get_default_sco2_dict():
445457
des_par["fan_power_frac"] = 0.02 # [-] Fraction of net cycle power consumed by air cooler fan. 2% here per Turchi et al.
446458
# Default
447459
des_par["deltaP_counterHX_frac"] = 0.0054321 # [-] Fraction of CO2 inlet pressure that is design point counterflow HX (recups & PHX) pressure drop
448-
460+
461+
# HTR BP parameters
462+
des_par['is_bypass_ok'] = -0.11 # 1 = Optimize, 0 = no bypass, < 0 = fix bp_frac to abs(input)
463+
des_par['T_bypass_target'] = 480 # [C] Target HTF Outlet Temperature (if bypass frac is not fixed)
464+
des_par['T_target_is_HTF'] = 1 # Temperature target is HTF outlet (rather than sco2)
465+
des_par['deltaT_bypass'] = 0 # [dC] Temperature difference at Mixer 2
466+
des_par['set_HTF_mdot'] = 0 # [kg/s or False] Do NOT set HTF mdot (model solves it with approach temps)
467+
468+
# TSF parameters
469+
des_par['is_turbine_split_ok'] = 1 # 1 = Optimize, 0 = no bypass, < 0 = fix bp_frac to abs(input)
470+
des_par['eta_isen_t2'] = des_par['eta_isen_t'] # Turbine 2 isentropic efficiency
471+
449472
return des_par
450473

451474
class C_sco2_sim:

0 commit comments

Comments
 (0)