Fuelcell¶
Fuel cell model
-
PySAM.Fuelcell.
default
(config) → Fuelcell¶ Load defaults for the configuration
config
. Available configurations are:- “FuelCellCommercial”
- “FuelCellSingleOwner”
Note
Some inputs do not have default values and may be assigned a value from the variable’s Required attribute. See variable attribute descriptions below.
-
PySAM.Fuelcell.
from_existing
(data, optional config) → Fuelcell¶ Share data with an existing PySAM class. If
optional config
is a valid configuration name, load the module’s defaults for that configuration.
-
PySAM.Fuelcell.
new
() → Fuelcell¶
-
PySAM.Fuelcell.
wrap
(ssc_data_t) → Fuelcell¶ Load data from a PySSC object.
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap()
Fuelcell is a wrapper for the SSC compute module cmod_fuelcell.cpp
Interdependent Variables¶
The variables listed below are interdependent with other variables. If you change the value of one of these variables, you may need to change values of other variables. The SAM user interface manages these interdependent variables, but in PySAM, it is up to you change the value of all interdependent variables so they are consistent. See Interdependent Variables for examples and details.
- dispatch_manual_fuelcelldischarge
- dispatch_manual_percent_fc_discharge
- dispatch_manual_units_fc_discharge
- fuelcell_degradation
- fuelcell_dispatch
- fuelcell_dynamic_response_down
- fuelcell_dynamic_response_up
- fuelcell_fuel_available
- fuelcell_fuel_type
- fuelcell_lhv
- fuelcell_number_of_units
- fuelcell_unit_max_power
- fuelcell_unit_min_power
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 = { 'Lifetime': { 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 = { 'Lifetime': { 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.
-
Lifetime Group¶
-
class
PySAM.Fuelcell.Fuelcell.
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
¶ Lifetime analysis period [years]
Info: The number of years in the simulation
Required: Required if system_use_lifetime_output=1
Type: float
-
system_use_lifetime_output
¶ Lifetime simulation [0/1]
Options: 0=SingleYearRepeated,1=RunEveryYear
Constraints: BOOLEAN
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
Common Group¶
-
class
PySAM.Fuelcell.Fuelcell.
Common
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
Common_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.Common_vals = { var: val, ...}
-
annual_energy
¶ Annual Energy [kWh]
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
capacity_factor
¶ Capacity factor [%]
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
gen
¶ System power generated [kW]
Info: Lifetime system generation
Type: sequence
-
Load Group¶
-
class
PySAM.Fuelcell.Fuelcell.
Load
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
Load_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.Load_vals = { var: val, ...}
-
load
¶ Electricity load (year 1) [kW]
Type: sequence
-
FuelCell Group¶
-
class
PySAM.Fuelcell.Fuelcell.
FuelCell
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
FuelCell_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.FuelCell_vals = { var: val, ...}
-
dispatch_manual_fuelcellcharge
¶ Periods 1-6 charging allowed?
Type: sequence
-
dispatch_manual_fuelcelldischarge
¶ Periods 1-6 discharging allowed?
The value of the following variables depends on
dispatch_manual_fuelcelldischarge
:- 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
The value of
dispatch_manual_percent_fc_discharge
depends on the following variables:- 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?
The value of
dispatch_manual_units_fc_discharge
depends on the following variables:- 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]
The value of
fuelcell_degradation
depends on the following variables:- 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]
The value of
fuelcell_dispatch
depends on the following variables:- 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]
The value of
fuelcell_dynamic_response_down
depends on the following variables:- fuelcell_number_of_units
- fuelcell_unit_max_power
Type: float
-
fuelcell_dynamic_response_up
¶ Fuel cell ramp rate limit up [kW/h]
The value of
fuelcell_dynamic_response_up
depends on the following variables:- 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]
The value of
fuelcell_fuel_available
depends on the following variables:- fuelcell_fuel_type
Type: float
-
fuelcell_fuel_price
¶ Fuel cell price [$/MCf]
Type: float
-
fuelcell_fuel_type
¶ Fuel cell type [0/1]
The value of the following variables depends on
fuelcell_fuel_type
:- 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]
The value of
fuelcell_lhv
depends on the following variables:- fuelcell_fuel_type
Type: float
-
fuelcell_number_of_units
¶ Fuel cell number of units
The value of the following variables depends on
fuelcell_number_of_units
:- 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]
The value of the following variables depends on
fuelcell_unit_max_power
:- 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]
The value of
fuelcell_unit_min_power
depends on the following variables:- fuelcell_unit_max_power
Type: float
-
Outputs Group¶
-
class
PySAM.Fuelcell.Fuelcell.
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, ...}
-
annual_energy_distribution_time
¶ Annual energy production as function of time [kW]
Type: sequence[sequence]
-
annual_energy_distribution_time_fc
¶ Annual energy production (PV + battery + fuel cell) as function of Time
Type: sequence[sequence]
-
annual_fuel_usage
¶ Annual Fuel Usage [kWht]
Type: float
-
annual_fuel_usage_lifetime
¶ Annual Fuel Usage (lifetime) [kWht]
Type: sequence
-
fuelcell_annual_energy_discharged
¶ Fuel cell annual energy discharged [kWh]
Type: sequence
-
fuelcell_electrical_efficiency
¶ Fuel cell electrical efficiency [%]
Type: sequence
-
fuelcell_fuel_consumption_mcf
¶ Fuel cell fuel consumption [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
-