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

class PySAM.Tcsiscc.Tcsiscc.Weather
assign() → None

Assign attributes from dictionary

Weather_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

solar_resource_file

local weather file path

Constraints: LOCAL_FILE

Required: True

Type:str

MoltenSaltTower Group

class PySAM.Tcsiscc.Tcsiscc.MoltenSaltTower
assign() → None

Assign attributes from dictionary

MoltenSaltTower_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

system_capacity

Nameplate capacity [kW]

Required: True

Type:float

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