%~Mouliné par MaN_auto v.0.32.4 2024-11-18 14:09:20
\documentclass[CRMECA, Unicode, XML, screen, biblatex]{cedram}

\addbibresource{crmeca20240567.bib}

\usepackage{mystyle}
\usepackage{tcolorbox}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage[nameinlink,noabbrev,capitalise]{cleveref}

\newcommand{\beps}{\bvarepsilon}
\newcommand{\Green}{\bGamma^0}
\newcommand{\bCref}{\bC_0}

\newcommand{\sym}{\mathrm{sym}}
\newcommand{\homo}{\mathrm{hom}}
\newcommand{\rmm}{\mathrm{m}}
\newcommand{\rmp}{\mathrm{p}}
\newcommand{\rmr}{\mathrm{r}}
%\newcommand{\rmext}{\mathrm{ext}}
\newcommand{\bbR}{\mathbb{R}}
\newcommand{\tttol}{\texttt{tol}}
%\newcommand{\Reuss}{\mathrm{R}}
%\newcommand{\Voigt}{\mathrm{V}}

\makeatletter
\def\cdr@preabstracthook{%
\vspace*{-5pt}
\vskip2pt plus 3pt minus 1pt
}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\graphicspath{{./figures/}}

\newcommand*{\mk}{\mkern -1mu}
\newcommand*{\Mk}{\mkern -2mu}
\newcommand*{\mK}{\mkern 1mu}
\newcommand*{\MK}{\mkern 2mu}

\hypersetup{urlcolor=purple, linkcolor=blue, citecolor=red}

\newcommand*{\relabel}{\renewcommand{\labelenumi}{(\theenumi)}}
\newcommand*{\romanenumi}{\renewcommand*{\theenumi}{\roman{enumi}}\relabel}
\newcommand*{\Romanenumi}{\renewcommand*{\theenumi}{\Roman{enumi}}\relabel}
\newcommand*{\alphenumi}{\renewcommand*{\theenumi}{\alph{enumi}}\relabel}
\newcommand*{\Alphenumi}{\renewcommand*{\theenumi}{\Alph{enumi}}\relabel}
\let\oldforall\forall
\renewcommand*{\forall}{\mathrel{\oldforall}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatletter
%\def\TITREspecial{\relax}\def\cdr@specialtitle@english{}\def\cdr@specialtitle@french{}
\makeatother{}


\title{Accelerating the Adaptive Eyre--Milton FFT-based method for infinitely double contrasted media}

\alttitle{Accélération du schéma Eyre--Milton adaptatif pour l'homogénéisation par FFT des milieux à double contraste infini}

\keywords{computational homogenization, FFT-based method, iterative scheme, linear elasticity, composite materials}

\altkeywords{homogénéisation computationnelle, méthode basée sur la FFT, schéma itératif, élasticité linéaire, matériaux composites}

\author{\firstname{Martin} \lastname{Dolbeau}}
\address{Laboratoire Navier, IPParis ENPC, Univ Gustave Eiffel, CNRS, Marne-la-Vallée, France}
\email{martin.dolbeau@enpc.fr}

\author{\firstname{Jérémy} \lastname{Bleyer}}
\address[1]{Laboratoire Navier, Ecole Nationale des Ponts et Chaussées, Univ Gustave Eiffel, CNRS, Marne-la-Vallée, France}
\email{jeremy.bleyer@enpc.fr}

\author{\firstname{Karam} \lastname{Sab}\IsCorresp}
\address[1]{Laboratoire Navier, Ecole Nationale des Ponts et Chaussées, Univ Gustave Eiffel, CNRS, Marne-la-Vallée, France}
\email{karam.sab@enpc.fr}

\begin{abstract}
Sab et al. (2024) have recently proposed an FFT-based iterative algorithm, termed Adaptive Eyre--Milton (AEM), for solving the Lippmann--Schwinger equation in the context of periodic homogenization of infinitely double contrasted linear elastic composites (heterogeneous materials with linear constitutive laws that contain both pores and rigid inclusions). They have demonstrated the unconditional linear convergence of this scheme, regardless of initialization and the chosen reference material. However, numerical simulations have shown that the rate of convergence of AEM strongly depends on the chosen reference material. In this paper, we introduce a new version of the AEM scheme where the reference material is updated iteratively, resulting in a fast and versatile scheme, termed Accelerated Adaptive Eyre--Milton (A2EM). Numerical simulations with A2EM on linear elastic composites with both pores and infinitely rigid inclusions show that, regardless of the initial chosen reference material, this algorithm has the same rate of convergence as AEM with the best choice of reference material.
\end{abstract}

\begin{altabstract}
Sab \emph{et al.} (2024) ont récemment proposé un algorithme itératif basé sur la FFT, appelé Adaptive Eyre--Milton (AEM), pour résoudre l'équation de Lippmann--Schwinger dans le contexte de l'homogénéisation périodique de composites élastiques linéaires à double contraste infini (matériaux hétérogènes avec des lois constitutives linéaires contenant à la fois des pores et des inclusions rigides). Ils ont démontré la convergence linéaire inconditionnelle de ce schéma, quel que soit l'initialisation et le matériau de référence choisis. Cependant, les simulations numériques ont montré que la vitesse de convergence du schéma AEM dépend fortement du choix du matériau de référence. Dans cet article, nous introduisons une nouvelle version du schéma AEM, où le matériau de référence est mis à jour de manière itérative, aboutissant à un schéma rapide et polyvalent, appelé Accelerated Adaptive Eyre--Milton (A2EM). Des simulations numériques avec le schéma A2EM sur des composites élastiques linéaires avec des pores et des inclusions infiniment rigides montrent que, quel que soit le matériau de référence initial choisi, cet algorithme a la même vitesse de convergence que le schéma AEM avec le meilleur choix du matériau de référence.
\end{altabstract}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\maketitle

\section{Introduction}

Since Moulinec and Suquet~\cite{moul1994, moul1998} pioneering work, FFT-based methods for periodic homogenization of composites have become very popular. The initial corrector problem on the unit cell is reformulated as a single integral equation known as the Lippmann--Schwinger equation~\cite{korr1973, zell1973, kron1974}, which is solved iteratively. At each iteration, the convolution kernel of the integral equation must be applied. This is done most efficiently in the Fourier space, by means of fast Fourier transforms (FFT) in a discrete setting. Many authors introduced new iterative schemes which prove more efficient in some situations. Among them, the Eyre and Milton scheme~\cite{eyre1999}, the \emph{augmented Lagrangian} scheme of Michel, Moulinec and Suquet~\cite{mich2001}, the \emph{polarization-based} schemes of Monchiet and Bonnet~\cite{monc2012,moul2014}. In a non-linear setting, Newton or quasi-Newton approaches, combined with Krylov solvers~\cite{zema2010, bris2010a} deliver very efficient solution schemes~\cite{gele2013}. Most notably, by observing that the basic scheme could be seen as a gradient descent, Kabel et al.~\cite{kabe2014} allowed the introduction of accelerated-gradient methods and other well-known optimization methods~\cite{schn2017, schn2019}. The literature on the topic is very rich, and the reader is referred to the recent and comprehensive review by Schneider~\cite{schn2021}.

However, existing FFT-based algorithms were not adapted to the case of infinitely double contrasted linear elastic composites (heterogeneous materials with linear constitutive laws that contain both pores and rigid inclusions). Recently, the authors introduced in~\cite{sab_fft-based_2024} the so-called polarization-based \emph{adaptive Eyre--Milton} (AEM) scheme to address this case. They demonstrate the unconditional linear convergence of this scheme, regardless of initialization and the chosen reference material. Their numerical experiments indeed confirmed that AEM convergence rate is very fast if the reference material is well chosen.

In this paper, numerical simulations with AEM, and another polarization-based scheme named ``$\gamma=0$''-scheme, on linear elastic composites consisting of a homogeneous matrix containing both pores and infinitely rigid inclusions will demonstrate the existence of an optimal reference material. Then, an \emph{accelerated} version of the AEM and ``$\gamma=0$'' schemes where the reference material is updated iteratively will be presented. Two possible updating rules will be considered and compared. Numerical simulations will show that the rate of convergence of both the termed Accelerated Adaptive Eyre--Milton (A2EM) scheme and accelerated ``$\gamma=0$''-scheme does not depend much on the chosen initial reference material, and that it is more or less equal to the rate of convergence of the non accelerated original scheme with the best choice of reference material.

Following~\cite{sab_fft-based_2024}, the homogenization problem in the presence of pores and rigid inclusions is formulated in \cref{sec:The_homogenization_problem}, as well as the corresponding Lippmann--Schwinger equation. The AEM scheme is recalled in \cref{sec:composites_containing_pores_and_rigid_inclusions}. Then, the knew A2EM scheme is introduced in \cref{sec:acc}. This section is followed by the discussion in \cref{sec:implementation} of a few practical issues regarding the implementation of the method, namely: the optimization of the number of convolutions per iteration and the number of variables to be stored.

The paper closes in \cref{sec:applications} with a few illustrative applications, in a three-dimensional setting. These examples clearly illustrate the performance of the proposed A2EM scheme.

\section{The homogenization problem}\label{sec:The_homogenization_problem}


We consider homogenization of a periodic, linearly elastic material, containing pores and rigid inclusions, in the $d$-dimensional real space $\bbR^d(d = 2, 3)$. The unit-cell is denoted by $\Omega=[0,L_1]\times\ldots\times[0,L_d]$ where $L_i>0$ are the side lengths of $\Omega$ and $\langle \bullet \rangle_\Omega$ is the volume average operator over $\Omega$. Let $\Omega^\rmr$, $\Omega^\rmp$ and $\Omega^\rmm$ denote the open domains of $\Omega$ occupied by, respectively, the rigid inclusions, the pores and the heterogeneous matrix.

A field $X$ is $\Omega$-periodic if $X(y_1,\,\ldots,\,y_d)=X(y_1+L_1,\,\ldots,\,y_d)=\ldots=X(y_1,\,\ldots,\,y_d+L_d)$ at any point $\by = (y_1,\,\ldots,\,y_d) \in \bbR^d$. Let $\bL_{\sym}^2(\Omega)$ denote the space of symmetric second-order tensor fields $\by \mapsto \bt(\by)$ ($t_{ij}(\by)=t_{ji}(\by)$, $i,j=1,\,\ldots,\,d$), which are $\Omega$-periodic and square integrable over $\Omega$. Adopting Einstein's summation convention over repeated indices, we introduce the double contraction operator ``$:$'' defined as $\ba : \bb = a_{ij} \, b_{ij}$, where $\ba$ and $\bb$ are two second-order tensors. The bilinear form $(\ba, \bb)\mapsto \langle \ba : \bb \rangle_\Omega$ then defines a scalar product over $\bL_{\sym}^2(\Omega)$ and the associated natural norm is
\begin{equation}
\Vert \bt \Vert _{\bL_{\sym}^2} = \sqrt{\langle\bt:\bt\rangle_\Omega},
\end{equation}

It is well-known (see e.g.~\cite{milt2002}) that, endowed with this natural norm and scalar product, $\bL_{\sym}^2(\Omega)$ can be decomposed into the two orthogonal sub-spaces $\bS$ and $\bD$:
\begin{equation}\label{orthogonality}
\bL_{\sym}^2(\Omega)=\bS \overset{\perp}{\oplus} \bD
\end{equation}
where $\bS$ is the sub-space of the $\bsig \in \bL_{\sym}^2(\Omega)$ which are divergence-free in the sense of distributions over $\bbR^d$, $\sigma_{ij,j}=0$, and $\bD$ is the sub-space of the strains $\be \in \bL_{\sym}^2(\Omega)$ which are kinematically compatible with zero mean ($\be$ is curl-curl-free and $e_{ij}=\frac{1}{2}(u_{i,j}+u_{j,i})$ where $\bu=(u_i)$ is an $\Omega$-periodic displacement vector field).

Within the framework of linear elasticity, the fourth-order stiffness tensor $\bC(\by)=(C_{ijkl}(\by))$ ($i,j,k,l=1,\,\ldots,\,d$) is defined only in the heterogeneous matrix for $\by\in\Omega^\rmm$, and it exhibits both minor ($C_{ijkl}=C_{ijlk}=C_{jikl}$) and major ($C_{ijkl}=C_{klij}$) symmetries.

We say that a pair of strain-stress fields, $(\beps,\bsig)\in\bL_{\sym}^2(\Omega)\times\bL_{\sym}^2(\Omega)$, complies with the constitutive equations if the following equations hold true:
\begin{equation}\label{eq:conditions-on-sig-and-eps}
\beps=0 \text{ in } \Omega^\rmr, \quad \bsig=0 \text{ in } \Omega^\rmp \quad \text{and} \quad \bsig=\bC:\beps \text{ in } \Omega^\rmm.
\end{equation}
Let $\bE$ denote a macroscopic strain tensor (symmetric, second-order tensor which is uniform over $\Omega$). Then, the homogenization problem can be stated as follows:
\begin{equation}\label{eq:homogenization-problem-extended}
\text{Find } (\be_E,\bsig_E) \in \bD\times\bS \text{ such that } (\beps_E=\bE+\be_E,\bsig_E) \text{ complies with~\eqref{eq:conditions-on-sig-and-eps} }
\end{equation}
It is shown that under the assumptions stated in~\cite{sab_fft-based_2024} the above problem has a unique solution, $(\beps_E,\bsig_E)$, up to a pair $(\be, \bsig) \in \bD \times \bS$ with $(\be, \bsig) = (0,0)$ in $\Omega^\rmm$, and that the homogenized stiffness tensor $\bC_{\homo}$ is defined by:
\begin{equation}
\forall \bE, \; \frac{1}{2}\bE: \bC_{\homo}:\bE = \left\langle \frac{1}{2}\bsig_E : \be_E \right\rangle_{\Omega}
\end{equation}
It is also shown that the problem~\eqref{eq:homogenization-problem-extended} can be equivalently reformulated as follows:
\begin{equation}\label{eq:homogenization-problem-extended-bis}
\text{Find } (\beps_E,\bsig_E)\in\bL_{\sym}^2(\Omega)\times\bL_{\sym}^2(\Omega) \text{ complying to~\eqref{eq:conditions-on-sig-and-eps} such that }
\bX(\beps_E,\bsig_E)=0,
\end{equation}
where, for any pair of strain-stress fields $(\beps,\bsig)\in\bL_{\sym}^2(\Omega)\times\bL_{\sym}^2(\Omega)$, the corresponding residual field $\bX(\beps,\bsig)$ is given by:
\begin{equation}\label{eq:residual-II}
\bX(\beps,\bsig) = \bE -\beps- \Green*\left[(\bsig-\bCref:\beps\right].
\end{equation}
Here, $\bCref$ is the reference material which is a uniform, positive-definite ($\beps:\bCref:\beps > 0$ for all $\beps\neq0$), fourth-order tensor with both minor and major symmetries, and $\Green$ its associated Green operator defined as follows.

For any $\btau \in \bL_{\sym}^2(\Omega)$, the following problem:
\begin{equation}
\text{Find }\be_{\tau} \in \bD \text{ such that } \bCref:\be_{\tau} + \btau \in \bS
\end{equation}
has a unique solution $\be_\tau$ that depends linearly on $\btau$. The Green operator $\Green$ associated to $\bCref$ is defined as the linear operator that maps $\btau$ onto $-\be_{\tau}$~\cite{korr1973, zell1973, kron1974}:
\begin{equation}
\be_{\tau}=-\Green*\btau
\end{equation}

The Green operator $\Green$ has an analytical expression in Fourier space, and hence the convolution $\Green*\btau$ can be efficiently computed using FFT techniques~\cite{moul1994, moul1998}. The $\Green$ operator thus defined enjoys a number of properties~\cite{mich2001}:
\begin{equation}\label{eq:prop-Green-I}
\Green*\btau = 0 \quad \iff \quad \btau \in \bS
\end{equation}
\begin{equation}\label{eq:prop-Green-II}
\left\langle\be:\bCref:\left(\Green*\btau\right)\right\rangle_{\Omega} = \langle \be : \btau \rangle_{\Omega}
\text{ for all } \btau \in \bL_{\sym}^2(\Omega)
\text{ and } \be \in \bD.
\end{equation}

To close this section, we recall the decomposition of any tensor field in $\bL_{\sym}^2(\Omega)$ introduced in~\cite{sab_fft-based_2024}; see also~\cite{Bellis2019}. For any $\bt \in \bL_{\sym}^2(\Omega)$, we define its $\bCref$-norm as:
\begin{equation}
\Vert \bt \Vert _{\bCref} = \sqrt{\langle\bt:\bCref:\bt\rangle_\Omega},
\end{equation}
and its decomposition:
\begin{equation}\label{eq:decomposition}
\bt^D=\Green*(\bCref:\bt) \quad \text{and} \quad \bt^S=\bt-\bt^D.
\end{equation}
The following properties are easily established:
\begin{equation}
\bt^D \in \bD, \quad
\bCref:\bt^S \in \bS
\quad \text{and} \quad
\Vert \bt \Vert^2 _{\bCref} =\Vert \bt^D \Vert^2 _{\bCref}+\Vert \bt^S \Vert^2 _{\bCref}
\end{equation}
and
\begin{equation}\label{eq:orthogonality}
\left\langle\bt_1:\bCref:\bt_2^S\right\rangle_\Omega=\left\langle\bt_1^S:\bCref:\bt_2\right\rangle_\Omega \quad
\text{ and } \quad
\left\langle\bt_1:\bCref:\bt_2^D\right\rangle_\Omega=\left\langle\bt_1^D:\bCref:\bt_2\right\rangle_\Omega,
\end{equation}
for all $\bt_1, \bt_2 \in \bL_{\sym}^2(\Omega)$.

Hence, $\bt^D$ appears as the orthogonal projection of $\bt$ on $\bD$ with respect to the $\bCref$-norm. Unless $\bCref$ is of the form $k\bI$, with $k$ a positive scalar and $\bI$ the fourth-order identity tensor operating on symmetric second order tensors ($\bI:\bt=\bt$ for any symmetric second order tensor $\bt$), the subspaces $\bD$ and $\bS$ are \emph{not} orthogonal with respect to the $\bCref$-norm, $\bt^S$ is \emph{not} in $\bS$ and it is \emph{not} the orthogonal projection of $\bt$ on $\bS$ with respect to the $\bCref$-norm. $\bt^S$ is actually the projection (with respect to the $\bCref$-norm) of $\bt$ on the subspace $\bS'$ of $\bt' \in \bL_{\sym}^2(\Omega)$ such that $\bCref:\bt' \in \bS$. Combining~\eqref{eq:prop-Green-I} with~\eqref{eq:decomposition}, we obtain the following characterizations of $\bS$ and $\bD$:
\begin{equation}\label{eq:prop-Green-III}
\left(\bCref^{-1}:\btau\right)^D = 0 \quad \iff \quad \btau \in \bS,
\quad \text{ and } \quad
\be^S = 0 \quad \iff \quad \be \in \bD.
\end{equation}
As a result, the $\bCref$-norm of $(\bCref^{-1}:\btau)^D$ can be considered as a measure of the equilibrium error for the stress field $\btau$ and the $\bCref$-norm of $\be^S$ can be considered as a measure of the compatibility error for the strain field $\be$.

Moreover, the residual $\bX$ can be decomposed as:
\begin{equation}\label{eq:residual-decomposition}
\bX = \bX^S+\bX^D \; \text{with} \; \bX^S=\bE-\beps^S=\left(\bE-\beps\right)^S \; \text{and} \; \bX^D=- \Green*\bsig=-\left(\bCref^{-1}:\bsig\right)^D.
\end{equation}
Hence, $\bX=0$ is equivalent to $\beps-\bE\in\bD$ and $\bsig\in\bS$.

It should be emphasized that multiplying $\bCref$ by a strictly positive real does not change the above introduced decomposition~\eqref{eq:decomposition}.



\section{AEM scheme for composites containing pores and rigid inclusions}\label{sec:composites_containing_pores_and_rigid_inclusions}


Equation~\eqref{eq:homogenization-problem-extended-bis}, which is the extension of the Lippmann--Schwinger to composites containing pores and rigid inclusions, is at the center of the so-called ``FFT-based numerical homogenization techniques'' first introduced by Moulinec and Suquet~\cite{moul1994, moul1998}. The reader is referred to the recent review~\cite{schn2021} for a more detailed description of this numerical technique.


The AEM scheme is started with $(\beps^{0},\bsig^{0})=(0,0)$ and its corresponding residual $ \bX^{0}=\bE$. For $n\ge 0$, if $\bX^{n}=0$ then the pair $(\beps^{n},\bsig^{n})$ is a solution of the homogenization problem, and the iteration is stopped. Otherwise, compute $\bX^{n+1}$, $\beps^{n+1}$ and $\bsig^{n+1}$ as follows:
\begin{align}
\bZ^{n} & =\balpha:\bX^{n} + 2\left(\left(\bI-\balpha\right):\bX^{n}\right)^D \label{eq:Z-iteration}\\
\lambda^n &=\frac{\left\langle\bX^{n}:\bCref:\bZ^{n}\right\rangle_\Omega}{\left\langle\bZ^{n}:\bCref:\bZ^{n}\right\rangle_\Omega}\label{eq:lambda-0}\\
\beps^{n+1}&=\beps^{n}+\lambda^n\balpha:\bX^{n},\label{eq:eps-iteration}
\\
\bsig^{n+1}&=\bsig^{n}+\lambda^n\bCref:(2\bI-\balpha):\bX^{n},\label{eq:sig-iteration}\\
\bX^{n+1}&=\bX^{n}-\lambda^n\bZ^{n}.\label{eq:X-iteration}
\end{align}
Here, the $\Omega$-periodic tensor field \(\balpha(\by)\) is defined over the whole unit cell as follows:
\begin{equation}\label{eq:alpha}
\forall\by\in\Omega^\rmr, \quad \balpha(\by) = 0. \quad
\forall\by\in\Omega^\rmp, \quad \balpha(\by) = 2\bI. \quad
\forall\by\in\Omega^\rmm, \quad \balpha(\by) = 2\left(\bC(\by)+\bCref\right)^{-1}:\bCref.
\end{equation}


The polarization schemes correspond to the case where, instead of~\eqref{eq:lambda-0}, the relaxation parameter $\lambda^n$ is set to a constant value, $1-\gamma$, the damping parameter $\gamma$ being in the interval $[0,1)$. The iteration of the Eyre--Milton scheme corresponds to $\gamma=0$ ($\lambda^n=1$) and the iteration of the augmented Lagrangian scheme corresponds to $\gamma=0.5$ ($\lambda^n=0.5$). In the AEM scheme, $ \lambda^n$ is determined at each iteration $n$ such that as to minimize the $\bCref$-norm of the residual at iteration $n+1$, $ \bX^{n+1}=\bX^{n}-\lambda\bZ^{n} $, over all possible values of $\lambda$. Since the initialization in the original Eyre--Milton scheme is different from the zero-initialization $(\beps^{0},\bsig^{0})=(0,0)$, ``$\gamma=0$''-scheme will refer in the sequel to the AEM scheme (with zero-initialization) where the relaxation parameter $\lambda^n$ is set to $1$ instead of~\eqref{eq:lambda-0}.

Under a suitable geometric assumption on $\Omega^\rmr$ and $\Omega^\rmp$, and assuming that $\bC$ is uniformly coercive in the heterogeneous matrix, it has been proved in~\cite{sab_fft-based_2024} that the sequence $(\beps^{n},\bsig^{n})$ linearly converges to the unique solution of the homogenization problem~\eqref{eq:homogenization-problem-extended} such that: (a) the strain field in the pores is the unique solution to the following (Dirichlet) elasticity problem: the domain $\Omega^\rmp$ is occupied by the reference material, there is no body forces and the prescribed displacements on its boundary are those of the heterogeneous matrix; (b) the stress field in the rigid inclusions is the unique solution to the following (Neumann) elasticity problem: the domain $\Omega^\rmr$ is occupied by the reference material, there is no body forces and the prescribed tractions at its boundary are those of the heterogeneous matrix.

Numerical simulations have shown that the rate of convergence of the AEM scheme strongly depends on the choice of $\bCref$, and it was recommended to choose $\bCref$ of the same order as the matrix or the unknown homogenized material $\bC_{\homo}$.

\section{Accelerating AEM and ``\texorpdfstring{$\gamma=0$}{gamma=0}'' schemes}\label{sec:acc}

The idea is to update $\bCref$ at each iteration with the twofold objective of speeding up convergence and making it independent of the choice of the initial value of $\bCref$. We consider $\bCref$ of the form $\bCref=k_0\bC_*$ where $\bC_*$ is a fixed given stiffness tensor and $k_0$ is a (strictly) positive multiplying constant which must be updated. The value of $k_0$ at iteration $n$ is noted $k_0^n$, and $\balpha ^n$ denotes $\balpha$ when $\bCref$ in~\eqref{eq:alpha} is set to $k_0^n\bC_*$.

The accelerated AEM scheme (A2EM) is started with $k_0^0>0$, $(\beps^{0},\bsig^{0})=(0,0)$ and $ \bX^{0}=\bE$. For $n\ge 0$, compute $\balpha^n$ with~\eqref{eq:alpha} and $\bX^{n+1}$, $\beps^{n+1}$, $\bsig^{n+1}$ and $k_0^{n+1}$ as follows:
\begingroup
\allowdisplaybreaks
\begin{align}
\bZ^{n} & =\balpha^n:\bX^{n} + 2\left(\left(\bI-\balpha^n\right):\bX^{n}\right)^D \label{eq:Z-iteration1}\\
\lambda^n &=\frac{\left\langle\bX^{n}:\bC_*:\bZ^{n}\right\rangle_\Omega}{\left\langle\bZ^{n}:\bC_*:\bZ^{n}\right\rangle_\Omega} \label{eq:lambda}\\
\beps^{n+1}&=\beps^{n}+\lambda^n\balpha^n:\bX^{n},\label{eq:eps-iteration1} \\
\bsig^{n+1}&=\bsig^{n}+\lambda^nk_0^{n}\bC_*:\left(2\bI-\balpha^n\right):\bX^{n},\label{eq:sig-iteration1}\\
& \text{update} \, \, \, k_0^{n+1}, \label{eq:update}\\
\bX^{n+1}&=\bX^{n}-\lambda^n\bZ^{n}+ \left(\left(k_0^{n}\right)^{-1}-\left(k_0^{n+1}\right)^{-1}\right)\left(\bC_*^{-1}:\bsig^{n+1}\right)^D\label{eq:X-iteration1}
\end{align}
\endgroup
We propose an updating rule for $k_0$ which results from the following analysis of the residual. Let $(\beps,\bsig)\in\bL_{\sym}^2(\Omega)\times\bL_{\sym}^2(\Omega)$ be a pair of strain-stress fields which complies with the constitutive equations~\eqref{eq:conditions-on-sig-and-eps}. It can be considered as a good approximation of the solution to the homogenization problem if its residual~\eqref{eq:residual-II} is small enough. Thanks to the orthogonal decomposition of this residual~\eqref{eq:residual-decomposition}, one can write:
\begin{equation}
\Vert \bX \Vert^2 _{\bCref} =\left\Vert \left(\bE-\beps\right)^S \right\Vert^2 _{\bCref}+\left\Vert \left(\bCref^{-1}:\bsig\right)^D \right\Vert^2 _{\bCref}.
\end{equation}

There are two contributions to the norm of the residual, $\Vert \bX \Vert _{\bCref}$ : the error in compatibility, $\Vert (\bE-\beps)^S \Vert_{\bCref}$, and the error in equilibrium, $\Vert (\bCref^{-1}:\bsig)^D \Vert _{\bCref}$. When these errors are not zero, their ratio depends on the choice of the reference medium $\bCref=k_0\bC_*$ : as $k_0$ increases, the relative contribution of the error in equilibrium to $\Vert \bX \Vert _{\bCref}$ decreases, and it increases as $k_0$ decreases. Since in the AEM scheme the strain is not compatible, nor the stress is in equilibrium, one has to ensure that \emph{both} the projection of $\bE-\beps\neq0$ on $\bS'$ and the projection of $\bCref^{-1}:\bsig\neq0$ on $\bD$ are small enough.

For this purpose, it is natural to normalize each projected field by its norm. We therefore define the normalized total error, $\Delta$, as:
\begin{equation}
\Delta^2=\left(\Delta^S\right)^2+\left(\Delta^D\right)^2
\end{equation}
where
\begin{align}
0\leq\Delta^S &= \frac{\left\Vert \left(\bE-\beps\right)^S \right\Vert_{\bCref}}{\left\Vert \bE-\beps \right\Vert_{\bCref}} = \frac{\left\Vert \left(\bE-\beps\right)^S \right\Vert_{\bC_*}}{\left\Vert \bE-\beps \right\Vert_{\bC_*}}\leq 1\label{eq:compatibility-error}
\\
0\leq\Delta^D &= \frac{\left\Vert \left(\bCref^{-1}:\bsig\right)^D \right\Vert_{\bCref}}{\left\Vert \bCref^{-1}:\bsig \right\Vert_{\bCref}}=\frac{\left\Vert \left(\bC_*^{-1}:\bsig\right)^D \right\Vert_{\bC_*}}{\left\Vert \bC_*^{-1}:\bsig \right\Vert_{\bC_*}}\leq 1\label{eq:equilibrium-error}
\end{align}
are the normalized compatibility and equilibrium errors, respectively.

Since $\Delta^S$ (respectively, $\Delta^D$) is a measure of the compatibility (respectively, equilibrium) error, then we set $\Delta^S=0$ (respectively, $\Delta^D=0$) for $\beps=\bE$ (respectively, $\bsig=0$). A natural stopping criterion of the AEM scheme (and its accelerated version) which ensures that \emph{both} the projection of $\bE-\beps\neq0$ on $\bS'$ and the projection of $\bCref^{-1}:\bsig\neq0$ on $\bD$ are small enough can be: $\Delta \leq \tttol$ where $\tttol$ is a user-prescribed relative tolerance.

Remembering that the AEM scheme is formulated in terms of the residual $\bX$, our idea is to choose $k_0$ in such a way that $\bX$ gives equal weight to both normalized equilibrium and compatibility errors. We find that setting:
\begin{equation}\label{eq:k0}
k_0= \frac{\left\Vert \left(\bC_*^{-1}:\bsig\right) \right\Vert_{\bC_*}}{\Vert \bE-\beps \Vert_{\bC_*}},
\end{equation}
leads to the following equations:
\begin{equation}
\Delta=\frac{\Vert \bX \Vert_{\bCref}}{\Vert \bE-\beps \Vert_{\bCref}}, \quad
\frac{\Delta^D}{\Delta}=\frac{\left\Vert \bX^D \right\Vert_{\bCref}}{\Vert \bX \Vert_{\bCref}} \quad\text{and} \quad
\frac{\Delta^S}{\Delta}=\frac{\left\Vert \bX^S \right\Vert_{\bCref}}{\Vert \bX \Vert_{\bCref}},
\end{equation}
which means that the ratio of the compatibility and equilibrium errors in $\bX$ is equal to the ratio of the corresponding normalized errors in $\Delta$.

Hence, we propose the following updating rule in~\eqref{eq:update}, which we term \emph{equiprojection} rule:
\begin{equation}\label{eq:k0n+1}
k_0^{n+1} = \frac{\left\Vert \left(\bC_*^{-1}:\bsig^{n+1}\right) \right\Vert_{\bC_*}}{\left\Vert \bE-\beps^{n+1} \right\Vert_{\bC_*}}
\end{equation}

As pointed out in~\cite{schn2019a}, the polarization-based schemes are actually related to a classical numerical solution method, the Douglas-Rachford splitting. Based on numerical simulations on heterogeneous linear and nonlinear materials (which may contain pores but no rigid inclusions), Schneider~\cite{schneider_non-stationary_2021} recommended the use of an updating rule, initially proposed by Lorenz and Tran-Dinh~\cite{lorenz_non-stationary_2019} for general Douglas-Rachford splitting and Alternating Direction Method of Multipliers (ADMM) methods, given by:
\begin{equation}\label{eq:LTD}
\bC_*=\bI, \quad k_0^{n+1} = \frac{\left\Vert \bsig^{n+1}\right\Vert_{\bL_{\sym}^2}}{\left\Vert \beps^{n+1} \right\Vert_{\bL_{\sym}^2}}.
\end{equation}
Finally, we will study also what we term the accelerated ``$\gamma=0$''-scheme which is A2EM scheme where the relaxation parameter $\lambda^n$ is set to 1 instead of~\eqref{eq:lambda}.


\section{Efficient implementation of the accelerated schemes}\label{sec:implementation}

At first sight, A2EM scheme should require the use of an additional convolution at each iteration in order to update the residual~\eqref{eq:X-iteration}. This is not the case if we organize the algorithm as follows. Let $(\beps,\bsig)$ be a pair of strain-stress fields complying to the constitutive equations~\eqref{eq:conditions-on-sig-and-eps} and $\bX$ its corresponding residual~\eqref{eq:residual-II} with its decomposition~\eqref{eq:residual-decomposition}. We have:
\begin{equation}
\bX^D=-\left(\bCref^{-1}:\bsig\right)^D=-k_0^{-1}\left(\bC_*^{-1}:\bsig\right)^D=k_0^{-1}\bW
\quad \text{where} \quad -\left(\bC_*^{-1}:\bsig\right)^D=\bW.
\end{equation}
The idea is to keep $\bW$ in memory and to update it without an additional convolution. Hence, the first modified A2EM is started with $k_0^0>0$, $(\beps^{0},\bsig^{0})=(0,0)$, $\bW^0=0$, $\bX^{0}=\bE$ and $\Delta^0=1$. For $n\ge 0$, compute $\bX^{n+1}$, $\bW^{n+1}$, $\beps^{n+1}$, $\bsig^{n+1}$, $k_0^{n+1}$ and $\Delta^{n+1}$ as follows:
\begin{align}
\bY^{n} & = \left(\balpha^n:\bX^{n}\right)^D \\
\bZ^{n} & =\balpha^n:\bX^{n} - 2\bY^{n} + 2\left(k_0^{n}\right)^{-1} \bW^{n}\\
\lambda^n &=\frac{\left\langle\bX^{n}:\bC_*:\bZ^{n}\right\rangle_\Omega}{\left\langle\bZ^{n}:\bC_*:\bZ^{n}\right\rangle_\Omega} \\
\beps^{n+1}&=\beps^{n}+\lambda^n\balpha^n:\bX^{n}, \\
\bsig^{n+1}&=\bsig^{n}+\lambda^nk_0^{n}\bC_*:\left(2\bI-\balpha^n\right):\bX^{n},\\
\bW^{n+1}&=\left(1-2\lambda^n\right)\bW^{n}+\lambda^nk_0^{n}\bY^{n},\\
k_0^{n+1}& = \frac{\left\Vert \left(\bC_*^{-1}:\bsig^{n+1}\right) \right\Vert_{\bC_*}}{\left\Vert \bE-\beps^{n+1} \right\Vert_{\bC_*}}, \\
\bX^{n+1}&=\bX^{n}-\lambda^n\bZ^{n}+ \left(\left(k_0^{n+1}\right)^{-1}-\left(k_0^{n}\right)^{-1}\right)\bW^{n+1},
\\
\Delta^{n+1}&=\frac{\left\Vert \bX^{n+1} \right\Vert_{\bC_*}}{\left\Vert \bE-\beps^{n+1} \right\Vert_{\bC_*}}.
\end{align}

There is only one convolution per iteration in the above scheme, namely for the computation of $\bY$. As far as memory space is concerned, there are 5 variables to store and update in the above scheme: $\bX$, $\bW$, $\beps$, $\bsig$ and the intermediate variable $\bY$. Indeed, there is no need to store $\bZ$ which is only used in the computation of $\blambda$.

One can actually reduce to 4 variables to store if the auxiliary strain field $\beps_{a}$ introduced in~\cite{sab_fft-based_2024} is used in the above scheme instead of both $\beps$ and $\bsig$. Indeed, let $(\beps,\bsig)$ be a pair of strain-stress fields complying to the constitutive equations~\eqref{eq:conditions-on-sig-and-eps}. Then, $\beps_{a}$ is given by:
\begin{equation}\label{eq:exp-eps*}
\beps_{a}=\frac{1}{2}\left((\bCref)^{-1}:\bsig +\beps\right),
\end{equation}
and one can easily check that $(\beps,\bsig)$ can be retrieved from $\beps_{a}$ by formulas:
\begin{equation}\label{eq:eps-solution}
\beps=\balpha:\beps_{a}, \quad
\bsig=\bCref:(2\bI-\balpha):\beps_{a}.
\end{equation}
Using these formulas at iteration $n$, we find that:
\begin{align}
\beps^{n+1}&=\balpha^n:\left(\beps_a^{n}+\lambda^n\bX^{n}\right), \label{eq:eps-iteration-I}\\
\bsig^{n+1}&=k_0^{n}\bC_*:\left(2\bI-\balpha^n\right)\left(\beps_a^{n}+
\lambda^n\bX^{n}\right),\label{eq:sig-iteration-I} \\
\beps_a^{n+1}&=\frac{1}{2}\left(\left(k_0^{n+1}\right)^{-1}(\bC_*)^{-1}:\bsig^{n+1} +\beps^{n+1}\right)=\frac{1}{2}\left(\frac{k_0^{n}}{k_0^{n+1}}\left(2\bI-\balpha^n\right)+\balpha^n\right):\left(\beps_a^{n}+\lambda^n\bX^{n}\right).
\end{align}
Hence, the second modified A2EM scheme is started with $k_0^0>0$, $\beps_{a}^{0}=0$, $\bW^0=0$, $\bX^{0}=\bE$ and $\Delta^0=1$. For $n\ge 0$, compute $\bX^{n+1}$, $\bW^{n+1}$, $\beps_{a}^{n+1}$, $k_0^{n+1}$ and $\Delta^{n+1}$ as follows:
\begin{align}
\bY^{n} & = \left(\balpha^n:\bX^{n}\right)^D \\
\bZ^{n} & =\balpha^n:\bX^{n} - 2\bY^{n} + 2\left(k_0^{n}\right)^{-1} \bW^{n}\\
\lambda^n &=\frac{\left\langle\bX^{n}:\bC_*:\bZ^{n}\right\rangle_\Omega}{\left\langle\bZ^{n}:\bC_*:\bZ^{n}\right\rangle_\Omega} \\
k_0^{n+1}& = k_0^{n}\frac{\left\Vert \left(2\bI-\balpha^n\right):\left(\beps_{a}^{n}+ \lambda^n\bX^{n}\right)\right\Vert_{\bC_*}}{\left\Vert \bE-\balpha^n:\left(\beps_{a}^{n}+ \lambda^n\bX^{n}\right) \right\Vert_{\bC_*}}, \label{eq:updating}\\
\beps_a^{n+1}&=\frac{1}{2}\left(\frac{ k_0^{n}}{ k_0^{n+1}}\left(2\bI-\balpha^n\right)+\balpha^n\right):\left(\beps_a^{n}+\lambda^n\bX^{n}\right), \\
\bW^{n+1}&=\left(1-2\lambda^n\right)\bW^{n}+\lambda^nk_0^{n}\bY^{n},\\
\bX^{n+1}&=\bX^{n}-\lambda^n\bZ^{n}+ \left(\left(k_0^{n+1}\right)^{-1}-\left(k_0^{n}\right)^{-1}\right)\bW^{n+1}, \\
\Delta^{n+1}&=\frac{\left\Vert \bX^{n+1} \right\Vert_{\bC_*}}{\left\Vert \bE-\beps^{n+1} \right\Vert_{\bC_*}}.
\end{align}
The main steps are summarized in \cref{algo:A2EM}.
\begin{algorithm}[!h]
\begin{algorithmic}[1]
\State $\beps$ ← $0$
\State $\bX$ ← $\bE$
\State $\bW$ ← $0$
\State $k_0$ ← $k_0^0$
\Repeat
\State $\bY$ ← $(\balpha:\bX)^D$ \, \, \, where $\balpha$ is computed with $\bCref=k_0\bC_*$ and standard FFT are used with the analytical expression of the Green operator in Fourier space.
\State $\lambda$ ← $\frac{\langle\bX:\bC_*:\bZ\rangle_\Omega}{\langle\bZ:\bC_*:\bZ\rangle_\Omega}$ \, \, \, \, with \, \, $ \bZ =\balpha:\bX - 2\bY + 2k_0^{-1} \bW$
\State $\beta$ ← $\Vert \bE-\balpha:(\beps+\lambda\bX) \Vert_{\bC_*}$
\State $k_0^{new}$ ← $k_0\beta^{-1}\Vert \left(2\bI-\balpha):(\beps+\lambda\bX\right) \Vert_{\bC_*}$
\State $\beps$ ← $\frac{1}{2}(\frac{ k_0}{ k_0^{new}}(2\bI-\balpha)+\balpha):(\beps+\lambda\bX)$
\State $\bX$ ← $\bX-\lambda(\balpha:\bX - 2\bY + 2k_0^{-1} \bW)+ ((k_0^{new})^{-1}-(k_0)^{-1})\left((1+2\lambda)\bW+\lambda k_0\bY\right)$
\State $\bW$ ← $(1-2\lambda)\bW+\lambda k_0\bY$
\State $k_0$ ← $k_0^{new}$
\State $\Delta$ ← $\beta^{-1}\Vert \bX \Vert_{\bC_*}$
\Until{Convergence criterion met} $\Delta \leq \tttol$
\State $\beps$ ← $\balpha:\beps$\\
\Return $\beps$
\end{algorithmic}
\caption{The A2EM algorithm with the equiprojection rule~\eqref{eq:k0n+1}}\label{algo:A2EM}
\end{algorithm}

In the accelerated ``$\gamma=0$''-scheme, where $\lambda^n=1$, the intermediate variables $\bY^n$ and $\bW^n$ are not needed: there are only two variables to store: $\beps_a$ and $\bX$. This scheme is started with $k_0^0>0$, $\beps_{a}^{0}=0$, $\bX^{0}=\bE$ and $\Delta^0=1$. For $n\ge 0$, compute $\bX^{n+1}$, $\beps_{a}^{n+1}$, $k_0^{n+1}$ and $\Delta^{n+1}$ as follows:
\begin{align}\label{eq:updating-II}
k_0^{n+1}& = k_0^{n}\frac{\left\Vert \left(2\bI-\balpha^n\right):\left(\beps_{a}^{n}+ \lambda\bX^{n}\right)\right\Vert_{\bC_*}}{\left\Vert \bE-\balpha^n:\left(\beps_{a}^{n}+ \lambda\bX^{n}\right) \right\Vert_{\bC_*}}, \\
\beps_a^{n+1}&=\frac{1}{2}\left(\frac{ k_0^{n}}{ k_0^{n+1}}\left(2\bI-\balpha^n\right)+\balpha^n\right):\left(\beps_a^{n}+\lambda^n\bX^{n}\right),
\\
\bX^{n+1}&=\bE-\balpha^{n+1}:\beps_a^{n+1} - 2 \left(\left(\bI-\balpha^{n+1}\right):\beps_a^{n+1}\right)^D, \\
\Delta^{n+1}&=\frac{\left\Vert \bX^{n+1} \right\Vert_{\bC_*}}{\left\Vert \bE-\balpha^{n+1}:\beps_a^{n+1}\right\Vert_{\bC_*}}.
\end{align}

The main steps of the accelerated ``$\gamma=0$''-scheme are summarized in \cref{algo:gamma0}.
\begin{algorithm}[!h]
\begin{algorithmic}[1]
\State $\beps$ ← $0$
\State $\bX$ ← $\bE$
\State $k_0$ ← $k_0^0$
\Repeat
\State $\beta$ ← $\Vert \bE-\balpha:(\beps+\bX) \Vert_{\bC_*}$ \, \, \, where $\balpha$ is computed with $\bCref=k_0\bC_*$
\State $k_0^{new}$ ← $k_0\beta^{-1}\Vert \left(2\bI-\balpha):(\beps+\bX\right) \Vert_{\bC_*}$
\State $\beps$ ← $\frac{1}{2}(\frac{ k_0}{ k_0^{new}}(2\bI-\balpha)+\balpha):(\beps+\bX)$
\State $k_0$ ← $k_0^{new}$
\State $\bX$ ← $\bE-\balpha:\beps - 2 ((\bI-\balpha):\beps)^D$ \, \, \, where $\balpha$ is computed with $\bCref=k_0\bC_*$ and standard FFT are used with the analytical expression of the Green operator in Fourier space to compute the $D$-projection.
\State $\Delta$ ← $\beta^{-1}\Vert \bX \Vert_{\bC_*}$
\Until{Convergence criterion met} $\Delta \leq \tttol$
\State $\beps$ ← $\balpha:\beps$\\
\Return $\beps$
\end{algorithmic}
\caption{The accelerated ``$\gamma=0$''-scheme with the equiprojection rule~\eqref{eq:k0n+1}}\label{algo:gamma0}
\end{algorithm}

Both AEM and ``$\gamma=0$'' schemes can be accelerated using the Lorenz and Tran-Dinh updating rule~\eqref{eq:LTD} instead of the equiprojection rule~\eqref{eq:k0n+1}. In this case, equation~\eqref{eq:updating} becomes:
\begin{equation}\label{eq:updating-III}
k_0^{n+1} = k_0^{n}\frac{\Vert (2\bI-\balpha^n):(\beps_{a}^{n}+ \lambda^n\bX^{n})\Vert_{\bL_{\sym}^2}}{\Vert \balpha^n:(\beps_{a}^{n}+ \lambda^n\bX^{n}) \Vert_{\bL_{\sym}^2}},
\end{equation}
and equation~\eqref{eq:updating-II} becomes~\eqref{eq:updating-III} where $\lambda^n$ is set to $1$.

\section{Illustrative applications}\label{sec:applications}

We test the performances of the AEM and ``$\gamma=0$'' schemes and their accelerated versions, with the equiprojection updating rule~\eqref{eq:k0n+1} or the Lorenz and Tran-Dinh one~\eqref{eq:LTD}, on doubly contrasted linear materials containg both pores and rigid inclusions. All the schemes have been implemented in the Janus Python library\footnote{Available at \url{https://github.com/sbrisard/janus}.}. For the Green operator discretization scheme, we used the finite differences scheme proposed in~\cite{willot2015fourier} which results in improved accuracy of the local fields over more classical discretization strategies.



\subsection{The micro-structures}

We consider 2 micro-structures to compare the performances of the above mentioned schemes:
\begin{itemize}
\item \emph{Micro-structure A}: a cubic unit cell consisting of a matrix (phase 1) with an infinitely rigid spherical inclusion of radius 0.25 (phase 2) located at its center and pores of radius 0.25 (phase 3) centered at the vertices of the unit cell (see~\Cref{fig:3D_microstructure}). The matrix is linear elastic and isotropic with Poisson ratio $\nu_1=0.3$ and shear modulus $\mu_1=1$. The unit cell is discretized with a $32\times 32\times 32$ grid.

\begin{figure}[!htbp]
\centering
\includegraphics[width=0.65\textwidth]{data/micro-structures/microstructure A.png}
\vspace*{-20pt}
\caption{A. 3-phase 3D medium with double contrast, of size 32*32*32. The pore is in light blue, the inclusion in grey and the matrix is hidden.}\label{fig:3D_microstructure}
\end{figure}

\begin{figure}[!htbp]
\centering
\includegraphics[width=0.65\textwidth]{data/micro-structures/microstructure B.png}
\vspace*{-15pt}
\caption{B. Matrix-fiber-pore system, of size 256*256*256 (the matrix is hidden).}
\label{fig:matrix-fiber-pore_micro-structure}
\end{figure}

\item \emph{Micro-structure B}: a fiber composite with gas injection. The gas is injected in the fiber-reinforced composites to reduce the weight and some effects like residual stress. This results in a three-phase micro-structure containing identical spherical pores (5\% volume fraction) and fibers with random orientation (10\% volumetric fraction). See~\Cref{fig:matrix-fiber-pore_micro-structure}. The fibers are infinitely rigid and the stiffness in the pores is null. In order to avoid any artificial contact, there is a minimal distance of $4\sqrt{3}$ voxels (corresponding to 4 voxels in diagonal) between two fibers, two pores or between a fiber and a pore. The unit cell is discretized with a $256\times 256\times 256$ grid.


\end{itemize}
\begin{figure}[!htbp]
\centering
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/AEM/influence_of_C0/Iteration_20.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 20}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/AEM/influence_of_C0/Iteration_50.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 50}
\end{subfigure}
\hfill
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/AEM/influence_of_C0/Iteration_100.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 100}
\end{subfigure}
\hfill
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/AEM/influence_of_C0/Iteration_500.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 500}
\end{subfigure}
\vspace*{-10pt}
\caption{$\Delta$ at iterations 20(a), 50(b), 100(c) and 500(d) as a function of $k_0$. Reference material is of the form $\bCref=k_0\bC_{\it{matrix}}$. Comparison between AEM scheme and ``$\gamma=0$'' scheme on micro-structure A.}\label{fig:AEM_influence_of_C0}
\vspace*{-10pt}
\end{figure}


\subsection{Influence of the reference material on the convergence of the AEM and ``\texorpdfstring{$\gamma=0$}{gamma=0}''-schemes}

We consider microstructure A with reference material of the form $\bCref=k_0\bC_{\it{matrix}}$, which means that we set $\bC_*=\bC_{\it{matrix}}$. Figure~\ref{fig:AEM_influence_of_C0} represents the normalized total error $\Delta$ at iterations 20, 50, 100 and 500 as a function of $k_0$. It clearly shows that the rate of convergence is optimal for some value of $k_0$, $k_0^{\it{opt}}$, close to 1, as predicted by the estimation given in~\cite{sab_fft-based_2024}, and that the rate of convergence is getting much worse as $k_0$ deviates from $k_0^{\it{opt}}$. Another important observation is that the rate of convergence of both schemes (AEM and ``$\gamma=0$'') is the same for $k_0$ smaller than $k_0^{\it{opt}}$, and that AEM converges faster than ``$\gamma=0$'' otherwise.

\subsection{Influence of the initial reference material on the convergence of the accelerated schemes}

We still consider microstructure A with reference material of the form $\bCref=k_0^n\bC_{\it{matrix}}$ where $k_0^n$ is given by the updating rule~\eqref{eq:k0n+1} or by the Lorenz and Tran-Dinh one~\eqref{eq:LTD}. Figure~\ref{fig:A2EM_influence_of_C0} (respectively, Figure~\ref{fig:gamma0_acc_influence_of_C0}) represents the normalized total error $\Delta$ at iterations 20, 50, 100 and 500 of the A2EM scheme (respectively, accelerated ``$\gamma=0$''-scheme) as a function of the initial value of $k_0$, $k_0^0$, for both updating rules. In addition, we have also plotted the AEM scheme (respectively, the ``$\gamma=0$''-scheme) for which $k_0$ remains constant (equal to $k_0^0$) for all iterations.

\begin{figure}[!htbp]
\centering
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM/matrix-incl-pore/Iteration_20.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 20}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM/matrix-incl-pore/Iteration_50.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 50}
\end{subfigure}
\hfill
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM/matrix-incl-pore/Iteration_100.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 100}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM/matrix-incl-pore/Iteration_500.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 500}
\end{subfigure}
\vspace*{-10pt}
\caption{$\Delta$ at iterations 20(a), 50(b), 100(c) and 500(d) as a function of $k_0^0$, the initial value of $k_0$. The reference medium is of the form $\bCref=k_0^n\bC_{\it{matrix}}$. Comparison on micro-structure A between the AEM scheme ($k_0^n=k_0^0$ remains unchanged) and the A2EM scheme with the equiprojection updating rule~\eqref{eq:k0n+1} and the Lorenz and Tran-Dinh updating rule~\eqref{eq:LTD}.}\label{fig:A2EM_influence_of_C0}
\end{figure}

Figures~\ref{fig:A2EM_influence_of_C0} and~\ref{fig:gamma0_acc_influence_of_C0} show that $\Delta$ almost does not depend on $k_0^0$ after some iterations (50 in this case) for both accelerated schemes with both updating rules. More precisely, if $k_0^0$ is less than $k_0^{\it{opt}}$ (the optimal value of $k_0$ for the non accelerated scheme) then the performance of the accelerated scheme is very comparable to non accelerated schemes with $k_0=k_0^{\it{opt}}$. On the other hand, for $k_0^0$ greater than $k_0^{\it{opt}}$, the rate of convergence of the accelerated scheme is a bit slower than non accelerated schemes with $k_0=k_0^{\it{opt}}$, but much faster than non accelerated schemes with $k_0=k_0^{0}$.

After some iterations (here between 20 and 50), $k_0^n$ reaches an asymptotic value which is independent of the initial value $k_0^0$, as shown in Figure~\ref{fig:A2EM_k_0_n}. Moreover, it is seen that: (a) both updating rules lead to comparable rates of convergence, and (b) the accelerated AEM converges faster than the accelerated ``$\gamma=0$'' as illustrated in Figure~\ref{fig:memory-efficient} which represents $\Delta$ at iterations 20, 50, 100 and 500 as a function of $k_0^0$ for both AEM and ``$\gamma=0$'' schemes accelerated with the updating rule~\eqref{eq:k0n+1}.

Finally, we present in Figure~\ref{fig:microstructure-B} the normalized total error $\Delta$ at iterations 50, 100, 500 and 1000 of the AEM and ``$\gamma=0$''-schemes and their accelerated versions with the equiprojection updating rule~\eqref{eq:k0n+1} as a function of $k_0^0$, the initial value of $k_0$ (which is not updated for AEM and ``$\gamma=0$''-schemes). It is seen that the convergence rate for micro-structure B is slower than the convergence rate for the simpler micro-structure A, probably because the stress, strain fields are less smooth. Again AEM is faster than ``$\gamma=0$'' and there is a common optimal value of reference material (around 10 times the matrix stiffness and 6 times the homogenized material) for which the convergence is remarkably fast. This optimal performance is retrieved by A2EM and accelerated ``$\gamma=0$'' schemes for any choice of $k_0^0$, and especially for $k_0^0$ lower than the optimal value.


\begin{figure}[!hp]
\centering
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/gamma0_acc/matrix-incl-pore/Iteration_20.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 20}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/gamma0_acc/matrix-incl-pore/Iteration_50.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 50}
\end{subfigure}
\hfill
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/gamma0_acc/matrix-incl-pore/Iteration_100.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 100}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/gamma0_acc/matrix-incl-pore/Iteration_500.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 500}
\end{subfigure}
\vspace*{-10pt}
\caption{$\Delta$ at iterations 20(a), 50(b), 100(c) and 500(d) as a function of $k_0^0$, the initial value of $k_0$. The reference medium is of the form $\bCref=k_0^n\bC_{\it{matrix}}$. Comparison on micro-structure A between the ``$\gamma=0$''-scheme ($k_0^n=k_0^0$ remains unchanged) and the accelerated ``$\gamma=0$''-scheme with the equiprojection updating rule~\eqref{eq:k0n+1} and the Lorenz and Tran-Dinh updating rule~\eqref{eq:LTD}.}\label{fig:gamma0_acc_influence_of_C0}
\end{figure}

\begin{figure}[!htbp]
\centering
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM/matrix-incl-pore/Iteration_20_k_0_n.pdf}
\vspace*{-20pt}
\caption{$k_0^{20}$ (reference medium at iteration 20)}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM/matrix-incl-pore/Iteration_50_k_0_n.pdf}
\vspace*{-20pt}
\caption{$k_0^{50}$ (reference medium at iteration 50)}
\end{subfigure}
%\vspace*{-10pt}
\caption{$k_0^n$ as a function of the initial value $k_0^0$, for $n=20$(a) and $n=50$(b), in the A2EM scheme for both updating rules. Micro-structure A.}\label{fig:A2EM_k_0_n}
\end{figure}

\begin{figure}[!hbp]
\centering
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM_vs_gamma0_acc/Iteration_20.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 20}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM_vs_gamma0_acc/Iteration_50.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 50}
\end{subfigure}
\hfill
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM_vs_gamma0_acc/Iteration_100.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 100}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM_vs_gamma0_acc/Iteration_500.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 500}
\end{subfigure}
%\vspace*{-10pt}
\caption{$\Delta$ at iterations 20(a), 50(b), 100(c) and 500(d) as a function of $k_0^0$, the initial value of $k_0$. The reference medium is of the form $\bCref=k_0^n\bC_{\it{matrix}}$. Comparison on micro-structure A between the A2EM and accelerated ``$\gamma=0$'' schemes with the equiprojection updating rule~\eqref{eq:k0n+1}.}\label{fig:memory-efficient}
\end{figure}



\begin{figure}[!htbp]
\centering
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM/matrix-fiber-pore/Iteration_50.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 50}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM/matrix-fiber-pore/Iteration_100.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 100}
\end{subfigure}
\hfill
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM/matrix-fiber-pore/Iteration_500.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 500}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\includegraphics[width=\textwidth]{data/A2EM/matrix-fiber-pore/Iteration_1000.pdf}
\vspace*{-20pt}
\caption{$\Delta$ at iteration 1000}
\end{subfigure}
\vspace*{-8pt}
\caption{$\Delta$ at iterations 50(a), 100(b), 500(c) and 1000(d) as a function of $k_0^0$, the initial value of $k_0$. The reference medium is of the form $\bCref=k_0^n\bC_{\it{matrix}}$. Comparison on micro-structure B between the AEM and ``$\gamma=0$'' schemes and their accelerated version with the equiprojection updating rule~\eqref{eq:k0n+1}.}
\label{fig:microstructure-B}
\vspace*{-5pt}
\end{figure}


\break
\section{Conclusions}

We proposed to accelerate the AEM scheme, a recent iterative method for the numerical solution of the Lippmann--Schwinger equation with periodic boundary conditions for the case of linear materials containing pores and rigid inclusions. This scheme is derived from the classical Eyre--Milton scheme~\cite{eyre1999} and the polarization-based schemes~\cite{monc2012}, where at each iteration, the \emph{direction} of the increment is preserved, while its \emph{amplitude} is optimized. When the amplitude is not optimized, the scheme is called ``$\gamma=0$''-scheme. The main contributions of the present paper are summarized below.
\begin{enumerate}
\item Numerical simulations with AEM and ``$\gamma=0$'' schemes on micro structures containing both pores and rigid inclusions have been conducted with reference material of the form $\bCref=k_0\bC_*$, where $\bC_*$ is a fixed given stiffness tensor and $k_0$ is a (strictly) positive multiplying constant. It is observed that the convergence of these schemes is very fast for some optimal value of $k_0$, $k_0^{\it{opt}}$. Besides, the rate of convergence is getting much worse as $k_0$ deviates from $k_0^{\it{opt}}$. Our simulations show that the optimal reference material could deviate from the estimations given in~\cite{sab_fft-based_2024}: the optimal reference material is 10 times the matrix and 6 times the homogenized material for micro-structure B.
\item The rate of convergence of AEM and ``$\gamma=0$'' are the same for $k_0$ lower than $k_0^{\it{opt}}$ while AEM is faster than ``$\gamma=0$'' otherwise.
\item We proposed to \emph{accelerate} AEM and ``$\gamma=0$'' schemes for $k_0\neq k_0^{\it{opt}}$ by updating the reference material of the form $\bCref=k_0^n\bC_{\it{matrix}}$ where $k_0^n$ at iteration $n$ is given by the proposed \emph{equiprojection} updating rule~\eqref{eq:k0n+1} or by the Lorenz and Tran-Dinh one~\eqref{eq:LTD}.
\item Efficient implementation of these accelerated schemes in terms of memory and number of convolutions per iteration has been proposed. It is shown that only one convolution per iteration is needed for both accelerated schemes, and that A2EM needs twice memory as accelerated ``$\gamma=0$''.
\item Numerical simulations with both A2EM and accelerated ``$\gamma=0$'' schemes and both updating rules on micro structures containing pores and rigid inclusions show that, after some iterations (50 in the considered example), the rate of convergence almost does not depend on the choice of the initial value of $k_0$ and that it is comparable to the rate of convergence of the non accelerated schemes with the optimal value $k_0=k_0^{\it{opt}}$.
\item The numerical simulations show that the A2EM scheme is faster than the accelerated ``$\gamma=0$'' scheme.
\end{enumerate}

%\break
In summary, we recommend the use of A2EM and accelerated ``$\gamma=0$'' schemes with the equiprojection rule, and to to start these schemes with a reference material that underestimates the homogenized one. In future works, these schemes will be applied to nonlinear materials, where their robustness with respect to the material contrast will be particularly helpful. There is also a need for additional mathematical studies on the convergence of the proposed accelerated schemes.

\section*{CRediT authorship contribution statement}
\begin{itemize}
\item\textbf{Martin Dolbeau}: data curation, software, validation, visualization.
\item\textbf{Jérémy Bleyer}: data curation, software, validation, visualization.
\item\textbf{Karam Sab}: conceptualization, formal analysis, investigation, methodology, writing.
\end{itemize}
\section*{Data availability}
The scripts used to produce the results presented in the paper can be found at~\cite[\href{https://doi.org/10.5281/zenodo.12706218}{10.5281/zenodo.12706218}]{zenodo2024a2em}.


\section*{Declaration of interests}
The authors do not work for, advise, own shares in, or receive funds from any organization that could benefit from this article, and have declared no affiliations other than their research organizations.

\printbibliography
\end{document}
