TcsdirectSteam

Wrapper for SAM Simulation Core model: cmod_tcsdirect_steam.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.

TcsdirectSteam model description

CSP direct steam power tower model for power generation

PySAM.TcsdirectSteam.default(config) → TcsdirectSteam

Use financial model-specific default attributes config options:

  • “DSPTAllEquityPartnershipFlip”
  • “DSPTLeveragedPartnershipFlip”
  • “DSPTSaleLeaseback”
  • “DSPTSingleOwner”
PySAM.TcsdirectSteam.new() → TcsdirectSteam
PySAM.TcsdirectSteam.wrap(ssc_data_t) → TcsdirectSteam

Use existing PySSC data

Warning

Do not call PySSC.data_free on the ssc_data_t provided to wrap

Functions

class PySAM.TcsdirectSteam.TcsdirectSteam

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

Weather Group

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

Assign attributes from dictionary

Weather_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

solar_resource_file

str: local weather file path

Constraints: LOCAL_FILE

Required: True

DirectSteamTower Group

class PySAM.TcsdirectSteam.TcsdirectSteam.DirectSteamTower
assign() → None

Assign attributes from dictionary

DirectSteamTower_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

system_capacity

float: Nameplate capacity [kW]

Required: True

TouTranslator Group

class PySAM.TcsdirectSteam.TcsdirectSteam.TouTranslator
assign() → None

Assign attributes from dictionary

TouTranslator_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

weekday_schedule

sequence[sequence]: 12x24 Time of Use Values for week days

Required: True

weekend_schedule

sequence[sequence]: 12x24 Time of Use Values for week end days

Required: True

Heliostat Group

class PySAM.TcsdirectSteam.TcsdirectSteam.Heliostat
assign() → None

Assign attributes from dictionary

Heliostat_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

N_hel

float: Number of heliostats

Required: False

bop_spec_cost

float: BOS specific cost [$/kWe]

Required: True

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 cant method

Required: True

check_max_flux

float: Check max flux at design point

Required: set to 0 if not provided.

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_acre

float: PLM cost per acre [$/acre]

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

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

delta_flux_hrs

float: Hourly frequency in flux map lookup

Required: set to 1 if not provided.

dens_mirror

float: Ratio of reflective area to profile

Required: True

dni_des

float: Design-point DNI [W/m2]

Required: True

eta_map

sequence[sequence]: Field efficiency array

Required: False

flux_maps

sequence[sequence]: Flux map intensities

Required: False

flux_max

float: Maximum allowable flux

Required: set to 1000 if not provided.

flux_positions

sequence[sequence]: Flux map sun positions [deg]

Required: False

focus_type

float: Heliostat focus method

Required: True

fossil_spec_cost

float: Fossil system specific cost [$/kWe]

Required: True

hel_stow_deploy

float: Stow/deploy elevation [deg]

Required: True

helio_active_fraction

float: Heliostat active frac.

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

float: Heliostat optical error [rad]

Required: True

helio_positions

sequence[sequence]: Heliostat position table [m]

Required: set to 1 if not provided.

helio_reflectance

float: Heliostat reflectance

Required: True

helio_width

float: Heliostat width [m]

Required: True

heliostat_spec_cost

float: Heliostat field cost [$/m2]

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.

is_optimize

float: Do SolarPILOT optimization

Required: set to 0 if not provided.

land_bound_list

sequence: Boundary table listing

Required: False

land_bound_table

sequence[sequence]: Land boundary table [m]

Required: False

land_bound_type

float: Land boundary type

Required: set to 0 if not provided.

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.

land_spec_cost

float: Total land area cost [$/acre]

Required: True

n_facet_x

float: Number of heliostat facets - X

Required: True

n_facet_y

float: Number of heliostat facets - Y

Required: True

n_flux_days

float: No. days in flux map lookup

Required: set to 8 if not provided.

n_flux_x

float: Flux map X resolution

Required: set to 12 if not provided.

n_flux_y

float: Flux map Y resolution

Required: set to 1 if not provided.

opt_algorithm

float: Optimization algorithm

Required: set to 0 if not provided.

opt_conv_tol

float: Optimization convergence tol

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

plant_spec_cost

float: Power cycle specific cost [$/kWe]

Required: True

q_design

float: Receiver thermal design power [MW]

Required: True

rec_absorptance

float: Receiver absorptance

Required: True

rec_aspect

float: Receiver aspect ratio

Required: True

rec_cost_exp

float: Receiver cost scaling exponent

Required: True

rec_height

float: Receiver height [m]

Required: True

rec_hl_perm2

float: Receiver design heatloss [kW/m2]

Required: True

rec_ref_area

float: Receiver reference area for cost scale

Required: True

rec_ref_cost

float: Receiver reference cost [$]

Required: True

run_type

float: Run type [-]

Required: True

sales_tax_frac

float: Percent of cost to which sales tax applies [%]

Required: True

sales_tax_rate

float: Sales tax rate [%]

Required: True

site_spec_cost

float: Site improvement cost [$/m2]

Required: True

tes_spec_cost

float: Thermal energy storage cost [$/kWht]

Required: True

total_installed_cost

float: Total installed cost [$]

Required: True

tower_exp

float: Tower cost scaling exponent

Required: True

tower_fixed_cost

float: Tower fixed cost [$]

Required: True

v_wind_max

float: Max. wind velocity [m/s]

Required: True

washing_frequency

float: Mirror washing frequency

Required: True

water_usage_per_wash

float: Water usage per wash [L/m2_aper]

Required: True

Receiver Group

class PySAM.TcsdirectSteam.TcsdirectSteam.Receiver
assign() → None

Assign attributes from dictionary

Receiver_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

H_rec

float: The height of the receiver [m]

Required: True

THT

float: The height of the tower (hel. pivot to rec equator) [m]

Required: True

DsgController Group

class PySAM.TcsdirectSteam.TcsdirectSteam.DsgController
assign() → None

Assign attributes from dictionary

DsgController_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

A_sf

float: Solar field area [m^2]

Required: True

P_b_in_init

float: Initial Boiler inlet pressure [bar]

Required: True

P_cond_init

float: Condenser pressure [Pa]

Required: True

P_hp_in_des

float: Design HP Turbine Inlet Pressure [bar]

Required: True

P_hp_out

float: HP turbine outlet pressure [bar]

Required: True

P_hp_out_des

float: Design HP Turbine Outlet Pressure [bar]

Required: True

T_ITD_des

float: Approach temperature for dry cooling [C]

Required: True

T_amb_des

float: Design ambient temperature (power cycle) [C]

Required: True

T_approach

float: Approach temperature for wet cooling [C]

Required: True

T_fw_init

float: Initial Feedwater outlet temperature [C]

Required: True

T_hp_out

float: HP turbine outlet temperature [C]

Required: True

T_rh_out_des

float: Target reheater outlet temperature [C]

Required: True

T_rh_target

float: Target reheater outlet temp. [C]

Required: True

T_sh_out_des

float: Target superheater outlet temperature [C]

Required: True

ct

float: Cooling Type [-]

Constraints: INTEGER

Required: True

cycle_max_frac

float: Cycle maximum overdesign fraction [-]

Required: True

dT_cw_ref

float: Reference condenser water dT [C]

Required: True

d_rec

float: Diameter of Receiver [m]

Required: True

d_rh

float: O.D. of reheater tubes [m]

Required: True

d_sh

float: O.D. of superheater tubes [m]

Required: True

d_t_boiler

float: O.D. of boiler tubes [m]

Required: True

eta_rec_pump

float: Feedwater pump efficiency [-]

Required: True

f_mdot_rh_init

float: Reheat mass flow rate fraction [-]

Required: True

f_mdotrh_des

float: Design reheat mass flow rate fraction [-]

Required: True

f_pb_cutoff

float: Cycle cut-off fraction [-]

Required: True

f_pb_sb

float: Cycle minimum standby fraction [-]

Required: True

f_rec_min

float: Minimum receiver absorbed power fraction [-]

Required: True

ffrac

sequence: Fossil dispatch logic [-]

Required: True

flowtype

float: Code for flow pattern through rec. [-]

Constraints: INTEGER

Required: True

fossil_mode

float: Fossil model: 1=Normal, 2=Supplemental [-]

Constraints: INTEGER

Required: True

h_boiler

float: Height of boiler [m]

Required: True

h_rh

float: Height of reheater [m]

Required: True

h_sh

float: Height of superheater [m]

Required: True

h_tower

float: Tower Height [m]

Required: True

hl_ffact

float: Heat Loss Fudge FACTor [-]

Required: True

lhv_eff

float: Aux Heater lower heating value efficiency [-]

Required: True

mat_boiler

float: Numerical code for tube material [-]

Constraints: INTEGER

Required: True

mat_rh

float: Numerical code for reheater material [-]

Constraints: INTEGER

Required: True

mat_sh

float: Numerical code for superheater material [-]

Constraints: INTEGER

Required: True

n_panels

float: Number of panels [-]

Required: True

p_cycle_design

float: Design Cycle Power [MW]

Required: True

q_aux_max

float: Maximum heat rate of auxiliary heater [MW]

Required: True

q_pb_design

float: Heat rate into powerblock at design [MW]

Required: True

q_rec_des

float: Design-point thermal power [MW]

Required: True

rec_absorptance

float: Absorptance of receiver tubes [-]

Required: True

rec_emis

float: Emissivity of receiver tubes [-]

Required: True

rec_qf_delay

float: Receiver start-up delay fraction of thermal energy of receiver running at design for 1 hour [-]

Required: True

rec_su_delay

float: Receiver start-up delay time [hr]

Required: True

t_standby_ini

float: Power block standby time [hr]

Required: True

th_rh

float: Thickness of reheater tubes [m]

Required: True

th_sh

float: Thickness of superheater tubes [m]

Required: True

th_t_boiler

float: Thickness of boiler tubes [m]

Required: True

x_b_target

float: Target boiler outlet quality [-]

Required: True

Powerblock Group

class PySAM.TcsdirectSteam.TcsdirectSteam.Powerblock
assign() → None

Assign attributes from dictionary

Powerblock_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

F_wc

sequence: Fraction indicating wet cooling use for hybrid system [none]

Required: True

P_boil_des

float: Boiler operating pressure @ design [bar]

Required: True

P_cond_min

float: Minimum condenser pressure [inHg]

Required: True

P_cond_ratio

float: Condenser pressure ratio [none]

Required: True

P_ref

float: Reference output electric power at design condition [MW]

Required: True

P_rh_ref

float: Reheater operating pressure at design [bar]

Required: True

T_ITD_des

float: ITD at design for dry system [C]

Required: True

T_amb_des

float: Reference ambient temperature at design point [C]

Required: True

T_cold_ref

float: Reference HTF outlet temperature at design [C]

Required: True

T_hot

float: Hot HTF inlet temperature, from storage tank [C]

Required: True

T_hot_ref

float: Reference HTF inlet temperature at design [C]

Required: True

dT_cw_ref

float: Reference condenser cooling water inlet/outlet T diff [C]

Required: True

eta_ref

float: Reference conversion efficiency at design condition [none]

Required: True

n_pl_inc

float: Number of part-load increments for the heat rejection system [none]

Constraints: INTEGER

Required: True

pb_bd_frac

float: Power block blowdown steam fraction [none]

Required: True

q_sby_frac

float: Fraction of thermal power required for standby mode [none]

Required: True

rh_frac_ref

float: Reheater flow fraction at design [none]

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

Parasitics Group

class PySAM.TcsdirectSteam.TcsdirectSteam.Parasitics
assign() → None

Assign attributes from dictionary

Parasitics_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

Design_power

float: Power production at design conditions [MWe]

Required: True

Piping_length

float: Total length of exposed piping [m]

Required: True

Piping_loss

float: Thermal loss per meter of piping [Wt/m]

Required: True

aux_par

float: Aux heater, boiler parasitic [MWe/MWcap]

Required: True

aux_par_0

float: Aux heater, boiler parasitic - constant coefficient [none]

Required: True

aux_par_1

float: Aux heater, boiler parasitic - linear coefficient [none]

Required: True

aux_par_2

float: Aux heater, boiler parasitic - quadratic coefficient [none]

Required: True

aux_par_f

float: Aux heater, boiler parasitic - multiplying fraction [none]

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 [none]

Required: True

bop_par_1

float: Balance of plant parasitic power fraction - linear coeff [none]

Required: True

bop_par_2

float: Balance of plant parasitic power fraction - quadratic coeff [none]

Required: True

bop_par_f

float: Balance of plant parasitic power fraction - mult frac [none]

Required: True

design_eff

float: Power cycle efficiency at design [none]

Required: True

pb_fixed_par

float: Fixed parasitic load - runs at all times [MWe/MWcap]

Required: True

piping_length_add

float: Piping constant length [m]

Required: True

piping_length_mult

float: Piping length multiplier

Required: True

AdjustmentFactors Group

class PySAM.TcsdirectSteam.TcsdirectSteam.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.TcsdirectSteam.TcsdirectSteam.Outputs
assign() → None

Assign attributes from dictionary

Outputs_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

P_b_in

sequence: Receiver boiler pressure inlet [kPa]

P_b_out

sequence: Receiver boiler pressure outlet [kPa]

P_cond

sequence: Condenser pressure [Pa]

P_cooling_tower_tot

sequence: Parasitic power condenser operation [MWe]

P_cycle

sequence: Cycle electrical power output (gross) [MWe]

P_drop_b

sequence: Receiver boiler pressure drop [Pa]

P_fixed

sequence: Parasitic power fixed load [MWe]

P_out_net

sequence: Cycle electrical power output (net) [MWe]

P_parasitics

sequence: Parasitic power total consumption [MWe]

P_piping_tot

sequence: Parasitic power equiv. header pipe losses [MWe]

P_plant_balance_tot

sequence: Parasitic power generation-dependent load [MWe]

P_rh_in

sequence: Receiver reheater pressure inlet [kPa]

P_rh_out

sequence: Receiver reheater pressure outlet [kPa]

P_sh_out

sequence: Receiver superheater pressure outlet [kPa]

T_b_in

sequence: Receiver boiler temperature inlet [C]

T_boiling

sequence: Receiver boiler temperature drum [C]

T_fw

sequence: Cycle temperature feedwater outlet [C]

T_max_b_surf

sequence: Receiver boiler temperature surface max [C]

T_max_rh_surf

sequence: Receiver reheater temperature surface max [C]

T_max_sh_surf

sequence: Receiver superheater temperature surface max [C]

T_rh_in

sequence: Receiver reheater temperature inlet [C]

T_rh_out

sequence: Receiver reheater temperature outlet [C]

W_dot_boost

sequence: Parasitic power receiver boost pump [MWe]

annual_W_cycle_gross

float: Electrical source - Power cycle gross output [kWh]

annual_energy

float: Annual Energy [kWh]

annual_fuel_usage

float: Annual fuel usage [kWh]

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 [%]

conversion_factor

float: Gross to Net Conversion Factor [%]

dP_rh

sequence: Receiver reheater pressure drop [Pa]

dP_sh

sequence: Receiver superheater pressure drop [Pa]

defocus

sequence: Field optical focus fraction

eta_b

sequence: Receiver boiler thermal efficiency

eta_field

sequence: Field optical efficiency

eta_rec

sequence: Receiver thermal efficiency

eta_rh

sequence: Receiver reheater thermal efficiency [-]

eta_sh

sequence: Receiver superheater thermal efficiency

f_bays

sequence: Condenser fraction of operating bays

f_mdot_rh

sequence: Receiver reheater mass flow rate fraction [-]

gen

sequence: System power generated [kW]

hour

sequence: Resource Hour of Day

kwh_per_kw

float: First year kWh/kW [kWh/kW]

m_dot_aux

sequence: Auxiliary mass flow rate [kg/hr]

m_dot_makeup

sequence: Cycle mass flow rate cooling water makeup [kg/hr]

m_dot_sh

sequence: Receiver superheater mass flow rate [kg/hr]

month

sequence: Resource Month

pparasi

sequence: Parasitic power heliostat drives [MWe]

pres

sequence: Resource Pressure [mbar]

q_abs_rec

sequence: Receiver power absorbed total [MWt]

q_aux

sequence: Auxiliary heat rate delivered to cycle [MW]

q_aux_fuel

sequence: Fuel energy rate to aux heater [MMBTU]

q_b_abs

sequence: Receiver boiler power absorbed [MWt]

q_b_conv

sequence: Receiver boiler power loss to convection [MWt]

q_b_rad

sequence: Receiver boiler power loss to radiation [MWt]

q_conv_rec

sequence: Receiver power loss to convection total [MWt]

q_inc_full

sequence: Receiver power incident (excl. defocus) [MWt]

q_rad_rec

sequence: Receiver power loss to radiation total [MWt]

q_rh_abs

sequence: Receiver reheater power absorbed [MWt]

q_rh_conv

sequence: Receiver reheater power loss to convection [MWt]

q_rh_rad

sequence: Receiver reheater power loss to radiation [MWt]

q_sh_abs

sequence: Receiver superheater power absorbed [MWt]

q_sh_conv

sequence: Receiver superheater power loss to convection [MWt]

q_sh_rad

sequence: Receiver superheater power loss to radiation [MWt]

q_therm_in_rec

sequence: Receiver power to steam total [MWt]

solazi

sequence: Resource Solar Azimuth [deg]

solzen

sequence: Resource Solar Zenith [deg]

system_heat_rate

float: System heat rate [MMBtu/MWh]

tdry

sequence: Resource Dry bulb temperature [C]

tou_value

sequence: Resource Time-of-use value

twet

sequence: Resource Wet bulb temperature [C]

v_rh_max

sequence: Receiver reheater velocity at outlet [m/s]

v_sh_max

sequence: Receiver superheater velocity at outlet [m/s]

wspd

sequence: Resource Wind Speed [m/s]