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
-