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
-