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
-