1 Introduction

Mechanical deformations and chemical reactions are often coupled in many engineering problems. One of the mathematical approaches to describe such problems is using the theory of chemo-elasticity [1, 2]. This theory models mechanically stressed solids that can change their composition by solute redistribution or mass exchange with the surrounding environment [1,2,3,4,5,6]. A chemical reaction often produces a volumetric change, which generates mechanical stresses if the mechanical deformations are impeded. On the other hand, the mechanical deformation state may significantly affect the chemical reaction process in the considered solids. Chemo-elasticity may arise in many engineering processes, such as in fuel cells with ionic solids [3, 4, 7, 8]. The growth of porous biogenic single crystals can also be described by chemo-elasticity [9, 10]. Ionic and mixed ionic–electronic conductors have gained tremendous importance recently due to their applications in high efficiency and low emission energy conversion devices, such as solid oxide fuel cells, oxygen pumps and hydrogen production [11,12,13].

It is known that the local deformation in electrodes plays an important role in controlling the migration rate of lithium in a lithium-ion batteries, which can alter the stress state in electrodes [14, 15]. The stress evolution in active materials during electrochemical cycling plays a critical role in improving the structural design and performance of next-generation lithium-ion batteries [16]. Electrochemical charging and discharging in a battery introduce local mechanical strain in electrodes due to diffusion-induced strain or reaction-induced strain. The local strain and local velocity depend on the rates of charging and discharging, respectively. Therefore, understanding the chemo-elastic processes has attracted great interest to investigate the stress evolution in electrodes due to electric charging and discharging. Chemo-mechanical modeling of elastic thin-film electrodes on elastic substrates under chemical equilibrium was recently analyzed by Haftbaradaran [17].

Oxidation of metals is another important application area of chemo-elasticity. A general approach on chemistry and stress coupling effects during oxidation has been suggested by Suo and Shen [18]. Analysis of the residual stress due to chemo-mechanical coupled effect, intrinsic strain and creep deformation during oxidation has been performed [19], and reaction–diffusion–stress coupling effects during oxidation have also been investigated [20, 21]. A model of a chemo-elastic bar in contact with chemically aggressive environment was developed in Ref. [22]. Smart hydrogels are also described by chemo-mechanical models. For example, Wang and Yang [23] recently developed an analytical solution for a 1D model of a hydrogel rod.

The base of the theory of chemo-elasticity has been developed by Fowler and Guggenheim [24]. Further development of the theory has been made by Larche and Cahn [25]. A model of elastic solid under chemical equilibrium was successfully utilized to study dislocations [26, 27]. Non-equilibrium thermodynamics and variational principles for fully coupled thermal–mechanical-chemical processes have been derived by Hu and Shen [28]. A fully coupled theory and variational principle for thermal-electrical-chemical–mechanical processes have also been developed by Yu and Shen [29].

In the present paper, a perturbation finite element (FE) formulation is developed to analyze general chemo-elastic boundary value problems (BVPs) under chemical equilibrium. This extends the perturbation solution presented in Ref. [1], allowing for modeling different problems with different 2D geometries. The perturbation method is used because of the nonlinearity in the chemical potential expression as a function of the molar or solute concentration. Since the chemo-elastic problem is reduced to a pure elasticity problem if the compositional expansion coefficient is vanishing, this coefficient is used as the perturbation parameter. Through the proposed formulation, a system of partial differential equations (PDEs) for the displacement and solute concentration functions from the perturbation expansion is obtained. Using the FE approach, these PDEs are transformed into systems of algebraic equations to be solved sequentially for the nodal quantities. The model is general and can be used to model several phenomena, such as the swelling of ionic gels in a solvent of varying pH, or the formation of expanding crusts in stone monuments due to acid rain or polluted atmosphere.

The rest of the paper is organized as follows: Sect. 2 introduces the governing equations and the perturbation solution, Sect. 3 presents the finite element implementation, and Sect. 4 is devoted for code validation and numerical examples. Five examples of chemo-elastic plates with different shapes of a central defect (circular hole, circular rigid inclusion, elliptical hole, crack, and hole with two extended cracks) are presented. The effects of the different parameters of each problem on the distribution of the solute concentration are analyzed. Summary and conclusions are presented in Sect. 5.

2 Governing equations and perturbation solution

Let us consider an elastic solid \( A_{y} B \) that consists of A and B species. y is the concentration of A and varies from 0 to \( y_{\text{max}} \), which is the solvability of A in B. One may also view species A as the solute and species B as the solvent. Following Larche and Cahn [25], we assume that the solid is represented by a network model where the lattice sites of species B form a network within which species A can diffuse. This allows the definition of a displacement field and hence a strain field in the solid. It is convenient to define the following molar concentration of the solute per unit volume of the solvent as

$$ c = y/V_{m} , $$
(1)

where \( V_{m} \) is the molar volume in the stress-free state [1]. The compositional change of the mixture causes the volumetric deformation given by

$$ \varepsilon_{ij}^{c} = \eta V_{m} c\delta_{ij} , $$
(2)

where \( \eta \) is the coefficient of compositional expansion and \( \delta_{ij} \) is the Kronecker delta.

The total strains \( \varepsilon_{ij} \) are hence given by

$$ \varepsilon_{ij} ({\mathbf{x}}) = \frac{1}{2}\left( {u_{i,j} ({\mathbf{x}}) + u_{j,i} ({\mathbf{x}})} \right) = \varepsilon_{ij}^{e} ({\mathbf{x}}) + \varepsilon_{ij}^{c} ({\mathbf{x}}), $$
(3)

where \( u_{i} \) denotes the displacement components and \( \varepsilon_{ij}^{e} \) is the elastic strain. The elastic stress is determined by the elastic strain according to Hooke’s law [3, 4]

$$\sigma_{ij} = c_{ijkl} \left( {\varepsilon_{kl} - \eta V_{m} c\delta_{kl} } \right),$$
(4)

where \( c_{ijkl} \) is the material stiffness tensor. Making use of the standard Voigt notation, the constitutive Eq. (4) for orthotropic materials can be written in a compact form as

$$ {\varvec{\upsigma}} = \left\{ {\begin{array}{*{20}c} {\sigma_{11} } \\ {\sigma_{22} } \\ {\sigma_{12} } \\ \end{array} } \right\} = \left[ {\begin{array}{*{20}c} {c_{11} } & {c_{12} } & 0 \\ {c_{12} } & {c_{22} } & 0 \\ 0 & 0 & {c_{66} } \\ \end{array} } \right]\left\{ {\begin{array}{*{20}c} {\varepsilon_{11} } \\ {\varepsilon_{22} } \\ {2\varepsilon_{12} } \\ \end{array} } \right\} - \eta V_{m} \left\{ {\begin{array}{*{20}c} {c_{11} + c_{12} } \\ {c_{12} + c_{22} } \\ 0 \\ \end{array} } \right\}c = {\mathbf{L }}\boldsymbol{\varepsilon} - \eta {\mathbf{G}}c. $$
(5)

For isotropic materials, \( c_{11} = c_{22} = 2\mu + \lambda \) and \( c_{12} = \lambda \), where \( \mu \) and \( \lambda \) are Lame’s elastic constants. If the elastic moduli do not change with the non-stoichiometry, a simplified stress-dependent chemical potential can be derived from the general expression [3,4,5] as

$$ \varSigma ({\varvec{\upsigma}},c) = \varSigma_{0} + RT\ln \frac{c}{{c_{\text{max} } - c}} - V_{m} \eta \sigma_{ii} , $$
(6)

where \( \varSigma_{0} \) is a constant representing the chemical potential at a reference state [1], R is the gas constant, T is the absolute temperature, and \( c_{\text{max} } \) is the molar concentration corresponding to the saturation state of the solution. One can observe that the chemical potential at the stoichiometric state has the lowest energy, \( \varSigma \to - \infty \) as \( c \to 0 \), and the potential \( \varSigma \to \infty \) at the saturation state \( c \to c_{\text{max} } \).

Consider an elastic solid in the domain \( \varOmega \) with the boundary \( \varGamma \). The following essential and natural boundary conditions are assumed for the mechanical field

$$ \begin{array}{*{20}l} {u_{i} ({\mathbf{x}}) = \bar{u}_{i} ({\mathbf{x}}),} \hfill & {{\text{on}}\;\varGamma_{u} ,} \hfill \\ {t_{i} ({\mathbf{x}}) \equiv \sigma_{ij} n_{j} = \bar{t}_{i} ({\mathbf{x}}),} \hfill & {{\text{on}}\;\varGamma_{t} ,} \hfill \\ \end{array} $$
(7)

where \( \varGamma = \varGamma_{u} \cup \varGamma_{t} , \)\( \varGamma_{u} \) and \( \varGamma_{t} \) are parts of the boundary with prescribed Dirichlet and Neumann conditions for the displacement and traction components, respectively, and \( n_{i} \) denotes the unit normal vector to boundary \( \varGamma \). The chemical boundary conditions at chemical equilibrium are reduced to Dirichlet boundary conditions only, which are given by

$$ \varSigma_{\text{eq}} = \varSigma_{0} + RT\ln \frac{c}{{c_{\text{max} } - c}} - V_{m} \eta \sigma_{ii} ,\quad {\text{on}}\;\varGamma , $$
(8)

since the flux is vanishing. Here, chemical equilibrium state means that the chemical potential is constant \( \varSigma_{\text{eq}} \) over the whole domain and independent of time, i.e.,

$$ \varSigma_{\text{eq}} - \varSigma_{0} = RT\ln \frac{c}{{c_{\text{max} } - c}} - V_{m} \eta \sigma_{ii} = {\text{Const}}.,\quad {\text{in}}\;\varOmega . $$
(9)

This steady state condition is maintained as long as the stress and temperature are independent of time, which is the case considered in this paper. In the absence of body forces under stationary boundary conditions, the stress components satisfy the following equilibrium equations

$$ \sigma_{ij,j} ({\mathbf{x}}) = 0. $$
(10)

Then, the chemo-elasticity problem under chemical equilibrium is described by the governing Eqs. (9) and (10). It follows from Eqs. (5) and (9) that the chemo-elasticity problem is reduced to a pure elasticity problem if the compositional expansion coefficient \( \eta \) is vanishing. Because of the nonlinearity of the term \( \ln \left[ {c/(c_{\text{max} } - c)} \right] \) in Eq. (9), it is convenient to apply a perturbation solution of the BVP. Rewriting Eq. (9) in a normalized form in terms of the normalized molar concentration \( \hat{c} = c/c_{\text{max} } \) gives

$$ \ln \frac{{\hat{c}}}{{1 - \hat{c}}} - \frac{1}{E}\hat{\eta }\sigma_{ii} = b, $$
(11)

with \( b = \frac{{\varSigma_{\text{eq}} - \varSigma_{0} }}{RT} \), \( \hat{\eta } = p\eta \) and \( p = \frac{{V_{m} E}}{RT} \).

In the perturbation solution, the coefficients \( \eta \) or \( \hat{\eta } \) can be used as the perturbation parameter. Since p is usually a large number, \( \eta \) is smaller than \( \hat{\eta } \), and will better serve as the perturbation parameter. The logarithmic term in Eq. (11) can be expanded into a Taylor series at the vicinity of \( \eta = 0 \) as

$$ \begin{aligned} \ln \frac{{\hat{c}}}{{1 - \hat{c}}} & = \ln \frac{{\hat{c}_{(0)} }}{{1 - \hat{c}_{(0)} }} + \frac{{\hat{c}_{(1)} p}}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} } \right)}}\eta + \frac{1}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} } \right)}}\\ & \quad \times\left[ {\hat{c}_{(2)} + \frac{1}{2}\left( {\frac{1}{{1 - \hat{c}_{(0)} }} - \frac{1}{{\hat{c}_{(0)} }}} \right)\left( {\hat{c}_{(1)} } \right)^{2} } \right]p^{2} \eta^{2} \\ & \quad + \frac{1}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} }\right)}}\left\{ \hat{c}_{(3)} + \left\{ \frac{1}{3}\left[{\frac{1}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} } \right)}}}\right]^{2}\right.\right.\\ &\quad\left.- \frac{1}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} } \right)}} \right\}\left( {\hat{c}_{(1)} } \right)^{3} \\ & \quad + \left. {\left[ {\frac{{2\hat{c}_{(0)} - 1}}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} } \right)}}} \right]\hat{c}_{(1)} \hat{c}_{(2)} } \right\}p^{3} \eta^{3} + \cdots , \\ \end{aligned} $$
(12)

where the following series expansions for the solute concentration and displacements are utilized

$$\begin{aligned} \hat{c} & = \hat{c}_{(0)} + \hat{c}_{(1)} \eta + \hat{c}_{(2)} \eta^{2} + \hat{c}_{(3)} \eta^{3} + \cdots , \\ u_{i} & = u_{i(0)} + u_{i(1)} \eta + u_{i(2)} \eta^{2} + u_{i(3)} \eta^{3} + \cdots . \\ \end{aligned}$$
(13)

Making use of the expansions in Eq. (13), we obtain the series expansion for the trace of the stress tensor as

$$\sigma_{ii} = \left[ {\begin{array}{*{20}c} {S_{1} } & {S_{2} } \\ \end{array} } \right]\left\{ {\begin{array}{*{20}c} {u_{1,1} } \\ {u_{2,2} } \\ \end{array} } \right\} - A\eta \hat{c} = \sum\limits_{n = 0}^{\infty } {\eta^{n} \left( {\left[ {\begin{array}{*{20}c} {S_{1} } & {S_{2} } \\ \end{array} } \right]\left\{ {\begin{array}{*{20}c} {u_{(n)1,1} } \\ {u_{(n)2,2} } \\ \end{array} } \right\} - A\eta \hat{c}_{(n)} } \right)} , $$
(14)

where we have used the abbreviations \( S_{1} = c_{11} + c_{12} \), \( S_{2} = c_{12} + c_{22} \), and \( A = V_{m} (S_{1} + S_{2} )c_{\text{max} } \).

Substituting Eqs. (12)–(14) into the governing Eq. (11) and comparing the terms with the same power of \( \eta \), we get

$$ \ln \frac{{\hat{c}_{(0)} }}{{1 - \hat{c}_{(0)} }} = b \Rightarrow \hat{c}_{(0)} = \hat{c}_{\text{eq}} = \frac{{\text{e}^{b} }}{{1 + {\text{e}}^{b} }}, $$
(15)
$$ \frac{1}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} } \right)}}\hat{c}_{(1)} - \frac{1}{E}\left[ {\begin{array}{*{20}c} {S_{1} } & {S_{2} } \\ \end{array} } \right]\left\{ {\begin{array}{*{20}c} {u_{(0)1,1} } \\ {u_{(0)2,2} } \\ \end{array} } \right\} = 0, $$
(16)
$$ \frac{1}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} } \right)}}\left\{ {\hat{c}_{(2)} + \frac{1}{2}\left[ {\frac{{2\hat{c}_{(0)} - 1}}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} } \right)}}} \right]\left( {\hat{c}_{(1)} } \right)^{2} } \right\} - \frac{1}{E}\left[ {\begin{array}{*{20}c} {S_{1} } & {S_{2} } \\ \end{array} } \right]\left\{ {\begin{array}{*{20}c} {u_{(1)1,1} } \\ {u_{(1)2,2} } \\ \end{array} } \right\} = - \frac{1}{E}A\hat{c}_{(0)} , $$
(17)
$$ \begin{aligned} & \frac{1}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} } \right)}}\left\{ {\hat{c}_{(3)} + \left\{ {\frac{1}{3}\left[ {\frac{1}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} } \right)}}} \right]^{2} - \frac{1}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} } \right)}}} \right\}\left( {\hat{c}_{(1)} } \right)^{3} } \right. \\ & \quad + \left. {\left[ {\frac{{2\hat{c}_{(0)} - 1}}{{\hat{c}_{(0)} \left( {1 - \hat{c}_{(0)} } \right)}}} \right]\hat{c}_{(1)} \hat{c}_{(2)} } \right\} - \frac{1}{E}\left[ {\begin{array}{*{20}c} {S_{1} } & {S_{2} } \\ \end{array} } \right]\left\{ {\begin{array}{*{20}c} {u_{(2)1,1} } \\ {u_{(2)2,2} } \\ \end{array} } \right\} = - \frac{1}{E}A\hat{c}_{(1)} , \\ \end{aligned} $$
(18)

Equations (15)–(18) give the relationships between the unknown solute concentration quantities \( \hat{c}_{(1)} \), \( \hat{c}_{(2)} \), \( \hat{c}_{(3)} \) and the gradients of the mechanical displacements \( u_{i(0)} \), \( u_{i(1)} \), \( u_{i(2)} \) at any point \( x_{i} \). These equations should be solved simultaneously together with the BVP of the PDE in Eq. (10). For this purpose, a numerical procedure based on the finite element method (FEM) is developed in the next section.

3 Finite element method

The equilibrium Eq. (10) can be satisfied in the weak-form on the analyzed domain \( \varOmega \)

$$ \int\limits_{\varOmega } {\sigma_{ij,j} w_{i} } {\text{d}}\varOmega = 0, $$
(19)

where \( w_{i} \) denotes the test functions. In the finite element method (FEM), the test functions \( w_{i} \) are assumed to satisfy the essential boundary conditions. Using Gauss–Green’s theorem, the weak-form in Eq. (19) can be written as

$$ - \int\limits_{\varOmega } {\sigma_{ij} w_{i,j} } {\text{d}}\varOmega + \int\limits_{{\varGamma_{{t_{1} }} }} {\bar{t}_{1} w_{1} {\text{d}}\varGamma } + \int\limits_{{\varGamma_{{t_{2} }} }} {\bar{t}_{2} w_{2} {\text{d}}\varGamma } = 0, $$
(20)

where \( \varGamma_{{t_{i} }} \) is the part of the boundary where the Neumann boundary conditions \( \sigma_{ij} n_{j} = \bar{t}_{i} \) are given with \( \bar{t}_{i} \) being the prescribed traction components. Let us extend the definition of the boundary densities prescribed on the natural portions of the boundary as \( \bar{t}_{i} = 0 \) on \( \varGamma_{n} - \varGamma_{{t_{i} }} \), where \( \varGamma_{n} = \varGamma_{{t_{1} }} \cup \varGamma_{{t_{2} }} \).

If we define

$$ W_{ij}^{{}} = \frac{1}{2}\left( {w_{i,j}^{{}} + w_{j,i}^{{}} } \right) $$
(21)

and the vectors associated with the test functions by

$$ {\mathbf{W}}_{{\varvec{\upvarepsilon}}} = \left\{ {\begin{array}{*{20}c} {W_{11} } & {W_{22} } & {2W_{12} } \\ \end{array} } \right\}^{\text{T}} ,\quad {\mathbf{w}} = \left\{ {\begin{array}{*{20}c} {w_{1} } & {w_{2} } \\ \end{array} } \right\}^{\text{T}} , $$

then we can rewrite the weak-form Eq. (20) in matrix form as

$$ - \int\limits_{\varOmega } {{\mathbf{W}}_{{\varvec{\upvarepsilon}}}^{\text{T}} {\varvec{\upsigma}}{\text{d}}\varOmega } + \int\limits_{{\varGamma_{t} }} {{\mathbf{w}}^{\text{T}} {\bar{\mathbf{t}}}{\text{d}}\varGamma } = 0, $$
(22)

where \( {\bar{\mathbf{t}}} = \left\{ {\bar{t}_{1} ,\,\,\bar{t}_{2} } \right\}^{\text{T}} \). Substituting the constitutive Eq. (5) into the weak-form in Eq. (22), one obtains

$$ \int\limits_{\varOmega } {{\mathbf{W}}_{{\varvec{\upvarepsilon}}}^{\text{T}} {\mathbf{L\varepsilon }}{\text{d}}\varOmega } - \int\limits_{\varOmega } {{\mathbf{W}}_{{\varvec{\upvarepsilon}}}^{\text{T}} \eta {\mathbf{G}}c_{\text{max} } \hat{c}{\text{d}}\varOmega } = \int\limits_{{\varGamma_{t} }} {{\mathbf{w}}^{\text{T}} {\bar{\mathbf{t}}}\text{d}\varGamma } . $$
(23)

In the FEM approximation, we express the primary mechanical displacement vector \( {\mathbf{u}} = \left\{ {u_{1} ,\,\,u_{2} } \right\}^{\text{T}} \) and the normalized molar concentration scalar \( \hat{c} \) in terms of the shape functions and the nodal variables in each element as

$$ {\mathbf{u}} = {\mathbf{Nq}},\quad \hat{c} = {\mathbf{Mq}}_{c} , $$
(24)

where \( {\mathbf{N}} \) and M are the shape function matrices, and \( {\mathbf{q}} \) and \( {\mathbf{q}}_{c} \) are the vectors of nodal degrees of freedom (shown in Fig. 1).

$$\begin{aligned} & {\mathbf{q}} = \left\{ {\begin{array}{*{20}c} {\left[ {\begin{array}{*{20}c} {u_{1}^{(1)} } & {u_{2}^{(1)} }\\ \end{array} } \right]} & {\left[ {\begin{array}{*{20}c} {u_{1}^{(2)} } & {u_{2}^{(2)} } \\ \end{array} } \right]} & \cdots \\ \end{array} } \right\}^{\text{T}} ,\\ & {\mathbf{q}}_{c} = \left\{ {\begin{array}{*{20}c} {\hat{c}^{(1)} } & {\hat{c}^{(2)} } & \cdots \\ \end{array} } \right\}^{\text{T}} ,\end{aligned} $$
(25)

with the superscript (k) indicating the node number of the finite element.

Fig. 1
figure 1

Finite element with nodal degrees of freedom

The number of shape functions and their expressions depend on the selected element shape and approximation order. The shape function matrices \( {\mathbf{N}} \) and \( {\mathbf{M}} \) are composed of nodal shape functions \( N^{k} (\xi_{1} ,\xi_{2} ) \), which are functions of the local or natural coordinates \( - 1 \le \xi_{1} ,\xi_{2} \le 1 \), as follows:

$$ {\mathbf{N}} = \left[ {\begin{array}{*{20}c} {{\mathbf{N}}^{(1)} } & {{\mathbf{N}}^{(2)} } & \cdots \\ \end{array} } \right],\quad {\mathbf{N}}^{(k)} = \left[ {\begin{array}{*{20}c} {N^{k} } & 0 \\ 0 & {N^{k} } \\ \end{array} } \right],\quad {\mathbf{M}} = \left[ {\begin{array}{*{20}c} {N^{1} } & {N^{2} } & \cdots \\ \end{array} } \right]. $$
(26)

In the FEM approximation, we can express the strain tensor in terms of the nodal degrees of freedom as

$$ {\varvec{\upvarepsilon}} = {\mathbf{Bq}}\text{.} $$
(27)

For the linear Lagrange iso-parametric quadrilateral element shown in Fig. 1, the interpolation of the Cartesian coordinates is expressed as

$$ \left\{ {\begin{array}{*{20}c} {x_{1} } \\ {x_{2} } \\ \end{array} } \right\} = \left[ {\begin{array}{*{20}c} {x_{1}^{(1)} } & {x_{1}^{(2)} } & {x_{1}^{(3)} } & {x_{1}^{(4)} } \\ {x_{2}^{(1)} } & {x_{2}^{(2)} } & {x_{2}^{(3)} } & {x_{2}^{(4)} } \\ \end{array} } \right]\left\{ {\begin{array}{*{20}c} {N^{1} (\xi_{1} ,\xi_{2} )} \\ {N^{2} (\xi_{1} ,\xi_{2} )} \\ {N^{3} (\xi_{1} ,\xi_{2} )} \\ {N^{4} (\xi_{1} ,\xi_{2} )} \\ \end{array} } \right\}, $$
(28)

where the nodal shape function \( N^{k} (\xi_{1} ,\xi_{2} ) \) associated with node k is expressed as

$$ N^{k} (\xi_{1} ,\xi_{2} ) = \frac{1}{4}\left( {1 + \xi_{1}^{(k)} \xi_{1} } \right)\left( {1 + \xi_{2}^{(k)} \xi_{2} } \right). $$
(29)

Then

$$ \left\{ {\begin{array}{*{20}c} {\partial /\partial x_{1} } \\ {\partial /\partial x_{2} } \\ \end{array} } \right\} = \left[ {\begin{array}{*{20}c} {\partial \xi_{1} /\partial x_{1} } & {\partial \xi_{2} /\partial x_{1} } \\ {\partial \xi_{1} /\partial x_{2} } & {\partial \xi_{2} /\partial x_{2} } \\ \end{array} } \right]\left\{ {\begin{array}{*{20}c} {\partial /\partial \xi^{1} } \\ {\partial /\partial \xi^{2} } \\ \end{array} } \right\} = {\mathbf{Y}}^{\text{T}} \left\{ {\begin{array}{*{20}c} {\partial /\partial \xi_{1} } \\ {\partial /\partial \xi_{2} } \\ \end{array} } \right\}, $$
(30)

where \( {\mathbf{Y}} = {\mathbf{J}}^{ - 1} \) and \( {\mathbf{J}} \) is the Jacobian of the coordinate transformation \( \left\{ {x_{1} ,\,x_{2} } \right\} \to \left\{ {\xi_{1} ,\,\xi_{2} } \right\} \)

$$ {\mathbf{J}} = \left[ {\begin{array}{*{20}c} {\frac{{\partial x{}_{1}}}{{\partial \xi_{1} }}} & {\frac{{\partial x{}_{1}}}{{\partial \xi_{2} }}} \\ {\frac{{\partial x{}_{2}}}{{\partial \xi_{1} }}} & {\frac{{\partial x{}_{2}}}{{\partial \xi_{2} }}} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {x_{1}^{(1)} } & {x_{1}^{(2)} } & {x_{1}^{(3)} } & {x_{1}^{(4)} } \\ {x_{2}^{(1)} } & {x_{2}^{(2)} } & {x_{2}^{(3)} } & {x_{2}^{(4)} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {{{\partial N^{1} } \mathord{\left/ {\vphantom {{\partial N^{1} } {\partial \xi_{1} }}} \right. \kern-0pt} {\partial \xi_{1} }}} & {{{\partial N^{1} } \mathord{\left/ {\vphantom {{\partial N^{1} } {\partial \xi_{2} }}} \right. \kern-0pt} {\partial \xi_{2} }}} \\ {{{\partial N^{2} } \mathord{\left/ {\vphantom {{\partial N^{2} } {\partial \xi_{1} }}} \right. \kern-0pt} {\partial \xi_{1} }}} & {{{\partial N^{2} } \mathord{\left/ {\vphantom {{\partial N^{2} } {\partial \xi_{2} }}} \right. \kern-0pt} {\partial \xi_{2} }}} \\ {{{\partial N^{3} } \mathord{\left/ {\vphantom {{\partial N^{3} } {\partial \xi_{1} }}} \right. \kern-0pt} {\partial \xi_{1} }}} & {{{\partial N^{3} } \mathord{\left/ {\vphantom {{\partial N^{3} } {\partial \xi_{2} }}} \right. \kern-0pt} {\partial \xi_{2} }}} \\ {{{\partial N^{4} } \mathord{\left/ {\vphantom {{\partial N^{4} } {\partial \xi_{1} }}} \right. \kern-0pt} {\partial \xi_{1} }}} & {{{\partial N^{4} } \mathord{\left/ {\vphantom {{\partial N^{4} } {\partial \xi_{2} }}} \right. \kern-0pt} {\partial \xi_{2} }}} \\ \end{array} } \right]. $$
(31)

Now, in view of the definition of \( {\varvec{\upvarepsilon}} \) and Eqs. (3), (24) and (30), we may write

$$\begin{aligned} {\varvec{\upvarepsilon}} & = \left[ {\begin{array}{*{20}c} {\frac{\partial }{{\partial x_{1} }}} & 0 \\ 0 & {\frac{\partial }{{\partial x_{2} }}} \\ {\frac{\partial }{{\partial x_{2} }}} & {\frac{\partial }{{\partial x_{1} }}} \\ \end{array} } \right]{\mathbf{u}}\\ &= \left[ {\begin{array}{*{20}c} {\left( {Y_{11} \frac{\partial }{{\partial \xi_{1} }} + Y_{21} \frac{\partial }{{\partial \xi_{2} }}} \right)} & 0 \\ 0 & {\left( {Y_{12} \frac{\partial }{{\partial \xi_{1} }} + Y_{22} \frac{\partial }{{\partial \xi_{2} }}} \right)} \\ {\left( {Y_{12} \frac{\partial }{{\partial \xi_{1} }} + Y_{22} \frac{\partial }{{\partial \xi_{2} }}} \right)} & {\left( {Y_{11} \frac{\partial }{{\partial \xi_{1} }} + Y_{21} \frac{\partial }{{\partial \xi_{2} }}} \right)} \\ \end{array} } \right]\\ &\times\left\{ {\begin{array}{*{20}c} {\sum\limits_{k} {N^{k} (\xi_{1} ,\xi_{2} )u_{1}^{(k)} } } \\ {\sum\limits_{k} {N^{k} (\xi_{1} ,\xi_{2} )u_{2}^{(k)} } } \\ \end{array} } \right\} \\ & = \sum\limits_{k} {\left[ {\begin{array}{*{20}c} {b_{1}^{(k)} } & 0 \\ 0 & {b_{2}^{(k)} } \\ {b_{2}^{(k)} } & {b_{1}^{(k)} } \\ \end{array} } \right]} \left\{ {\begin{array}{*{20}c} {u_{1}^{(k)} } \\ {u_{2}^{(k)} } \\ \end{array} } \right\} = \left[ {\begin{array}{*{20}c} {{\mathbf{B}}^{(1)} } & {{\mathbf{B}}^{(2)} } & \cdots \\ \end{array} } \right]\\ &\quad\times\left\{ {\begin{array}{*{20}c} {\left[ {\begin{array}{*{20}c} {u_{1}^{(1)} } & {u_{2}^{(1)} } \\ \end{array} } \right]} & {\left[ {\begin{array}{*{20}c} {u_{1}^{(2)} } & {u_{2}^{(2)} } \\ \end{array} } \right]} & \cdots \\ \end{array} } \right\}^{\text{T}} = {\mathbf{B}}\,{\mathbf{q}}, \\ \end{aligned}$$
(32)
$$ \begin{aligned} & {\text{where}}\;{\mathbf{B}} = \left[ {\begin{array}{*{20}c} {{\mathbf{B}}^{(1)} } & {{\mathbf{B}}^{(2)} } & \cdots \\ \end{array} } \right],\quad {\mathbf{B}}^{(k)} = \left[ {\begin{array}{*{20}c} {b_{1}^{(k)} } & 0 \\ 0 & {b_{2}^{(k)} } \\ {b_{2}^{(k)} } & {b_{1}^{(k)} } \\ \end{array} } \right], \\ & b_{1}^{(k)} = \left( {Y_{11} \frac{{\partial N^{k} }}{{\partial \xi_{1} }} + Y_{21} \frac{{\partial N^{k} }}{{\partial \xi_{2} }}} \right),\quad b_{2}^{(k)} = \left( {Y_{12} \frac{{\partial N^{k} }}{{\partial \xi^{1} }} + Y_{22} \frac{{\partial N^{k} }}{{\partial \xi^{2} }}} \right). \\ \end{aligned} $$
(33)

Following Galerkin’s method by assuming the test functions \( {\mathbf{w}} \) in the same form as the shape functions, we have

$$ {\mathbf{w}} = {\mathbf{N}}\quad {\text{and}}\quad {\mathbf{W}}_{{\varvec{\upvarepsilon}}} = {\mathbf{B}}. $$
(34)

Substituting Eqs. (24), (27) and (34) into Eq. (23), we obtain the following FE equations

$$ \left( {\int\limits_{\varOmega } {{\mathbf{B}}^{\text{T}} {\mathbf{LB}}{\text{d}}\varOmega } } \right){\mathbf{q}} - \left( {\int\limits_{\varOmega } {{\mathbf{B}}^{\text{T}} \eta c_{\text{max} } {\mathbf{GM}}{\text{d}}\varOmega } } \right){\mathbf{q}}_{c} = \int\limits_{{\varGamma_{t} }} {{\mathbf{N}}^{{\mathbf{T}}} {\bar{\mathbf{t}}}{\text{d}}\varGamma } . $$
(35)

Note that Eq. (35) is linear for the nodal unknowns \( {\mathbf{q}} \) and \( {\mathbf{q}}_{c} \). Nevertheless, because of the nonlinear Eq. (11), we adopt the perturbation procedure for the solution of the coupled chemo-elastic BVP. Therefore, we apply the same perturbation expansion also for the nodal values of the field variables as

$$ \begin{aligned} {\mathbf{q}}_{c} & = {\mathbf{q}}_{c(0)} + {\mathbf{q}}_{c(1)} \eta + {\mathbf{q}}_{c(2)} \eta^{2} + {\mathbf{q}}_{c(3)} \eta^{3} + \ldots , \\ {\mathbf{q}} & = {\mathbf{q}}_{(0)} + {\mathbf{q}}_{(1)} \eta + {\mathbf{q}}_{(2)} \eta^{2} + \ldots , \\ \end{aligned} $$
(36)

with \( {\mathbf{q}}_{c(n)} = \left\{ {\begin{array}{*{20}c} {\hat{c}_{(n)}^{(1)} } & {\hat{c}_{(n)}^{(2)} } & \cdots \\ \end{array} } \right\}^{\text{T}} \) and \({\mathbf{q}}_{(n)} = \left\{ {\begin{array}{*{20}c} {\left[ {\begin{array}{*{20}c} {u_{1(n)}^{(1)} } & {u_{2(n)}^{(1)} } \\ \end{array} } \right]} & {\left[ {\begin{array}{*{20}c} {u_{1(n)}^{(2)} } & {u_{2(n)}^{(2)} } \\ \end{array} } \right]} & \cdots \\ \end{array} } \right\}^{\text{T}}\).

Substituting Eq. (36) into the FEM Eq. (35) and comparing terms with the same power of the perturbation parameter \( \eta \), we get a system of FEM equations as

$$ \left( {\int\limits_{\varOmega } {{\mathbf{B}}^{\text{T}} {\mathbf{LB}}\text{d}\varOmega } } \right){\mathbf{q}}_{(0)} = \int\limits_{{\varGamma_{t} }} {{\mathbf{N}}^{\text{T}} {\bar{\mathbf{t}}}{\text{d}}\varGamma } , $$
(37)
$$\begin{aligned} &\left( {\int\limits_{\varOmega } {{\mathbf{B}}^{\text{T}} {\mathbf{LB}}\text{d}\varOmega } } \right){\mathbf{q}}_{(n)} - \left( {c_{\text{max} } \int\limits_{\varOmega } {{\mathbf{B}}^{\text{T}} {\mathbf{GM}}\text{d}\varOmega } } \right){\mathbf{q}}_{c(n - 1)} = 0,\\ &\quad n = 1,2, \ldots ,\end{aligned} $$
(38)

with \( {\mathbf{q}}_{c(0)} \) being uniformly distributed in the analyzed domain according to Eq. (15)

$$ {\mathbf{q}}_{c(0)} = \left\{ {\begin{array}{*{20}c} {\hat{c}_{\text{eq}} } & {\hat{c}_{\text{eq}} } & \cdots \\ \end{array} } \right\}^{\text{T}} . $$
(39)

The set of algebraic Eq. (38) for the nodal unknowns \( \hat{c}_{(n)}^{(k)} \) and \(u_{i(n)}^{(k)}\) with \( n = 1,2 \) must be supplemented by the discretized Eqs. (15)–(18) considered at the nodal points \( {\mathbf{x}}^{(j)} \). These additional equations yield

$$ \hat{c}_{(1)}^{(j)} = \frac{1}{E}\hat{c}_{\text{eq}} \left( {1 - \hat{c}_{\text{eq}} } \right){\mathbf{SD}}^{(j)} {\mathbf{q}}_{(0)} , $$
(40)
$$\begin{aligned} \hat{c}_{(2)}^{(j)} &= \frac{1}{E}\hat{c}_{\text{eq}} \left( {1 - \hat{c}_{\text{eq}} } \right)\left( { - \hat{c}_{\text{eq}} A + {\mathbf{SD}}^{(j)} {\mathbf{q}}_{(1)} } \right)\\ &\quad- \frac{{\left( {\hat{c}_{(1)}^{(j)} } \right)^{2} }}{2}\left[ {\frac{{2\hat{c}_{\text{eq}} - 1}}{{\hat{c}_{\text{eq}} \left( {1 - \hat{c}_{\text{eq}} } \right)}}} \right],\end{aligned} $$
(41)
$$ \begin{aligned} \hat{c}_{(3)}^{(j)} & = \frac{1}{E}\hat{c}_{\text{eq}} \left( {1 - \hat{c}_{\text{eq}} } \right)\left( { - A\hat{c}_{(1)}^{(j)} + {\mathbf{SD}}^{(j)} {\mathbf{q}}_{(2)} } \right) \\ & \quad - \left( {\hat{c}_{(1)}^{(j)} } \right)^{3} \left\{ {\frac{1}{3}\left[ {\frac{1}{{\hat{c}_{\text{eq}} \left( {1 - \hat{c}_{\text{eq}} } \right)}}} \right]^{2} - \frac{1}{{\hat{c}_{\text{eq}} \left( {1 - \hat{c}_{\text{eq}} } \right)}}} \right\}\\ &\quad - \hat{c}_{(1)}^{(j)} \hat{c}_{(2)}^{(j)} \left[ {\frac{{2\hat{c}_{\text{eq}} - 1}}{{\hat{c}_{\text{eq}} \left( {1 - \hat{c}_{\text{eq}} } \right)}}} \right], \\ \end{aligned} $$
(42)

where we have utilized the FEM approximations for the gradients of the displacements

$$ \begin{aligned} \left\{ {\begin{array}{*{20}c} {u_{1,1} } \\ {u_{2,2} } \\ \end{array} } \right\} & = \left[ {\begin{array}{*{20}c} {\left( {Y_{11} \frac{\partial }{{\partial \xi_{1} }} + Y_{21} \frac{\partial }{{\partial \xi_{2} }}} \right)} & 0 \\ 0 & {\left( {Y_{12} \frac{\partial }{{\partial \xi_{1} }} + Y_{22} \frac{\partial }{{\partial \xi_{2} }}} \right)} \\ \end{array} } \right]\\ &\quad\times\left\{ {\begin{array}{*{20}c} {\sum\limits_{k} {N^{k} (\xi_{1} ,\xi_{2} )} u_{1}^{(k)} } \\ {\sum\limits_{k} {N^{k} (\xi_{1} ,\xi_{2} )} u_{2}^{(k)} } \\ \end{array} } \right\} \\ & = \sum\limits_{k} {\left[ {\begin{array}{*{20}c} {b_{1}^{(k)} } & 0 \\ 0 & {b_{2}^{(k)} } \\ \end{array} } \right]} \left\{ {\begin{array}{*{20}c} {u_{1}^{(k)} } \\ {u_{2}^{(k)} } \\ \end{array} } \right\} = \left[ {\begin{array}{*{20}c} {{\mathbf{D}}^{(1)} } & {{\mathbf{D}}^{(2)} } & \cdots \\ \end{array} } \right]\\ &\quad\times\left\{ {\begin{array}{*{20}c} {\left[ {\begin{array}{*{20}c} {u_{1}^{(1)} } & {u_{2}^{(1)} } \\ \end{array} } \right]} & {\left[ {\begin{array}{*{20}c} {u_{1}^{(2)} } & {u_{2}^{(2)} } \\ \end{array} } \right]} & \cdots \\ \end{array} } \right\}^{\text{T}} = {\mathbf{Dq}} \\ \end{aligned} $$
(43)

or

$$ \left\{ {\begin{array}{*{20}c} {u_{(n)1,1} } \\ {u_{(n)2,2} } \\ \end{array} } \right\} = {\mathbf{Dq}}_{(n)} , $$
(44)

with \( {\mathbf{D}} = \left[ {\begin{array}{*{20}c} {{\mathbf{D}}^{(1)} } & {{\mathbf{D}}^{(2)} } & \cdots \\ \end{array} } \right] \), \( {\mathbf{D}}^{(k)} = \left[ {\begin{array}{*{20}c} {b_{1}^{(k)} } & 0 \\ 0 & {b_{2}^{(k)} } \\ \end{array} } \right] \), \( {\mathbf{S}} = \left[ {\begin{array}{*{20}c} {S_{1} } & {S_{2} } \\ \end{array} } \right] \).

Denoting the local coordinates of the nodal point \( {\mathbf{x}}^{(j)} \) as \( \left( {\xi_{1}^{(j)} ,\,\xi_{2}^{(j)} } \right) \), \( {\mathbf{D}}^{(j)} \) contains the derivatives of the shape functions \( N_{,1}^{k} (\xi_{1}^{(j)} ,\,\xi_{2}^{(j)} ) \), \( N_{,2}^{k} (\xi_{1}^{(j)} ,\,\xi_{2}^{(j)} ) \) calculated at the nodal point \( {\mathbf{x}}^{(j)} \).

Note here that we have restricted the power series expansion of the logarithmic term in Eq. (12) to the third order (\( n = 0,1,2,3 \)), but the perturbation procedure can be extended to higher orders \( n = 4,5, \ldots \). Now in order to solve for the nodal values \( {\mathbf{q}}_{(n)} \) and \( {\mathbf{q}}_{c(n)} \), we first solve the system of Eq. (37) for \( {\mathbf{q}}_{(0)} \), then using \( {\mathbf{q}}_{(0)} \) and the uniform \( {\mathbf{q}}_{c(0)} \) in Eq. (39), we solve Eq. (38) for \( {\mathbf{q}}_{(1)} \). Equation (40) is then solved at each node of each element, and assembled by averaging the values obtained from all neighboring elements at each node to obtain \( {\mathbf{q}}_{c(1)} \). Equation (41) is solved similarly to obtain \( {\mathbf{q}}_{c(2)} \). Equation (38) is then used again to obtain \( {\mathbf{q}}_{(2)} \). Finally, Eq. (42) is solved for \( {\mathbf{q}}_{c(3)} \) in a similar way to \( {\mathbf{q}}_{c(1)} \) and \( {\mathbf{q}}_{c(2)} \). The final nodal variables \( {\mathbf{q}} \) and \( {\mathbf{q}}_{c} \) are then obtained via Eq. (36). A Matlab code was developed to solve for the nodal displacements and dimensionless solute concentrations and plots the distribution of all primary and secondary variables of interest. The code is validated in the next section and used to analyze other chemo-elastic BVPs. In all examples, results with power series expansion up to the second order were found to be very similar to those of third order with less than 1% difference. If the second order perturbation expansion is to be used, \( {\mathbf{q}}_{c(3)} \) and \( {\mathbf{q}}_{(2)} \) would be removed from Eq. (36).

4 Numerical examples

4.1 Chemo-elastic plate with a central circular hole

In this section, we consider a central circular hole in an infinite plane under uniaxial tension (Fig. 2). Because of the double symmetry of the geometry, boundary conditions and load, only quarter plate is modeled as shown in the figure. The same example was analyzed in Ref. [1] and we use their analytical results for code validation purposes. The plane is modeled here as a finite square plate of side length 2L, and the radius of the circular hole is a. In this work, we select L = 0.5 m, and a/L = 1/10 (or a = 0.05 m). The plate is embedded in an infinite reservoir so that it maintains a uniform chemical potential \( \bar{\varSigma }_{\text{eq}} = b \) throughout, and the prescribed solute concentration far away from the hole is given by \( c^{\infty } \). A finite element mapped mesh was created on COMSOL multiphysics with local mesh refinement around the hole as shown in Fig. 3. The mesh has 1800 quadrilateral elements equivalent to 1891 nodes and 3782 mechanical degrees of freedom (DoFs). Plane stress assumption is used. Applying Eq. (11) at the far field, we get

$$ b = \ln \frac{{\hat{c}^{\infty } }}{{1 - \hat{c}^{\infty } }} - \frac{{\hat{\eta }\sigma^{\infty } }}{E}, $$
(45)

where \( \hat{c}^{\infty } = c^{\infty}/{c_{\text{max}}} \). In the absence of applied stress,

$$ b = \ln \frac{{\hat{c}_{\text{eq}} }}{{1 - \hat{c}_{\text{eq}} }}, $$
(46)

where \( \hat{c}_{\text{eq}} \) is the initial dimensionless solute concentration in the absence of stress.

Fig. 2
figure 2

Plate with a circular central hole under uniaxial load

Fig. 3
figure 3

Finite element mesh used in Sect. 4.1

In Ref. [1], an analytical solution was found for the dimensionless solute concentration and hoop stress, respectively, as

$$ \frac{{\hat{c}}}{{\hat{c}^{\infty } }} = 1 + 2(1 - \hat{c}^{\infty } )\frac{{\hat{\eta }\sigma^{\infty } }}{E}\frac{\cos 2\theta }{{\rho^{2} }} + 2(1 - \hat{c}^{\infty } )(1 - 2\hat{c}^{\infty } )\left( {\frac{{\hat{\eta }\sigma^{\infty } }}{E}\frac{\cos 2\theta }{{\rho^{2} }}} \right)^{2} , $$
(47)
$$\begin{aligned} \frac{{\sigma_{\theta \theta } }}{{\sigma^{\infty } }} &= \frac{1}{2}\left( {1 + \frac{1}{{\rho^{2} }}} \right) + \frac{1}{2}\left( {1 + \frac{3}{{\rho^{4} }}} \right)\cos 2\theta\\ &\quad- \bar{c}_{\text{max} } \hat{c}^{\infty } (1 - \hat{c}^{\infty } )(1 - 2\hat{c}^{\infty } )\frac{{\sigma^{\infty } }}{E}\frac{1}{{2\rho^{2} }}\left( {\frac{3}{{\rho^{2} }} - 1} \right)\hat{\eta }^{2} ,\end{aligned} $$
(48)

where \( \rho = r/a\), r and θ are the radial and angular coordinates from the center of the circular hole, respectively, and \( \bar{c}_{\text{max} } = \eta V_{m} c_{\text{max} } \). Note that the distribution of \( {\raise0.7ex\hbox{${\hat{c}}$} \!\mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}}\right.\kern-0pt} \!\lower0.7ex\hbox{${\hat{c}^{\infty } }$}} \) along the periphery of the hole depends only on \( \hat{c}^{\infty } \) and \( \frac{{\hat{\eta }\sigma^{\infty } }}{E} \), while the distribution of \( {\raise0.7ex\hbox{${\sigma_{\theta \theta } }$} \!\mathord{\left/ {\vphantom {{\sigma_{\theta \theta } } {\sigma^{\infty } }}}\right.\kern-0pt} \!\lower0.7ex\hbox{${\sigma^{\infty } }$}} \) depends on \( \hat{c}^{\infty } \), \( \frac{{\sigma^{\infty } }}{E} \), \( \hat{\eta }^{2} \) and \( \bar{c}_{\text{max} } \).

The values used in Ref. [1] are \( \frac{{\hat{\eta }\sigma^{\infty } }}{E} = 0.1 \) and \( \hat{c}^{\infty } = 0.1,0.6 \), and are also used here for validation. Given \( \frac{{\hat{\eta }\sigma^{\infty } }}{E} \) and \( \hat{c}^{\infty } \), we can get \( b \) using Eq. (45), and accordingly we can get \( \hat{c}_{\text{eq}} \) via Eq. (46). In these simulations, we also assume \( V_{m} = 10^{ - 3} \,{\text{m}}^{3} / {\text{mol}} \), \( c_{\text{max} } = 100\,{\text{mol/m}}^{3} \), \( \hat{\sigma }^{\infty } = \frac{{\sigma^{\infty } }}{E} = 10^{ - 4} \), E = 100 GPa, \( v = 0.3 \), and \( RT = 2500\,{\text{J/mol}} \). Accordingly, \( \eta = 0.025 \), and \( \bar{c}_{\text{max} } = 2.5 \times 10^{ - 3} \). Figure 4 shows the variation of the solute concentration on the hole surface, \({{\hat{c}(a,\theta )} \mathord{\left/ {\vphantom {{\hat{c}(a,\theta )} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }},\) as a function of θ. The dimensionless solute concentration is amplified by the tensile stress at θ = 0 and attenuated by the compressive stress at θ = π/2. As \( \hat{c}^{\infty } \) decreases, the effect of stress on the dimensionless solute concentration increases. The figure also shows excellent agreement between the current model and the analytical solution. Arrangements of holes can be used by designers to create specific solute concentration distribution in chemo-elastic bodies under chemical equilibrium.

Fig. 4
figure 4

Dimensionless solute concentration \( {{\hat{c}(a,\theta )} \mathord{\left/ {\vphantom {{\hat{c}(a,\theta )} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) on the hole surface

4.2 Chemo-elastic plate with a central circular rigid inclusion

If the hole in the previous example is replaced by a rigid inclusion, the plate experiences compressive \( \sigma_{\theta \theta } \) at θ = 0 and tensile \( \sigma_{\theta \theta } \) at θ = 90°. The change in the stress distribution in the chemo-elastic plate around the rigid inclusion affects the distribution of the dimensionless solute concentration as can be seen in Fig. 5 where \( {{\hat{c}(a,\theta )} \mathord{\left/ {\vphantom {{\hat{c}(a,\theta )} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) decreases at θ = 0 and increases at θ = 90°. Decreasing \( \hat{c}^{\infty } \), enhances the effect of the applied stress on the solute concentration. Figures 6 and 7 show the distribution of \( \sigma_{\text{VM}} /\sigma^{\infty } \) and \( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) when \( \hat{c}^{\infty } \) = 0.6 (where \( \sigma_{\text{VM}} \) indicates the Von Mises stress). It can be concluded that the rigidity of the defect has a significant effect on the distribution of the solute concentration around the defect. Combinations of holes and solid inclusions can be intentionally introduced to chemo-elastic bodies to create intended distribution of solute concentration for different applications.

Fig. 5
figure 5

Dimensionless solute concentration \( {{\hat{c}(a,\theta )} \mathord{\left/ {\vphantom {{\hat{c}(a,\theta )} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) on the rigid inclusion surface

Fig. 6
figure 6

\( \sigma_{\text{VM}} /\sigma^{\infty } \) distribution with \( \hat{c}^{\infty } \) = 0.6

Fig. 7
figure 7

\( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) distribution with \( \hat{c}^{\infty } \) = 0.6

4.3 Chemo-elastic plate with a central elliptical hole

If the central circular hole in Sect. 4.1 is replaced by an elliptical hole with semi-axes a and b in x1- and x2-directions, respectively, the stress distribution around the hole changes and accordingly the distribution of the solute concentration changes. Figures 8, 9, 10 and 11 show the dimensionless solute concentration \( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) on the hole surface and along the surface of the hole and axis of symmetry for three values of a/b (0.5, 1, and 2), b = 0.05 m, with \( \hat{c}^{\infty } \) = 0.6 and 0.1. The case of a/b = 1 corresponds to circular hole is included here for comparison.

Fig. 8
figure 8

\( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) on the elliptical hole surface for \( \hat{c}^{\infty } = 0.6 \)

Fig. 9
figure 9

\( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) along the surface of the hole and axis of symmetry for \( \hat{c}^{\infty } = 0.6 \)

Fig. 10
figure 10

\( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) on the elliptical hole surface for \( \hat{c}^{\infty } = 0.1 \)

Fig. 11
figure 11

\( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) along the surface of the hole and axis of symmetry for \( \hat{c}^{\infty } = 0.1 \)

It can be seen that as a/b increases, the distribution of \( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) on the elliptical hole surface changes; its value at 0° increases, but does not change at 90°. As \( \hat{c}^{\infty } \) decreases, the change in the distribution of \( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) with varying a/b becomes more significant and the values of \( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) at 0° increase. Designers of porous chemo-elastic bodies can use the a/b ratio of the elliptical holes as an additional design parameter to tailor the resulting solute concentration distribution in different applications.

4.4 Chemo-elastic plate with a central crack

Consider a central crack in a plate under uniaxial tension as shown in Fig. 12. Again, only a quarter plate is modeled due to the double symmetry of geometry, boundary conditions and loads. The length and width of the plate are 2L and the length of the crack is 2a. In this example, we select L = 1 m, and a/L = 0.4. All material and loading parameters are similar to the previous examples. Plane stress assumption is used. A uniform finite element mesh was created on Matlab with n × n higher order (9-node) elements equivalent to (2n + 1)2 nodes and 2(2n + 1)2 mechanical DoFs. The side length of each square element is h = L/n. Figure 13 shows the dimensionless solute concentration, \( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \), along the crack surface and axis of symmetry for different values of \( \hat{c}^{\infty } \) when n = 40. The presence of the crack creates a stress singularity at the crack tip, and this results in a sharp peak in the solute concentration. The intensity of this peak increases as \( \hat{c}^{\infty } \) decreases. Cracks in chemo-elastic solids create stress concentrations at crack tips, as well as sharp increases in the solute concentration around the crack tips. This affects the behavior of cracked chemo-elastic solids in various applications.

Fig. 12
figure 12

Plate with a central crack under uniaxial load

Fig. 13
figure 13

\( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) on the crack surface and axis of symmetry

4.5 Plate with two symmetric cracks on the boundary of a central hole

In this section, we analyze a problem of a plate with circular central hole and two symmetric cracks extending horizontally from the hole as shown in Fig. 14, where only a quarter of the model is considered due to double symmetry. Uniform vertical load is applied on the upper surface. The radius of the hole is denoted a, while the length of the crack is denoted b. The mesh and material parameters used in example 4.1 are also used here.

Fig. 14
figure 14

Plate with a circular central hole with two symmetric cracks under uniaxial load

Figure 15 shows the dimensionless solute concentration \( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) on the boundary of the hole and axis of symmetry \( x_{1} \) for different crack lengths when \( \hat{c}^{\infty } = 0.1 \). The presence of the crack makes \( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) at 0° no longer greater than 1 and creates a new region beside the hole where \( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) is smaller than 1 along the crack surface, then \( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) peaks at the crack tip. As the crack length increases, this new region extends, and the location of the sharp peak moves away from the hole. Also, as the crack length increases, \( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) at 90° (\( x_{1} \) = 0) increases. Designers can then introduce holes of various shapes, including shapes with sharp corners, to create specific solute concentrations in chemo-elastic bodies under chemical equilibrium.

Fig. 15
figure 15

Effect of crack length on the dimensionless solute concentration \( {{\hat{c}} \mathord{\left/ {\vphantom {{\hat{c}} {\hat{c}^{\infty } }}} \right. \kern-0pt} {\hat{c}^{\infty } }} \) over the surface of the hole and axis of symmetry

5 Summary and conclusions

In this paper, a perturbation finite element approach is proposed to solve the coupled governing equations of chemo-elasticity under chemical equilibrium. The perturbation method is used because of the nonlinearity of the chemical potential in terms of solute concentration. The compositional expansion coefficient is used as the perturbation parameter. The nodal displacements and dimensionless solute concentrations are solved in consecutive steps. A Matlab code has been developed for the proposed method and the results show excellent agreement with the analytical solution for the problem of chemo-elastic plate with a central circular hole. Problems of chemo-elastic plate with a central rigid inclusion, elliptical hole, crack, and a hole with extended cracks have also been solved. The results showed the significant effect of the shape and rigidity of the defect on the solute concentration around the defect. Cracks in chemo-elastic solids create sharp peaks of solute concentration at crack tips, and the intensity of the peaks increases as the far field prescribed solute concentration decreases. The presence of a computational model allows for modeling chemo-elastic bodies of any geometric shape, and for simulating different phenomena such as swelling, stress evolution and variations in solute concentrations in chemo-elastic solids. These phenomena happen in variety of applications such as battery electrodes, ionic gels and stone monuments.