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]