modelTestStand

Simulate the fuel cell under prescribed conditions

Extends from Modelica.Icons.Example (Icon for runnable examples).

Information

Please see TestConditions regarding how the properties of the environment are used.

To run the cell with pure O2 in the cathode (no N2), set environment.psi_O2_dry to 100%.

Assumptions:

  1. The outer surface of each end plate has uniform temperature in the yz plane.
  2. No heat is conducted from the rest of the cell hardware.
  3. All electronic current passes through the first segment (index [1, 1]) of each end plate in the yz plane.
  4. There is no shear force on the fluid at either outlet.
  5. The pressure of each gas species is uniform over each inlet.
  6. The volumetric flow rates of the gas species are equal at each outlet, where the volumetric flow rate is approximated using the current at the outlet and the density of the gas within the last segment of the cell.
  7. The outlet pressure is applied to the gas mixture by Dalton's law (additivity of pressure).
  8. At the outlet, the liquid has the same pressure as the gas (Amagat's law).
  9. There is no thermal conduction across either outlet.

Components

TypeNameDefaultDescription
Q.CurrentzIElectrical current
Q.Potentialwload.v*U.VPotential
Q.CurrentAreicJzI/cell.caFP.A[Axis.x]Current density
Q.NumberJ_Apercm2J*U.cm^2/U.ACurrent density, in A/cm2
Q.PressureAbsolutep_an_inaverage(average(anSource.gas.H2.boundary.p + anSource.gas.H2O.boundary.p))Total pressure at the anode inlet
Q.PressureAbsolutep_ca_inaverage(average(caSource.gas.H2O.boundary.p + p_N2_in + caSource.gas.O2.boundary.p))Total pressure at the cathode inlet
Q.PressureDeltap_anenvironment.p - p_an_inPressure difference down the anode channel
Q.PressureDeltap_caenvironment.p - p_ca_inPressure difference down the cathode channel
Q.PotentialDeltaw_O2(DataO2.g(caSource[1, 1].gas.O2.boundary.T, caSource[1, 1].gas.O2.boundary.p) - cell.caCL.subregions[1, 1, 1].gas.O2.g)/4Voltage loss due to O2 supply
Q.PotentialDeltaw_H2O(DataH2O.g(caSource[1, 1].gas.H2O.boundary.T, caSource[1, 1].gas.H2O.boundary.p) - cell.caCL.subregions[1, 1, 1].gas.H2O.g)/2Voltage loss due to H2O removal
Q.PotentialDeltaw_H2(DataH2.g(anSource[1, 1].gas.H2.boundary.T, anSource[1, 1].gas.H2.boundary.p) - cell.anCL.subregions[1, 1, 1].gas.H2.g)/2Voltage loss due to H2 supply
Q.Potential'Deltaw_e-'cell.caFP.subregions[1, 1, 1].graphite.'e-'.g_boundaries[1, Side.p] - cell.caCL.subregions[1, 1, 1].graphite.'e-'.g + cell.anCL.subregions[1, 1, 1].graphite.'e-'.g - cell.anFP.subregions[1, 1, 1].graphite.'e-'.g_boundaries[1, Side.n]Voltage loss due to e- transport
Q.Potential'Deltaw_H+'cell.anCL.subregions[1, 1, 1].ionomer.'H+'.g - cell.caCL.subregions[1, 1, 1].ionomer.'H+'.gVoltage loss due to H+ transport
Q.PotentialDeltaw_ancell.anCL.subregions[1, 1, 1].graphite.'e-Transfer'.DeltagAnode overpotential
Q.PotentialDeltaw_ca-cell.caCL.subregions[1, 1, 1].graphite.'e-Transfer'.DeltagCathode overpotential
Cellcell
Conditions.ByConnector.BoundaryBus.Single.Sink[cell.n_y,cell.n_z]anBCBoundary condition for the anode end plate, except electrical
Conditions.ByConnector.BoundaryBus.Single.Source[cell.anFP.n_x,cell.n_z]anSourceSource for the anode reactant stream
Conditions.ByConnector.BoundaryBus.Single.Sink[cell.anFP.n_x,cell.n_z]anSinkSink for the anode reactant stream
Conditions.ByConnector.BoundaryBus.Single.Source[cell.n_y,cell.n_z]caBCBoundary condition for the cathode end plate, except electrical
Conditions.ByConnector.BoundaryBus.Single.Source[cell.caFP.n_x,cell.n_z]caSourceSource for the cathode reactant stream
Conditions.ByConnector.BoundaryBus.Single.Sink[cell.caFP.n_x,cell.n_z]caSinkSink for the cathode reactant stream
Conditions.EnvironmentenvironmentEnvironmental conditions
Modelica.Electrical.Analog.Sources.RampCurrentload
Modelica.Electrical.Analog.Basic.Groundground
Conditions.Adapters.MSL.ElectronicanAdaptInterface with Modelica.Electrical on the anode side
Conditions.Adapters.MSL.ElectroniccaAdaptInterface with Modelica.Electrical on the cathode side
Conditions.Router[cell.anFP.n_x,cell.n_z]anRouterSwitch to route the anode for reverse flow
Conditions.Router[cell.anFP.n_x,cell.n_z]caRouterSwitch to route the cathode for reverse flow
TestConditionstestConditionsTest conditions