Physics and Mathematical Formulation¶
This document describes the physical models and mathematical formulations implemented in the fuel_cell_3D code.
Reproducing Kernel Particle Method (RKPM)¶
RKPM is a meshfree method that constructs shape functions using a reproducing kernel approximation. The displacement field is approximated as:
where \(\Psi_I(\mathbf{x})\) is the shape function for node \(I\) and \(d_I\) are the nodal coefficients.
Shape Function Construction¶
The RKPM shape function is defined as:
where:
\(\mathbf{H}(\mathbf{x})\) is the polynomial basis vector
\(\mathbf{M}(\mathbf{x})\) is the moment matrix
\(\phi_a(z)\) is the kernel function
\(a_I\) is the support size for node \(I\)
For 3D problems, the linear polynomial basis is:
where \(h = 10^{-6}\) m is a scaling factor for numerical stability.
The moment matrix is computed as:
Kernel Function¶
The cubic B-spline kernel is used:
where \(z = \|\mathbf{x} - \mathbf{x}_I\| / a_I\) is the normalized distance.
Diffusion Equation¶
The steady-state diffusion equation governs species transport:
where:
\(c\) is the concentration (or potential)
\(D\) is the diffusion coefficient
\(f\) is the source term
Weak Form¶
The weak form is:
where \(w\) is the test function and \(q\) is the prescribed flux.
Nitsche’s Method for Boundary Conditions¶
Dirichlet boundary conditions are enforced weakly using Nitsche’s method:
where:
\(g\) is the prescribed boundary value
\(\beta\) is the Nitsche penalty parameter
\(\mathbf{n}\) is the outward normal vector
The discretized stiffness matrix has three components:
where:
\(\mathbf{K}_1\): Domain diffusion integral
\(\mathbf{K}_2\): Consistency term (flux boundary)
\(\mathbf{K}_3\): Nitsche penalty term
Butler-Volmer Electrochemistry¶
The electrochemical reaction rate at the electrode-electrolyte interface follows the Butler-Volmer equation:
where:
\(i\) is the current density
\(i_0\) is the exchange current density
\(\eta\) is the overpotential
\(F\) is Faraday’s constant (96,485 C/mol)
\(R\) is the gas constant (8.314 J/mol·K)
\(T\) is the temperature
\(\alpha_a, \alpha_c\) are the anodic and cathodic transfer coefficients
For small overpotentials, the linearized form is:
Linear Elasticity¶
The mechanical equilibrium equation is:
where \(\boldsymbol{\sigma}\) is the Cauchy stress tensor and \(\mathbf{b}\) is the body force.
Constitutive Relation¶
The stress-strain relationship for linear elasticity:
where:
\(\mathbf{C}\) is the fourth-order elasticity tensor
\(\boldsymbol{\varepsilon}\) is the total strain
\(\boldsymbol{\varepsilon}^*\) is the chemical expansion strain
Elasticity Tensor¶
For isotropic materials, the elasticity tensor in Voigt notation is:
where the Lamé constants are:
with \(E\) being Young’s modulus and \(\nu\) Poisson’s ratio.
Chemical Expansion Strain¶
The chemical expansion strain due to concentration changes:
where \(\beta\) is the chemical expansion coefficient (m³/mol) and \(\Delta c\) is the concentration change.
Gauss Quadrature¶
Domain integrals are evaluated using Gauss quadrature:
where:
\(\mathbf{x}_g\) are the Gauss point coordinates
\(|J_g|\) is the Jacobian determinant
\(w_g\) are the Gauss weights
For 3D hexahedral cells, 2×2×2 Gauss integration is used with points at:
Damage Model¶
When enabled, a damage variable \(D\) modifies the stiffness:
The damage variable evolves based on equivalent strain:
where \(\kappa_i\) and \(\kappa_f\) are the initial and final damage thresholds.