Thermalrate¶
Wrapper for SAM Simulation Core model: cmod_thermalrate.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:
- thermal_buy_rate
- thermal_buy_rate_flat
- thermal_buy_rate_option
- thermal_sell_rate
- thermal_sell_rate_flat
- thermal_sell_rate_option
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.
Thermalrate model description
Thermal flat rate structure net revenue calculator
-
PySAM.Thermalrate.
default
(config) → Thermalrate¶ Use default attributes config options:
- “FuelCellCommercial”
- “FuelCellSingleOwner”
-
PySAM.Thermalrate.
from_existing
(data, optional config) → Thermalrate¶ Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.
-
PySAM.Thermalrate.
new
() → Thermalrate¶
-
PySAM.Thermalrate.
wrap
(ssc_data_t) → Thermalrate¶ Use existing PySSC data
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap
Functions¶
-
class
PySAM.Thermalrate.
Thermalrate
¶ 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 = { 'Thermal Rate': { var: val, ...}, ...}
-
execute
(int verbosity) → None¶ Execute simulation with verbosity level 0 (default) or 1
-
export
() → dict¶ Export attributes into nested dictionary
-
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 = { 'Thermal Rate': { var: val, ...}, ...}
-
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.
-
ThermalRate Group¶
-
class
PySAM.Thermalrate.Thermalrate.
ThermalRate
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
ThermalRate_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
ThermalRate_vals = { var: val, ...}
-
en_thermal_rates
¶ Optionally enable/disable thermal_rate [years]
Constraints: INTEGER,MIN=0,MAX=1
Type: float
-
fuelcell_power_thermal
¶ Fuel cell power generated [kW-t]
Required: True
Type: sequence
-
thermal_buy_rate
¶ Thermal buy rate [$/kW-t]
Required: If not provided, assumed to be 0
- This variable may need to be updated if the values of the following have changed:
- thermal_buy_rate_flat
- thermal_buy_rate_option
- thermal_sell_rate_flat
- thermal_sell_rate_option
Type: sequence
-
thermal_buy_rate_flat
¶ Thermal buy rate flat [$/kW-t]
Required: If not provided, assumed to be 0
- Changes to this variable may require updating the values of the following:
- thermal_buy_rate
- thermal_sell_rate
Type: float
-
thermal_buy_rate_option
¶ Thermal buy rate option [0/1]
Options: 0=flat,1=timestep
Constraints: INTEGER,MIN=0,MAX=1
Required: If not provided, assumed to be 0
- Changes to this variable may require updating the values of the following:
- thermal_buy_rate
- thermal_sell_rate
Type: float
-
thermal_degradation
¶ Annual energy degradation [%]
Required: If not provided, assumed to be 0
Type: sequence
-
thermal_load
¶ Thermal load (year 1) [kW-t]
Type: sequence
-
thermal_load_escalation
¶ Annual load escalation [%/year]
Required: If not provided, assumed to be 0
Type: sequence
-
thermal_rate_escalation
¶ Annual thermal rate escalation [%/year]
Required: If not provided, assumed to be 0
Type: sequence
-
thermal_sell_rate
¶ Thermal sell rate [$/kW-t]
Required: If not provided, assumed to be 0
- This variable may need to be updated if the values of the following have changed:
- thermal_buy_rate_flat
- thermal_buy_rate_option
- thermal_sell_rate_flat
- thermal_sell_rate_option
Type: sequence
-
thermal_sell_rate_flat
¶ Thermal sell rate flat [$/kW-t]
Required: If not provided, assumed to be 0
- Changes to this variable may require updating the values of the following:
- thermal_buy_rate
- thermal_sell_rate
Type: float
-
thermal_sell_rate_option
¶ Thermal sell rate option [0/1]
Options: 0=flat,1=timestep
Constraints: INTEGER,MIN=0,MAX=1
Required: If not provided, assumed to be 0
- Changes to this variable may require updating the values of the following:
- thermal_buy_rate
- thermal_sell_rate
Type: float
-
Lifetime Group¶
-
class
PySAM.Thermalrate.Thermalrate.
Lifetime
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
Lifetime_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
Lifetime_vals = { var: val, ...}
-
analysis_period
¶ Number of years in analysis [years]
Constraints: INTEGER,POSITIVE
Required: True
Type: float
-
inflation_rate
¶ Inflation rate [%]
Constraints: MIN=-99
Required: True
Type: float
-
system_use_lifetime_output
¶ Lifetime hourly system outputs [0/1]
Options: 0=hourly first year,1=hourly lifetime
Constraints: INTEGER,MIN=0,MAX=1
Required: True
Type: float
-
Outputs Group¶
-
class
PySAM.Thermalrate.Thermalrate.
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, ...}
-
thermal_cost_with_system_year1
¶ Thermal cost with sytem (year 1) [$]
Type: float
-
thermal_cost_without_system_year1
¶ Thermal cost without system (year 1) [$]
Type: float
-
thermal_load_year1
¶ Thermal load (year 1) [$]
Type: float
-
thermal_revenue_with_system
¶ Thermal revenue with system [$]
Type: sequence
-
thermal_revenue_without_system
¶ Thermal revenue without system [$]
Type: sequence
-
thermal_savings_year1
¶ Thermal savings (year 1) [$]
Type: float
-