Fuelcell¶
Wrapper for SAM Simulation Core model: cmod_fuelcell.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.
Fuelcell model description
Fuel cell model
-
PySAM.Fuelcell.
default
(config) → Fuelcell¶ Use financial config-specific default attributes config options:
- “FuelCellCommercial”
- “FuelCellSingleOwner”
-
PySAM.Fuelcell.
from_existing
(data, optional config) → Fuelcell¶ Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.
-
PySAM.Fuelcell.
new
() → Fuelcell¶
-
PySAM.Fuelcell.
wrap
(ssc_data_t) → Fuelcell¶ Use existing PySSC data
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap
Functions¶
-
class
PySAM.Fuelcell.
Fuelcell
¶ 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 = { 'Common': { 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.
-
Common Group¶
-
class
PySAM.Fuelcell.Fuelcell.
Common
¶ -
assign
() → None¶ Assign attributes from dictionary
Common_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
annual_energy
¶ Annual Energy [kWh]
Required: If not provided, assumed to be 0
Type: float
-
capacity_factor
¶ Capacity factor [%]
Required: If not provided, assumed to be 0
Type: float
-
gen
¶ System power generated [kW]
Info: Lifetime system generation
Type: sequence
-
percent_complete
¶ Estimated simulation status [%]
Type: float
-
Lifetime Group¶
-
class
PySAM.Fuelcell.Fuelcell.
Lifetime
¶ -
assign
() → None¶ Assign attributes from dictionary
Lifetime_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
analysis_period
¶ Lifetime analysis period [years]
Info: The number of years in the simulation
Required: True if system_use_lifetime_output=1
Type: float
-
system_use_lifetime_output
¶ Lifetime simulation [0/1]
Options: 0=SingleYearRepeated,1=RunEveryYear
Constraints: BOOLEAN
Required: If not provided, assumed to be 0
Type: float
-
Load Group¶
FuelCell Group¶
-
class
PySAM.Fuelcell.Fuelcell.
FuelCell
¶ -
assign
() → None¶ Assign attributes from dictionary
FuelCell_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
dispatch_manual_fuelcellcharge
¶ Periods 1-6 charging allowed?
Type: sequence
-
dispatch_manual_fuelcelldischarge
¶ Periods 1-6 discharging allowed?
- Changes to this variable may require updating the values of the following:
- dispatch_manual_percent_fc_discharge
- dispatch_manual_units_fc_discharge
Type: sequence
-
dispatch_manual_percent_fc_discharge
¶ Periods 1-6 percent of max fuelcell output
- This variable may need to be updated if the values of the following have changed:
- dispatch_manual_fuelcelldischarge
Type: sequence
-
dispatch_manual_sched
¶ Dispatch schedule for weekday
Type: sequence[sequence]
-
dispatch_manual_sched_weekend
¶ Dispatch schedule for weekend
Type: sequence[sequence]
-
dispatch_manual_units_fc_discharge
¶ Periods 1-6 number of fuel cell units?
- This variable may need to be updated if the values of the following have changed:
- dispatch_manual_fuelcelldischarge
Type: sequence
-
fuelcell_availability_schedule
¶ Hour of year start shutdown/Column 2: Hours duration of shutdown ]
Type: sequence[sequence] Type: Fuel cell availability schedule [Column 1
-
fuelcell_degradation
¶ Fuel cell degradation per hour [kW/h]
- This variable may need to be updated if the values of the following have changed:
- fuelcell_unit_max_power
Type: float
-
fuelcell_degradation_restart
¶ Fuel cell degradation at restart [kW]
Type: float
-
fuelcell_degradation_restart_schedule
¶ Fuel cell enable scheduled restarts [0/1]
Type: float
-
fuelcell_degradation_restarts_per_year
¶ Fuel cell scheduled restarts per year
Type: float
-
fuelcell_dispatch
¶ Fuel cell dispatch input per unit [kW]
- This variable may need to be updated if the values of the following have changed:
- fuelcell_unit_max_power
Type: sequence
-
fuelcell_dispatch_choice
¶ Fuel cell dispatch choice [0/1/2]
Type: float
-
fuelcell_dynamic_response_down
¶ Fuel cell ramp rate limit down [kW/h]
- This variable may need to be updated if the values of the following have changed:
- fuelcell_number_of_units
- fuelcell_unit_max_power
Type: float
-
fuelcell_dynamic_response_up
¶ Fuel cell ramp rate limit up [kW/h]
- This variable may need to be updated if the values of the following have changed:
- fuelcell_number_of_units
- fuelcell_unit_max_power
Type: float
-
fuelcell_efficiency
¶ Fuel cell efficiency table
Type: sequence[sequence]
-
fuelcell_efficiency_choice
¶ Fuel cell efficiency definition choice [0/1]
Options: 0=OriginalNameplate,1=DegradedNameplate
Type: float
-
fuelcell_fixed_pct
¶ Fuel cell fixed operation percent [%]
Type: float
-
fuelcell_fuel_available
¶ Fuel cell available fuel quantity [MCf]
- This variable may need to be updated if the values of the following have changed:
- fuelcell_fuel_type
Type: float
-
fuelcell_fuel_price
¶ Fuel cell price [$/MCf]
Type: float
-
fuelcell_fuel_type
¶ Fuel cell type [0/1]
- Changes to this variable may require updating the values of the following:
- fuelcell_fuel_available
- fuelcell_lhv
Type: float
-
fuelcell_is_started
¶ Fuel cell is started [0/1]
Type: float
-
fuelcell_lhv
¶ Fuel cell lower heating value [Btu/ft3]
- This variable may need to be updated if the values of the following have changed:
- fuelcell_fuel_type
Type: float
-
fuelcell_number_of_units
¶ Fuel cell number of units
- Changes to this variable may require updating the values of the following:
- fuelcell_dynamic_response_down
- fuelcell_dynamic_response_up
Type: float
-
fuelcell_operation_options
¶ Fuel cell turn off options [0/1]
Type: float
-
fuelcell_replacement_option
¶ Fuel cell replacement option [0/1/2]
Type: float
-
fuelcell_replacement_percent
¶ Fuel cell replace at percentage
Type: float
-
fuelcell_replacement_schedule
¶ Fuel cell replace on schedule
Type: sequence
-
fuelcell_shutdown_time
¶ Fuel cell shutdown hours [hours]
Type: float
-
fuelcell_startup_time
¶ Fuel cell startup hours [hours]
Type: float
-
fuelcell_type
¶ Fuel cell type [0/1/2]
Type: float
-
fuelcell_unit_max_power
¶ Fuel cell max power per unit [kW]
- Changes to this variable may require updating the values of the following:
- fuelcell_degradation
- fuelcell_dispatch
- fuelcell_dynamic_response_down
- fuelcell_dynamic_response_up
- fuelcell_unit_min_power
Type: float
-
fuelcell_unit_min_power
¶ Fuel cell min power per unit [kW]
- This variable may need to be updated if the values of the following have changed:
- fuelcell_unit_max_power
Type: float
-
Outputs Group¶
-
class
PySAM.Fuelcell.Fuelcell.
Outputs
¶ -
assign
() → None¶ Assign attributes from dictionary
Outputs_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
annual_fuel_usage
¶ Annual Fuel Usage [kWht]
Type: float
-
annual_fuel_usage_lifetime
¶ Annual Fuel Usage (lifetime) [kWht]
Type: sequence
-
fuelcell_electrical_efficiency
¶ Fuel cell electrical efficiency [%]
Type: sequence
-
fuelcell_fuel_consumption_mcf
¶ Fuel consumption of fuel cell [MCf]
Type: sequence
-
fuelcell_percent_load
¶ Fuel cell percent load [%]
Type: sequence
-
fuelcell_power
¶ Electricity from fuel cell [kW]
Type: sequence
-
fuelcell_power_max_percent
¶ Fuel cell max power percent available [%]
Type: sequence
-
fuelcell_power_thermal
¶ Heat from fuel cell [kWt]
Type: sequence
-
fuelcell_replacement
¶ Fuel cell replacements per year [number/year]
Type: sequence
-
fuelcell_to_grid
¶ Electricity to grid from fuel cell [kW]
Type: sequence
-
fuelcell_to_load
¶ Electricity to load from fuel cell [kW]
Type: sequence
-
gen
¶ System power generated [kW]
Type: sequence
-
system_heat_rate
¶ Heat rate conversion factor (MMBTUs/MWhe) [MMBTUs/MWhe]
Type: float
-