TcsmoltenSalt¶
Wrapper for SAM Simulation Core model: cmod_tcsmolten_salt.cpp
Creating an Instance¶
There are three methods to create a new instance of a PySAM module. Using default
populates the newclass’ attributes with default values specific to a config
. Each technology-financialconfiguration corresponds to a SAM GUI configuration. Using new
creates an instance with empty attributes. The wrap
function allows compatibility with PySSC, for details, refer to PySSC.
TcsmoltenSalt model description
CSP molten salt power tower for power generation
-
PySAM.TcsmoltenSalt.
default
(config) → TcsmoltenSalt¶ Use financial model-specific default attributes config options:
- “MSPTAllEquityPartnershipFlip”
- “MSPTLeveragedPartnershipFlip”
- “MSPTSaleLeaseback”
- “MSPTSingleOwner”
-
PySAM.TcsmoltenSalt.
new
() → TcsmoltenSalt¶
-
PySAM.TcsmoltenSalt.
wrap
(ssc_data_t) → TcsmoltenSalt¶ Use existing PySSC data
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap
Functions¶
-
class
PySAM.TcsmoltenSalt.
TcsmoltenSalt
¶ 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 = { 'Location and Resource': { var: val, ...}, ...}
-
execute
(int verbosity) → None¶ Execute simulation with verbosity level 0 (default) or 1
-
export
() → dict¶ Export attributes into nested dictionary
-
LocationAndResource Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
LocationAndResource
¶ -
assign
() → None¶ Assign attributes from dictionary
LocationAndResource_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
solar_resource_data
¶ dict: Weather resource data in memory
Required: False
-
solar_resource_file
¶ str: Local weather file path
Constraints: LOCAL_FILE
Required: False
-
TimeOfDeliveryFactors Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
TimeOfDeliveryFactors
¶ -
assign
() → None¶ Assign attributes from dictionary
TimeOfDeliveryFactors_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
dispatch_factor1
¶ float: Dispatch payment factor 1
Required: True
-
dispatch_factor2
¶ float: Dispatch payment factor 2
Required: True
-
dispatch_factor3
¶ float: Dispatch payment factor 3
Required: True
-
dispatch_factor4
¶ float: Dispatch payment factor 4
Required: True
-
dispatch_factor5
¶ float: Dispatch payment factor 5
Required: True
-
dispatch_factor6
¶ float: Dispatch payment factor 6
Required: True
-
dispatch_factor7
¶ float: Dispatch payment factor 7
Required: True
-
dispatch_factor8
¶ float: Dispatch payment factor 8
Required: True
-
dispatch_factor9
¶ float: Dispatch payment factor 9
Required: True
-
dispatch_factors_ts
¶ sequence: Dispatch payment factor array
Required: set to 1 if not provided.
-
dispatch_sched_weekday
¶ sequence[sequence]: PPA pricing weekday schedule, 12x24
Required: True
-
dispatch_sched_weekend
¶ sequence[sequence]: PPA pricing weekend schedule, 12x24
Required: True
-
ppa_multiplier_model
¶ float: PPA multiplier model [0/1]
Options: 0=diurnal,1=timestep
Constraints: INTEGER,MIN=0
Required: set to 0 if not provided.
-
HeliostatField Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
HeliostatField
¶ -
assign
() → None¶ Assign attributes from dictionary
HeliostatField_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
A_sf_in
¶ float: Solar field area [m^2]
-
N_hel
¶ float: Number of heliostats
-
c_atm_0
¶ float: Attenuation coefficient 0
Required: set to 0.006789 if not provided.
-
c_atm_1
¶ float: Attenuation coefficient 1
Required: set to 0.1046 if not provided.
-
c_atm_2
¶ float: Attenuation coefficient 2
Required: set to -0.0107 if not provided.
-
c_atm_3
¶ float: Attenuation coefficient 3
Required: set to 0.002845 if not provided.
-
calc_fluxmaps
¶ float: Include fluxmap calculations
Required: set to 0 if not provided.
-
cant_type
¶ float: Heliostat canting method
Required: True
-
check_max_flux
¶ float: Check max flux at design point
Required: set to 0 if not provided.
-
csp_pt_sf_fixed_land_area
¶ float: Fixed land area [acre]
Required: True
-
csp_pt_sf_land_overhead_factor
¶ float: Land overhead factor
Required: True
-
dens_mirror
¶ float: Ratio of heliostat reflective area to profile
Required: True
-
eta_map
¶ sequence[sequence]: Field efficiency array
Required: False
-
eta_map_aod_format
¶ float: Use 3D AOD format field efficiency array
Info: heliostat
-
field_model_type
¶ float: 0=design field and tower/receiver geometry, 1=design field, 2=user specified field, 3=user performance maps vs solar position
Required: True
-
flux_maps
¶ sequence[sequence]: Flux map intensities
Required: False
-
focus_type
¶ float: Heliostat focus method
Required: True
-
hel_stow_deploy
¶ float: Stow/deploy elevation angle [deg]
Required: True
-
helio_active_fraction
¶ float: Heliostat active fraction
Required: True
-
helio_aim_points
¶ sequence[sequence]: Heliostat aim point table [m]
Required: False
-
helio_height
¶ float: Heliostat height [m]
Required: True
-
helio_optical_error_mrad
¶ float: Heliostat optical error [mrad]
Required: True
-
helio_positions
¶ sequence[sequence]: Heliostat position table
Required: True
-
helio_reflectance
¶ float: Heliostat reflectance
Required: True
-
helio_width
¶ float: Heliostat width [m]
Required: True
-
interp_beta
¶ float: Interpolation beta coef. [-]
Required: set to 1.99 if not provided.
-
interp_nug
¶ float: Interpolation nugget [-]
Required: set to 0 if not provided.
-
land_area_base
¶ float: Base land area occupied by heliostats [acre]
Required: True
-
land_bound_list
¶ sequence: Land boundary table listing
Required: False
-
land_bound_table
¶ sequence[sequence]: Land boundary table [m]
Required: False
-
land_max
¶ float: Land max boundary [-ORm]
Required: set to 7.5 if not provided.
-
land_min
¶ float: Land min boundary [-ORm]
Required: set to 0.75 if not provided.
-
n_facet_x
¶ float: Number of heliostat facets - X
Required: True
-
n_facet_y
¶ float: Number of heliostat facets - Y
Required: True
-
opt_algorithm
¶ float: Optimization algorithm
Required: set to 0 if not provided.
-
opt_conv_tol
¶ float: Optimization convergence tolerance
Required: set to 0.001 if not provided.
-
opt_flux_penalty
¶ float: Optimization flux overage penalty
Required: True
-
opt_init_step
¶ float: Optimization initial step size
Required: set to 0.05 if not provided.
-
opt_max_iter
¶ float: Max number iteration steps
Required: set to 200 if not provided.
-
p_start
¶ float: Heliostat startup energy [kWe-hr]
Required: True
-
p_track
¶ float: Heliostat tracking energy [kWe]
Required: True
-
v_wind_max
¶ float: Heliostat max wind velocity [m/s]
Required: True
-
washing_frequency
¶ float: Mirror washing frequency [none]
Required: True
-
water_usage_per_wash
¶ float: Water usage per wash [L/m2_aper]
Required: True
-
SystemDesign Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
SystemDesign
¶ -
assign
() → None¶ Assign attributes from dictionary
SystemDesign_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
P_ref
¶ float: Reference output electric power at design condition [MW]
Required: True
-
T_htf_cold_des
¶ float: Cold HTF inlet temperature at design conditions [C]
Required: True
-
T_htf_hot_des
¶ float: Hot HTF outlet temperature at design conditions [C]
Required: True
-
design_eff
¶ float: Power cycle efficiency at design [none]
Required: True
-
dni_des
¶ float: Design-point DNI [W/m2]
Required: True
-
gross_net_conversion_factor
¶ float: Estimated gross to net conversion factor
Required: True
-
sf_excess
¶ float: Heliostat field multiple
Required: set to 1.0 if not provided.
-
solarm
¶ float: Solar multiple [-]
Required: True
-
tshours
¶ float: Equivalent full-load thermal storage hours [hr]
Required: True
-
TowerAndReceiver Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
TowerAndReceiver
¶ -
assign
() → None¶ Assign attributes from dictionary
TowerAndReceiver_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
D_rec
¶ float: The overall outer diameter of the receiver [m]
Required: True
-
Flow_type
¶ float: Receiver flow pattern: see figure on SAM Receiver page
Required: True
-
N_panels
¶ float: Number of individual panels on the receiver
Constraints: INTEGER
Required: True
-
crossover_shift
¶ float: Number of panels shift in receiver crossover position
Required: set to 0 if not provided.
-
csp_pt_rec_max_oper_frac
¶ float: Maximum receiver mass flow rate fraction
Required: True
-
d_tube_out
¶ float: The outer diameter of an individual receiver tube [mm]
Required: True
-
delta_flux_hrs
¶ float: Hourly frequency in flux map lookup
Required: set to 1 if not provided.
-
epsilon
¶ float: The emissivity of the receiver surface coating
Required: True
-
eta_pump
¶ float: Receiver HTF pump efficiency
Required: True
-
f_rec_min
¶ float: Minimum receiver mass flow rate turn down fraction
Required: True
-
field_fl_props
¶ sequence[sequence]: User defined field fluid property data [-]
Required: True
-
flux_max
¶ float: Maximum allowable flux
Required: set to 1000 if not provided.
-
h_tower
¶ float: Tower height [m]
Required: True
-
hl_ffact
¶ float: The heat loss factor (thermal loss fudge factor)
Required: True
-
mat_tube
¶ float: Receiver tube material, 2=Stainless AISI316
Required: True
-
n_flux_days
¶ float: Number of days in flux map lookup
Required: set to 8 if not provided.
-
piping_length_const
¶ float: Piping constant length [m]
Required: True
-
piping_length_mult
¶ float: Piping length multiplier
Required: True
-
piping_loss
¶ float: Thermal loss per meter of piping [Wt/m]
Required: True
-
rec_absorptance
¶ float: Receiver absorptance
Required: True
-
rec_height
¶ float: Receiver height [m]
Required: True
-
rec_hl_perm2
¶ float: Receiver design heatloss [kW/m2]
Required: True
-
rec_htf
¶ float: Receiver HTF, 17=Salt (60% NaNO3, 40% KNO3) 10=Salt (46.5% LiF 11.5% NaF 42% KF) 50=Lookup tables
Required: True
-
rec_qf_delay
¶ float: Energy-based receiver startup delay (fraction of rated thermal power)
Required: True
-
rec_su_delay
¶ float: Fixed startup delay time for the receiver [hr]
Required: True
-
th_tube
¶ float: The wall thickness of a single receiver tube [mm]
Required: True
-
SystemCosts Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
SystemCosts
¶ -
assign
() → None¶ Assign attributes from dictionary
SystemCosts_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
bop_spec_cost
¶ float: BOS specific cost [$/kWe]
Required: True
-
contingency_rate
¶ float: Contingency for cost overrun [%]
Required: True
-
cost_sf_fixed
¶ float: Solar field fixed cost [$]
Required: True
-
csp_pt_cost_epc_fixed
¶ float: EPC fixed [$]
Required: True
-
csp_pt_cost_epc_per_acre
¶ float: EPC cost per acre [$/acre]
Required: True
-
csp_pt_cost_epc_per_watt
¶ float: EPC cost per watt [$/W]
Required: True
-
csp_pt_cost_epc_percent
¶ float: EPC cost percent of direct [%]
Required: True
-
csp_pt_cost_plm_fixed
¶ float: PLM fixed [$]
Required: True
-
csp_pt_cost_plm_per_watt
¶ float: PLM cost per watt [$/W]
Required: True
-
csp_pt_cost_plm_percent
¶ float: PLM cost percent of direct [%]
Required: True
-
fossil_spec_cost
¶ float: Fossil system specific cost [$/kWe]
Required: True
-
heliostat_spec_cost
¶ float: Heliostat field cost [$/m2]
Required: True
-
land_spec_cost
¶ float: Total land area cost [$/acre]
Required: True
-
plant_spec_cost
¶ float: Power cycle specific cost [$/kWe]
Required: True
-
rec_cost_exp
¶ float: Receiver cost scaling exponent
Required: True
-
rec_ref_area
¶ float: Receiver reference area for cost scale
Required: True
-
rec_ref_cost
¶ float: Receiver reference cost [$]
Required: True
-
sales_tax_frac
¶ float: Percent of cost to which sales tax applies [%]
Required: True
-
site_spec_cost
¶ float: Site improvement cost [$/m2]
Required: True
-
tes_spec_cost
¶ float: Thermal energy storage cost [$/kWht]
Required: True
-
tower_exp
¶ float: Tower cost scaling exponent
Required: True
-
tower_fixed_cost
¶ float: Tower fixed cost [$]
Required: True
-
FinancialParameters Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
FinancialParameters
¶ -
assign
() → None¶ Assign attributes from dictionary
FinancialParameters_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
const_per_interest_rate1
¶ float: Interest rate, loan 1 [%]
Required: True
-
const_per_interest_rate2
¶ float: Interest rate, loan 2 [%]
Required: True
-
const_per_interest_rate3
¶ float: Interest rate, loan 3 [%]
Required: True
-
const_per_interest_rate4
¶ float: Interest rate, loan 4 [%]
Required: True
-
const_per_interest_rate5
¶ float: Interest rate, loan 5 [%]
Required: True
-
const_per_months1
¶ float: Months prior to operation, loan 1
Required: True
-
const_per_months2
¶ float: Months prior to operation, loan 2
Required: True
-
const_per_months3
¶ float: Months prior to operation, loan 3
Required: True
-
const_per_months4
¶ float: Months prior to operation, loan 4
Required: True
-
const_per_months5
¶ float: Months prior to operation, loan 5
Required: True
-
const_per_percent1
¶ float: Percent of total installed cost, loan 1 [%]
Required: True
-
const_per_percent2
¶ float: Percent of total installed cost, loan 2 [%]
Required: True
-
const_per_percent3
¶ float: Percent of total installed cost, loan 3 [%]
Required: True
-
const_per_percent4
¶ float: Percent of total installed cost, loan 4 [%]
Required: True
-
const_per_percent5
¶ float: Percent of total installed cost, loan 5 [%]
Required: True
-
const_per_upfront_rate1
¶ float: Upfront fee on principal, loan 1 [%]
Required: True
-
const_per_upfront_rate2
¶ float: Upfront fee on principal, loan 2 [%]
Required: True
-
const_per_upfront_rate3
¶ float: Upfront fee on principal, loan 3 [%]
Required: True
-
const_per_upfront_rate4
¶ float: Upfront fee on principal, loan 4 [%]
Required: True
-
const_per_upfront_rate5
¶ float: Upfront fee on principal, loan 5 [%]
Required: True
-
sales_tax_rate
¶ float: Sales tax rate [%]
Required: True
-
ThermalStorage Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
ThermalStorage
¶ -
assign
() → None¶ Assign attributes from dictionary
ThermalStorage_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
cold_tank_Thtr
¶ float: Minimum allowable cold tank HTF temperature [C]
Required: True
-
cold_tank_max_heat
¶ float: Rated heater capacity for cold tank heating [MW]
Required: True
-
csp_pt_tes_init_hot_htf_percent
¶ float: Initial fraction of available volume that is hot [%]
Required: True
-
h_tank
¶ float: Total height of tank (height of HTF when tank is full) [m]
Required: True
-
h_tank_min
¶ float: Minimum allowable HTF height in storage tank [m]
Required: True
-
hot_tank_Thtr
¶ float: Minimum allowable hot tank HTF temperature [C]
Required: True
-
hot_tank_max_heat
¶ float: Rated heater capacity for hot tank heating [MW]
Required: True
-
tank_pairs
¶ float: Number of equivalent tank pairs
Constraints: INTEGER
Required: True
-
u_tank
¶ float: Loss coefficient from the tank [W/m2-K]
Required: True
-
RADCOOL Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
RADCOOL
¶ -
assign
() → None¶ Assign attributes from dictionary
RADCOOL_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
D_rad_tubes
¶ float: Inner diameter of tubes in radiator panel [m]
Required: set to 0 if not provided.
-
L_rad
¶ float: Length of radiator panel row [m]
Required: set to 0 if not provided.
-
L_rad_sections
¶ float: Length of individual radiator panel [m]
Required: set to 0 if not provided.
-
T_ctes_cold_design
¶ float: Design value of cooled water to power block [C]
Required: set to 0 if not provided.
-
T_ctes_cold_ini
¶ float: Initial value of cold tank [C]
Required: set to 0 if not provided.
-
T_ctes_warm_design
¶ float: Design value of warm water returning from power block [C]
Required: set to 0 if not provided.
-
T_ctes_warm_ini
¶ float: Initial value of warm tank [C]
Required: set to 0 if not provided.
-
W_rad_tubes
¶ float: Center-to-center distance between tubes in radiator panel [m]
Required: set to 0 if not provided.
-
ctes_cost
¶ float: Cost of cold storage construction [$/L]
Required: set to 0 if not provided.
-
ctes_field_fl
¶ float: Fluid in radiator field. 3=liquid water. Other = Glycol. [-]
Required: set to 3 if not provided.
-
ctes_tankpairs
¶ float: Number of equivalent tank pairs [-]
Required: set to 0 if not provided.
-
ctes_tshours
¶ float: Equivalent full load storage hours [hr]
Required: set to 0 if not provided.
-
ctes_type
¶ float: Type of cold storage (2=two tank, 3= three node) [-]
Required: set to 0 if not provided.
-
epsilon_radHX
¶ float: Effectiveness of HX between radiative field and cold storage [-]
Required: set to .8 if not provided.
-
epsilon_radbot
¶ float: Emmissivity of top of radiator panel bottom (facing ground) [-]
Required: set to .07 if not provided.
-
epsilon_radgrnd
¶ float: Emmissivity of ground underneath radiator panel [-]
Required: set to .90 if not provided.
-
epsilon_radtop
¶ float: Emmissivity of top of radiator panel [-]
Required: set to .95 if not provided.
-
f_ctes_warm_ini
¶ float: Initial fraction of avail. volume that is warm [-]
Required: set to 0 if not provided.
-
h_ctes_tank
¶ float: Total height of cold storage tank when full [m]
Required: set to 0 if not provided.
-
h_ctes_tank_min
¶ float: Minimum allowable water height in storage tank [m]
Required: set to 0 if not provided.
-
helio_area_tot
¶ float: Heliostat total reflective area [-]
Required: set to 0 if not provided.
-
k_panel
¶ float: Thermal conductivity of radiator panel material [W/m-K]
Required: set to 235 if not provided.
-
m_dot_radpanel
¶ float: Mass flow rate through single radiator panel [kg/sec]
Required: set to 0 if not provided.
-
n_rad_tubes
¶ float: Number of parallel tubes in single radiator panel [-]
Required: set to 0 if not provided.
-
rad_multiplier
¶ float: Ratio of radiator field area to solar aperature area [-]
Required: set to 0 if not provided.
-
rad_pressuredrop
¶ float: Average pressure drop through a radiative panel & distribution [kPa]
Required: set to 0 if not provided.
-
radfluid_vol_ratio
¶ float: Ratio of fluid in distribution to fluid in panels [-]
Required: set to 0 if not provided.
-
radiator_fluidcost
¶ float: Cost of circulating fluid in radiative panels [$/L]
Required: set to 0 if not provided.
-
radiator_installcost
¶ float: Installation cost of radiative panels [$/m^2]
Required: set to 0 if not provided.
-
radiator_unitcost
¶ float: Cost of radiative panels [$/m^2]
Required: set to 0 if not provided.
-
th_rad_panel
¶ float: Thickness of radiator panel [m]
Required: set to 0 if not provided.
-
u_ctes_tank
¶ float: Loss coefficient from cold storage tank [W/m2-K]
Required: set to 0 if not provided.
-
PowerCycle Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
PowerCycle
¶ -
assign
() → None¶ Assign attributes from dictionary
PowerCycle_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
cycle_cutoff_frac
¶ float: Minimum turbine operation fraction before shutdown
Required: True
-
cycle_max_frac
¶ float: Maximum turbine over design operation fraction
Required: True
-
pb_pump_coef
¶ float: Pumping power to move 1kg of HTF through PB loop [kW/kg]
Required: True
-
pc_config
¶ float: PC configuration 0=Steam Rankine (224), 1=user defined, 2=sCO2 Recompression (424)
Constraints: INTEGER
Required: set to 0 if not provided.
-
q_sby_frac
¶ float: Fraction of thermal power required for standby
Required: True
-
startup_frac
¶ float: Fraction of design thermal power needed for startup [none]
Required: True
-
startup_time
¶ float: Time needed for power block startup [hr]
Required: True
-
RankineCycle Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
RankineCycle
¶ -
assign
() → None¶ Assign attributes from dictionary
RankineCycle_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
CT
¶ float: Condensor type: 1=evaporative, 2=air, 3=hybrid
Required: set to 0 if not provided.
-
P_boil
¶ float: Boiler operating pressure [bar]
Required: set to 0 if not provided.
-
P_cond_min
¶ float: Minimum condenser pressure [inHg]
Required: set to 0 if not provided.
-
P_cond_ratio
¶ float: Condenser pressure ratio
Required: set to 0 if not provided.
-
T_ITD_des
¶ float: ITD at design for dry system [C]
Required: set to 0 if not provided.
-
T_amb_des
¶ float: Reference ambient temperature at design point [C]
Required: set to 0 if not provided.
-
T_approach
¶ float: Cooling tower approach temperature [C]
Required: set to 0 if not provided.
-
dT_cw_ref
¶ float: Reference condenser cooling water inlet/outlet temperature difference [C]
Required: set to 0 if not provided.
-
n_pl_inc
¶ float: Number of part-load increments for the heat rejection system [none]
Constraints: INTEGER
Required: set to 0 if not provided.
-
pb_bd_frac
¶ float: Power block blowdown steam fraction
Required: set to 0 if not provided.
-
tech_type
¶ float: Turbine inlet pressure control 1=Fixed, 3=Sliding
Required: set to 0 if not provided.
-
SystemControl Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
SystemControl
¶ -
assign
() → None¶ Assign attributes from dictionary
SystemControl_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
F_wc
¶ sequence: TOU array of fractions indicating wet cooling share for hybrid cooling
Required: set to 0 if not provided.
-
ampl_data_dir
¶ str: AMPL data file directory
Required: set to ‘’ if not provided.
-
ampl_exec_call
¶ str: System command to run AMPL code
Required: set to ‘ampl sdk_solution.run’ if not provided.
-
aux_par
¶ float: Aux heater, boiler parasitic [MWe/MWcap]
Required: True
-
aux_par_0
¶ float: Aux heater, boiler parasitic - constant coefficient
Required: True
-
aux_par_1
¶ float: Aux heater, boiler parasitic - linear coefficient
Required: True
-
aux_par_2
¶ float: Aux heater, boiler parasitic - quadratic coefficient
Required: True
-
aux_par_f
¶ float: Aux heater, boiler parasitic - multiplying fraction
Required: True
-
bop_par
¶ float: Balance of plant parasitic power fraction [MWe/MWcap]
Required: True
-
bop_par_0
¶ float: Balance of plant parasitic power fraction - const coeff
Required: True
-
bop_par_1
¶ float: Balance of plant parasitic power fraction - linear coeff
Required: True
-
bop_par_2
¶ float: Balance of plant parasitic power fraction - quadratic coeff
Required: True
-
bop_par_f
¶ float: Balance of plant parasitic power fraction - mult frac
Required: True
-
disp_csu_cost
¶ float: Cycle startup cost [$]
Required: set to 1 if not provided.
-
disp_frequency
¶ float: Frequency for dispatch optimization calculations [hour]
Required: set to 1 if not provided.
-
disp_horizon
¶ float: Time horizon for dispatch optimization [hour]
Required: set to 1 if not provided.
-
disp_max_iter
¶ float: Max number of dispatch optimization iterations
Required: set to 1 if not provided.
-
disp_mip_gap
¶ float: Dispatch optimization solution tolerance
Required: set to 1 if not provided.
-
disp_pen_delta_w
¶ float: Dispatch cycle production change penalty [$/kWe-change]
Required: set to 1 if not provided.
-
disp_reporting
¶ float: Dispatch optimization reporting level
Required: set to -1 if not provided.
-
disp_rsu_cost
¶ float: Receiver startup cost [$]
Required: set to 1 if not provided.
-
disp_spec_bb
¶ float: Dispatch optimization B&B heuristic
Required: set to -1 if not provided.
-
disp_spec_presolve
¶ float: Dispatch optimization presolve heuristic
Required: set to -1 if not provided.
-
disp_spec_scaling
¶ float: Dispatch optimization scaling heuristic
Required: set to -1 if not provided.
-
disp_steps_per_hour
¶ float: Time steps per hour for dispatch optimization calculations
Required: set to 1 if not provided.
-
disp_time_weighting
¶ float: Dispatch optimization future time discounting factor
Required: set to 0.99 if not provided.
-
disp_timeout
¶ float: Max dispatch optimization solve duration [s]
Required: set to 1 if not provided.
-
dispatch_series
¶ sequence: Time series dispatch factors
-
f_turb_tou_periods
¶ sequence: Dispatch logic for turbine load fraction
Required: True
-
is_ampl_engine
¶ float: Run dispatch optimization with external AMPL engine
Required: set to 0 if not provided.
-
is_dispatch
¶ float: Allow dispatch optimization?
Required: set to 0 if not provided.
-
is_dispatch_series
¶ float: Use time-series dispatch factors
Required: set to 0 if not provided.
-
is_wlim_series
¶ float: Use time-series net electricity generation limits
Required: set to 0 if not provided.
-
is_write_ampl_dat
¶ float: Write AMPL data files for dispatch run
Required: set to 0 if not provided.
-
pb_fixed_par
¶ float: Fixed parasitic load - runs at all times [MWe/MWcap]
Required: True
-
q_rec_heattrace
¶ float: Receiver heat trace energy consumption during startup [kWe-hr]
Required: set to 0.0 if not provided.
-
q_rec_standby
¶ float: Receiver standby energy consumption [kWt]
Required: set to 9e99 if not provided.
-
time_start
¶ float: Simulation start time [s]
Required: set to 0 if not provided.
-
time_steps_per_hour
¶ float: Number of simulation time steps per hour
Required: set to -1 if not provided.
-
time_stop
¶ float: Simulation stop time [s]
Required: set to 31536000 if not provided.
-
vacuum_arrays
¶ float: Allocate arrays for only the required number of steps
Required: set to 0 if not provided.
-
weekday_schedule
¶ sequence[sequence]: 12x24 CSP operation Time-of-Use Weekday schedule
Required: True
-
weekend_schedule
¶ sequence[sequence]: 12x24 CSP operation Time-of-Use Weekend schedule
Required: True
-
wlim_series
¶ sequence: Time series net electicity generation limits [kWe]
Required: set to 1 if not provided.
-
UserDefinedPowerCycle Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
UserDefinedPowerCycle
¶ -
assign
() → None¶ Assign attributes from dictionary
UserDefinedPowerCycle_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
ud_T_amb_des
¶ float: Ambient temperature at user-defined power cycle design point [C]
Required: set to 1 if not provided.
-
ud_T_amb_high
¶ float: High level ambient temperature for HTF mass flow rate parametric [C]
Required: set to 1 if not provided.
-
ud_T_amb_ind_od
¶ sequence[sequence]: Off design table of user-defined power cycle performance formed from parametric on T_amb [C]
Required: set to 1 if not provided.
-
ud_T_amb_low
¶ float: Low level ambient temperature for HTF mass flow rate parametric [C]
Required: set to 1 if not provided.
-
ud_T_htf_high
¶ float: High level HTF inlet temperature for T_amb parametric [C]
Required: set to 1 if not provided.
-
ud_T_htf_ind_od
¶ sequence[sequence]: Off design table of user-defined power cycle performance formed from parametric on T_htf_hot [C]
Required: set to 1 if not provided.
-
ud_T_htf_low
¶ float: Low level HTF inlet temperature for T_amb parametric [C]
Required: set to 1 if not provided.
-
ud_f_W_dot_cool_des
¶ float: Percent of user-defined power cycle design gross output consumed by cooling [%]
Required: set to 1 if not provided.
-
ud_ind_od
¶ sequence[sequence]: Off design user-defined power cycle performance as function of T_htf, m_dot_htf [ND], and T_amb
Required: set to 1 if not provided.
-
ud_m_dot_htf_high
¶ float: High level normalized HTF mass flow rate for T_HTF parametric
Required: set to 1 if not provided.
-
ud_m_dot_htf_ind_od
¶ sequence[sequence]: Off design table of user-defined power cycle performance formed from parametric on m_dot_htf [ND]
Required: set to 1 if not provided.
-
ud_m_dot_htf_low
¶ float: Low level normalized HTF mass flow rate for T_HTF parametric
Required: set to 1 if not provided.
-
ud_m_dot_water_cool_des
¶ float: Mass flow rate of water required at user-defined power cycle design point [kg/s]
Required: set to 1 if not provided.
-
SCO2Cycle Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
SCO2Cycle
¶ -
assign
() → None¶ Assign attributes from dictionary
SCO2Cycle_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
P_high_limit
¶ float: Upper pressure limit in cycle [MPa]
Required: set to 2 if not provided.
-
deltaT_PHX
¶ float: Design temperature difference in PHX [C]
Required: set to 2 if not provided.
-
eta_c
¶ float: Isentropic efficiency of compressor(s)
Required: set to 2 if not provided.
-
eta_t
¶ float: Isentropic efficiency of turbine
Required: set to 2 if not provided.
-
fan_power_perc_net
¶ float: Percent of net cycle output used for fan power at design [%]
Required: set to 2 if not provided.
-
is_sco2_preprocess
¶ float: Is sco2 off-design performance preprocessed? 1=yes
Required: set to 0 if not provided.
-
recup_eff_max
¶ float: Maximum recuperator effectiveness
Required: set to 2 if not provided.
-
sco2_T_amb_des
¶ float: Ambient temperature at design point [C]
Required: set to 2 if not provided.
-
sco2_T_approach
¶ float: Temperature difference between main compressor CO2 inlet and ambient air [C]
Required: set to 2 if not provided.
-
sco2_cycle_config
¶ float: SCO2 cycle configuration, 1=recompression, 2=partial cooling
Required: set to 2 if not provided.
-
sco2ud_T_amb_high
¶ float: High level ambient temperature for HTF mass flow rate parametric [C]
Required: set to 1 if not provided.
-
sco2ud_T_amb_ind_od
¶ sequence[sequence]: Off design table of user-defined power cycle performance formed from parametric on T_amb [C]
Required: set to 1 if not provided.
-
sco2ud_T_amb_low
¶ float: Low level ambient temperature for HTF mass flow rate parametric [C]
Required: set to 1 if not provided.
-
sco2ud_T_htf_cold_calc
¶ float: HTF cold temperature from sCO2 cycle des, may be different than T_htf_cold_des [C]
Required: set to 1 if not provided.
-
sco2ud_T_htf_high
¶ float: High level HTF inlet temperature for T_amb parametric [C]
Required: set to 1 if not provided.
-
sco2ud_T_htf_ind_od
¶ sequence[sequence]: Off design table of user-defined power cycle performance formed from parametric on T_htf_hot [C]
Required: set to 1 if not provided.
-
sco2ud_T_htf_low
¶ float: Low level HTF inlet temperature for T_amb parametric [C]
Required: set to 1 if not provided.
-
sco2ud_m_dot_htf_high
¶ float: High level normalized HTF mass flow rate for T_HTF parametric
Required: set to 1 if not provided.
-
sco2ud_m_dot_htf_ind_od
¶ sequence[sequence]: Off design table of user-defined power cycle performance formed from parametric on m_dot_htf [ND]
Required: set to 1 if not provided.
-
sco2ud_m_dot_htf_low
¶ float: Low level normalized HTF mass flow rate for T_HTF parametric
Required: set to 1 if not provided.
-
AdjustmentFactors Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
AdjustmentFactors
¶ -
assign
() → None¶ Assign attributes from dictionary
-
export
() → Dict¶ Export attributes into dictionary
-
constant
¶ type: float
-
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.TcsmoltenSalt.TcsmoltenSalt.
Outputs
¶ -
assign
() → None¶ Assign attributes from dictionary
Outputs_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
A_radfield
¶ float: Radiator field surface area [m^2]
-
A_sf
¶ float: Solar field area [m^2]
-
P_cond
¶ sequence: PC condensing presssure [Pa]
-
P_cooling_tower_tot
¶ sequence: Parasitic power condenser operation [MWe]
-
P_cycle
¶ sequence: PC electrical power output, gross [MWe]
-
P_fixed
¶ sequence: Parasitic power fixed load [MWe]
-
P_out_net
¶ sequence: Total electric power to grid [MWe]
-
P_plant_balance_tot
¶ sequence: Parasitic power generation-dependent load [MWe]
-
P_tower_pump
¶ sequence: Parasitic power receiver/tower HTF pump [MWe]
-
Q_thermal
¶ sequence: Receiver thermal power to HTF less piping loss [MWt]
-
T_cold
¶ sequence: Cold storage cold temperature [C]
-
T_cond_out
¶ sequence: PC condenser water outlet temperature [C]
-
T_pc_in
¶ sequence: PC HTF inlet temperature [C]
-
T_pc_out
¶ sequence: PC HTF outlet temperature [C]
-
T_rad_out
¶ sequence: Radiator outlet temperature [C]
-
T_rec_in
¶ sequence: Receiver HTF inlet temperature [C]
-
T_rec_out
¶ sequence: Receiver HTF outlet temperature [C]
-
T_tes_cold
¶ sequence: TES cold temperature [C]
-
T_tes_hot
¶ sequence: TES hot temperature [C]
-
T_warm
¶ sequence: Cold storage warm tank temperature [C]
-
annual_W_cooling_tower
¶ float: Total of condenser operation parasitics [kWhe]
-
annual_W_cycle_gross
¶ float: Electrical source - power cycle gross output [kWhe]
-
annual_energy
¶ float: Annual total electric power to grid [kWhe]
-
annual_total_water_use
¶ float: Total annual water usage, cycle + mirror washing [m3]
-
beam
¶ sequence: Resource beam normal irradiance [W/m2]
-
capacity_factor
¶ float: Capacity factor [%]
-
const_per_interest1
¶ float: Interest cost, loan 1 [$]
-
const_per_interest2
¶ float: Interest cost, loan 2 [$]
-
const_per_interest3
¶ float: Interest cost, loan 3 [$]
-
const_per_interest4
¶ float: Interest cost, loan 4 [$]
-
const_per_interest5
¶ float: Interest cost, loan 5 [$]
-
const_per_interest_total
¶ float: Total interest costs, all loans [$]
-
const_per_percent_total
¶ float: Total percent of installed costs, all loans [%]
-
const_per_principal1
¶ float: Principal, loan 1 [$]
-
const_per_principal2
¶ float: Principal, loan 2 [$]
-
const_per_principal3
¶ float: Principal, loan 3 [$]
-
const_per_principal4
¶ float: Principal, loan 4 [$]
-
const_per_principal5
¶ float: Principal, loan 5 [$]
-
const_per_principal_total
¶ float: Total principal, all loans [$]
-
const_per_total1
¶ float: Total financing cost, loan 1 [$]
-
const_per_total2
¶ float: Total financing cost, loan 2 [$]
-
const_per_total3
¶ float: Total financing cost, loan 3 [$]
-
const_per_total4
¶ float: Total financing cost, loan 4 [$]
-
const_per_total5
¶ float: Total financing cost, loan 5 [$]
-
construction_financing_cost
¶ float: Total construction financing cost [$]
-
conversion_factor
¶ float: Gross to net conversion factor [%]
-
csp_pt_cost_bop
¶ float: BOP cost [$]
-
csp_pt_cost_contingency
¶ float: Contingency cost [$]
-
csp_pt_cost_epc_total
¶ float: EPC and owner cost [$]
-
csp_pt_cost_fossil
¶ float: Fossil backup cost [$]
-
csp_pt_cost_heliostats
¶ float: Heliostat cost [$]
-
csp_pt_cost_installed_per_capacity
¶ float: Estimated installed cost per cap [$]
-
csp_pt_cost_plm_total
¶ float: Total land cost [$]
-
csp_pt_cost_power_block
¶ float: Power cycle cost [$]
-
csp_pt_cost_rad_field
¶ float: Radiative field cost$
-
csp_pt_cost_rad_fluid
¶ float: Radiative fluid cost$
-
csp_pt_cost_rad_storage
¶ float: Cold storage cost$
-
csp_pt_cost_receiver
¶ float: Receiver cost [$]
-
csp_pt_cost_sales_tax_total
¶ float: Sales tax cost [$]
-
csp_pt_cost_site_improvements
¶ float: Site improvement cost [$]
-
csp_pt_cost_storage
¶ float: TES cost [$]
-
csp_pt_cost_total_land_area
¶ float: Total land area [acre]
-
csp_pt_cost_tower
¶ float: Tower cost [$]
-
defocus
¶ sequence: Field optical focus fraction
-
disp_iter_ann
¶ float: Annual sum of dispatch solver iterations
-
disp_obj_relax
¶ sequence: Dispatch objective function - relaxed max
-
disp_objective
¶ sequence: Dispatch objective function value
-
disp_objective_ann
¶ float: Annual sum of dispatch objective function value
-
disp_pceff_expected
¶ sequence: Dispatch expected power cycle efficiency adj.
-
disp_presolve_nconstr
¶ sequence: Dispatch number of constraints in problem
-
disp_presolve_nconstr_ann
¶ float: Annual sum of dispatch problem constraint count
-
disp_presolve_nvar
¶ sequence: Dispatch number of variables in problem
-
disp_presolve_nvar_ann
¶ float: Annual sum of dispatch problem variable count
-
disp_qpbsu_expected
¶ sequence: Dispatch expected power cycle startup energy [MWht]
-
disp_qsf_expected
¶ sequence: Dispatch expected solar field available energy [MWt]
-
disp_qsfprod_expected
¶ sequence: Dispatch expected solar field generation [MWt]
-
disp_qsfsu_expected
¶ sequence: Dispatch expected solar field startup enegy [MWt]
-
disp_rev_expected
¶ sequence: Dispatch expected revenue factor
-
disp_solve_iter
¶ sequence: Dispatch iterations count
-
disp_solve_state
¶ sequence: Dispatch solver state
-
disp_solve_time
¶ sequence: Dispatch solver time [sec]
-
disp_solve_time_ann
¶ float: Annual sum of dispatch solver time
-
disp_tes_expected
¶ sequence: Dispatch expected TES charge level [MWht]
-
disp_thermeff_expected
¶ sequence: Dispatch expected SF thermal efficiency adj.
-
disp_wpb_expected
¶ sequence: Dispatch expected power generation [MWe]
-
e_ch_tes
¶ sequence: TES charge state [MWht]
-
eta
¶ sequence: PC efficiency, gross
-
eta_field
¶ sequence: Field optical efficiency
-
eta_map_out
¶ sequence[sequence]: Solar field optical efficiencies
-
eta_therm
¶ sequence: Receiver thermal efficiency
-
flux_maps_out
¶ sequence[sequence]: Flux map intensities
-
gen
¶ sequence: Total electric power to grid with available derate [kWe]
-
htf_pump_power
¶ sequence: Parasitic power TES and cycle HTF pump [MWe]
-
is_pc_sb_allowed
¶ sequence: Is power cycle standby allowed
-
is_pc_su_allowed
¶ sequence: Is power cycle startup allowed
-
is_rec_su_allowed
¶ sequence: Is receiver startup allowed
-
kwh_per_kw
¶ float: First year kWh/kW [kWh/kW]
-
m_cold
¶ sequence: Cold storage cold tank mass [kg]
-
m_dot_balance
¶ sequence: Relative mass flow balance error
-
m_dot_pc
¶ sequence: PC HTF mass flow rate [kg/s]
-
m_dot_rec
¶ sequence: Receiver mass flow rate [kg/s]
-
m_dot_tes_ch
¶ sequence: TES charge mass flow rate [kg/s]
-
m_dot_tes_dc
¶ sequence: TES discharge mass flow rate [kg/s]
-
m_dot_water_pc
¶ sequence: PC water consumption, makeup + cooling [kg/s]
-
m_warm
¶ sequence: Cold storage warm tank mass [kg]
-
n_op_modes
¶ sequence: Operating modes in reporting timestep
-
op_mode_1
¶ sequence: 1st operating mode
-
op_mode_2
¶ sequence: 2nd operating mode, if applicable
-
op_mode_3
¶ sequence: 3rd operating mode, if applicable
-
operating_modes_a
¶ sequence: First 3 operating modes tried
-
operating_modes_b
¶ sequence: Next 3 operating modes tried
-
operating_modes_c
¶ sequence: Final 3 operating modes tried
-
pparasi
¶ sequence: Parasitic power heliostat drives [MWe]
-
pricing_mult
¶ sequence: PPA price multiplier
-
q_balance
¶ sequence: Relative energy balance error
-
q_ch_tes
¶ sequence: TES charge thermal power [MWt]
-
q_dc_tes
¶ sequence: TES discharge thermal power [MWt]
-
q_dot_est_cr_on
¶ sequence: Estimated receiver thermal power TO HTF [MWt]
-
q_dot_est_cr_su
¶ sequence: Estimated receiver startup thermal power [MWt]
-
q_dot_est_tes_ch
¶ sequence: Estimated max TES charge thermal power [MWt]
-
q_dot_est_tes_dc
¶ sequence: Estimated max TES discharge thermal power [MWt]
-
q_dot_pc_max
¶ sequence: Max thermal power to PC [MWt]
-
q_dot_pc_min
¶ sequence: Thermal power for PC min operation [MWt]
-
q_dot_pc_sb
¶ sequence: Thermal power for PC standby [MWt]
-
q_dot_pc_startup
¶ sequence: PC startup thermal power [MWt]
-
q_dot_pc_target
¶ sequence: Target thermal power to PC [MWt]
-
q_dot_rec_inc
¶ sequence: Receiver incident thermal power [MWt]
-
q_heater
¶ sequence: TES freeze protection power [MWe]
-
q_pb
¶ sequence: PC input energy [MWt]
-
q_pc_startup
¶ sequence: PC startup thermal energy [MWht]
-
q_piping_losses
¶ sequence: Receiver header/tower piping losses [MWt]
-
q_sf_inc
¶ sequence: Field incident thermal power [MWt]
-
q_startup
¶ sequence: Receiver startup thermal energy consumed [MWt]
-
q_thermal_loss
¶ sequence: Receiver convection and emission losses [MWt]
-
radcool_control
¶ sequence: Radiative cooling status code [-]
-
rh
¶ sequence: Resource relative humidity [%]
-
sf_adjust_out
¶ sequence: Field availability adjustment factor
-
solaz
¶ sequence: Resource solar azimuth [deg]
-
solzen
¶ sequence: Resource solar zenith [deg]
-
tank_losses
¶ sequence: TES thermal losses [MWt]
-
tdry
¶ sequence: Resource dry Bulb temperature [C]
-
time_hr
¶ sequence: Time at end of timestep [hr]
-
total_direct_cost
¶ float: Total direct cost [$]
-
total_indirect_cost
¶ float: Total indirect cost [$]
-
total_installed_cost
¶ float: Total installed cost [$]
-
tou_value
¶ sequence: CSP operating time-of-use value
-
twet
¶ sequence: Resource wet Bulb temperature [C]
-
ud_T_amb_ind_od_out
¶ sequence[sequence]: T_amb cycle off design
-
ud_T_htf_ind_od_out
¶ sequence[sequence]: T_htf_hot cycle off design
-
ud_m_dot_htf_ind_od_out
¶ sequence[sequence]: M_dot_htf cycle off design
-
ui_direct_subtotal
¶ float: Direct capital precontingency cost [$]
-
wspd
¶ sequence: Resource wind velocity [m/s]
-