Tcsiscc¶
Wrapper for SAM Simulation Core model: cmod_tcsiscc.cpp
Input Consistency Warning¶
As described in Possible Problems, some input parameters are interdependent but the equations that enforce consistency are not available in this PySAM module. Therefore, the onus is on the PySAM user to check that interdependencies are correctly handled. The variables which may require additional logic include:
Provided for each of these inputs is a list of other inputs that are potentially interdependent.
Creating an Instance¶
Refer to the Initializing a Model page for details on the different ways to create an instance of a PySAM class.
Tcsiscc model description
CSP molten salt power tower system with a natural gas combined cycle power plant
-
PySAM.Tcsiscc.
default
(config) → Tcsiscc¶ Use default attributes None
-
PySAM.Tcsiscc.
from_existing
(data, optional config) → Tcsiscc¶ Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.
-
PySAM.Tcsiscc.
new
() → Tcsiscc¶
-
PySAM.Tcsiscc.
wrap
(ssc_data_t) → Tcsiscc¶ Use existing PySSC data
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap
Functions¶
-
class
PySAM.Tcsiscc.
Tcsiscc
¶ This class contains all the variable information for running a simulation. Variables are grouped together in the subclasses as properties. If property assignments are the wrong type, an error is thrown.
-
assign
(dict) → None¶ Assign attributes from nested dictionary, except for Outputs
nested_dict = { 'Weather': { var: val, ...}, ...}
-
execute
(int verbosity) → None¶ Execute simulation with verbosity level 0 (default) or 1
-
export
() → dict¶ Export attributes into nested dictionary
-
unassign
(name) → None¶ Unassign a value in any of the variable groups.
-
value
(name, optional value) → Union[None, float, dict, sequence, str]¶ Get or set by name a value in any of the variable groups.
-
Weather Group¶
MoltenSaltTower Group¶
Heliostat Group¶
-
class
PySAM.Tcsiscc.Tcsiscc.
Heliostat
¶ -
assign
() → None¶ Assign attributes from dictionary
Heliostat_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
N_hel
¶ Number of heliostats [-]
Required: False
Type: float
-
bop_spec_cost
¶ BOS specific cost [$/kWe]
Required: True
Type: float
-
c_atm_0
¶ Attenuation coefficient 0
Required: If not provided, assumed to be 0.006789
Type: float
-
c_atm_1
¶ Attenuation coefficient 1
Required: If not provided, assumed to be 0.1046
Type: float
-
c_atm_2
¶ Attenuation coefficient 2
Required: If not provided, assumed to be -0.0107
Type: float
-
c_atm_3
¶ Attenuation coefficient 3
Required: If not provided, assumed to be 0.002845
Type: float
-
calc_fluxmaps
¶ Include fluxmap calculations
Required: If not provided, assumed to be 0
Type: float
-
cant_type
¶ Heliostat cant method
Required: True
Type: float
-
check_max_flux
¶ Check max flux at design point
Required: If not provided, assumed to be 0
Type: float
-
contingency_rate
¶ Contingency for cost overrun [%]
Required: True
Type: float
-
cost_sf_fixed
¶ Solar field fixed cost [$]
Required: True
Type: float
-
csp_pt_cost_epc_fixed
¶ EPC fixed [$]
Required: True
Type: float
-
csp_pt_cost_epc_per_acre
¶ EPC cost per acre [$/acre]
Required: True
Type: float
-
csp_pt_cost_epc_per_watt
¶ EPC cost per watt [$/W]
Required: True
Type: float
-
csp_pt_cost_epc_percent
¶ EPC cost percent of direct
Required: True
Type: float
-
csp_pt_cost_plm_fixed
¶ PLM fixed [$]
Required: True
Type: float
-
csp_pt_cost_plm_per_acre
¶ PLM cost per acre [$/acre]
Required: True
Type: float
-
csp_pt_cost_plm_per_watt
¶ PLM cost per watt [$/W]
Required: True
Type: float
-
csp_pt_cost_plm_percent
¶ PLM cost percent of direct
Required: True
Type: float
-
csp_pt_sf_fixed_land_area
¶ Fixed land area [acre]
Required: True
Type: float
-
csp_pt_sf_land_overhead_factor
¶ Land overhead factor
Required: True
Type: float
-
delta_flux_hrs
¶ Hourly frequency in flux map lookup
Required: If not provided, assumed to be 1
Type: float
-
dens_mirror
¶ Ratio of Reflective Area to Profile [-]
Required: True
Type: float
-
dni_des
¶ Design-point DNI [W/m2]
Required: True
Type: float
-
eta_map
¶ Field efficiency array [-]
Required: False
Type: sequence[sequence]
-
flux_maps
¶ Flux map intensities [-]
Required: False
Type: sequence[sequence]
-
flux_max
¶ Maximum allowable flux
Required: If not provided, assumed to be 1000
Type: float
-
flux_positions
¶ Flux map sun positions [deg]
Required: False
Type: sequence[sequence]
-
focus_type
¶ Heliostat focus method
Required: True
Type: float
-
fossil_spec_cost
¶ Fossil system specific cost [$/kWe]
Required: True
Type: float
-
h_tower
¶ Tower height [m]
Required: True
Type: float
-
hel_stow_deploy
¶ Stow/deploy elevation [deg]
Required: True
Type: float
-
helio_active_fraction
¶ Heliostat active frac. [-]
Required: True
Type: float
-
helio_aim_points
¶ Heliostat aim point table [m]
Required: False
Type: sequence[sequence]
-
helio_height
¶ Heliostat height [m]
Required: True
Type: float
-
helio_optical_error
¶ Heliostat optical error [rad]
Required: True
Type: float
-
helio_positions
¶ Heliostat position table [m]
Required: True if run_type=1
Type: sequence[sequence]
-
helio_reflectance
¶ Heliostat reflectance [-]
Required: True
Type: float
-
helio_width
¶ Heliostat width [m]
Required: True
Type: float
-
heliostat_spec_cost
¶ Heliostat field cost [$/m2]
Required: True
Type: float
-
interp_beta
¶ Interpolation beta coef. [-]
Required: If not provided, assumed to be 1.99
Type: float
-
interp_nug
¶ Interpolation nugget [-]
Required: If not provided, assumed to be 0
Type: float
-
is_optimize
¶ Do SolarPILOT optimization
Required: If not provided, assumed to be 0
Type: float
-
land_bound_list
¶ Boundary table listing [-]
Required: False
Type: sequence
-
land_bound_table
¶ Land boundary table [m]
Required: False
Type: sequence[sequence]
-
land_bound_type
¶ Land boundary type [-]
Required: If not provided, assumed to be 0
Type: float
-
land_max
¶ Land max boundary [-ORm]
Required: If not provided, assumed to be 7.5
Type: float
-
land_min
¶ Land min boundary [-ORm]
Required: If not provided, assumed to be 0.75
Type: float
-
land_spec_cost
¶ Total land area cost [$/acre]
Required: True
Type: float
-
n_facet_x
¶ Number of heliostat facets - X
Required: True
Type: float
-
n_facet_y
¶ Number of heliostat facets - Y
Required: True
Type: float
-
n_flux_days
¶ No. days in flux map lookup
Required: If not provided, assumed to be 8
Type: float
-
n_flux_x
¶ Flux map X resolution [-]
Required: If not provided, assumed to be 12
Type: float
-
n_flux_y
¶ Flux map Y resolution [-]
Required: If not provided, assumed to be 1
Type: float
-
opt_algorithm
¶ Optimization algorithm
Required: If not provided, assumed to be 0
Type: float
-
opt_conv_tol
¶ Optimization convergence tol
Required: If not provided, assumed to be 0.001
Type: float
-
opt_flux_penalty
¶ Optimization flux overage penalty
Required: True
Type: float
-
opt_init_step
¶ Optimization initial step size
Required: If not provided, assumed to be 0.05
Type: float
-
opt_max_iter
¶ Max. number iteration steps
Required: If not provided, assumed to be 200
Type: float
-
p_start
¶ Heliostat startup energy [kWe-hr]
Required: True
Type: float
-
p_track
¶ Heliostat tracking energy [kWe]
Required: True
Type: float
-
plant_spec_cost
¶ Power cycle specific cost [$/kWe]
Required: True
Type: float
-
q_design
¶ Receiver thermal design power [MW]
Required: True
Type: float
-
rec_absorptance
¶ Receiver absorptance [-]
Required: True
Type: float
-
rec_aspect
¶ Receiver aspect ratio [-]
Required: True
Type: float
-
rec_cost_exp
¶ Receiver cost scaling exponent
Required: True
Type: float
-
rec_height
¶ Receiver height [m]
Required: True
Type: float
-
rec_hl_perm2
¶ Receiver design heatloss [kW/m2]
Required: True
Type: float
-
rec_ref_area
¶ Receiver reference area for cost scale
Required: True
Type: float
-
rec_ref_cost
¶ Receiver reference cost [$]
Required: True
Type: float
-
run_type
¶ Run type [-]
Required: True
Type: float
-
sales_tax_frac
¶ Percent of cost to which sales tax applies [%]
Required: True
Type: float
-
sales_tax_rate
¶ Sales tax rate [%]
Required: True
Type: float
-
site_spec_cost
¶ Site improvement cost [$/m2]
Required: True
Type: float
-
tes_spec_cost
¶ Thermal energy storage cost [$/kWht]
Required: True
Type: float
-
total_installed_cost
¶ Total installed cost [$]
Required: True
Type: float
-
tower_exp
¶ Tower cost scaling exponent
Required: True
Type: float
-
tower_fixed_cost
¶ Tower fixed cost [$]
Required: True
Type: float
-
v_wind_max
¶ Max. wind velocity [m/s]
Required: True
Type: float
-
Receiver Group¶
-
class
PySAM.Tcsiscc.Tcsiscc.
Receiver
¶ -
assign
() → None¶ Assign attributes from dictionary
Receiver_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
A_sf
¶ Solar Field Area [m^2]
Required: True
Type: float
-
D_rec
¶ The overall outer diameter of the receiver [m]
Required: True
Type: float
-
Flow_type
¶ A flag indicating which flow pattern is used
Required: True
Type: float
-
H_rec
¶ The height of the receiver [m]
Required: True
Type: float
-
N_panels
¶ Number of individual panels on the receiver
Constraints: INTEGER
Required: True
Type: float
-
Q_rec_des
¶ Design-point receiver thermal power output [MWt]
Required: True
Type: float
-
THT
¶ The height of the tower (hel. pivot to rec equator) [m]
Required: True
Type: float
-
T_htf_cold_des
¶ Cold HTF inlet temperature at design conditions [C]
Required: True
Type: float
-
T_htf_hot_des
¶ Hot HTF outlet temperature at design conditions [C]
Required: True
Type: float
-
crossover_shift
¶ No. panels shift in receiver crossover position
Required: If not provided, assumed to be 0
Type: float
-
d_tube_out
¶ The outer diameter of an individual receiver tube [mm]
Required: True
Type: float
-
epsilon
¶ The emissivity of the receiver surface coating
Required: True
Type: float
-
eta_pump
¶ Receiver HTF pump efficiency
Required: True
Type: float
-
f_rec_min
¶ Minimum receiver mass flow rate turn down fraction
Required: True
Type: float
-
field_fl_props
¶ User defined field fluid property data [-]
Required: True
Type: sequence[sequence]
-
hl_ffact
¶ The heat loss factor (thermal loss fudge factor)
Required: True
Type: float
-
m_dot_htf_max
¶ Maximum receiver mass flow rate [kg/hr]
Required: True
Type: float
-
mat_tube
¶ The material name of the receiver tubes
Required: True
Type: float
-
rec_htf
¶ The name of the HTF used in the receiver
Required: True
Type: float
-
rec_qf_delay
¶ Energy-based rcvr startup delay (fraction of rated thermal power)
Required: True
Type: float
-
rec_su_delay
¶ Fixed startup delay time for the receiver [hr]
Required: True
Type: float
-
receiver_type
¶ External=0, Cavity=1
Constraints: INTEGER
Required: True
Type: float
-
th_tube
¶ The wall thickness of a single receiver tube [mm]
Required: True
Type: float
-
Powerblock Group¶
-
class
PySAM.Tcsiscc.Tcsiscc.
Powerblock
¶ -
assign
() → None¶ Assign attributes from dictionary
Powerblock_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
elev
¶ Plant elevation [m]
Required: True
Type: float
-
ngcc_model
¶ NREL, 2: GE
Required: True
Type: float Type: 1
-
pinch_point_coldside
¶ Cold side HX pinch point [C]
Required: True
Type: float
-
pinch_point_hotside
¶ Hot side temperature HX temperature difference [C]
Required: True
Type: float
-
q_pb_design
¶ Design point power block thermal power [MWt]
Required: True
Type: float
-
Parasitics Group¶
-
class
PySAM.Tcsiscc.Tcsiscc.
Parasitics
¶ -
assign
() → None¶ Assign attributes from dictionary
Parasitics_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
Q_rec_des
¶ Design point solar field thermal output [MW]
Required: True
Type: float
-
W_dot_solar_des
¶ Solar contribution to cycle output at design [MWe]
Required: True
Type: float
-
bop_par
¶ Balance of plant parasitic power fraction [MWe/MWcap]
Required: True
Type: float
-
bop_par_0
¶ Balance of plant parasitic power fraction - const coeff [none]
Required: True
Type: float
-
bop_par_1
¶ Balance of plant parasitic power fraction - linear coeff [none]
Required: True
Type: float
-
bop_par_2
¶ Balance of plant parasitic power fraction - quadratic coeff [none]
Required: True
Type: float
-
bop_par_f
¶ Balance of plant parasitic power fraction - mult frac [none]
Required: True
Type: float
-
fossil_output
¶ Fossil-only cycle output at design [MWe]
Required: True
Type: float
-
pb_fixed_par
¶ Fixed parasitic load - runs at all times [MWe/MWcap]
Required: True
Type: float
-
pb_pump_coef
¶ Required pumping power for HTF through power block [kJ/kg]
Required: True
Type: float
-
piping_length
¶ Total length of exposed piping [m]
Required: True
Type: float
-
piping_length_const
¶ Piping constant length [m]
Required: True
Type: float
-
piping_length_mult
¶ Piping length multiplier
Required: True
Type: float
-
piping_loss
¶ Thermal loss per meter of piping [Wt/m]
Required: True
Type: float
-
AdjustmentFactors Group¶
-
class
PySAM.Tcsiscc.Tcsiscc.
AdjustmentFactors
¶ -
assign
() → None¶ Assign attributes from dictionary
-
export
() → Dict¶ Export attributes into dictionary
-
constant
¶ float
Type: type
-
dc_constant
¶ DC Constant loss adjustment [%]
-
dc_hourly
¶ DC Hourly Adjustment Factors [%]
-
dc_periods
¶ DC Period-based Adjustment Factors [%]
-
hourly
¶ AC Hourly Adjustment Factors [%]
-
periods
¶ AC Period-based Adjustment Factors [%]
-
sf_constant
¶ DC Constant loss adjustment [%]
-
sf_hourly
¶ DC Hourly Adjustment Factors [%]
-
sf_periods
¶ DC Period-based Adjustment Factors [%]
-
Outputs Group¶
-
class
PySAM.Tcsiscc.Tcsiscc.
Outputs
¶ -
assign
() → None¶ Assign attributes from dictionary
Outputs_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
P_fixed
¶ Parasitic power fixed load [MWe]
Type: sequence
-
P_plant_balance_tot
¶ Parasitic power generation-dependent load [MWe]
Type: sequence
-
Q_dot_max
¶ Cycle max allowable thermal power to NGCC [MWt]
Type: sequence
-
Q_solar_total
¶ Receiver thermal power absorbed [MWt]
Type: sequence
-
Q_thermal
¶ Receiver thermal power to HTF [MWt]
Type: sequence
-
T_htf_cold
¶ Receiver HTF temperature in [C]
Type: sequence
-
T_salt_hot
¶ Receiver HTF temperature out [C]
Type: sequence
-
T_st_cold
¶ Cycle steam temp from NGCC to HX [C]
Type: sequence
-
T_st_hot
¶ Cycle steam temp from HX back to NGCC [C]
Type: sequence
-
W_dot_pc_fossil
¶ Cycle net output only considering fossil power [MWe]
Type: sequence
-
W_dot_pc_hybrid
¶ Cycle net output including solar power [MWe]
Type: sequence
-
W_dot_plant_fossil
¶ Plant net output only considering fossil power & parasitics [MWe]
Type: sequence
-
W_dot_plant_hybrid
¶ Plant net output including solar power & parasitics [MWe]
Type: sequence
-
W_dot_plant_solar
¶ Plant net output attributable to solar [MWe]
Type: sequence
-
W_dot_pump
¶ Parasitic power receiver HTF pump [MWe]
Type: sequence
-
annual_energy
¶ Annual Energy [kW]
Type: float
-
annual_fuel_usage
¶ Annual fuel usage [kWh]
Type: float
-
beam
¶ Resource Beam normal irradiance [W/m2]
Type: sequence
-
capacity_factor
¶ Capacity factor [%]
Type: float
-
eta_field
¶ Field optical efficiency
Type: sequence
-
eta_fuel
¶ Plant efficiency of fossil only operation (LHV basis) [%]
Type: sequence
-
eta_solar_use
¶ Plant solar use efficiency considering parasitics [-]
Type: sequence
-
eta_therm
¶ Receiver thermal efficiency
Type: sequence
-
f_timestep
¶ Receiver operating fraction after startup
Type: sequence
-
field_eff_adj
¶ Solar field efficiency w/ defocusing
Type: sequence
-
fuel_use
¶ Cycle natural gas used during timestep [MMBTU]
Type: sequence
-
gen
¶ System power generated [kW]
Type: sequence
-
hour
¶ Resource Hour of Day
Type: sequence
-
kwh_per_kw
¶ First year kWh/kW [kWh/kW]
Type: float
-
m_dot_salt_tot
¶ Receiver mass flow rate, derated for startup [kg/s]
Type: sequence
-
m_dot_ss
¶ Receiver mass flow rate, steady state [kg/s]
Type: sequence
-
m_dot_steam
¶ Cycle solar steam mass flow rate [kg/hr]
Type: sequence
-
month
¶ Resource Month
Type: sequence
-
pparasi
¶ Parasitic power heliostat drives [MWe]
Type: sequence
-
pres
¶ Resource Pressure [mbar]
Type: sequence
-
q_conv_sum
¶ Receiver thermal power loss to convection [MWt]
Type: sequence
-
q_rad_sum
¶ Receiver thermal power loss to radiation [MWt]
Type: sequence
-
q_startup
¶ Receiver startup power [MWt]
Type: sequence
-
solar_fraction
¶ Plant solar fraction [-]
Type: sequence
-
solazi
¶ Resource Solar Azimuth [deg]
Type: sequence
-
solzen
¶ Resource Solar Zenith [deg]
Type: sequence
-
system_heat_rate
¶ System heat rate [MMBtu/MWh]
Type: float
-
tdry
¶ Resource Dry bulb temperature [C]
Type: sequence
-
twet
¶ Resource Wet bulb temperature [C]
Type: sequence
-
wspd
¶ Resource Wind Speed [m/s]
Type: sequence
-