CspSubcomponent

CspSubcomponent

PySAM.CspSubcomponent.default(config) CspSubcomponent

Load defaults for the configuration config. Available configurations are:

  • None

Note

Some inputs do not have default values and may be assigned a value from the variable’s Required attribute. See variable attribute descriptions below.

PySAM.CspSubcomponent.from_existing(data, optional config) CspSubcomponent

Share data with an existing PySAM class. If optional config is a valid configuration name, load the module’s defaults for that configuration.

PySAM.CspSubcomponent.new() CspSubcomponent
PySAM.CspSubcomponent.wrap(ssc_data_t) CspSubcomponent

Load data from a PySSC object.

Warning

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

CspSubcomponent is a wrapper for the SSC compute module cmod_csp_subcomponent.cpp

Interdependent Variables

The variables listed below are interdependent with other variables. If you change the value of one of these variables, you may need to change values of other variables. The SAM user interface manages these interdependent variables, but in PySAM, it is up to you change the value of all interdependent variables so they are consistent. See Interdependent Variables for examples and details.

  • None

Functions

class PySAM.CspSubcomponent.CspSubcomponent

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 = { 'system': { var: val, ...}, ...}

execute(int verbosity) None

Execute simulation with verbosity level 0 (default) or 1

export() dict

Export attributes into nested dictionary

get_data_ptr() Pointer

Get ssc_data_t pointer

replace(dict) None

Replace attributes from nested dictionary, except for Outputs. Unassigns all values in each Group then assigns from the input dict.

nested_dict = { 'system': { var: val, ...}, ...}

unassign(name) None

Unassign a value in any of the variable groups.

value(name, optional value) None | float | dict | sequence | str

Get or set by name a value in any of the variable groups.

System Group

class PySAM.CspSubcomponent.CspSubcomponent.System
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

System_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

Replace attributes from dictionary, unassigning values not present in input dict.

System_vals = { var: val, ...}

solar_mult

Actual solar multiple of system [-]

Required: True

Type:

float

t_step

Timestep duration [s]

Required: True

Type:

float

Weather Group

class PySAM.CspSubcomponent.CspSubcomponent.Weather
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

Weather_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

Replace attributes from dictionary, unassigning values not present in input dict.

Weather_vals = { var: val, ...}

T_amb

Ambient temperature [C]

Required: True

Type:

sequence

TES Group

class PySAM.CspSubcomponent.CspSubcomponent.TES
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

TES_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

Replace attributes from dictionary, unassigning values not present in input dict.

TES_vals = { var: val, ...}

T_sink_out

Temperature from heat sink or power block [C]

Required: True

Type:

sequence

T_src_out

Temperature from heat source [C]

Required: True

Type:

sequence

cold_tank_Thtr

Minimum allowable cold tank HTF temp [C]

Required: True

Type:

float

cold_tank_max_heat

Rated heater capacity for cold tank heating [MWe]

Required: True

Type:

float

dt_hot

Hot side HX approach temp [C]

Required: True

Type:

float

h_tank

Total height of tank (height of HTF when tank is full [m]

Required: True

Type:

float

h_tank_min

Minimum allowable HTF height in storage tank [m]

Required: True

Type:

float

hot_tank_Thtr

Minimum allowable hot tank HTF temp [C]

Required: True

Type:

float

hot_tank_bypassed

Is mass flow from source going straight to cold tank? [-]

Required: True

Type:

sequence

hot_tank_max_heat

Rated heater capacity for hot tank heating [MWe]

Required: True

Type:

float

init_hot_htf_percent

Initial fraction of avail. vol that is hot [%]

Required: True

Type:

float

mdot_sink

Mass flow to heat sink or power block [kg/s]

Required: True

Type:

sequence

mdot_src

Mass flow from heat source [kg/s]

Required: True

Type:

sequence

store_fl_props

User defined storage fluid property data [-]

Required: True

Type:

sequence[sequence]

store_fluid

Material number for storage fluid [-]

Required: True

Type:

float

tank_pairs

Number of equivalent tank pairs [-]

Constraints: INTEGER

Required: True

Type:

float

tshours

Equivalent full-load thermal storage hours [hr]

Required: True

Type:

float

u_tank

Loss coefficient from the tank [W/m2-K]

Required: True

Type:

float

SolarField Group

class PySAM.CspSubcomponent.CspSubcomponent.SolarField
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

SolarField_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

Replace attributes from dictionary, unassigning values not present in input dict.

SolarField_vals = { var: val, ...}

Fluid

Field HTF fluid ID number [-]

Required: True

Type:

float

HDR_rough

Header pipe roughness [m]

Required: True

Type:

float

T_loop_in_des

Design loop inlet temperature [C]

Required: True

Type:

float

T_loop_out

Target loop outlet temperature [C]

Required: True

Type:

float

calc_design_pipe_vals

Calculate temps and pressures at design conditions for runners and headers [none]

Required: True

Type:

float

eta_pump

HTF pump efficiency [none]

Required: True

Type:

float

field_fl_props

User defined field fluid property data [-]

Required: True

Type:

sequence[sequence]

Powerblock Group

class PySAM.CspSubcomponent.CspSubcomponent.Powerblock
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

Powerblock_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

Replace attributes from dictionary, unassigning values not present in input dict.

Powerblock_vals = { var: val, ...}

P_ref

Rated plant capacity [MWe]

Required: True

Type:

float

eta_ref

Power cycle efficiency at design [none]

Required: True

Type:

float

pb_pump_coef

Pumping power to move 1kg of HTF through PB loop [kW/kg]

Required: True

Type:

float

Controller Group

class PySAM.CspSubcomponent.CspSubcomponent.Controller
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

Controller_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

Replace attributes from dictionary, unassigning values not present in input dict.

Controller_vals = { var: val, ...}

DP_SGS

Pressure drop within the steam generator [bar]

Required: True

Type:

float

T_tank_hot_inlet_min

Minimum hot tank htf inlet temperature [C]

Required: True

Type:

float

V_tes_des

Design-point velocity to size the TES pipe diameters [m/s]

Required: True

Type:

float

custom_tes_p_loss

TES pipe losses are based on custom lengths and coeffs [-]

Required: True

Type:

float

custom_tes_pipe_sizes

Use custom TES pipe diams, wallthks, and lengths [-]

Required: True

Type:

float

has_hot_tank_bypass

Bypass valve connects field outlet to cold tank [-]

Required: True

Type:

float

k_tes_loss_coeffs

Minor loss coeffs for the coll, gen, and bypass loops [-]

Required: True

Type:

sequence[sequence]

tanks_in_parallel

Tanks are in parallel, not in series, with solar field [-]

Required: True

Type:

float

tes_diams

Custom TES diameters [m]

Required: True

Type:

sequence[sequence]

tes_lengths

Custom TES lengths [m]

Type:

sequence[sequence]

tes_pump_coef

Pumping power to move 1kg of HTF through tes loop [kW/(kg/s)]

Required: True

Type:

float

tes_wallthicks

Custom TES wall thicknesses [m]

Required: True

Type:

sequence[sequence]

Outputs Group

class PySAM.CspSubcomponent.CspSubcomponent.Outputs
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

Outputs_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

Replace attributes from dictionary, unassigning values not present in input dict.

Outputs_vals = { var: val, ...}

T_sink_in

Temperature to heat sink or power block [C]

Type:

sequence

T_src_in

Temperature to heat source [C]

Type:

sequence

T_tank_cold

Temperature of cold tank (average) [C]

Type:

sequence

T_tank_hot

Temperature of hot tank (average) [C]

Type:

sequence