GenericSystem¶
Wrapper for SAM Simulation Core model: cmod_generic_system.cpp
Input Consistency Warning¶
As described in Possible Problems, some input parameters are interdependent but the equations that enforce consistency are not available in this PySAM module. Therefore, the onus is on the PySAM user to check that interdependencies are correctly handled. The variables which may require additional logic include:
- conv_eff
- heat_rate
Provided for each of these inputs is a list of other inputs that are potentially interdependent.
Creating an Instance¶
Refer to the Initializing a Model page for details on the different ways to create an instance of a PySAM class.
GenericSystem model description
Basic power system model using either capacity, capacity factor, and heat rate, or an hourly power generation profile as input
-
PySAM.GenericSystem.
default
(config) → GenericSystem¶ Use default attributes config options:
- “GenericBatteryAllEquityPartnershipFlip”
- “GenericBatteryCommercial”
- “GenericBatteryHostDeveloper”
- “GenericBatteryLeveragedPartnershipFlip”
- “GenericBatteryMerchantPlant”
- “GenericBatteryResidential”
- “GenericBatterySaleLeaseback”
- “GenericBatterySingleOwner”
- “GenericBatteryThirdParty”
- “GenericSystemAllEquityPartnershipFlip”
- “GenericSystemCommercial”
- “GenericSystemHostDeveloper”
- “GenericSystemLCOECalculator”
- “GenericSystemLeveragedPartnershipFlip”
- “GenericSystemMerchantPlant”
- “GenericSystemNone”
- “GenericSystemResidential”
- “GenericSystemSaleLeaseback”
- “GenericSystemSingleOwner”
- “GenericSystemThirdParty”
-
PySAM.GenericSystem.
from_existing
(data, optional config) → GenericSystem¶ Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.
-
PySAM.GenericSystem.
new
() → GenericSystem¶
-
PySAM.GenericSystem.
wrap
(ssc_data_t) → GenericSystem¶ Use existing PySSC data
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap
Functions¶
-
class
PySAM.GenericSystem.
GenericSystem
¶ 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 = { 'Plant': { var: val, ...}, ...}
-
execute
(int verbosity) → None¶ Execute simulation with verbosity level 0 (default) or 1
-
export
() → dict¶ Export attributes into nested dictionary
-
unassign
(name) → None¶ Unassign a value in any of the variable groups.
-
value
(name, optional value) → Union[None, float, dict, sequence, str]¶ Get or set by name a value in any of the variable groups.
-
Plant Group¶
-
class
PySAM.GenericSystem.GenericSystem.
Plant
¶ -
assign
() → None¶ Assign attributes from dictionary
Plant_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
conv_eff
¶ Conversion Efficiency [%]
Required: True
- This variable may need to be updated if the values of the following have changed:
- heat_rate
Type: float
-
derate
¶ Derate [%]
Required: True
Type: float
-
energy_output_array
¶ Array of Energy Output Profile [kW]
Required: True if spec_mode=1
Type: sequence
-
heat_rate
¶ Heat Rate [MMBTUs/MWhe]
Required: True
- Changes to this variable may require updating the values of the following:
- conv_eff
Type: float
-
spec_mode
¶ 0=constant CF,1=profile
Required: True
Type: float Type: Spec mode
-
system_capacity
¶ Nameplace Capcity [kW]
Required: True
Type: float
-
user_capacity_factor
¶ Capacity Factor [%]
Required: True
Type: float
-
Lifetime Group¶
-
class
PySAM.GenericSystem.GenericSystem.
Lifetime
¶ -
assign
() → None¶ Assign attributes from dictionary
Lifetime_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
analysis_period
¶ Lifetime analysis period [years]
Required: True if system_use_lifetime_output=1
Type: float
-
generic_degradation
¶ Annual AC degradation [%/year]
Required: True if system_use_lifetime_output=1
Type: sequence
-
system_use_lifetime_output
¶ Generic lifetime simulation [0/1]
Constraints: INTEGER,MIN=0,MAX=1
Required: If not provided, assumed to be 0
Type: float
-
AdjustmentFactors Group¶
-
class
PySAM.GenericSystem.GenericSystem.
AdjustmentFactors
¶ -
assign
() → None¶ Assign attributes from dictionary
-
export
() → Dict¶ Export attributes into dictionary
-
constant
¶ float
Type: type
-
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.GenericSystem.GenericSystem.
Outputs
¶ -
assign
() → None¶ Assign attributes from dictionary
Outputs_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
annual_energy
¶ Annual Energy [kWh]
Type: float
-
annual_fuel_usage
¶ Annual Fuel Usage [kWht]
Type: float
-
capacity_factor
¶ Capacity factor [%]
Type: float
-
gen
¶ System power generated [kW]
Type: sequence
-
kwh_per_kw
¶ First year kWh/kW [kWh/kW]
Type: float
-
monthly_energy
¶ Monthly Energy [kWh]
Type: sequence
-
system_heat_rate
¶ Heat Rate Conversion Factor [MMBTUs/MWhe]
Type: float
-
water_usage
¶ Annual Water Usage
Type: float
-