1 Introduction

Solid oxide fuel cells (SOFCs) are an electrochemical device that converts the chemical energy stored in a variety of fuels directly into electricity and produces heat as its by-product. SOFCs typically operate in high temperature range (600–1000 °C) to achieve a good ionic conductivity of solid electrolyte. High temperature operation has advantages, such as high power efficiency, long-term stability, fuel flexibility and high temperature exhaust gas. This benefit further allows the system to be combined with gas turbine that can be an option for applications of auxiliary power unit of vehicles as well as industrial power supply. One the other hand, disadvantages include longer start-up time, thermal fatigue failure of the materials, sealing problem under high temperature, and mechanical and chemical compatibility issues. Therefore, the SOFCs operation within a tight design range is important (Hajimolana et al. 2011). In this respect, numerical modeling has become an attractive method for investigating the SOFCs that can optimize the cell parameters, decrease physical and chemical degradation, and finally improve its performance.

There are two principal SOFC configurations, e.g., tubular and planar. Typically, planar configuration consists of positive electrode/electrolyte/negative electrode (PEN) structure, gas channels and interconnects. Based on the component thickness, SOFCs are categorized to four types, e.g., anode-supported, electrolyte-supported, cathode-supported and metal-supported. When operating SOFCs, a fuel and an oxidant, supplied from gas channels, are introduced to the PEN structure. Both reactant gases are electrochemically consumed, and generate the water and current. In an actual operation, SOFCs are connected in series of multiple cells to increase voltage, thereby obtaining a high output power. An interconnect functions as electrical connectors when the current flows through the cell. The SOFC operation involves the simultaneous transport of mass, momentum, species and heat which are fully coupled with electrochemical reactions. To comprehend those processes and assist the development of SOFCs technology, numerical simulations based on computational fluid dynamics (CFD) approach are widely used in SOFC research by exploiting the transport phenomena and electrochemical process. CFD simulation is varied upon the research’s concerns. Micro-scale model pursues to understand the effect of microstructural properties on the electrochemical characteristics and transport phenomena (Bertei et al. 2013; Costamagna et al. 1998; Chan and Xia 2001; Zhu et al. 2005; Nam and Jeon 2006; Hussain et al. 2006; Kong et al. 2014; Vijay et al. 2017). However, this model is incapable of providing the information in cell-level which is useful in practical application. Macro-scale model deals with physicochemical hydrodynamics in cell- and stack-level and predicts the cell performance with experimentally determined model parameters, but does not pursue the performance prediction in consideration of various microstructures (Achenbach 1994; Nagata et al. 2001; Yakabe et al. 2001; Recknagle et al. 2003; Pramuanjaroenkij et al. 2008; Ni 2012). Recent CFD modeling focuses the development of multi-scale model which in principle combines the advantages of both micro-scale and macro-scale models. Here, we employ the multi-physics and multi-scale model to simulate the SOFC operation.

Recently, the cell-level SOFC model on the open-source software is developed by the author and co-workers (Beale et al. 2016; Jeon 2019). The work was originated from the Multi-Scale Integrated Fuel Cell Model (MUSIC) program, in which the goal is to develop a fully-integrated multi-scale fuel cell modeling capability, from micro-scale through to cell, stack, and ‘hotbox’ levels. We select the object-oriented CFD code, Open Field Operation and Manipulation (OpenFOAM) (http://www.openfoam.com), as a development platform and released the source code on the internet (http://openfuelcell.sourceforge.net). The public availability of open-source fuel cell code, openFuelCell, has stimulated the activities of code development (Beale et al. 2011, 2018; Nishida et al. 2018) and application to other types of fuel cell (Kone et al. 2018; Zhang et al. 2018). The openFuelCell is a multi-physics and multi-scale model that the users easily access the source code and free to modify the code as desired. The model describes complex transport and electrochemical phenomena in a variety of geometrical configurations. This model enables to deal with multiple regions within a single solver, with efficient data transfer between them. Each region supports its own set of fields such as pressure, velocity, concentration and temperature, with associated boundary conditions, while computational domain is decomposed into several regions. Validation and verification activities have been carried out under the program of the International Energy Agency Advanced Fuel Cells Implementing Agreement (IEA AFCIA) (Nishida et al. 2018; Le et al. 2015). However SOFC modeling with openFuelCell has several challenges, such as limited application to planar configuration, unavailability of internal reforming process, high-calculation cost, etc. The present software extends the capability to simulate the stack model.

In this chapter, we introduce the open-source SOFC model which is developed with OpenFOAM®. The widely used anode-supported SOFC is chosen to describe the modeling process. The details of SOFC modeling are described in each section: model equations in Sect. 2; numerical implementation including calculation procedure in Sect. 3; model description including geometry, mesh and boundary condition in Sect. 4; results and discussion in Sect. 5.

2 Model Equations

2.1 Governing Equations

CFD model simulates the heat and mass transfer phenomena in SOFCs. The multi-scale and complex transport phenomena are based on the coupled set of conservation equations of mass, momentum, species transport and energy. The conservation of mass can be expressed in the form of the steady-state equation of continuity:

$$\mathrm{div}\left(\rho\overrightarrow{u}\right)={S}_{m}$$
(1)
$${S}_{m}=\sum_{i=1}^{n}{S}_{i}$$
(2)

where the source terms are in general non-zero as a result of production of water and consumption of hydrogen and oxygen caused by electrochemical reactions. The conservation of linear momentum for steady-state flow in the absence of external body forces yields:

$$\mathrm{div}\left(\rho\overrightarrow{u}\cdot \overrightarrow{u}\right)=-\mathrm{grad} P+\mathrm{div}\left(\mu \mathrm{grad }\overrightarrow{u}\right)+{S}_{p}$$
(3)
$${S}_{p}=-\frac{\mu \overrightarrow{u}}{K}$$
(4)

where the source term on the right hand side of the equation is only added in the porous regions such that neglecting the convection and viscous terms in Eq. (3) yields conservation of linear momentum expressed in the form of Darcy’s law. Using the generalized Fick’s law and neglecting the thermal-diffusion (Soret) effect, the conservation of species mass yields:

$$\mathrm{div}\left(\rho \overrightarrow{u} {y}_{i}\right)=\mathrm{div}\left({D}_{i}^{eff} \mathrm{grad}{ y}_{i}\right)+{S}_{i}$$
(5)
$${S}_{{H}_{2}}=-\frac{i}{2F}{M}_{{H}_{2}}, {S}_{{H}_{2}O}=\frac{i}{2F}{M}_{{H}_{2}O}, {S}_{{O}_{2}}=-\frac{i}{4F}{M}_{{O}_{2}}$$
(6)

where the effective Fick diffusion coefficients are given in terms of values at reference pressure and temperature. Neglecting kinetic energy convection, viscous dissipation, and the diffusion–thermo (Dufour) effect, conservation of energy for steady-state flow yields:

$$\mathrm{div}\left(\rho {C}_{p}\overrightarrow{u} T\right)-\mathrm{div}\left(k \mathrm{grad T}\right)={S}_{h}^{e}+{S}_{h}^{j}$$
(7)
$${S}_{h}^{e}=\frac{i}{2F}\Delta H\left(T\right)-i{V}^{cell}, {S}_{h}^{j}={i}^{2}R$$
(8)

where the source term takes into account local heat production due to joule heating and reversible enthalpy changes. More detailed description for the equations can be found in Beale et al. (2016) and Jeon (2019).

2.2 Electrochemical Model

The electrochemical model determines the current density and overpotentials at a given cell voltage. The cell voltage \({V}^{cell}\) is calculated as the combination of open circuit voltage (OCV) \({V}^{OCV}\), anode activation overpotential \({\eta }_{A}^{act}\), cathode activation overpotential \({\eta }_{C}^{act}\), anode concentration overpotential \({\eta }_{A}^{conc}\), cathode concentration overpotential \({\eta }_{C}^{conc}\), and electrolyte overpotential (i.e., ohmic loss in electrolyte), \({\eta }_{E}\), as

$${V}^{cell}={V}^{OCV}-{\eta }_{A}^{act}-{\eta }_{C}^{act}-{\eta }_{A}^{conc}-{\eta }_{C}^{conc}-{\eta }_{E}$$
(9)
$${V}^{OCV}=-\frac{\Delta {G}^{0}}{2F}+\frac{{R}_{g}T}{2F}ln\left(\frac{{x}_{{H}_{2}}}{{x}_{{H}_{2}O}}{\left({x}_{{O}_{2}}\right)}^\frac{1}{2}\right)$$
(10)

To calculate the activation overpotential \({\eta }^{act}\), the Butler-Volmer expression can be used to describe \({\eta }^{act}-i\) relationships

$$i={i}_{0}\left[exp\left(\frac{{\alpha }_{a}F{\eta }^{act}}{{R}_{g}T}\right)-exp\left(-\frac{{\alpha }_{c}F{\eta }^{act}}{{R}_{g}T}\right)\right]$$
(11)

where \({i}_{0}\) is the exchange current density, \({\alpha }_{a}\) and \({\alpha }_{c}\) are the anodic and cathodic charge transfer coefficient, respectively. To determine the concentration overpotential \({\eta }_{C}\), the following equations can be used:

$${\eta }_{A}^{conc}=-\frac{{R}_{g}T}{2F}ln\left(\frac{{P}_{H_2}}{{P}_{H_2}^{0}}\frac{{P}_{H_{2}O}^{0}}{{P}_{H_{2}O}}\right)$$
(12)
$${\eta }_{C}^{conc}=-\frac{{R}_{g}T}{4F}ln\left(\frac{{P}_{O_2}}{{P}_{O_2}^{0}}\right)$$
(13)

where \({P}_{i}^{0}\) is an inlet pressure of species i. However, concentration overpotential can be neglected if the porous media transport and electrochemical reactions are modeled in detail (Janardhanan and Deutschmann 2006). The electrolyte overpotential \({\eta }_{E}\) is dependent on the current density, electrolyte thickness, and temperature which are obtained by

$${\eta }_{E} = \frac{i{l}_{E}}{{\sigma }_{E}}$$
(14)

where lE is electrolyte thickness, \({\sigma }_{E}\) is electrolyte conductivity.

3 Numerical Implementation

OpenFOAM® solves a set of governing equations using a finite volume scheme written in programming language C++. The main components are: (1) Second order finite volume discretisation on three-dimensional meshes, with polyhedral cell support and capability of handling local mesh refinement, (2) Versatile and transparent representation of partial differential equations in the code, achieved through equation mimicking, (3) A complete set of implicit discretisation operators, and associated matrix and linear solver classes, (4) Massive parallelisation in domain decomposition mode, (5) The capability of dealing with multiple overlapping regions within a single solver, with efficient data transfer between them. Each region can support its own set of fields, e.g., pressure, velocity, species concentration, energy, with associated boundary conditions, (6) Access to libraries of real material properties for single species and their mixtures, (7) Efficient and validated set of heat transfer, fluid flow, chemical reaction, and electrochemistry solvers.

The pressure-momentum coupling is solved using the Pressure Implicit with Splitting of Operators (PISO) algorithm. Linear algebraic systems are solved using Preconditioned bi-conjugate gradient (PBiCG) solver with Diagonal-based Incomplete LU (DILU) preconditioner for velocity, mass fraction, and temperature, and Preconditioned conjugate gradient (PCG) solver with Diagonal-based Incomplete Cholesky (DIC) preconditioner for pressure. Volumetric equations are discretized on the fixed and structured meshes composed of hexahedral element. Three-dimensional (3D) mesh is generated using automatic meshing technique. The meshes are composed of global-region and sub-regions which are split up into individual components. The continuity, momentum and species transport equations are solved on the individual meshes, while energy equation is solved on the global mesh. The calculated properties and variables are passed back and forth between global and individual meshes by mapping function. The physical properties of gases are calculated by accessing to OpenFOAM® library or class library. The solution algorithm proceeds as follows:

  1. 1.

    Create the cell geometry, specify boundary conditions, assign physical properties, and prescribe average current density.

  2. 2.

    Calculate continuity and momentum equation.

  3. 3.

    Calculate Nernst potential, overpotentials, and cell voltage.

  4. 4.

    Calculate sources of mass, species, and energy.

  5. 5.

    Calculate conservation equations of species transport and energy.

  6. 6.

    Repeat steps (2)–(5) until convergence is obtained.

The algorithm is sequential and iterative. The cell voltage is computed by prescribing a designed current density \({i}^{des}\) as

$${V}^{cell}+= \alpha \times (\overline{i}-{i}^{des})$$
(15)

where \(\alpha\) is a relaxation factor. The calculations are repeated until the difference between the computed mean current density \(\overline{i}\) and designed current density \({i}^{des}\) is within the convergence criteria.

4 Geometry, Mesh and Boundary Condition

For an application, a planar-type anode-supported SOFC is modeled as shown in Fig. 1. The basic unit is composed of interconnects, gas channels, and PEN. The flow channels are embedded within the rectangular cross-section of interconnects. The fuel and air channels are separated by PEN which is composed of five layers: (1) anode substrate layer (ASL), (2) anode functional layer (AFL), (3) electrolyte, (4) cathode functional layer (CFL), and (5) cathode current collector layer (CCCL). Large-scale anode-supported SOFC is modeled that has reaction area of 100 cm2 (10 cm \(\times\) 10 cm) and channel size of 1 mm \(\times\) 1 mm with same rib-spacing width as channel width. Co-flow configuration is considered. Through the grid independency test, total mesh of 2.08 million is used for the simulation (Fig. 2). The finer mesh increase the accuracy, but incurs high calculation cost. Neumann boundary condition is applied on the wall boundaries (adiabatic), and Dirichlet boundary condition is imposed on the inlet, top and bottom boundaries (constant temperature).

Fig. 1
figure 1

Schematic diagram of planar-type anode-supported SOFC. Computational domain includes interconnects, channels, anode, electrolyte and cathode. Reproduced from Jeon (2019) with permission from Elsevier

Fig. 2
figure 2

Tessellated meshes for a planar-type anode-supported SOFC. The zoom-in view illustrates the structured-rectangular meshes

The cell geometry can be constructed using commercial software or can be virtually generated using numerical algorithm. Here, we create a geometry and mesh the entire domain using the mesh generation utility blockMesh and the geometry generation utility cellSets. A directory file named blockMeshDict located in the run/constant/polymesh directory. The blockMesh reads this dictionary, and writes out the mesh data to points and facescells and boundary files in the same directory. The cellSets makes up the cells of each region, and generate the meshes for each region. The cellSets for the regions are specified in /run/config directory.

5 Results and Discussion

This section discusses the computed results of anode-supported SOFCs. Geometry details, cell properties and operating condition that used in simulation are listed in Table 1. The user can visualize the results using the post-processing tool, such as ParaView and EnSight.

Table 1 Properties and operating conditions

In this simulation, we employed the most common choice materials for SOFC components, which are yittria stabilized zirconia (YSZ) for electrolyte, Ni–YSZ cermet for anode, and lanthanum strontium manganite (LSM)–YSZ cermet for cathode. To calculate the activation overpotential \({\eta }^{act}\), the modified Butler-Volmer expression which is taken from Janardhanan and Deutschmann (2006) and Zhu et al. (2005) is used as.

$${i}_{A}={i}_{0,A}\left[exp\left(\frac{\left({\beta }_{a}+1\right)F{\eta }_{A}^{act}}{{R}_{g}T}\right)-exp\left(\frac{{\beta }_{c}F{\eta }_{A}^{act}}{{R}_{g}T}\right)\right]$$
(16)
$${i}_{0,A}={i}_{H2}^{*}\left[\frac{{\left({P}_{H2}/{P}_{H2}^{*}\right)}^{1/4}{\left({P}_{H2O}\right)}^{3/4}}{1+\left({P}_{H2}/{P}_{H2}^{*}\right)}\right]$$
(17)
$${i}_{H2}^{*}= {K}_{H2}exp\left(-\frac{{E}_{H2}}{RT}\right)$$
(18)
$${P}_{H2}^{*}= \frac{{A}_{des}{\Gamma }^{2}\sqrt{2\pi RT{M}_{H2}}}{{\gamma }_{0}}exp\left(-\frac{{E}_{des}}{{R}_{g}T}\right)$$
(19)

where \({\beta }_{c}=0.5\), \({\beta }_{a}+{\beta }_{c}=1\), \({K}_{H2}=2.07\times {10}^{5} A {m}^{-2}\) and \({E}_{H2}=87.8 K J {mol}^{-1}\). The pre-exponent factor \({A}_{des}=5.59\times {10}^{9} s {{cm}^{2} mol}^{-1}\), the surface site density \(\Gamma =2.6\times {10}^{-9} mol {cm}^{-2}\), the activation energy \({E}_{des}=88.12 KJ {mol}^{-1}\), and the sticking probability \({\gamma }_{0}=0.01\).

$${i}_{C}={i}_{0,C}\left[exp\left(\frac{{\beta }_{a}F{\eta }_{C}^{act}}{{R}_{g}T}\right)-exp\left(\frac{{\beta }_{C}F{\eta }_{C}^{act}}{{R}_{g}T}\right)\right]$$
(20)
$${i}_{0,C}={i}_{O2}^{*}\frac{{\left({P}_{O2}/{P}_{O2}^{*}\right)}^{1/4}}{1+{\left({P}_{O2}/{P}_{O2}^{*}\right)}^{1/2}}$$
(21)
$${i}_{O2}^{*}= {K}_{O2}exp\left(-\frac{{E}_{O2}}{{R}_{g}T}\right)$$
(22)
$${P}_{O2}^{*}= {A}_{O2}exp\left(-\frac{{E}_{O2}}{{R}_{g}T}\right)$$
(23)

where \({K}_{O2}=5.19\times {10}^{4} A {m}^{-2}\), \({E}_{O2}=88.6 KJ {mol}^{-1}\), \({A}_{O2}=4.9\times {10}^{8} atm\) and \({E}_{O2}=200 KJ {mol}^{-1}\). Note that Butler-Volmer expression established by Janardhanan and Deutschmann (2006) was modified at the temperature range of 600 – 800 °C. The electrolyte conductivity of YSZ which are obtained by Ferguson et al. (1996) is

$${\sigma }_{E}= 3.34\times {10}^{4} exp\left(-\frac{10300}{T}\right)$$
(24)

Figure 3 shows the simulated performance with contribution of component overpotentials at 700 °C. The performance decreases as the current density increases. The contributions of anode overpotential and cathode overpotential are large at low current density, but the contribution of cathode overpotential becomes dominant at high current density. The contribution of electrolyte overpotential is not significant which is generally large during the SOFC operation. This is mainly attributed to thin electrolyte layer.

Fig. 3
figure 3

Simulated performance and contribution of component overpotentials to the overall potential loss of anode-supported SOFC at 700 °C. Reproduced from Jeon (2019) with permission from Elsevier

The simulated result also provides the detailed information for dependent variables. Figure 4 shows illustrative examples of the distributions of current density, temperature, species mass fraction and component overpotential at 700 °C. As shown, current density is high at the inlet where the mole fraction of reactants is high, and becomes lower along the electrode length. Current density distribution affects temperature distribution which is high at the inlet and low at the outlet. The mole fractions of hydrogen and oxygen are high at the inlet, and becomes lower along the electrode length. Hence, activation overpotentials are high at the inlet, and concentration overpotentials are high at the outlet. Interestingly, several straight lines are observed all the figures likely due to non-uniform electrochemical reaction. This is ascribed to non-uniform oxygen distribution, in which oxygen mole fraction is observed high at the channel area, but low at the rib area. These severely non-uniform distributions are attributed to the thin cathode layer. To avoid non-uniform distributions,

Fig. 4
figure 4

Distributions of a current density, b temperature, c hydrogen mole fraction, d oxygen mole fraction, e anode activation overpotential, f cathode activation overpotential, g anode concentration overpotential and h cathode concentration overpotential on electrode surfaces at 0.6 A/cm2 and 700 °C. Reproduced from Jeon (2019) with permission from Elsevier

blowing the air with high stoichiometric flow rate or optimum design of cathode microstructure is desirable (Fig. 5).

Fig. 5
figure 5

Oxygen mole fraction distributions on CFL surface at 1.0 A/cm2 and 700 °C. Reproduced from Jeon (2019) with permission from Elsevier

figure a