Keywords

1 Introduction

The aim of mathematical modelling varies based on the discipline one approaches it from. Physicists, for instance, create simulations at the atomistic level, which, in theory, could determine the entire macroscopic behaviour of a material, such as its thermal conductivity, deformation, fracture etc. Engineers, on the other hand, approach mathematical modelling with a pragmatic outlook, primarily concerned with predicting the behaviour of material vis-à-vis its intended engineering use.

Multiscale modelling is an approach which follows this general philosophy. A multiscale model takes into consideration the atomic or microscopic properties of a material, but does so with the aim of increasing its predictive accuracy, while at the same time making sure it is computationally cost effective. This paper focuses on multiscale PDEs known as homogenization problems, which deal with materials whose properties are represented by highly oscillating functions. Homogenization refers to the mathematical process of converting such problems into an averaged version to be modelled at the macroscopic level. It is a rich area of research, but falls short in terms of real-world application as homogenizing, or averaging, these highly oscillating material coefficients are a challenging task. The overarching goal of multiscale methods is to overcome this difficulty, thereby enabling its application to a much wider range of problems [8].

Model Problem. Let \(\Omega \subset {\mathbb{R}}^{N}, N={1,2},3\) denote a region with boundary \(\partial\Omega\), where the Dirichlet boundary conditions are prescribed on \({\Gamma }_{\mathrm{D}}\subset \partial\Omega\) and the Neumann boundary conditions on \({\Gamma }_{N}=\partial\Omega \setminus {\Gamma }_{\mathrm{D}}\). If \(\overline{\Omega }\) represents a linearly elastic material in static equilibrium when acted upon by body forces \(\mathbf{f}\in {L}^{2}{\left(\Omega \right)}^{N}\) and surface traction \(\mathbf{g}\in {H}^{-1/2}{\left({\Gamma }_{\mathrm{N}}\right)}^{N},\) find \({\mathbf{u}}^{\varepsilon }\in {H}_{0}^{1}{\left(\Omega \right)}^{N}\) such that

$$\begin{aligned}-\frac{\partial }{\partial {x}_{j}}\left({a}_{ijkh}^{\varepsilon }\frac{{\partial u}_{k}^{\varepsilon }}{{\partial x}_{h}}\right)& ={f}_{i} \quad \mathrm{in}\,\Omega , \\ {\mathbf{u}}^{\varepsilon } & =0 \quad \mathrm{on}\, {\Gamma }_{D} , \\ {a}_{ijkh}^{\varepsilon }\frac{\partial {u}_{k}^{\varepsilon }}{\partial {x}_{h}} {n}_{j}& ={g}_{i} \quad \mathrm{on}\, {\Gamma }_{N} , \end{aligned}$$
(1)

for \(i=1,\dots ,N\), where \({a}^{\varepsilon }\left(x\right)\) is a fourth order symmetric tensor and \(\varepsilon\) represents the parameter characterizing the heterogeneity of the material.

The linear strain tensor \(e\) is given by

$${e}_{ij}\left(\varphi \right)=\frac{1}{2}\left(\frac{\partial {\varphi }_{i}}{\partial {x}_{j}}+\frac{\partial {\varphi }_{j}}{\partial {x}_{i}}\right),\quad \forall \, i,j=1,\dots ,N ,$$
(2)

or any \(\varphi =\left({\varphi }_{1},\dots ,{\varphi }_{N}\right).\) Then, Hooke’s law gives us the stress tensor defined as,

$${\sigma }_{ij}={b}_{ijkh}{e}_{kh}\left(\varphi \right)={b}_{ijkh}\frac{\partial {\varphi }_{k}}{\partial {x}_{h}} .$$
(3)

The variational form of the problem becomes: Find \({\mathbf{u}}^{\varepsilon }\in {H}_{0}^{1}{\left(\Omega \right)}^{N}\) such that

$$\begin{aligned} {B}_{\varepsilon }\left({\mathbf{u}}^{\varepsilon },\mathbf{v}\right)& \stackrel{\scriptscriptstyle\mathrm{def}}{=}\int\limits_{\Omega }{a}^{\varepsilon }\left(x\right)e\left({\mathbf{u}}^{\varepsilon }\right) :e\left(\mathbf{v}\right)\, dx=\int\limits_{\Omega }\mathbf{f}\cdot \mathbf{v} \,dx+\int\limits_{{\Gamma }_{\mathrm{N}}}\mathbf{g}\cdot \mathbf{v}\, ds\\ & \stackrel{\scriptscriptstyle\mathrm{def}}{=}F\left(\mathbf{v}\right), \quad \forall \,\mathbf{v}\in {H}_{0}^{1}{\left(\Omega \right)}^{N} . \end{aligned}$$
(4)

Homogenization. A detailed theory of homogenization can be found in [7]. When homogenized, \({\mathbf{u}}^{{\varvec{\varepsilon}}}\) converges to \({\mathbf{u}}^{0}\), the solution to the variational formulation for the homogenized problem given by: Find \({\mathbf{u}}^{{\varvec{\varepsilon}}}\in {H}_{0}^{1}{\left(\Omega \right)}^{N}\) such that

$${B}_{0}\left({\mathbf{u}}^{0},\mathbf{v}\right)\stackrel{\scriptscriptstyle\mathrm{def}}{=}\int\limits_{\Omega }{a}^{0}\left(x\right) e\left({\mathbf{u}}^{0}\right) :e\left(\mathbf{v}\right) \,dx=F\left(\mathbf{v}\right), \quad \forall \, \mathbf{v}\in {H}_{0}^{1}{\left(\Omega \right)}^{N} ,$$
(5)

where, \({a}^{0}\) is the homogenized coefficient.

2 Finite Element Heterogeneous Multiscale Method

Using the classical (single-scale) FEM to solve (1) becomes computationally untenable if the scale \(\varepsilon\) is small (as is the case for microscopically heterogenous materials), since the mesh size \(h\) is required to be \(\ll \varepsilon\). On the other hand, finding an explicit expression for \({a}^{0}\) is a challenge, which makes applying the homogenization procedure to a variety of problems difficult. The strength of multiscale methods lies in the fact that it eliminates both issues. We apply one such multiscale method, the finite element heterogeneous multiscale method (FE-HMM) to problems of type (1). The FE-HMM gives an approximate solution without the need to find the homogenized tensor \({a}^{0}\), while at the same time, being much more computationally cheaper compared to the standard FEM.

2.1 The FE-HMM Algorithm

The theoretical formulation of the FE-HMM is available in [1,2,3,4]. Here we provide an explicit computer algorithm for implementing the FE-HMM to problems of linear elasticity in two dimensions, and conduct numerical experiments using the algorithm.

Step 1. Define the macro and micro finite element spaces and their basis. The first step of the algorithm can be described in points as follows.

  • Define the macro finite element space:

    $$\varvec{\mathcal{V}}^{p}\left(\Omega ,{\mathcal{T}}_{H}\right)=\left\{{\mathbf{v}}^{H}\in {H}_{0}^{1}{\left(\Omega \right)}^{N} ; {\left.{\mathbf{v}}^{H}\right|}_{K}\in {\mathcal{R}}^{p}{\left(K\right)}^{N}, \forall\, K\in {\mathcal{T}}_{H}\right\} ,$$
    (6)

    with macro elements \(K\in {\mathcal{T}}_{H}\). \({\mathcal{R}}^{p}\left(K\right)\) is either of the spaces \({\mathcal{P}}^{p}\left(K\right)\) or \({\mathcal{Q}}^{p}\left(K\right)\) of polynomials for simplicial elements and quadrilateral elements respectively, with degree \(p\) in each variable.

  • Define the macro basis:

    Let \({\left\{{\boldsymbol{\varphi }}_{i}^{H} \right\}}_{i=1}^{{N}_{fx}+{N}_{fy}}\) denote the macro FE basis \(\varvec{\mathcal{V}}^{p}\left(\Omega ,{\mathcal{T}}_{H}\right)\) where,

    $${\boldsymbol{\varphi }}_{i}^{H}=\left({\varphi }_{i}^{H},0\right) , {\boldsymbol{\varphi }}_{{N}_{fx+j}}^{H}=\left(0,{\varphi }_{j}^{H}\right) , \quad i=1,\dots ,{N}_{fx} ,\; j=1,\dots ,{N}_{fy} .$$
    (7)

    \({\varphi }_{i}^{H}\) are the usual basis functions for the scalar finite element space and \({N}_{fx}\) and \({N}_{fy}\) denote the total number of unconstrained nodes in the \(x\) and \(y\) dimensions respectively.

  • Define the micro finite element space:

    $${\varvec{\mathcal{S}}}^{q}\left({K}_{\delta }\left({x}_{\ell,K}\right),{\mathcal{T}}_{h}\right)=\left\{{\mathbf{z}}^{h}\in {\varvec{W}}\left({K}_{\delta }\left({x}_{\ell,K}\right)\right); {{\varvec{z}}}^{h}{|}_{T},\in {\mathcal{R}}^{q}{\left(Q\right)}^{N}, Q\in {\mathcal{T}}_{h}\right\},$$
    (8)

    where,

    • \({x}_{\ell,K}\in K\) are integration nodes.

    • \({K}_{d}\left({x}_{\ell,K}\right)={x}_{\ell,K}+\delta I\) are sampling domains around each \({x}_{\ell,K}\);

    • \(I={\left(-\frac{1}{2},\frac{1}{2}\right)}^{N}\) and \(\delta \ge \varepsilon\),

    • and, the \({\varvec{W}}\left({K}_{\delta }\left({x}_{\ell,K}\right)\right)\) determines the macro–micro coupling and boundary conditions, with,

    • \({\varvec{W}}\left({K}_{\delta }\left({x}_{\ell,K}\right)\right)={{\varvec{W}}}_{per}\left({K}_{\delta }\left({x}_{\ell,K}\right)\right)\) for periodic coupling and,

    • \({\varvec{W}}\left({K}_{\delta }\left({x}_{\ell,K}\right)\right)={H}_{0}^{1}{\left({K}_{\delta }\left({x}_{\ell,K}\right)\right)}^{N}\) for Dirichlet coupling, where,

    $${{\varvec{W}}}_{per}\left(Y\right)=\left\{\mathbf{v}\in {H}_{per}^{1}{\left(Y\right)}^{N}; \int\limits_{Y}{v}_{i}dy=0, \quad i=1,\dots ,N\right\} .$$
    (9)
  • Define the micro basis:

    Let \({\left\{{{\varvec{\psi}}}_{k,{K}_{\delta }}^{h} \right\}}_{k=1}^{2n}\) denote the basis of the micro FE space \(\varvec{\mathcal{S}}^{q}\left({K}_{\delta }\left({x}_{\ell,K}\right),{\mathcal{T}}_{h}\right)\), where

    $${{\varvec{\psi}}}_{k}^{h}=\left({\psi }_{k}^{h},0\right) ,\quad {{\varvec{\psi}}}_{n+k}^{h}=\left(0,{\psi }_{k}^{h}\right)\quad k=1,\dots ,n .$$
    (10)

    \({\psi }_{k}^{H}\) are the usual basis functions for scalar micro space \({S}^{q}\left({K}_{\delta }\left({x}_{\ell,K}\right),{\mathcal{T}}_{h}\right)\) and \(n\) denotes the number of nodes in the discretized micro-domain.

Step 2. Compute the macrostiffness matrix. The local macrostiffness matrix \({{\varvec{A}}}_{K}\) is defined for each \(K\in {\mathcal{T}}_{H}\) as follows:

$$\begin{aligned}{{\varvec{A}}}_{K}& \stackrel{\scriptscriptstyle\mathrm{def}}{=}{B}_{H}{\left({\boldsymbol{\varphi }}_{i}^{H},{\boldsymbol{\varphi }}_{j}^{H}\right)}_{i,j=1}^{{2i}_{D}} \\ & ={\left({\sum }_{\ell=1}^{\ell}\frac{{\upomega }_{\ell,K}}{\left|{K}_{\delta }\left({x}_{\ell,K}\right)\right|}\int\limits_{{K}_{\delta }\left({x}_{\ell,K}\right)}{a}^{\varepsilon }\left(x\right) e\left({\boldsymbol{\varphi }}_{\ell,{K}_{\delta }}^{h}\right) :e\left({\boldsymbol{\varphi }}_{\ell,{K}_{\delta }}^{h}\right)dx\right)}_{i,j=1}^{2{i}_{D}} , \end{aligned}$$
(11)

where \({\boldsymbol{\varphi }}_{{i}_{\ell,{K}_{\delta }}}^{h}\) and \({\boldsymbol{\varphi }}_{{j}_{\ell,{K}_{\delta }}}^{h}\) are solutions of the micro problem for each \(2{i}_{D}\) micro nodes, having coefficients \({\boldsymbol{\alpha }}_{\ell}^{i}={\left({\alpha }_{1,\ell}^{i},\dots ,{\alpha }_{2n,\ell}^{i}\right)}^{T}\). The local macrostiffness matrices are then assembled to compute the global macrostiffness matrix as given in the algorithm below (Table 1).

Table 1 Computer algorithm to compute the global macrostiffness matrix

Step 3. Solve the macro-problem. The variational form for the macro-problem is written as [1]: Find \({{\mathbf{u}}^{H}\in \mathcal{V}}^{p}\left(\Omega ,{\mathcal{T}}_{H}\right)\) such that

$${B}_{H}\left({\mathbf{u}}^{H},{\mathbf{v}}^{H}\right)=F\left({\mathbf{v}}^{H}\right), \quad \forall\, {\mathbf{v}}^{H}\in {\mathcal{V}}^{p}\left(\Omega ,{\mathcal{T}}_{H}\right) ,$$
(12)

which can be done by any solver package for linear systems [6, 9], now that we have computed \({{\varvec{A}}}_{K}\), and thereby, \({B}_{H}\left({\mathbf{u}}^{H},{\mathbf{v}}^{H}\right)\).

3 Numerical Experiments

We apply the multiscale method to two linear elastic plane strain problems. For the first problem, we compare the multiscale solution to a homogenized solution. To achieve this, we first need to compute the coefficients for the homogenized elasticity tensor, which is done as follows [10].

For the problem (1), \({a}^{\varepsilon }\) is assumed to represent a linear elastic isotropic material in plane strain condition whose coefficients vary along only one direction. Then, the coefficients of the corresponding homogenized tensor \({a}^{0}\) is given by, for \({\mathcal{M}}_{Y}=\frac{1}{\left|Y\right|}{\int }_{Y}dy\)

$$\begin{aligned}& {a}_{1111}^{0}=\frac{1}{{\mathcal{M}}_{Y}\left({{1} \mathord{\left/ {\vphantom {{1 } {{a}_{1111}}}} \right. \kern-\nulldelimiterspace} {{a}_{1111}}}\right)} ,\quad {a}_{1112}={a}_{1222}=0 ,\\& {a}_{1122}^{0}=\frac{{\mathcal{M}}_{Y}\left({{{a}_{1122}} \mathord{\left/ {\vphantom {{{a}_{1122} } {{a}_{1111}}}} \right. \kern-\nulldelimiterspace} {{a}_{1111}}}\right)}{{\mathcal{M}}_{Y}\left({{1} \mathord{\left/ {\vphantom {{1 } {{a}_{1111}}}} \right. \kern-\nulldelimiterspace} {{a}_{1111}}}\right)} ,\quad {a}_{1212}^{0}=\frac{1}{{\mathcal{M}}_{Y}\left({{1} \mathord{\left/ {\vphantom {{1 } {{a}_{1111}}}} \right. \kern-\nulldelimiterspace} {{a}_{1111}}}\right)} ,\\ & {a}_{2222}^{0}={\mathcal{M}}_{Y}\left({a}_{2222}\right)-{\mathcal{M}}_{Y}\left(\frac{{a}_{1122}^{2}}{{a}_{1111}}\right)+\frac{{\left({\mathcal{M}}_{Y}\left({{{a}_{1122}} \mathord{\left/ {\vphantom {{{a}_{1122} } {{a}_{1111}}}} \right. \kern-\nulldelimiterspace} {{a}_{1111}}}\right)\right)}^{2}}{{\mathcal{M}}_{Y}\left({{1} \mathord{\left/ {\vphantom {{1 } {{a}_{1111}}}} \right. \kern-\nulldelimiterspace} {{a}_{1111}}}\right)} , \end{aligned}$$
(13)

where the components of \(a\left({y}_{2}\right)\) are given by

$${a}_{1111}={a}_{2222}=\frac{E\left(1-\nu \right)}{\left(1+\nu \right)\left(1-2\nu \right)} ,\quad {a}_{1122}=\frac{E\nu }{\left(1+\nu \right)\left(1-2\nu \right)} ,$$
$${a}_{1212}=\frac{E}{2\left(1+\nu \right)} , \quad {a}_{1112}={a}_{1222}=0 ,$$

and \(E=E\left({y}_{2}\right)\) denotes the Young’s modulus of the material while \(\nu =\nu \left({y}_{2}\right)\) denotes its Poisson’s ratio.

Problem 1

Consider the problem (1), where the domain \(\Omega\) is defined as a 2D region occupied by the points (0, 0), (4800, 4400) (0, 4400), (4800, 6000), where the unit of distance is mm. Dirichlet boundary conditions are imposed at the end \(x=\) 0, and the body is subjected to a shearing load \(\mathbf{g}=\) (0, 5) N/mm2 at the end \(x=\) 4800. The volume force \(\mathbf{f}\) is assumed to vanish and the material is taken to be linear elastic and isotropic. Further, \({a}^{\varepsilon }\) is assumed to vary along only one direction. Finally, the Young’s modulus and Poisson’s ratio are defined by the functions

$$E\left({y}_{2}\right)=8.35\left(\frac{1+\left(0.2+0.1\mathrm{cos}\left(2\pi {y}_{2}\right)\right)}{\left(0.2+0.15\mathrm{sin}\left(2\pi {y}_{2}\right)\right)}\right)\mathrm{kN}/{\mathrm{mm}}^{2} ,$$
$$\nu \left({y}_{2}\right)=0.2+0.1\mathrm{cos}\left(2\pi {y}_{2}\right) .$$

From (13), the tensor \({a}^{0}\) can be written (in Voigt Notation) as

$${a}^{0}=\left(\begin{array}{ccc}56.4099& 14.6599& 0\\ 14.6599& 83.2061& 0\\ 0& 0& 20.8750\end{array}\right) .$$

The error between \({\mathbf{u}}^{0}\) and \({\mathbf{u}}^{H}\) for macro order \(p = 1\) and micro order \(q=1\) is plotted in Fig. 1, and the convergence rate is verified to be linear in the \({H}^{1}\)-norm and quadratic in the \({L}^{2}\)-norm [1]. The deformed mesh for the homogenized and multiscale solutions is shown in Fig. 2, while Fig. 3 compares the strain energy density for both solutions.

Fig. 1
A 3-D surface plot has an oscillating pattern with the highest values at the top peaks and the lowest values at the bottom dips. The right side has an error versus H graph that plots increasing trends of H 1 and L 2 norms.

Plot of Young’s modulus \({E}\left({{y}}_{2}\right)\) (left) and error between \({\mathbf{u}}^{0}\) and \({\mathbf{u}}^{H}\) (right)

Fig. 2
Two surface plots represent rectangular planes that gradually narrow toward the top right. The major areas have the lowest values with the highest value at the bottom middle side of the plane.

Deformed mesh for the homogenized solution (left) versus multiscale solution (right)

Fig. 3
Two surface plots represent rectangular planes that gradually narrow toward the top right. The major areas have the lowest values with the moderate values at the bottom middle side of the plane.

Strain energy density for the homogenized solution (left) versus multiscale solution (right)

Problem 2

Consider (1), where the domain is defined by \(\Omega =\) (0, 1) \(\times\) (1, 0)\(\backslash\)B(0, 0.5) where the unit of distance is metres. Dirichlet boundary conditions in the \(x\) dimension are imposed at the end \(x=\) 0, and in the \(y\) dimension at \(y=\) 0. The body is subjected to shearing load \(\mathbf{g}=\) (1E + 5, 0) kN/m2 at the end \(y=1\) and the volume force \(\mathbf{f}\) is assumed to vanish and the material is taken to be linear elastic and isotropic. Further, \({a}^{\varepsilon }\) is assumed to be non-uniformly periodic with coefficients (Fig. 4)

$${a}_{1111}={a}_{2222}=\left(3\mathrm{E}+7\right)\left(\frac{1.5+\mathrm{sin}\left(2\pi x/\varepsilon \right)}{1.5+\mathrm{sin}\left(2\pi y/\varepsilon \right)}+\frac{1.5+\mathrm{sin}\left(2\pi y/\varepsilon \right)}{1.5+\mathrm{cos}\left(2\pi x/\varepsilon \right)}+\mathrm{sin}\left(4xy\right)+1\right) ,$$
$${a}_{1122}=\left(1\mathrm{E}+7\right)\left(\frac{1.5+\mathrm{sin}\left(2\pi y/\varepsilon \right)}{1.5+\mathrm{cos}\left(2\pi x/\varepsilon \right)}+\mathrm{sin}\left(4xy\right)\right) ,$$
$${a}_{1212}=\left(1\mathrm{E}+7\right)\left(2.1+\frac{2}{1.5+\mathrm{cos}\left(2\pi x/\varepsilon \right)}+\mathrm{sin}\left(4xy\right)\right) .$$
Fig. 4
The left side has a 3-D surface plot with spikes on its surface. Values are lowest at the bottom layer and gradually increase to attain the highest value at the top layer. The right side has a 2-D plot. It resembles a square plot with a concave corner and the lowest values in major areas.

Plot of material coefficient \({{a}}_{1111}\) (left) and deformed mesh for multiscale solution (right)

Problem 2 is solved using a classical finite element algorithm from [9] with a discretization having a degree of freedom of \(N\) = 7.87968E + 5 and FE space of order \(p\) = 4. It is also solved using the algorithm presented above with varying macro degree of freedom \(N\) and order of macro FE space \(p\) and micro degree of freedom \(n\) and order of micro FE space \(q\) as shown in Tables 2 and 3. The energy and infinity norms of the fine scale solution and multiscale solutions are compared in Table 4.

Table 2 Energy and infinity norms for the multiscale solutions with fixed micro d.o.f. \(n\) and varying macro d.o.f. \(N\)
Table 3 Energy and infinity norms for the multiscale solutions with fixed micro d.o.f. \(N\) and varying macro d.o.f. \(n\)
Table 4 Energy and infinity norms for the multiscale solutions versus fine scale solution

4 Conclusion

We have implemented a multiscale method for plane strain problems in linear elasticity. A computer algorithm to implement the method has also been presented. Two problems have been solved using the algorithm and their results have been compared with the homogenized and fine scale solutions. The results show that the multiscale solution is much more computationally economical in comparison with the standard fine scale finite element solution. We have shown that a fine scale solution with degree of freedom \(N\)= 7.87968E + 5 and order of FE space \(p\)= 4 is comparable with the multiscale solution with degrees of freedom \(n\) = 25, \(N\) = 25, and order of macro FE space \(p\) = 4, and micro FE space \(q\) = 4, which is a striking difference. However, at present, the method is limited to linear problems in elasticity. It may be further developed for multiscale non-linear problems, multiscale phenomena in damage and fracture of materials etc.