$$ \newcommand{\C}{{\mathbb{{C}}}} \newcommand{\R}{{\mathbb{{R}}}} \newcommand{\Q}{{\mathbb{{Q}}}} \newcommand{\Z}{{\mathbb{{Z}}}} \newcommand{\N}{{\mathbb{{N}}}} \newcommand{\uu}[1]{{\boldsymbol{{#1}}}} \newcommand{\uuuu}[1]{{\symbb{{#1}}}} \newcommand{\uv}[1]{{\underline{{#1}}}} \newcommand{\ve}[1]{{\uv{{e}}_{{#1}}}} \newcommand{\x}{{\uv{{x}}}} \newcommand{\n}{{\uv{{n}}}} \newcommand{\eps}{{\uu{{\varepsilon}}}} \newcommand{\E}{{\uu{{E}}}} \newcommand{\sig}{{\uu{{\sigma}}}} \newcommand{\Sig}{{\uu{{\Sigma}}}} \newcommand{\cod}{{\uv{{\symscr{b}}}}} \newcommand{\trans}[1]{{{}^{t}{#1}}} \newcommand{\sotimes}{{\stackrel{s}{\otimes}}} \newcommand{\sboxtimes}{\stackrel{s}{\boxtimes}} \newcommand{\norm}[1]{{\lVert{{#1}}\rVert}} \newcommand{\ud}{{\,\mathrm{d}}} \newcommand{\mat}{\mathsf} \DeclareMathOperator{\arcosh}{arcosh} \DeclareMathOperator{\divz}{div} \DeclareMathOperator{\divu}{\uv{div}} \DeclareMathOperator{\hess}{hess} \DeclareMathOperator{\gradu}{\uv{grad}} \DeclareMathOperator{\graduu}{\uu{grad}} \DeclareMathOperator{\Mat}{Mat} \DeclareMathOperator{\tr}{tr} \DeclareMathOperator{\ISO}{ISO} \newcommand{\jump}[1]{[\hspace*{-.15em}[\hspace*{.1em}{#1}% \hspace*{.1em}]\hspace*{-.15em}]} $$

Introduction

This book is aimed at researchers, engineers and students, knowing the fundamentals of mean-field theory to help them learn how to use the echoes library with some brief theoretical recalls when relevant. For a more exhaustive presentation of the theory of random medium homogenization, see (Bornert et al., 2001), (Milton, 2002), (Torquato, 2002) or (Kachanov and Sevostianov, 2018) among others.

The objectives of the library can be summarized as follows:

Features
  • Eshelby problem solved at 2nd (conductivity) et 4th orders (elasticity)

  • Isotropy and anisotropy

  • Several types of inclusions including generic (user-defined) inclusion

  • Large variety of schemes

  • Derivatives of the macroscopic elasticity with respect to lower scale moduli

  • Aging linear viscoelasticity

  • Complex moduli

In this manual, some snippets of Python codes are presented. The echoes library can be imported as

from echoes import *

or, to avoid any ambiguity between libraries, as

import echoes as ec

A usual start of any tutorial could be the following

import numpy as np
from echoes import *
import matplotlib.pyplot as plt # if plots are needed

np.set_printoptions(precision=8, suppress=True)
# to display only 8 significant digits of array components

Whenever they are omitted, it is implicitly considered that these lines have previously been added.

\(\,\)