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

class PySAM.Fuelcell.Fuelcell.Load
assign() → None

Assign attributes from dictionary

Load_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

load

Electricity load (year 1) [kW]

Type:sequence

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