Solarpilot

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

Solarpilot model description

Solarpilot

PySAM.Solarpilot.default(config) → Solarpilot

Use financial config-specific default attributes

PySAM.Solarpilot.from_existing(data, optional config) → Solarpilot

Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.

PySAM.Solarpilot.new() → Solarpilot
PySAM.Solarpilot.wrap(ssc_data_t) → Solarpilot

Use existing PySSC data

Warning

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

Functions

class PySAM.Solarpilot.Solarpilot

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

execute(int verbosity) → None

Execute simulation with verbosity level 0 (default) or 1

export() → dict

Export attributes into nested dictionary

value(name, optional value) → Union[None, float, dict, sequence, str]

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

SolarPILOT Group

class PySAM.Solarpilot.Solarpilot.SolarPILOT
assign() → None

Assign attributes from dictionary

SolarPILOT_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

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

Soalr field fixed cost [$]

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

Required: True

Type:float
dni_des

Design-point DNI [W/m2]

Required: True

Type:float
flux_max

Maximum allowable flux

Required: If not provided, assumed to be 1000

Type:float
focus_type

Heliostat focus method

Required: True

Type:float
h_tower

Tower height [m]

Required: True

Type:float
helio_active_fraction

Active fraction of reflective area [frac]

Required: True

Type:float
helio_height

Heliostat height [m]

Required: True

Type:float
helio_optical_error

Optical error [rad]

Required: True

Type:float
helio_positions_in

Heliostat position table

Type:sequence[sequence]
helio_reflectance

Mirror reflectance [frac]

Required: True

Type:float
helio_width

Heliostat width [m]

Required: True

Type:float
heliostat_spec_cost

Heliostat field cost [$/m2]

Required: True

Type:float
is_optimize

Do SolarPILOT optimization

Required: If not provided, assumed to be 0

Type:float
land_max

Max heliostat-dist-to-tower-height ratio

Required: True

Type:float
land_min

Min heliostat-dist-to-tower-height ratio

Required: True

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
q_design

Receiver thermal design power [MW]

Required: True

Type:float
rec_absorptance

Absorptance [frac]

Required: True

Type:float
rec_aspect

Receiver aspect ratio (H/W) [frac]

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 heat loss [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
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
solar_resource_file

Solar weather data file

Constraints: LOCAL_FILE

Required: False

Type:str
tower_exp

Tower cost scaling exponent

Required: True

Type:float
tower_fixed_cost

Tower fixed cost [$]

Required: True

Type:float

Outputs Group

class PySAM.Solarpilot.Solarpilot.Outputs
assign() → None

Assign attributes from dictionary

Outputs_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

area_sf

Total reflective heliostat area [m^2]

Type:float
base_land_area

Land area occupied by heliostats [acre]

Type:float
cost_land_tot

Total land cost [$]

Type:float
cost_rec_tot

Total receiver cost [$]

Type:float
cost_sf_tot

Total heliostat field cost [$]

Type:float
cost_site_tot

Total site cost [$]

Type:float
cost_tower_tot

Total tower cost [$]

Type:float
flux_max_observed

Maximum observed flux at design [kW/m2]

Type:float
flux_table

Flux intensity table (flux(X) x (flux(y) x position) [frac]

Type:sequence[sequence]
h_tower_opt

Optimized tower height [m]

Type:float
heliostat_positions

Heliostat positions (x,y) [m]

Type:sequence[sequence]
land_area

Total land area [acre]

Type:float
number_heliostats

Number of heliostats

Type:float
opteff_table

Optical efficiency (azi, zen, eff x nsim)

Type:sequence[sequence]
rec_aspect_opt

Optimized receiver aspect ratio [-]

Type:float
rec_height_opt

Optimized receiver height [m]

Type:float