modelSOFC
Extends from TransiEnt.Basics.Icons.Model (Icon for models).
Information
1. Purpose of model
Model of one SOFC-Cell Stack with three states (Ramp up, Normal operation, Ramp down).
2. Level of detail, physical effects considered, and physical insight
(no remarks)
3. Limits of validity
(no remarks)
4. Interfaces
Type of electrical power port can be chosen
5. Nomenclature
(no remarks)
6. Governing Equations
(no remarks)
7. Remarks for Usage
With the choice of the boundary the the model can be used as PQ or PU bus.
8. Validation
Validation has been done as part of the master thesis [1]
9. References
[1] Modellierung und Simulation von erdgasbetriebenen Brennstoffzellen-Blockheizkraftwerken zur Heimenergieversorgung
Master thesis, Simon Weilbach (2014)
10. Version History
Model created by Simon Weilbach (simon.weilbach@tuhh.de) in October 2014
Model revised by Pascal Dubucq (dubucq@tuhh.de) in October 2015
Quality check (Code conventions) by Rebekka Denninger in October 2015
Model generalized for different electrical power ports by Jan-Peter Heckel (jan.heckel@tuhh.de) in July 2018
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | no_Cells | 30 | Number of cells connected in series |
| Real | alpha | 1 | Transfer coefficient |
| Real | z | 2 | Quantity of transfered electrons |
| Modelica.Units.SI.Area | A_cell | 361e-4 | Area of one cell |
| Modelica.Units.SI.Pressure | p_Anode | 1.5e5 | Pressure at the anode |
| Modelica.Units.SI.Pressure | p_Kathode | 1e5 | Pressure at the cathode |
| TransiEnt.Basics.Media.Gases.Gas_VDIWA_SG7_var | Syngas | TransiEnt.Basics.Media.Gases.Gas_VDIWA_SG7_var() | Medium model of Syngas |
| TransiEnt.Basics.Media.Gases.Gas_MoistAir | Air | TransiEnt.Basics.Media.Gases.Gas_MoistAir() | Medium model of air |
| Real | hf_H2O | -285.8*1000 | Reaction enthalpy of the steam |
| Real[3,3] | cp_tab | [28.91404, -0.00084, 2.01e-6; 25.84512, 0.012987, -3.9e-6; 30.62644, 0.009621, 1.18e-6] | Empiric parameter for calculating Gibbs free energy according to Barbir |
| Real | ASR_0 | 0.29e-4 | Reference value of the loss resistance at T_0 according to Saarinen in Ohm |
| Modelica.Units.SI.Temperature | T_0 | 1073 | Reference value of the temperature for calculating the loss resistance according to Saarinen |
| Real | E_A | 0.65 | Energy of activation according to Saarinen in eV |
| Modelica.Units.SI.Mass | m | 5 | Mass of the stack |
| Modelica.Units.SI.SpecificHeatCapacity | cp | 1000 | Specific heat capacity of the stack |
| SI.Temperature | T_n | 820 + 273.15 | Temperature in nominal point (i.e. minimum Temperature for operation) |
| Modelica.Units.SI.Temperature | T_heater_restart | T_n - 50 | Heater restarts at this temperature when temperature drops while operating |
| Modelica.Units.SI.HeatFlowRate | Q_heater_nom | 3e3 | Nominal power of heater for ramp up process |
| Modelica.Units.SI.ThermalConductance | ka | 0.5 | Thermal conductance between FC and ambient when cooling is shut off (i.e. heat loss) |
| Modelica.Units.SI.Temperature | T_demand | 50 + 273.15 | Temperature of heat demand |
| Modelica.Units.SI.Current | I_shutdown | 10 | If load controller requests currents below this value, stack will shut down |
| SI.Voltage | v_n | simCenter.v_n | Nominal Voltage for grid |
| Replaceable Components | |||
| Boolean | usePowerPort | true | True if power port shall be used |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| TransiEnt.Basics.Interfaces.Gas.IdealGasTempPortIn | feedh | ||
| TransiEnt.Basics.Interfaces.Gas.IdealGasTempPortOut | drainh | ||
| TransiEnt.Basics.Interfaces.Gas.IdealGasTempPortIn | feeda | ||
| TransiEnt.Basics.Interfaces.Gas.IdealGasTempPortOut | draina | ||
| TransiEnt.Basics.Interfaces.Electrical.ElectricCurrentIn | I_load | Input for loading current | |
| TransiEnt.Basics.Interfaces.Electrical.VoltageOut | v_stack | Output for voltage of one stack | |
| TransiEnt.Basics.Interfaces.General.MassFractionOut | lambda_H | Output for excess ratio of hydrogen | |
| TransiEnt.Basics.Interfaces.Thermal.HeatFlowRateOut | Q_flow_use | Useful heatflowrate | |
| TransiEnt.Basics.Interfaces.Electrical.ElectricPowerOut | P_el | -1*E_stack*I | electrical Power |
| TransiEnt.Basics.Interfaces.General.MassFractionOut | lambda_O | Output for excess ratio of oxygen | |
| TransiEnt.Basics.Interfaces.Electrical.ActivePowerPort | epp |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| SimCenter | simCenter | ||
| Modelica.Units.SI.Temperature | T_stack | Temperature of one cell | |
| Modelica.Units.SI.Temperature | T_syng_ein | Temperature of the syngas | |
| Modelica.Units.SI.Temperature | T_air_ein | Temperature of the air | |
| Modelica.Units.SI.Temperature | T_heatdemand | 60 + 273.15 | |
| Modelica.Units.SI.CurrentDensity | i_cell | Electric current of one cell | |
| Modelica.Units.SI.Pressure | P_O2 | air.p_i[3]/air.p | Partial pressure of the oxygen at the cathode |
| Modelica.Units.SI.Pressure | P_H2 | syng.p_i[5]/syng.p | Partial pressure of the hydrogen at the anode |
| Modelica.Units.SI.Voltage | E_cell | Voltage of one cell | |
| Modelica.Units.SI.Voltage | E_stack | Voltage of one stack | |
| Real | ASR | ASR_0*exp(E_A/Modelica.Constants.R*(1/T_stack - 1/T_0)) | Temperature-dependent resistance for calculating the losses |
| Modelica.Units.SI.Voltage | VR | Voltage loss 3 | |
| Modelica.Units.SI.Voltage | Er | Reversible electric potential without any losses | |
| Real | da | cp_tab[3, 1] - cp_tab[1, 1] - 0.5*cp_tab[2, 1] | Empiric parameter for calculating Gibbs free energy according to Barbir |
| Real | db | cp_tab[3, 2] - cp_tab[1, 2] - 0.5*cp_tab[2, 2] | Empiric parameter for calculating Gibbs free energy according to Barbir |
| Real | dc | cp_tab[3, 3] - cp_tab[1, 3] - 0.5*cp_tab[2, 3] | Empiric parameter for calculating Gibbs free energy according to Barbir |
| Real | Delta_H_T | -241.98*1000 + da*(T_stack - 298.15) + db*((T_stack^2) - 298.15^2)/2 + dc*((T_stack^3) - 298.15^3)/3 | Empiric equation for calculating the enthalpy of formation according to Barbir |
| Real | Delta_S_T | -0.0444*1000 + da*log(T_stack/298.15) + db*(T_stack - 298.15) + dc*((T_stack^2) - 298.15^2)/2 | Empiric equation for calculating the entropy according to Barbir |
| Modelica.Units.SI.MolarFlowRate | N_dot_e | Molar flow of the electrons | |
| Modelica.Units.SI.MassFlowRate | m_dot_H2_react_stack | Required H2 mass flow rate of one cell | |
| Modelica.Units.SI.MassFlowRate | m_dot_O2_react_stack | Required O2 mass flow rate of one cell | |
| Modelica.Units.SI.MassFlowRate | m_dot_H2O_gen_stack | Generated H2O mass flow rate of one cell | |
| Modelica.Units.SI.MassFlowRate | m_dot_air_react_stack | Required air mass flow rate of one cell | |
| Modelica.Units.SI.MolarMass | M_H2 | syng.M_i[5] | Molar mass H2 |
| Modelica.Units.SI.MolarMass | M_O2 | syng.M_i[2] | Molar mass O2 |
| Modelica.Units.SI.MassFraction | xi_O2 | Mass fraction of O2 in the air | |
| Modelica.Units.SI.SpecificEnthalpy | h_hein | syng.h | |
| Modelica.Units.SI.SpecificEnthalpy | h_haus | synga.h | |
| Modelica.Units.SI.SpecificEnthalpy | h_aein | air.h | |
| Modelica.Units.SI.SpecificEnthalpy | h_aaus | aira.h | |
| SI.HeatFlowRate | Q_flow_reac | Heat flow due to reaction | |
| SI.HeatFlowRate | Q_flow_heater | Heat flow provided by heater for ramp up | |
| SI.HeatFlowRate | Q_flow_gas | Heat flow to/from syngas and air | |
| Modelica.Units.SI.Current | I | ||
| Modelica.Units.SI.Current | I_is | ||
| Boolean | is_T_reac_min_reached | true, if minimum temperature for FC reaction reached | |
| Boolean | is_Shutdown | true, if load current is indicating to shut the stack down | |
| Modelica.Blocks.Sources.RealExpression | realExpression | ||
| TransiEnt.Components.Boundaries.Electrical.ActivePower.Power | powerBoundary | ||
| TILMedia.Gas_pT | syng | ||
| TILMedia.Gas_pT | air | Moist air is used which consists of N2, H2O and O2. This is why the component O2 can be used from it! | |
| TILMedia.Gas_pT | synga | ||
| TILMedia.Gas_pT | aira | Moist air is used which consists of N2, H2O and O2. This is why the component O2 can be used from it! |