1 Introduction

A large class of natural and engineering materials are porous with a pore-fluid interacting with the solid skeleton. These materials are often micro-heterogeneous in the sense that there is a pronounced difference in the mechanical properties between the different micro-constituents, e.g. solid grains and pore fluid. Moreover, heterogeneity may occur on a much larger length scale. A typical example is porous rock which might be saturated by different pore fluids (e.g. patchy saturation models [25, 28]) or which might be composed of zones with varying material properties of the solid skeleton (e.g. double porosity models [12, 22]). In both cases, the mechanical properties, such as compressibility of the constituents and permeability of the pore space, are highly heterogeneous. The pronounced pressure gradients resulting from external loading are equilibrated via the redistribution of the contained pore fluid.

The straightforward approach is to model the problem on one single scale using Direct Numerical Simulation (DNS). However, resolving the substructural features is computationally very expensive and, therefore, some sort of homogenization strategy is preferable. When the intrinsic material properties are nonlinear and/or the fine-scale problem is inherently transient, it is necessary to resort to nested macro- and sub-scale computations (\(\hbox {FE}^2\)), whereby the sub-scale computations are carried out on a so-called Representative Volume Element (RVE)Footnote 1 in each quadrature point in the macro-scale domain, possibly within a given time step. Clearly, the purpose is to obtain macro-scale properties of engineering interest; hence, whether it is possible to avoid resolution via DNS of the fine-scale problem and accept the homogenized solution can only be assessed via some sort of goal-oriented error quantification.

However, it is widely realized that straight-forward application of the \(\hbox {FE}^2\)-strategy can be computationally intractable for a fine macro-scale mesh, particularly in 3D. Therefore, there is significant interest in reducing the cost of solving the individual RVE-problems by introducing some kind of reduced basis, here denoted Numerical Model Reduction (NMR). In particular, we note strategies that are based on the superposition of “modes” that are characteristic for the RVE-solution fields. In the case of sub-scale small strain (visco)plasticity, various attempts have been made to approximate the inelastic strain field by a reduced basis consisting of so-called “inelastic modes”. One of the early proposals is the so-called “eigendeformation-based reduced order homogenization” technique by Fish and coworkers [7, 23], which in its turn relies on the Transformation Field Analysis (TFA) that was originally proposed by Dvorak and Benveniste [4]. A similar approach, coined Nonuniform Transformation Field Analysis (NTFA), was proposed by Michel and Suquet [20, 21, 26]. Recent developments are e.g. by Fritzen and coworkers [8,9,10,11], who extended the idea further within the framework of Proper Orthogonal Decomposition (POD) and applied it to visco-elasticity and, more generally, to a subclass of Standard Dissipative Materials.

Quite importantly, however, is the obvious fact that the richness of the reduced basis will determine the accuracy of the RVE-solution, which calls for error control. Here, we consider the full FE-solution as the exact one. An example of error estimation due to model reduction, although not in a homogenization context and for a PGD-basis, is Ladeveze and Chamoin [18]. More recently, Ekre et al. [6] investigated the transport of error from the micro- to the macro-scale model in a reduced \(\hbox {FE}^2\) approach.

In recent years, several attempts have been made to establish multi-scale procedures for poroelastic media, e.g. Su et al. [27]. A recent contribution is by Khoei and Hajiabadi [17]. However, the straight-forward \(\hbox {FE}^2\)-strategy turns out, as mentioned above, to be intractable for realistic large-scale problems in 3D. Jänicke et al. [13, 15] studied the computational homogenization of heterogeneous poroelastic media under locally undrained conditions, i.e. fluid redistribution is only allowed locally whilst global fluid transport is suppressed. This “selective” homogenization approach allows to reduce the macro-scale problem to that of a single-phase viscoelastic material, whereby the “’mode coefficients” play the role of classical internal variables of the macro-scale model. More recently, this selective homogenization towards a viscoelastic macro-scale material was extended to account for Darcy-type seepage in fluid-filled fracture networks [14].

In this paper, we introduce the \(\hbox {FE}^2\) approach with Numerical Model Reduction based on the complete, i.e. non-selective, upscaling of the poroelastic fine-scale model towards a poro-viscoelastic macro-scale model. The scale transition is formulated in terms of a Variationally Consistent Homogenization scheme with weakly periodic boundary conditions on the RVE problems. Inspired by the NTFA approach, we use training computations and POD to identify a reduced basis of pore pressure modes that allows us to shift all fine-scale computations from the “online” \(\hbox {FE}^2\) solution phase towards an “offline” training phase. The resulting macro-scale model contains both the viscoelastic properties associated with local fluid redistribution on the RVE level as well as the hydro-mechanical properties of a macroscopic poroelastic medium. Therefore, it is called poro-viscoelastic. We benchmark the predictions emerging from the poro-viscoelastic NMR procedure against results from DNS in several numerical examples and demonstrate the numerical efficiency of the model in a large-scale 3D example.

Throughout this paper, meager type is used to denote scalars, whereas bold type is used to denote vectors and (higher order) tensors. Single contraction is denoted by \(\cdot \). For example, if \(\mathbf{a},\mathbf{b}\) are vectors and \(\mathbf{A}\) is a second order tensor, we have \(\mathbf{a}\cdot \mathbf{b}=a_i b_i\), \((\mathbf{A}\cdot \mathbf{b})=A_{ij}b_{j}\), where the Einstein summation convention is used.

As to homogenization in the spatial domain, volume and surface averaging of an intensive field \(\diamond \) are denoted

$$\begin{aligned} \left\langle \diamond \right\rangle _{\Box } := \frac{1}{|\varOmega _{\Box }|}\int _{\varOmega _{\Box }}\diamond \,\mathrm{d}\varOmega ,&\left\langle \left\langle \diamond \right\rangle \right\rangle _\Box := \frac{1}{|\varGamma _{\Box }|}\int _{\varGamma _{\Box }} \diamond \, \,\mathrm{d}\varGamma , \end{aligned}$$
(1)

where the domain occupied by the RVE is \(\varOmega _{\Box }\) with boundary \(\varGamma _\Box \). The macro-scale representation of \(\diamond \) is denoted \(\bar{\diamond }\), and frequently it holds that \(\bar{\diamond }:=\left\langle \diamond \right\rangle _{\Box }\).

The paper is organized as follows: Sect. 2 gives a short review of the poroelastic fine-scale model. Section 3 is devoted to the two-scale modeling based on computational homogenization. The NMR strategy is presented in Sect. 4. Section 5 presents the numerical results for 1D, 2D and 3D settings including benchmark experiments. Finally, Sect. 6 concludes the paper with a summary and an outlook to future work.

2 Fine-scale modeling of a poroelastic medium

2.1 Preliminaries

We give a brief summary of poroelasticity under geometrically linear and quasi-static conditions. Initially introduced by Biot [1, 2], poroelasticity as a homogenized continuum model of solid-fluid mixtures with hydro-mechanical coupling can be seen as a special case of the more general class of materials described by the Theory of Porous Media (TPM) as proposed e.g. by De Boer [3] and Ehlers [5]. The primary global fields are the displacement of the solid skeleton, denoted \(\mathbf{u}\), and the intrinsic pore fluid pressure, denoted p.

2.2 Constitutive relations for the sub-scale constituents

The constitutive relations for the equilibrium stress \(\varvec{\sigma }\) and the seepage velocity \(\mathbf{w}\) become:

$$\begin{aligned} \varvec{\sigma }&= \mathbb E:\varvec{\varepsilon }- \alpha \,p\mathbf{I}, \quad \varvec{\varepsilon }[\mathbf{u}]:= (\mathbf{u}\otimes \varvec{\nabla })^{\mathrm{sym}}, \end{aligned}$$
(2a)
$$\begin{aligned} \mathbf{w}&= - \mathbf{K}\cdot \varvec{\zeta }, \quad \varvec{\zeta }[p]:= \varvec{\nabla }p, \end{aligned}$$
(2b)

where \(\varvec{\varepsilon }\) is the strainFootnote 2 and \(\varvec{\zeta }\) is the pressure gradient. The material properties are as follows: \(\mathbb E\) is the fourth order elasticity modulus tensor which is defined in the simplest case of isotropy by the constant parameters G and K, which are the shear modulus and compression modulus, respectively. \(\mathbf{K}\) is the second order constant permeability tensor, defined (in the simplest case of isotropy) by the scalar permeability coefficient k. Finally, \(\alpha \) is the Biot coefficient.

We also introduce the storage function \(\varPhi \) that represents the current volume fraction of fluid

$$\begin{aligned} \varPhi (\varvec{\varepsilon },p) := \phi + \alpha \, \mathbf{I}:\varvec{\varepsilon }+ \beta \,p, \end{aligned}$$
(3)

where \(\phi \) is the initial porosity of the solid phase, and \(\beta \) is the intrinsic compression compliance of the pore fluid. Note that \(\phi \) is taken as constant and independent of the deformation. As to the spatial variation of these parameters, they may be strongly heterogeneous on the fine scale.

2.3 Strong and weak format of the fine-scale problem

Restricting to quasi-statics, we thus seek the displacement \(\mathbf{u}(\mathbf{x},t): \varOmega \times \mathbb {R}^+ \rightarrow \mathbb {R}^3\) and the pore pressure \(p(\mathbf{x},t): \varOmega \times \mathbb {R}^+ \rightarrow \mathbb {R}\) that solve the system

$$\begin{aligned}&-\varvec{\sigma }(\varvec{\varepsilon }[\mathbf{u}],p)\cdot \varvec{\nabla }= \mathbf{0 }&\quad \text {in}\;\varOmega \times (0,T], \end{aligned}$$
(4a)
$$\begin{aligned}&\dot{\varPhi }(\varvec{\varepsilon }[\mathbf{u}],p) + \mathbf{w}(\varvec{\zeta }[p])\cdot \varvec{\nabla }= \mathbf{0 }&\quad \text {in}\;\varOmega \times (0,T], \end{aligned}$$
(4b)
$$\begin{aligned}&\mathbf{u}= \mathbf{u}^{\mathrm{p}}&\quad \text {on}\;\varGamma ^{(u)}_{\mathrm{D}}\times (0,T], \end{aligned}$$
(4c)
$$\begin{aligned}&\mathbf{t}:= \varvec{\sigma }\cdot \mathbf{n}= \mathbf{t}^{\mathrm{p}}&\quad \text {on}\;\varGamma ^{(u)}_{\mathrm{N}}\times (0,T], \end{aligned}$$
(4d)
$$\begin{aligned}&p = p^{\mathrm{p}}&\quad \text {on}\;\varGamma ^{(p)}_{\mathrm{D}}\times (0,T], \end{aligned}$$
(4e)
$$\begin{aligned}&w := \mathbf{w}\cdot \mathbf{n}= w^{\mathrm{p}}&\quad \text {on}\;\varGamma ^{(p)}_{\mathrm{N}}\times (0,T], \end{aligned}$$
(4f)

together with the constitutive relations in (2) and (3) and the initial condition

$$\begin{aligned} \varPhi (\bullet ,0) = \phi + \alpha \mathbf{I}:\varvec{\varepsilon }[\mathbf{u}(\bullet ,0)] + \beta \,p(\bullet ,0) = \phi \quad \text {in}\;\varOmega . \end{aligned}$$
(5)

Clearly, (4a) represents static equilibrium, whereas (4b) expresses mass conservation of the two-phase solid-fluid mixture.

The standard space-variational format corresponding to (4) reads: Find (\(\mathbf{u}(\bullet ,t),p(\bullet ,t)\)) in the appropriately defined spaces \({\mathbb {U}}\times {\mathbb {P}}\) that solve

$$\begin{aligned}&\int _\varOmega \left[ \varvec{\varepsilon }[\mathbf{u}]:\mathbb E:\varvec{\varepsilon }[\delta \mathbf{u}] - \alpha \,p [\delta \mathbf{u}\cdot \varvec{\nabla }] \right] \text{ d }\varOmega \nonumber \\&\quad = \int _{\varGamma ^{(u)}_{\mathrm{N}}} \mathbf{t}^{\mathrm{p}}\cdot \delta \mathbf{u}\,\text{ d }\varGamma \quad \forall \delta \mathbf{u}\in \mathbb {U}^0, \end{aligned}$$
(6a)
$$\begin{aligned}&\int _\varOmega \left[ \alpha \,[\dot{\mathbf{u}}\cdot \varvec{\nabla }]\,\delta p + \beta \,\dot{p}\,\delta p + \varvec{\zeta }[p]\cdot \mathbf{K}\cdot \varvec{\zeta }[\delta p] \right] \text{ d }\varOmega \nonumber \\&\quad = \int _{\varGamma ^{(p)}_{\mathrm{N}}} w^{\mathrm{p}}\,\delta {p}\,\text{ d }\varGamma \quad \forall \delta {p}\in \mathbb {P}^0, \end{aligned}$$
(6b)

where \(\mathbb {U}^0\) and \(\mathbb {P}^0\) are the appropriately defined test spaces.

3 Two-scale analysis based on computational homogenization

3.1 First order homogenization in the spatial domain

We replace the single-scale problem in Sect. 2 by a two-scale problem upon introducing (i) running averages in the weak format and (ii) scale separation via first-order homogenization. The first step is to replace the space-variational problem in (6) by that of finding \((\mathbf{u}(\bullet ,t),p(\bullet ,t))\in {\mathbb {U}}_{\mathrm{FE}^2}\times {\mathbb {P}}_{\mathrm{FE}^2}\) that solves

$$\begin{aligned}&\int _\varOmega \left[ a_{\Box }^{(u)}(\mathbf{u};\delta \mathbf{u}) - b_{\Box }(p;\delta \mathbf{u})\right] \text{ d }\varOmega \nonumber \\&\quad = \int _{\varGamma ^{(u)}_{\mathrm{N}}} \mathbf{t}^{\mathrm{p}}\cdot \delta \mathbf{u}\,\text{ d }\varGamma \quad \forall \delta \mathbf{u}\in {\mathbb {V}}_{\mathrm{FE}^2}, \end{aligned}$$
(7a)
$$\begin{aligned}&\int _\varOmega \left[ b_{\Box }(\delta {p};\dot{\mathbf{u}}) + m_{\Box }(\dot{p};\delta {p}) + a_{\Box }^{(p)}(p;\delta {p}) \right] \text{ d }\varOmega \nonumber \\&\quad = \int _{\varGamma ^{(p)}_{\mathrm{N}}} w^{\mathrm{p}}\,\delta {p}\,\text{ d }\varGamma \quad \forall \delta {p}\in {\mathbb {Q}}_{\mathrm{FE}^2}, \end{aligned}$$
(7b)

where the pertinent space-variational forms in (7) are given as

$$\begin{aligned} a_{\Box }^{(u)}(\mathbf{u};\mathbf{v})&:= \left\langle \varvec{\varepsilon }[\mathbf{u}]:\mathbb E:\varvec{\varepsilon }[\mathbf{v}] \right\rangle _{\Box }, \end{aligned}$$
(8a)
$$\begin{aligned} a_{\Box }^{(p)}(p;q)&:= \left\langle \varvec{\zeta }[p]\cdot \mathbf{K}\cdot \varvec{\zeta }[q] \right\rangle _{\Box }, \end{aligned}$$
(8b)
$$\begin{aligned} b_{\Box }(p;\mathbf{v})&:= \left\langle \alpha \,p\,\mathbf{I}:\varvec{\varepsilon }[\mathbf{v}] \right\rangle _{\Box } = \left\langle \alpha \,p\,(\mathbf{v}\cdot \varvec{\nabla }) \right\rangle _{\Box }, \end{aligned}$$
(8c)
$$\begin{aligned} m_{\Box }(p;q)&:= \left\langle \beta \,p\,q \right\rangle _{\Box }. \end{aligned}$$
(8d)

Here, (\(\mathbf{v};q\)) represent arbitrary but admissible displacement and pore pressure fields. Obviously, these space-variational forms represent running averages on square/cubic domains \(\varOmega _{\Box }\) with the side length \(L_{\Box }\) and located at each macro-scale spatial point \(\bar{\mathbf{x}}\in \varOmega \). We note that the introduced averaging results in a change of the original problem. The weak format thus serves as the basis for variationally consistent homogenization as discussed below.

Next, in order to define the two-scale solution and test spaces \({\mathbb {U}}_{\mathrm{FE}^2}, {\mathbb {V}}_{\mathrm{FE}^2}\) and \({\mathbb {P}}_{\mathrm{FE}^2}, {\mathbb {Q}}_{\mathrm{FE}^2}\) associatedFootnote 3 with \(\hbox {FE}^2\), we introduce scale separation and first-order homogenization. The standard approach is then to decompose the sub-scale fields \(\mathbf{u}\) and p into a macro-scale part, \(\mathbf{u}^{\mathrm{M}}\) and \(p^{\mathrm{M}}\), and a micro-scale or fluctuating part, \(\mathbf{u}^{\mu }\) and \(p^{\mu }\), within each RVE such that

$$\begin{aligned} \mathbf{u}&= \mathbf{u}^{\mathrm{M}}[\bar{\mathbf{u}}] + \mathbf{u}^{\mu },\quad \text {with}\quad \mathbf{u}^{\mathrm{M}}[\bar{\mathbf{u}}](\mathbf{x},t) := \bar{\mathbf{u}} + \bar{\mathbf{h}}(t)\nonumber \\&\quad \cdot [\mathbf{x}-\bar{\mathbf{x}}], \quad \bar{\mathbf{h}}:= \mathbf{h}[\bar{\mathbf{u}}]=\bar{\mathbf{u}}\otimes \varvec{\nabla }, \end{aligned}$$
(9a)
$$\begin{aligned} p&= p^{\mathrm{M}}[\bar{p}] {+} p^{\mu },\quad \text {with}\quad p^{\mathrm{M}}[\bar{p}](\mathbf{x},t) {:=} \bar{p} {+} \bar{\varvec{{\zeta }}}(t)\nonumber \\&\quad \cdot [\mathbf{x}-\bar{\mathbf{x}}], \quad \bar{\varvec{{\zeta }}}{:=} \mathbf{h}[\bar{p}]=\varvec{\nabla }\bar{p}. \end{aligned}$$
(9b)

We are now in the position to define the two-scale trial and test spaces

$$\begin{aligned} \mathbb {U}_{\mathrm{FE}^2}&:= \{\mathbf{u}|_{\varOmega _{\Box ,i}} = \mathbf{u}^{\mathrm{M}}[\bar{\mathbf{u}}]+\mathbf{u}_i^{\mu },\,\, \mathbf{u}_i^{\mu }\in \mathbb {U}^\mu _{\Box ,i}, \,\, \bar{\mathbf{u}}\in \bar{\mathbb {U}} \}, \end{aligned}$$
(10a)
$$\begin{aligned} \mathbb {V}_{\mathrm{FE}^2}&:= \{\delta \mathbf{u}|_{\varOmega _{\Box ,i}} = \mathbf{u}^{\mathrm{M}}[\delta \bar{\mathbf{u}}]+\delta \mathbf{u}_i^{\mu },\,\, \delta \mathbf{u}_i^{\mu }\in \mathbb {V}^\mu _{\Box ,i}, \nonumber \\&\qquad \qquad \delta \bar{\mathbf{u}}\in \bar{\mathbb {U}}^0, \,\,\delta \mathbf{u}|_{\varGamma _\text {N}^{(u)}}=\delta \bar{\mathbf{u}} \}, \end{aligned}$$
(10b)

whereas

$$\begin{aligned}&\mathbb {P}_{\mathrm{FE}^2} := \{{p}|_{\varOmega _{\Box ,i}} = {p}^{\mathrm{M}}[\bar{p}]+{p}_i^{\mu },\,\, {p}_i^{\mu }\in \mathbb {P}^\mu _{\Box ,i}, \,\, \bar{p}\in \bar{\mathbb {P}} \}, \end{aligned}$$
(11a)
$$\begin{aligned}&\mathbb {Q}_{\mathrm{FE}^2} := \{\delta {p}|_{\varOmega _{\Box ,i}} {=} {p}^{\mathrm{M}}[\delta \bar{p}]{+}\delta {p}_i^{\mu },\,\, \delta {p}_i^{\mu }{\in }\mathbb {Q}^\mu _{\Box ,i}, \,\, \delta \bar{p}{\in }\bar{\mathbb {P}}^0,\nonumber \\&\qquad \qquad \qquad \delta p|_{\varGamma _\text {N}^{(p)}}{=}\delta \bar{p} \}. \end{aligned}$$
(11b)

The trial and test spaces for the macro-scale problem are denoted \(\bar{{\mathbb {U}}}, \bar{{\mathbb {V}}}\) and for the micro-scale problem \({\mathbb {U}}^\mu _{\Box ,i}, {\mathbb {V}}^\mu _{\Box ,i}\), and \({\mathbb {P}}^\mu _{\Box ,i}, {\mathbb {Q}}^\mu _{\Box ,i}\). We introduce the notation

figure a
figure b

Hence, there exist components \((\mathbf{u}^\mu ,p^\mu )\) and corresponding spaces \(({\mathbb {U}}_{\Box ,i}^\mu ,{\mathbb {P}}^\mu _{\Box ,i})\) for each single RVE \(\varOmega _{\Box ,i}\).

We now restate the two-scale problem (7) as follows: Find that solve

figure c
figure d

where we used the interpretation \(\delta \mathbf{u}^\mu =\delta \mathbf{u}^\mu _i\) and \(\delta p^\mu =\delta p^\mu _i\) inside \(\varOmega _{\Box ,i}\).

3.2 Macro-scale problem

We obtain the macro-scale (homogenized) problem from (13) upon choosing purely macroscopic test functions; hence \(\delta \mathbf{u}=\mathbf{u}^{\mathrm{M}}[\delta \bar{\mathbf{u}}]\) and \(\delta p=p^{\mathrm{M}}[\bar{p}]\) such that

$$\begin{aligned}&\int _\varOmega \left[ a_{\Box }^{(u)}(\mathbf{u};\mathbf{u}^{\mathrm{M}}[\delta \bar{\mathbf{u}}]) - b_{\Box }(p;\mathbf{u}^{\mathrm{M}}[\delta \bar{\mathbf{u}}])\right] \text{ d }\varOmega \nonumber \\&\quad = \int _{\varGamma ^{(u)}_{\mathrm{N}}} \mathbf{t}^{\mathrm{p}}\cdot \mathbf{u}^{\mathrm{M}}[\delta \bar{\mathbf{u}}] \text{ d }\varGamma \quad \forall \delta \bar{\mathbf{u}}\in \bar{\mathbb {U}}^0, \end{aligned}$$
(14a)
$$\begin{aligned}&\int _\varOmega \left[ b_{\Box }({p}^{\mathrm{M}}[\delta \bar{p}];\dot{\mathbf{u}}) + m_{\Box }^{(p)}(\dot{p};{p}^{\mathrm{M}}[\delta \bar{p}])\right. \nonumber \\&\qquad \left. + a_{\Box }^{(p)}(p;{p}^{\mathrm{M}}[\delta \bar{p}]) \right] \text{ d }\varOmega {=} \int _{\varGamma ^{(p)}_{\mathrm{N}}} w^{\mathrm{p}}\,{p}^{\mathrm{M}}[\delta \bar{p}]\,\text{ d }\varGamma \forall \delta \bar{p}{\in }\bar{\mathbb {P}}^0, \end{aligned}$$
(14b)

or, more explicitly,

$$\begin{aligned}&\int _{\varOmega } \bar{\varvec{\sigma }}:[\delta \bar{\mathbf{u}}\otimes \varvec{\nabla }] \text{ d }\varOmega = \int _{\varGamma _{\mathrm{N}}^{(u)}} \bar{\mathbf{t}}^{\mathrm{p}}\cdot \delta \bar{\mathbf{u}}\,\text{ d }\varGamma , \quad \forall \delta \bar{\mathbf{u}}\in \bar{\mathbb {U}}^0, \end{aligned}$$
(15a)
$$\begin{aligned}&\int _{\varOmega } \dot{\bar{\varPhi }}\delta \bar{p}\,\text{ d }\varOmega + \int _{\varOmega } \dot{\bar{\mathbf{Q}}}\cdot \varvec{\nabla }\delta \bar{p} \,\mathrm{d}\varOmega - \int _{\varOmega } \bar{\mathbf{w}}\cdot \varvec{\nabla }\delta \bar{p}\,\text{ d }\varOmega \nonumber \\&\quad = \int _{\varGamma _{\mathrm{N}}^{(u)}} \bar{w}^{\mathrm{p}}\delta \bar{p}\,\text{ d }\varGamma , \quad \forall \delta \bar{p}\in \bar{\mathbb {P}}^0, \end{aligned}$$
(15b)

where we introduced the variationally consistent macro-scale (homogenized) fields

$$\begin{aligned} \bar{\varvec{\sigma }}&= \left\langle \varvec{\sigma } \right\rangle _\Box = \left\langle \mathbb E:\varvec{\varepsilon }[\mathbf{u}] - \alpha \, p \mathbf{I} \right\rangle _\Box , \end{aligned}$$
(16a)
$$\begin{aligned} \bar{\mathbf{q}}&= \left\langle \mathbf{w} \right\rangle _\Box = - \left\langle \mathbf{K}\cdot \varvec{{\zeta }}[p] \right\rangle _\Box , \end{aligned}$$
(16b)
$$\begin{aligned} \bar{\varPhi }&= \left\langle \varPhi \right\rangle _\Box = \left\langle \phi + \alpha \,\mathbf{I}:\varvec{\varepsilon }[\mathbf{u}] + \beta \,p \right\rangle _\Box , \end{aligned}$$
(16c)
$$\begin{aligned} \bar{\mathbf{Q}}&= \left\langle \varPhi \,[\mathbf{x}-\bar{\mathbf{x}}] \right\rangle _\Box = \left\langle \left[ \phi + \alpha \,\mathbf{I}:\varvec{\varepsilon }[\mathbf{u}] + \beta \,p\right] \left[ \mathbf{x}-\bar{\mathbf{x}}\right] \right\rangle _\Box . \end{aligned}$$
(16d)

In addition, \(\bar{\mathbf{t}}^\text {p}\) and \(\bar{w}^\text {p}\) are defined as the suitably homogenized quantities on the Neumann boundary parts.

Note that, according to (15b) and (4b), the total macroscopic seepage velocity \(\bar{\mathbf{w}}\) can be computed as

$$\begin{aligned} \bar{\mathbf{w}}= & {} \bar{\mathbf{q}}{-}\dot{\bar{\mathbf{Q}}} {= }\left\langle \mathbf{w} \right\rangle _\Box {-} \left\langle \dot{\varPhi }[\mathbf{x}{-}\bar{\mathbf{x}}] \right\rangle _\Box {=}\left\langle \mathbf{w}+[\mathbf{x}-\bar{\mathbf{x}}]\,(\mathbf{w}\cdot \varvec{\nabla }) \right\rangle _\Box \nonumber \\= & {} \frac{1}{|\varOmega _\Box |}\int _{\varGamma _\Box } w\,[\mathbf{x}-\bar{\mathbf{x}}]\,\text{ d }\varGamma . \end{aligned}$$
(17)

Also note that the homogenized stress can be expressed in standard fashion as the surface integral

$$\begin{aligned} \bar{\varvec{\sigma }} = \frac{1}{|\varOmega _\Box |}\int _{\varGamma _\Box }(\mathbf{t}\otimes [\mathbf{x}-\bar{\mathbf{x}}])^\text {sym}\text{ d }\varGamma . \end{aligned}$$
(18)

3.3 Micro-scale problem on a representative volume element

In the previous section, the macro-scale problem was defined, and it was established that the macro-scale fields in (16) depend on \((\mathbf{u},p)\) inside the pertinent \(\varOmega _\Box \). We shall now consider the local problem on a single RVE \(\varOmega _{\Box ,i}\) to determine the implicit relation \((\mathbf{u}^\mu _i,p^\mu _i)\{\bar{\mathbf{u}},\bar{p}\}\), where \(\mathbf{u}|_{\varOmega _{\Box ,i}}=\mathbf{u}^\text {M}[\bar{\mathbf{u}}]+\mathbf{u}^\mu _i\) and \(p|_{\varOmega _{\Box ,i}}=p^\text {M}[\bar{p}]+p^\mu _i\). To this end, we consider the problem in (13) for a single test function \(\delta \mathbf{u}^\mu _i\in {\mathbb {V}}_{\Box ,i}^\mu \) and \(\delta p^\mu _i\in {\mathbb {Q}}_{\Box ,i}^\mu \). For brevity, we henceforth drop index i since we now restrict to one single RVE.

The decomposition in (9) presumes that the solution \((\mathbf{u},p)\) can be uniquely decomposed into macroscopic parts \((\mathbf{u}^M,p^M)\) and fluctuations \((\mathbf{u}^\mu ,p^\mu )\). This imposes constraints on \({\mathbb {U}}_\Box ^\mu \) and \({\mathbb {P}}_\Box ^\mu \) in (13). In order to be explicit, we shall consider an expanded format of the problem. To this end, we introduce the richer spaces as follows:

$$\begin{aligned} {\mathbb {U}}_\Box = [\text {H}^1(\varOmega _\Box )]^3, \quad {\mathbb {P}}_\Box = \text {H}^1(\varOmega _\Box ), \end{aligned}$$
(19)

where \(\text {H}^1(\bullet )\) is the Sobolev space of functions with square integrable derivatives.

Fig. 1
figure 1

RVE with decomposition of the boundary \(\varGamma _\Box \) into image boundary \(\varGamma ^+_\Box \) and mirror boundary \(\varGamma ^-_\Box \)

In order to ensure a uniquely solvable RVE-problem, we next adopt the following additional model assumptions:

  • We assume that \(\mathbf{u}^{\mu }\) and \({p}^{\mu }\) are periodic, i.e.

    $$\begin{aligned} \llbracket {{\mathbf{u}}^{\mu }}\rrbracket _\Box (\mathbf{x}) = \mathbf{0 }, \quad \llbracket {{p}^{\mu }}\rrbracket _\Box (\mathbf{x}) = 0 \quad \forall \delta \mathbf{x}\in \varGamma _\Box ^+, \end{aligned}$$
    (20)

    where we introduced the “difference operator” \(\llbracket {\bullet }\rrbracket _\Box (\mathbf{x}):=\bullet (\mathbf{x}) - \bullet (\mathbf{x}^-(\mathbf{x}))\); \(\mathbf{x}\in \varGamma _\Box ^+\) is an “image point” whereas \(\mathbf{x}^-(\mathbf{x})\in \varGamma ^-=\varGamma _\Box \setminus \varGamma _\Box ^+\) is the corresponding “mirror point”, see Fig. 1. Upon introducing, for the sake of brevity, the RVE-forms

    $$\begin{aligned}&d^{(u)}_{\Box }(\varvec{\lambda },\mathbf{u}) := \frac{1}{|\varOmega _{\Box }|}\int _{\varGamma _\Box ^+} \varvec{\lambda }\cdot \llbracket {\mathbf{u}}\rrbracket _\Box \,\text{ d }\varGamma , \nonumber \\&d^{(p)}_{\Box }({\mu },{p}) := \frac{1}{|\varOmega _{\Box }|}\int _{\varGamma _\Box ^+} {\mu }\, [[ p ]]_\Box \,\text{ d }\varGamma , \end{aligned}$$
    (21)

    we may express the variational (weak) statementsFootnote 4 of the micro-periodicity constraints in (20) as

    $$\begin{aligned} d^{(u)}_{\Box }(\delta \varvec{\lambda },\mathbf{u})&= d^{(u)}_{\Box }(\delta \varvec{\lambda },\mathbf{u}^{\mathrm{M}}[\bar{\mathbf{u}},\bar{\varvec{\varepsilon }}]), \quad \forall \delta \varvec{\lambda }\in \mathbb {T}_\Box , \end{aligned}$$
    (22a)
    $$\begin{aligned} d^{(p)}_{\Box }(\delta {\mu },p)&= d^{(p)}_{\Box }(\delta {\mu },{p}^{\mathrm{M}}[\bar{p},\bar{\varvec{{\zeta }}}]), \quad \forall \delta {\mu }\in \mathbb {P}_\Box , \end{aligned}$$
    (22b)

    whereby it is obvious that the Lagrange multiplier \(\delta \varvec{\lambda }\) in (22a) represents a field of virtual boundary tractions on \(\varGamma _\Box ^+\), whereas the Lagrange multiplier \(\delta {\mu }\) in (22b) represents a field of virtual boundary fluxes, see Remark 2 below. Here, we introduce the test spaces

    $$\begin{aligned} {\mathbb {T}}_\Box = [\text {L}_2(\varGamma _\Box ^+)]^3, \quad {\mathbb {Q}}_\Box = \text {L}_2(\varGamma _\Box ^+), \end{aligned}$$
    (23)

    where \(\text {L}_2(\bullet )\) is the space of square integrable functions. Upon introducing the expressions for \(\mathbf{u}^{\mathrm{M}}\) and \({p}^{\mathrm{M}}\) from (9) on the RHS in (22a) and (22b), respectively, we obtain the explicit expressions

    $$\begin{aligned} d_{\Box }^{(u)}(\delta \varvec{\lambda };\mathbf{u}^{\mathrm{M}}[\bar{\mathbf{u}},\bar{\mathbf{h}}])&= \left[ \frac{1}{|\varOmega _{\Box }|} \int _{\varGamma _{\Box }^+} \delta \varvec{\lambda }\otimes \llbracket {\mathbf{x}}\rrbracket _\Box \,\text{ d }\varGamma \right] :\bar{\mathbf{h}}, \end{aligned}$$
    (24a)
    $$\begin{aligned} d_{\Box }^{(p)}(\delta {\mu };{p}^{\mathrm{M}}[\bar{p},\bar{\varvec{{\zeta }}}])&= \left[ \frac{1}{|\varOmega _{\Box }|} \int _{\varGamma _{\Box }^+} \delta {\mu }\,\llbracket {\mathbf{x}}\rrbracket _\Box \,\text{ d }\varGamma \right] \cdot \bar{\varvec{{\zeta }}}, \end{aligned}$$
    (24b)

    where it was used that \(\int _{\varGamma _\Box }[\mathbf{x}-\bar{\mathbf{x}}]\,\text{ d }\varGamma =\mathbf{0 }\). Hence, we conclude that it is only the data \(\bar{\mathbf{h}}\) and \(\bar{\varvec{{\zeta }}}\) that will have an effect on the periodicity conditions.

  • We assume that \(\bar{\mathbf{u}}\) and \(\bar{p}\) physically play the role of surface-averaged quantities as follows:

    $$\begin{aligned} \left\langle \left\langle \mathbf{u} \right\rangle \right\rangle _\Box = \bar{\mathbf{u}}, \quad \left\langle \left\langle p \right\rangle \right\rangle _\Box = \bar{p}, \end{aligned}$$
    (25)

    which conditions are expressed weakly as

    $$\begin{aligned} \delta \bar{\varvec{\lambda }} \cdot \left\langle \left\langle \mathbf{u} \right\rangle \right\rangle _\Box&= \delta \bar{\varvec{\lambda }}\cdot \bar{\mathbf{u}} \quad \forall \delta \bar{\varvec{\lambda }}\in \mathbb {R}^3, \end{aligned}$$
    (26a)
    $$\begin{aligned} \delta \bar{\mu }\, \left\langle \left\langle p \right\rangle \right\rangle _\Box&= \delta \bar{\mu }\, \bar{p} \quad \forall \delta \bar{\mu }\in \mathbb {R}. \end{aligned}$$
    (26b)

The space-variational RVE-problemFootnote 5 can now be stated as follows: For a given history \(\bar{\mathbf{u}}(t)\), \(\bar{\mathbf{h}}(t)\), \(\bar{p}(t)\), \(\bar{\varvec{{\zeta }}}(t)\), find \(\mathbf{u}(\bullet ,t)\in \mathbb {U}_{\Box }\), \({p}(\bullet ,t)\in \mathbb {P}_{\Box }\), \(\varvec{\lambda }(\bullet ,t)\in \mathbb {T}_{\Box }\), \({\mu }(\bullet ,t)\in \mathbb {Q}_{\Box }\), \(\bar{\varvec{\lambda }}\in \mathbb {R}^3\), \(\bar{\mu }\in \mathbb {R}\) that solve

$$\begin{aligned}&a_{\Box }^{(u)}(\mathbf{u};\delta \mathbf{u}) - b_{\Box }(p;\delta \mathbf{u}) - d_{\Box }^{(u)}(\varvec{\lambda };\delta \mathbf{u}) - \bar{\varvec{\lambda }}\cdot \left\langle \left\langle \delta \mathbf{u} \right\rangle \right\rangle _\Box \nonumber \\&\quad = 0 \quad \forall \delta \mathbf{u}\in \mathbb {U}_{\Box }, \end{aligned}$$
(27a)
$$\begin{aligned}&b_{\Box }(\delta {p};\dot{\mathbf{u}}) + m_{\Box }(\dot{p};\delta {p}) + a_{\Box }^{(p)}(p;\delta {p})\nonumber \\&\quad + d_{\Box }^{(p)}({\mu };\delta {p}) + \bar{\mu }\,\left\langle \left\langle \delta {p} \right\rangle \right\rangle _\Box = 0 \quad \forall \delta {p}\in \mathbb {P}_{\Box }, \end{aligned}$$
(27b)
$$\begin{aligned}&- d_{\Box }^{(u)}(\delta \varvec{\lambda };\mathbf{u}) = - d_{\Box }^{(u)}(\delta \varvec{\lambda };\mathbf{u}^{\mathrm{M}}[\bar{\mathbf{u}},\bar{\mathbf{h}}]) \quad \forall \delta \varvec{\lambda }\in \mathbb {T}_{\Box }, \end{aligned}$$
(27c)
$$\begin{aligned}&d_{\Box }^{(p)}(\delta {\mu };{p}) = d_{\Box }^{(p)}(\delta {\mu };{p}^{\mathrm{M}}[\bar{p},\bar{\varvec{{\zeta }}}]) \quad \forall \delta {\mu }\in \mathbb {Q}_{\Box }, \end{aligned}$$
(27d)
$$\begin{aligned}&- \delta \bar{\varvec{\lambda }}\cdot \left\langle \left\langle \mathbf{u} \right\rangle \right\rangle _\Box = - \delta \bar{\varvec{\lambda }}\cdot \bar{\mathbf{u}} \quad \forall \delta \bar{\varvec{\lambda }}\in \mathbb {R}^3, \end{aligned}$$
(27e)
$$\begin{aligned}&\delta \bar{\mu }\,\left\langle \left\langle p \right\rangle \right\rangle _\Box = \delta \bar{\mu }\,\bar{p} \quad \forall \delta \bar{\mu }\in \mathbb {R}. \end{aligned}$$
(27f)

It is possible to identify the tractions \(\mathbf{t}\) and the flux w on the entire RVE-boundary \(\varGamma _\Box \) as follows:

$$\begin{aligned} \mathbf{t}(\bullet ,t)&= \left\{ \begin{array}{ll} \varvec{\lambda }(\bullet ,t)+\bar{\varvec{\lambda }}(t) &{}\text {on}\,\,\varGamma _{\Box }^+ \\ -\varvec{\lambda }(\bullet ,t)+\bar{\varvec{\lambda }}(t) &{}\text {on}\,\,\varGamma _{\Box }^- \end{array} \right. \quad \text {with }\, \varvec{\lambda }\in \mathbb {T}_\Box , \quad \bar{\varvec{\lambda }}\in \mathbb {R}^3, \end{aligned}$$
(28a)
$$\begin{aligned} w(\bullet ,t)&= \left\{ \begin{array}{ll} \mu (\bullet ,t)+\bar{\mu }(t) &{}\text {on}\,\,\varGamma _{\Box }^+ \\ -\mu (\bullet ,t)+\bar{\mu }(t) &{}\text {on}\,\,\varGamma _{\Box }^- \end{array} \right. \quad \text {with }\, \mu \in \mathbb {Q}_\Box , \quad \bar{\mu }\in \mathbb {R}. \end{aligned}$$
(28b)

In particular, it appears that the spaces \(\mathbb {T}_\Box \) and \(\mathbb {Q}_\Box \) represent “self-equilibrating” tractions and fluxes, respectively.

Remark 1

Setting \(\delta \mathbf{u}\in \mathbb {R}^3\) in (27a), we obtain the solution \(\bar{\varvec{\lambda }}=\mathbf{0 }\). Nevertheless, it is still necessary to satisfy the constraint (27e) in order to prevent Rigid Body Modes (RBM), in this case translation. However, the macro-scale stress \(\bar{\varvec{\sigma }}\) is invariant to any constant translation \(\bar{\mathbf{u}}\) within the RVE, which means that \(\bar{\mathbf{u}}\) can be prescribed to any given value, say \(\bar{\mathbf{u}}=\mathbf{0 }\). Moreover, \(\bar{\varvec{\sigma }}\) is invariant to the skew-symmetric part of \(\bar{\mathbf{h}}\) since \(\varvec{\varepsilon }[\mathbf{u}]=\bar{\varvec{\varepsilon }}+\varvec{\varepsilon }[\mathbf{u}]^\mu \); hence it is only \(\bar{\varvec{\varepsilon }}:=\bar{\mathbf{h}}^{\mathrm{sym}}\) that has to be fed to the RVE problem as data. \(\square \)

Remark 2

Setting \(\delta \varvec{\lambda }=\delta \bar{\varvec{\sigma }}\cdot \mathbf{n}\), with \(\bar{\varvec{\sigma }}\in \mathbb {R}^{3\times {3}}_{\mathrm{sym}}\), into (27c), and setting \(\delta {\mu }=\delta \bar{\mathbf{w}}\cdot \mathbf{n}\), with \(\bar{\mathbf{w}}\in \mathbb {R}^{3}\), into (27d), we obtain the conditions

$$\begin{aligned} \left\langle \varvec{\varepsilon }[\mathbf{u}] \right\rangle _\Box = \bar{\varvec{\varepsilon }}, \quad \left\langle \varvec{{\zeta }}[p] \right\rangle _\Box = \bar{\varvec{{\zeta }}}. \end{aligned}$$
(29)

In other words, the conditions that the volume-averaged strain equals \(\bar{\varvec{\varepsilon }}\), and that the volume-averaged pressure-gradient equals \(\bar{\varvec{{\zeta }}}\) are “built-in” the problem formulation. \(\square \)

Remark 3

Setting \(\delta \mathbf{u}=\dot{\mathbf{u}}\), \(\delta p=p\) and summing up (27a) and (27b), we are able to derive the relation

$$\begin{aligned}&\left\langle \varvec{\sigma }:\dot{\varvec{\varepsilon }} \right\rangle _\Box - \left\langle \mathbf{w}\cdot \varvec{\zeta } \right\rangle _\Box + \left\langle \dot{\varPhi }\,p \right\rangle _\Box \nonumber \\&\quad = \left[ \frac{1}{|\varOmega _\Box |}\int _{\varGamma _\Box }\varvec{\lambda }\otimes [\mathbf{x}-\bar{\mathbf{x}}]\,\text{ d }\varGamma \right] :\dot{\bar{\varvec{\varepsilon }}} + \bar{\varvec{\lambda }}\cdot \dot{\bar{\mathbf{u}}} \nonumber \\&\qquad - \left[ \frac{1}{|\varOmega _\Box |}\int _{\varGamma _\Box }\mu \,[\mathbf{x}-\bar{\mathbf{x}}]\text{ d }\varGamma \right] \cdot \bar{\varvec{\zeta }} - \bar{\mu }\,\bar{p}. \end{aligned}$$
(30)

Moreover, taking (16)–(18) into account together with (28) and choosing \(\bar{\varvec{\lambda }}=\mathbf{0 }\), \(\bar{\mu }=-\dot{\bar{\varPhi }}\), we can derive the identity

$$\begin{aligned} \left\langle \varvec{\sigma }:\dot{\varvec{\varepsilon }} \right\rangle _\Box - \left\langle \mathbf{w}\cdot \varvec{\zeta } \right\rangle _\Box + \left\langle \dot{\varPhi }\,p \right\rangle _\Box= & {} \bar{\varvec{\sigma }}:\dot{\bar{\varvec{\varepsilon }}} - \bar{\mathbf{w}}\cdot \bar{\varvec{\zeta }} + \dot{\bar{\varPhi }}\,\bar{p}. \nonumber \\ \end{aligned}$$
(31)

This expression is precisely the macro-homogeneity condition; therefore, it is a “built-in” property of the problem formulation. \(\square \)

4 Numerical model reduction in space for the RVE problem

4.1 Decomposition of sub-scale fields

The standard decomposition of the sub-scale fields were given in (9). However, in order to utilize NMR for the purpose of solving the RVE problems in an efficient manner, it is convenient to introduce the alternative decompositionsFootnote 6

$$\begin{aligned} \mathbf{u}&= \mathbf{u}_{\mathrm{stat}}\{\bar{\varvec{\varepsilon }},\bar{p},\bar{\varvec{{\zeta }}}\} + \tilde{\mathbf{u}}^{\mu }, \end{aligned}$$
(32a)
$$\begin{aligned} p&= {p}_{\mathrm{stat}}\{\bar{\varvec{\varepsilon }},\bar{p},\bar{\varvec{{\zeta }}}\} + \tilde{p}^{\mu }, \end{aligned}$$
(32b)
$$\begin{aligned} \varvec{\lambda }&= \varvec{\lambda }_{\mathrm{stat}}\{\bar{\varvec{\varepsilon }},\bar{p},\bar{\varvec{{\zeta }}}\} + \tilde{\varvec{\lambda }}^{\mu }, \end{aligned}$$
(32c)
$$\begin{aligned} \mu&= {\mu }_{\mathrm{stat}}\{\bar{\varvec{\varepsilon }},\bar{p},\bar{\varvec{{\zeta }}}\} + \tilde{\mu }^{\mu }, \end{aligned}$$
(32d)
$$\begin{aligned} \bar{\varvec{\lambda }}&= \bar{\varvec{\lambda }}_{\mathrm{stat}}\{\bar{\varvec{\varepsilon }},\bar{p},\bar{\varvec{{\zeta }}}\} + \tilde{\bar{\varvec{\lambda }}}^{\mu }, \end{aligned}$$
(32e)
$$\begin{aligned} \bar{\mu }&= \bar{\mu }_{\mathrm{stat}}\{\bar{\varvec{\varepsilon }},\bar{p},\bar{\varvec{{\zeta }}}\} + \tilde{\bar{\mu }}^{\mu }, \end{aligned}$$
(32f)

where the fields \((\mathbf{u}_{\mathrm{stat}},{p}_{\mathrm{stat}},\varvec{\lambda }_{\mathrm{stat}},\bar{\varvec{\lambda }}_{\mathrm{stat}},{\mu }_{\mathrm{stat}},\bar{\mu }_{\mathrm{stat}})\in \mathbb {U}_{\Box }\times \mathbb {P}_{\Box }\times \mathbb {T}_{\Box }\times \mathbb {R}^3\times \mathbb {Q}_{\Box }\times \mathbb {R}\) solve the “stationary” problem

$$\begin{aligned}&a_{\Box }^{(u)}(\mathbf{u}_{\mathrm{stat}};\delta \mathbf{u}) {-} b_{\Box }(p_{\mathrm{stat}};\delta \mathbf{u}) {-} d_{\Box }^{(u)}(\varvec{\lambda }_{\mathrm{stat}};\delta \mathbf{u}) \nonumber \\&\quad {-} \bar{\varvec{\lambda }}_{\mathrm{stat}}\cdot \left\langle \left\langle \delta \mathbf{u} \right\rangle \right\rangle _\Box {=} 0 \quad \forall \delta \mathbf{u}\in \mathbb {U}_{\Box }, \end{aligned}$$
(33a)
$$\begin{aligned}&a_{\Box }^{(p)}(p_{\mathrm{stat}};\delta {p}) + d_{\Box }^{(p)}({\mu }_{\mathrm{stat}};\delta {p}) \nonumber \\&+ \bar{\mu }_{\mathrm{stat}}\left\langle \left\langle \delta p \right\rangle \right\rangle _\Box = 0 \quad \forall \delta {p}\in \mathbb {P}_{\Box },\end{aligned}$$
(33b)
$$\begin{aligned}&- d_{\Box }^{(u)}(\delta \varvec{\lambda };\mathbf{u}_{\mathrm{stat}}) = - d_{\Box }^{(u)}(\delta \varvec{\lambda };\mathbf{u}^{\mathrm{M}}[\bar{\mathbf{u}},\bar{\varvec{\varepsilon }}]) \quad \forall \delta \varvec{\lambda }\in \mathbb {T}_{\Box }, \end{aligned}$$
(33c)
$$\begin{aligned}&d_{\Box }^{(p)}(\delta {\mu };p_{\mathrm{stat}}) = d_{\Box }^{(p)}(\delta {\mu };{p}^{\mathrm{M}}[\bar{p},\bar{\varvec{{\zeta }}}]) \quad \forall \delta {\mu }\in \mathbb {Q}_{\Box }, \end{aligned}$$
(33d)
$$\begin{aligned}&- \delta \bar{\varvec{\lambda }}\cdot \left\langle \left\langle \mathbf{u}_{\mathrm{stat}} \right\rangle \right\rangle _\Box = 0 \quad \forall \delta \bar{\varvec{\lambda }}\in \mathbb {R}^3, \end{aligned}$$
(33e)
$$\begin{aligned}&\delta \bar{\mu }\,\left\langle \left\langle p_{\mathrm{stat}} \right\rangle \right\rangle _\Box = \delta \bar{\mu }\,\bar{p} \quad \forall \delta \bar{\mu }\in \mathbb {R}. \end{aligned}$$
(33f)

Remark

We note that \(\mathbf{u}_{\mathrm{stat}}\ne \mathbf{u}^{\mathrm{M}}\) and \(p_{\mathrm{stat}}\ne {p}^{\mathrm{M}}\) in general; hence, \(\tilde{\mathbf{u}}^{\mu }\ne {\mathbf{u}}^{\mu }\) and \(\tilde{p}^{\mu }\ne {p}^{\mu }\). Moreover, \(\bar{\varvec{\lambda }}_{\mathrm{stat}}=\mathbf{0 }\) and \(\bar{\mu }_{\mathrm{stat}}=0\), and it is concluded that \(\bar{\varvec{\lambda }}=\tilde{\bar{\varvec{\lambda }}}^{\mu }=\mathbf{0 }\), whereas \(\bar{\mu }=\tilde{\bar{\mu }}^{\mu }\ne {0}\). Although it is possible to exclude \(\bar{\varvec{\lambda }}_{\mathrm{stat}}\) and \(\bar{\mu }_{\mathrm{stat}}\) a priori from the formulation of the sensitivity problem, these variables are retained henceforth in order to preserve symmetry of the problem formulation. \(\square \)

Since the problem in (33) is linear for each given time, t serves only as a load parameter, we may compute the solution in terms of sensitivities \((\hat{\mathbf{u}}_{ij}^{(\bar{\varepsilon })}, \hat{p}_{ij}^{(\bar{\varepsilon })}, \hat{\varvec{\lambda }}_{ij}^{(\bar{\varepsilon })}, \hat{\mu }_{ij}^{(\bar{\varepsilon })}, \hat{\bar{\varvec{\lambda }}}_{ij}^{(\bar{\varepsilon })}, \hat{\bar{\mu }}_{ij}^{(\bar{\epsilon })})\), \((\hat{\mathbf{u}}^{(\bar{p})}, \hat{p}^{(\bar{p})}, \hat{\varvec{\lambda }}^{(\bar{p})}, \hat{\mu }^{(\bar{p})}, \hat{\bar{\varvec{\lambda }}}^{(\bar{p})}, \hat{\bar{\mu }}^{(\bar{p})})\) and \((\hat{\mathbf{u}}_{i}^{(\bar{\zeta })}, \hat{p}_{i}^{(\bar{\zeta })}, \hat{\varvec{\lambda }}_{i}^{(\bar{\zeta })}, \hat{\mu }_{i}^{(\bar{\zeta })}, \hat{\bar{\varvec{\lambda }}}_{i}^{(\bar{\zeta })}, \hat{\bar{\mu }}_{i}^{(\bar{\zeta })})\) via the ansatz expansions

$$\begin{aligned} \mathbf{u}_{\mathrm{stat}}(\mathbf{x},t)&= \sum _{i,j}\hat{\mathbf{u}}_{ij}^{(\bar{\varepsilon })}(\mathbf{x})(\bar{\varvec{\varepsilon }}(t))_{ij} + \hat{\mathbf{u}}^{(\bar{p})}(\mathbf{x})\bar{p}(t) \nonumber \\&\quad + \sum _{i}\hat{\mathbf{u}}_{i}^{(\bar{\zeta })}(\mathbf{x})(\bar{\varvec{{\zeta }}}(t))_i, \end{aligned}$$
(34a)
$$\begin{aligned} p_{\mathrm{stat}}(\mathbf{x},t)&= \sum _{i,j}\hat{p}_{ij}^{(\bar{\varepsilon })}(\mathbf{x})(\bar{\varvec{\varepsilon }}(t))_{ij} + \hat{p}^{(\bar{p})}(\mathbf{x})\bar{p}(t) \nonumber \\&\quad + \sum _{i}\hat{p}_{i}^{(\bar{\zeta })}(\mathbf{x})(\bar{\varvec{{\zeta }}}(t))_i, \end{aligned}$$
(34b)
$$\begin{aligned} \varvec{\lambda }_{\mathrm{stat}}(\mathbf{x},t)&= \sum _{i,j}\hat{\varvec{\lambda }}_{ij}^{(\bar{\varepsilon })}(\mathbf{x})(\bar{\varvec{\varepsilon }}(t))_{ij} + \hat{\varvec{\lambda }}^{(\bar{p})}(\mathbf{x})\bar{p}(t) \nonumber \\&\quad + \sum _{i}\hat{\varvec{\lambda }}_{i}^{(\bar{\zeta })}(\mathbf{x})(\bar{\varvec{{\zeta }}}(t))_i, \end{aligned}$$
(34c)
$$\begin{aligned} {\mu }_{\mathrm{stat}}(\mathbf{x},t)&= \sum _{i,j}\hat{\mu }_{ij}^{(\bar{\varepsilon })}(\mathbf{x})(\bar{\varvec{\varepsilon }}(t))_{ij} + \hat{\mu }^{(\bar{p})}(\mathbf{x})\bar{p}(t) \nonumber \\&\quad + \sum _{i}\hat{\mu }_{i}^{(\bar{\zeta })}(\mathbf{x})(\bar{\varvec{{\zeta }}}(t))_i, \end{aligned}$$
(34d)
$$\begin{aligned} \bar{\varvec{\lambda }}_{\mathrm{stat}}(t)&= \sum _{i,j}\hat{\bar{\varvec{\lambda }}}_{ij}^{(\bar{\varepsilon })}(\bar{\varvec{\varepsilon }}(t))_{ij} + \hat{\bar{\varvec{\lambda }}}^{(\bar{p})}\bar{p}(t) + \sum _{i}\hat{\bar{\varvec{\lambda }}}_{i}^{(\bar{\zeta })}(\bar{\varvec{{\zeta }}}(t))_i, \end{aligned}$$
(34e)
$$\begin{aligned} \bar{\mu }_{\mathrm{stat}}(t)&= \sum _{i,j}\hat{\bar{\mu }}_{ij}^{(\bar{\varepsilon })}(\bar{\varvec{\varepsilon }}(t))_{ij} + \hat{\bar{\mu }}^{(\bar{p})}\bar{p}(t) + \sum _{i}\hat{\bar{\mu }}_{i}^{(\bar{\zeta })}(\bar{\varvec{{\zeta }}}(t))_i, \end{aligned}$$
(34f)

while noting that \(\mathbf{u}^{\mathrm{M}}\) and \({p}^{\mathrm{M}}\) can be expanded in a similar fashion as

$$\begin{aligned}&\mathbf{u}^{\mathrm{M}}(\mathbf{x},t) = \sum _{i,j}\hat{\mathbf{u}}_{ij}^{\mathrm{M}(\bar{\varepsilon })}(\mathbf{x})(\bar{\varvec{\varepsilon }}(t))_{ij} \quad \text {with}\nonumber \\&\hat{\mathbf{u}}_{ij}^{{\text {M}}(\bar{\varepsilon })}(\mathbf{x}) = \frac{1}{2} \left[ (x_i - \bar{x}_i)\,\mathbf{e}_j+(x_j - \bar{x}_j)\,\mathbf{e}_i\right] , \end{aligned}$$
(35a)
$$\begin{aligned}&p^{\mathrm{M}}(\mathbf{x},t) = \hat{p}^{{\text {M}}(\bar{p})}(\mathbf{x})\bar{p}(t) + \sum _{i} \hat{p}_{i}^{{\text {M}}(\bar{\zeta })}(\mathbf{x})(\bar{\varvec{{\zeta }}}(t))_i \quad \text {with}\nonumber \\&\hat{p}^{{\text {M}}(\bar{p})}(\mathbf{x}) = 1, \,\,\hat{p}_{i}^{{\text {M}}(\bar{\zeta })}(\mathbf{x}) = x_i. \end{aligned}$$
(35b)

The following set of problems are then solved “offline” as a preliminary to the model reduction. It is possible to sequentially solve for \((p_{\mathrm{stat}},{\mu }_{\mathrm{stat}},\bar{\mu }_{\mathrm{stat}})\) and \((\mathbf{u}_{\mathrm{stat}},\varvec{\lambda }_{\mathrm{stat}},\bar{\varvec{\lambda }}_{\mathrm{stat}})\), in terms of the sensitivities, from the equations (33b), (33d), (33f) and from (33a), (33c), (33e) respectively:

  • \(\bar{\varvec{\varepsilon }}\ne \mathbf{0 }\), \(\bar{p}=0\), \(\bar{\varvec{{\zeta }}}=\mathbf{0 }\):

    • Solve for sensitivity fields \((\hat{p}_{ij}^{(\bar{\varepsilon })}, \hat{\mu }_{ij}^{(\bar{\varepsilon })}), \hat{\bar{\mu }}_{ij}^{(\bar{\varepsilon })})\) from

      $$\begin{aligned}&a_{\Box }^{(p)}(\hat{p}_{ij}^{(\bar{\varepsilon })};\delta {p}) + d_{\Box }^{(p)}(\hat{\mu }_{ij}^{(\bar{\varepsilon })};\delta {p}) \nonumber \\&\quad + \hat{\bar{\mu }}_{ij}^{(\bar{\varepsilon })}\left\langle \left\langle \delta p \right\rangle \right\rangle _\Box = 0 \quad \forall \delta {p}\in \mathbb {P}_{\Box }, \end{aligned}$$
      (36a)
      $$\begin{aligned}&d_{\Box }^{(p)}(\delta {\mu };\hat{\mu }_{ij}^{(\bar{\varepsilon })}) = 0 \quad \forall \delta {\mu }\in \mathbb {Q}_{\Box }, \end{aligned}$$
      (36b)
      $$\begin{aligned}&\delta \bar{\mu }\,\langle \langle \hat{p}_{ij}^{(\bar{\varepsilon })}\rangle \rangle _\Box = 0 \quad \forall \delta \bar{\mu }\in \mathbb {R}, \end{aligned}$$
      (36c)

      which has the trivial solution \(\hat{p}_{ij}^{(\bar{\varepsilon })}=0, \hat{\mu }_{ij}^{(\bar{\varepsilon })}=0, \hat{\bar{\mu }}_{ij}^{(\bar{\varepsilon })}=0\).

    • Solve for sensitivity fields \(( \hat{\mathbf{u}}_{ij}^{(\bar{\varepsilon })}, \hat{\varvec{\lambda }}_{ij}^{(\bar{\varepsilon })}, \hat{\bar{\varvec{\lambda }}}_{ij}^{(\bar{\varepsilon })} )\) from

      $$\begin{aligned}&a_{\Box }^{(u)}(\hat{\mathbf{u}}_{ij}^{(\bar{\varepsilon })};\delta \mathbf{u}) - d_{\Box }^{(u)}(\hat{\varvec{\lambda }}_{ij}^{(\bar{\varepsilon })};\delta \mathbf{u}) \nonumber \\&\quad - \hat{\bar{\varvec{\lambda }}}_{ij}^{(\bar{\varepsilon })}\cdot \left\langle \left\langle \delta \mathbf{u} \right\rangle \right\rangle _\Box = 0 \quad \forall \delta \mathbf{u}\in \mathbb {U}_{\Box }, \end{aligned}$$
      (37a)
      $$\begin{aligned}&- d_{\Box }^{(u)}(\delta \varvec{\lambda };\hat{\mathbf{u}}_{ij}^{(\bar{\varepsilon })}) = - d_{\Box }^{(u)}(\delta \varvec{\lambda };\hat{\mathbf{u}}_{ij}^{\mathrm{M}(\bar{\varepsilon })}) \quad \forall \delta {\varvec{\lambda }}\in \mathbb {T}_{\Box }, \end{aligned}$$
      (37b)
      $$\begin{aligned}&- \delta \bar{\varvec{\lambda }}\cdot \langle \langle \hat{\mathbf{u}}_{ij}^{(\bar{\varepsilon })}\rangle \rangle _\Box = 0 \quad \forall \delta \bar{\varvec{\lambda }}\in \mathbb {R}^3. \end{aligned}$$
      (37c)
  • \(\bar{\varvec{\varepsilon }}=\mathbf{0 }\), \(\bar{p}\ne {0}\), \(\bar{\varvec{{\zeta }}}=\mathbf{0 }\):

    • Solve for sensitivity fields \((\hat{p}^{(\bar{p})},\hat{\mu }^{(\bar{p})},\hat{\bar{\mu }}^{(\bar{p})})\) from

      $$\begin{aligned}&a_{\Box }^{(p)}(\hat{p}^{(\bar{p})};\delta {p}) + d_{\Box }^{(p)}(\hat{\mu }^{(\bar{p})};\delta {p}) \nonumber \\&\quad + \hat{\bar{\mu }}^{(\bar{p})}\left\langle \left\langle \delta {p} \right\rangle \right\rangle _\Box = 0 \quad \forall \delta {p}\in \mathbb {P}_{\Box }, \end{aligned}$$
      (38a)
      $$\begin{aligned}&d_{\Box }^{(p)}(\delta {\mu };\hat{\mu }^{(\bar{p})}) = d_{\Box }^{(p)}(\delta {\mu };\hat{p}^{\mathrm{M}(\bar{p})}) \quad \forall \delta {\mu }\in \mathbb {Q}_{\Box }, \end{aligned}$$
      (38b)
      $$\begin{aligned}&\delta \bar{\mu }\,\langle \langle \hat{p}^{(\bar{p})}\rangle \rangle _\Box = \delta \bar{\mu } \quad \forall \delta \bar{\mu }\in \mathbb {R}. \end{aligned}$$
      (38c)
    • Solve for sensitivity fields \((\hat{\mathbf{u}}^{(\bar{p})}, \hat{\varvec{\lambda }}^{(\bar{p})}, \hat{\bar{\varvec{\lambda }}}^{(\bar{p})})\) from

      $$\begin{aligned}&a_{\Box }^{(u)}(\hat{\mathbf{u}}^{(\bar{p})};\delta \mathbf{u}) - d_{\Box }^{(u)}(\hat{\varvec{\lambda }}^{(\bar{p})};\delta \mathbf{u}) \nonumber \\&\quad - \hat{\bar{\varvec{\lambda }}}^{(\bar{p})} \left\langle \left\langle \delta \mathbf{u} \right\rangle \right\rangle _\Box = b_{\Box }(\hat{p}^{(\bar{p})};\delta \mathbf{u}) \quad \forall \delta \mathbf{u}\in \mathbb {U}_{\Box }, \end{aligned}$$
      (39a)
      $$\begin{aligned}&- d_{\Box }^{(u)}(\delta \varvec{\lambda };\hat{\mathbf{u}}^{(\bar{p})}) = 0 \quad \forall \delta \varvec{\lambda }\in \mathbb {T}_{\Box }, \end{aligned}$$
      (39b)
      $$\begin{aligned}&- \delta \bar{\varvec{\lambda }}\cdot \langle \langle \hat{\mathbf{u}}^{(\bar{p})}\rangle \rangle _\Box = 0 \quad \forall \delta \bar{\varvec{\lambda }}\in \mathbb {R}^3. \end{aligned}$$
      (39c)
  • \(\bar{\varvec{\varepsilon }}=\mathbf{0 }\), \(\bar{p}=0\), \(\bar{\varvec{{\zeta }}}\ne \mathbf{0 }\):

    • Solve for sensitivity fields \((\hat{p}_{i}^{(\bar{\zeta })}, \hat{\mu }_{i}^{(\bar{\zeta })}, \hat{\bar{\mu }}_{i}^{(\bar{\zeta })})\) from

      $$\begin{aligned}&a_{\Box }^{(u)}(\hat{p}_{i}^{(\bar{\zeta })};\delta {p}) + d_{\Box }^{(p)}(\hat{\mu }_{i}^{(\bar{\zeta })};\delta {p})\nonumber \\&\quad + \hat{\bar{\mu }}_{i}^{(\bar{\zeta })}\left\langle \left\langle \delta {p} \right\rangle \right\rangle _\Box = 0 \quad \forall \delta {p}\in \mathbb {P}_{\Box }, \end{aligned}$$
      (40a)
      $$\begin{aligned}&d_{\Box }^{(p)}(\delta {\mu };\hat{\mu }_{i}^{(\bar{\zeta })}) = d_{\Box }^{(p)}(\delta {\mu };\hat{p}_{i}^{\mathrm{M}(\bar{\zeta })}) \quad \forall \delta {\mu }\in \mathbb {Q}_{\Box }, \end{aligned}$$
      (40b)
      $$\begin{aligned}&\delta \bar{\mu }\,\langle \langle \hat{\bar{p}}_{i}^{(\bar{\zeta })}\rangle \rangle _\Box = 0 \quad \forall \delta \bar{\mu }\in \mathbb {R}. \end{aligned}$$
      (40c)
    • Solve for sensitivity fields \((\hat{\mathbf{u}}_{i}^{(\bar{\zeta })}, \hat{\varvec{\lambda }} _{i}^{(\bar{\zeta })}, \hat{\bar{\varvec{\lambda }}}_{i}^{(\bar{\zeta })})\) from

      $$\begin{aligned}&a_{\Box }^{(u)}(\hat{\mathbf{u}}_{i}^{(\bar{\zeta })};\delta \mathbf{u}) - d_{\Box }^{(u)}(\hat{\varvec{\lambda }}_{i}^{(\bar{\zeta })};\delta \mathbf{u}) \nonumber \\&\quad - \hat{\bar{\varvec{\lambda }}}_{i}^{(\bar{\zeta })} \cdot \left\langle \left\langle \delta \mathbf{u} \right\rangle \right\rangle _\Box = b_{\Box }(\hat{p}_{i}^{(\bar{\zeta })};\delta \mathbf{u}) \quad \forall \delta \mathbf{u}\in \mathbb {U}_{\Box }, \end{aligned}$$
      (41a)
      $$\begin{aligned}&- d_{\Box }^{(u)}(\delta \varvec{\lambda };\hat{\mathbf{u}}_{i}^{(\bar{\zeta })}) = 0 \quad \forall \delta \varvec{\lambda }\in \mathbb {T}_{\Box }, \end{aligned}$$
      (41b)
      $$\begin{aligned} -&\delta \bar{\varvec{\lambda }}\,\cdot \langle \langle \hat{\bar{\mathbf{u}}}_{i}^{(\bar{\zeta })}\rangle \rangle _\Box = 0 \quad \forall \delta \bar{\varvec{\lambda }}\in \mathbb {R}^3. \end{aligned}$$
      (41c)

4.2 Numerical model reduction based on the NTFA strategy

We first note that the fluctuation fields \(\tilde{\mathbf{u}}^{\mu }(\bullet ,t)\in \mathbb {U}_{\Box }\), \(\tilde{p}^{\mu }(\bullet ,t)\in \mathbb {P}_{\Box }\), \(\tilde{\varvec{\lambda }}^{\mu }(\bullet ,t)\in \mathbb {T}_{\Box }\), \(\tilde{\mu }^{\mu }(\bullet ,t)\in \mathbb {Q}_{\Box }\), \(\tilde{\bar{\varvec{\lambda }}}^{\mu }(\bullet ,t)\in \mathbb {R}^3\), \(\tilde{\bar{\mu }}^{\mu }(t)\in \mathbb {R}\), solve the truly transient RVE problem

$$\begin{aligned}&a_{\Box }^{(u)}(\tilde{\mathbf{u}}^{\mu };\delta \mathbf{u}) - b_{\Box }(\tilde{p}^{\mu };\delta \mathbf{u}) - d_{\Box }^{(u)}(\tilde{\varvec{\lambda }}^{\mu } ;\delta \mathbf{u}) \nonumber \\&\quad - \tilde{\bar{\varvec{\lambda }}}^{\mu }\cdot \left\langle \left\langle \delta \mathbf{u} \right\rangle \right\rangle _\Box = 0 \quad \forall \delta \mathbf{u}\in \mathbb {U}_{\Box }, \end{aligned}$$
(42a)
$$\begin{aligned}&b_{\Box }(\delta {p};\dot{\tilde{\mathbf{u}}}^{\mu }) + m_{\Box }(\dot{\tilde{p}}^{\mu };\delta p) + a_{\Box }^{(p)}(\tilde{p}^{\mu };\delta p) + d_{\Box }^{(p)}(\tilde{\mu }^{\mu };\delta {p}) \nonumber \\&\qquad + \tilde{\bar{\mu }}^{\mu }\, \left\langle \left\langle \delta p \right\rangle \right\rangle _\Box \nonumber \\&\quad = - b_{\Box }(\delta {p};\dot{\mathbf{u}}_{\mathrm{stat}}) - m_{\Box }(\dot{p}_{\mathrm{stat}};\delta {p}) \quad \forall \delta {p}\in \mathbb {P}_{\Box }, \end{aligned}$$
(42b)
$$\begin{aligned}&- d_{\Box }^{(u)}(\delta \varvec{\lambda };\tilde{\mathbf{u}}^{\mu }) = 0 \quad \forall \delta \varvec{\lambda }\in \mathbb {T}_{\Box }, \end{aligned}$$
(42c)
$$\begin{aligned}&d_{\Box }^{(p)}(\delta {\mu };\tilde{p}^{\mu }) = 0 \quad \forall \delta {\mu }\in \mathbb {Q}_{\Box }, \end{aligned}$$
(42d)
$$\begin{aligned}&- \delta \bar{\varvec{\lambda }}\,\cdot \left\langle \left\langle \tilde{\mathbf{u}}^{\mu } \right\rangle \right\rangle _\Box = 0 \quad \forall \delta \bar{\varvec{\lambda }}\in \mathbb {R}^3, \end{aligned}$$
(42e)
$$\begin{aligned}&\delta \bar{\mu }\,\left\langle \left\langle \tilde{p}^{\mu } \right\rangle \right\rangle _\Box = 0 \quad \forall \delta \bar{\mu }\in \mathbb {R}. \end{aligned}$$
(42f)

Once again, \(\tilde{\bar{\varvec{\lambda }}}^{\mu }\) is kept as an unknown variable for the sake of symmetry although it is known that the solution must be \(\tilde{\bar{\varvec{\lambda }}}^{\mu }=\mathbf{0 }\).

The NMR-strategy for the solution of (42) is then outlined as follows:

  • Introduce the reduced RVE space \(\mathbb {P}_{\Box ,\text {R}}^0=\text {span}\{\hat{p}_a\}_{a=1}^{M_{\mathrm{R}}}\) in the spatial domain, where \(\{\hat{p}_a(\mathbf{x})\}_{a=1}^{M_{\mathrm{R}}}\) is a set of linearly independent global basis functions called “pressure modes”. The pressure modes are identified in a training phase by solving (42) with different loadings \(\dot{\mathbf{u}}_\text {stat}\) and \(\dot{p}_\text {stat}\) with a POD of extracted snapshots of \(\tilde{p}^\mu \). The “exact” solution \(\tilde{p}^{\mu }\in \mathbb {P}_{\Box }^0\) is then approximated by \(\tilde{p}^{\mu }_{\mathrm{R}}\in \mathbb {P}_{\Box ,\text {R}}^0\) as followsFootnote 7:

    $$\begin{aligned} \tilde{p}^{\mu }(\mathbf{x},t) \approx \tilde{p}_{\mathrm{R}}^{\mu }(\mathbf{x},t) := \sum _{a=1}^{M_{\mathrm{R}}} \hat{p}_a(\mathbf{x})\xi _a(t) \in \mathbb {P}_{\Box ,\text {R}}^0, \end{aligned}$$
    (43)

    where \(\{\xi _a(t)\}_{a=1}^{M_{\mathrm{R}}}\) are “mode activity” parameters. For computational efficiency, \(M_{\mathrm{R}}\) should be a finite, i.e. reasonably small, number. It turns out that the parameters \(\xi _a(t)\) represent internal variables which define the viscoelastic contribution to the macro-scale model. Most importantly, however, the response of the poroelastic RVE depends on the loading in terms of the macro-scale quantities \(\{\bar{\varvec{\varepsilon }}, \bar{p}, \bar{\varvec{{\zeta }}}\}\) as well as on the parameter set \(\{\xi _a(t)\}_{a=1}^{M_{\mathrm{R}}}\).

  • Establish NMR-approximations for the other fluctuation fields in the spirit of NTFA, i.e. introduce the expansions

    $$\begin{aligned} \tilde{\mathbf{u}}^{\mu }(\mathbf{x},t)&\approx \tilde{\mathbf{u}}_{\mathrm{R}}^{\mu }(\mathbf{x},t) := \sum _{a=1}^{M_{\mathrm{R}}} \hat{\mathbf{u}}_a(\mathbf{x})\xi _a(t) \in \mathbb {U}_{\Box ,\text {R}}^0, \end{aligned}$$
    (44a)
    $$\begin{aligned} \tilde{\varvec{\lambda }}^{\mu }(\mathbf{x},t)&\approx \tilde{\varvec{\lambda }}_{\mathrm{R}}^{\mu }(\mathbf{x},t) := \sum _{a=1}^{M_{\mathrm{R}}} \hat{\varvec{\lambda }}_a(\mathbf{x})\xi _a(t) \in \mathbb {T}_{\Box ,\text {R}}^0, \end{aligned}$$
    (44b)
    $$\begin{aligned} \tilde{\mu }^{\mu }(\mathbf{x},t)&\approx \tilde{\mu }_{\mathrm{R}}^{\mu }(\mathbf{x},t) := \sum _{a=1}^{M_{\mathrm{R}}} \hat{\mu }_a(\mathbf{x})\xi _a(t) \in \mathbb {Q}_{\Box ,\text {R}}^0, \end{aligned}$$
    (44c)
    $$\begin{aligned} \tilde{\bar{\varvec{\lambda }}}^{\mu }(t)&\approx \tilde{\bar{\varvec{\lambda }}}_{\mathrm{R}}^{\mu }(t) := \sum _{a=1}^{M_{\mathrm{R}}} \hat{\bar{\varvec{\lambda }}}_a\xi _a(t) \in \mathbb {R}^3, \end{aligned}$$
    (44d)
    $$\begin{aligned} \tilde{\bar{\mu }}^{\mu }(t)&\approx \tilde{\bar{\mu }}_{\mathrm{R}}^{\mu }(t) := \sum _{a=1}^{M_{\mathrm{R}}} \hat{\bar{\mu }}_a\xi _a(t) \in \mathbb {R}, \end{aligned}$$
    (44e)

    whereby it is noted that the same mode activity parameters are employed to represent all the fields. Now, the key property is that it is possible to determine the mode basis sets introduced in (44) in terms of the pressure basis \(\{\hat{p}_a(\mathbf{x})\}_{a=1}^{M_{\mathrm{R}}}\) which is identified in the training phase via POD. In order to do so, let us first consider the system defined by (42a), (42c), (42e) and insert the NMR-expansions for the fields \(\{\tilde{p}_{\mathrm{R}}^{\mu }, \tilde{\mathbf{u}}_{\mathrm{R}}^{\mu }, \tilde{\varvec{\lambda }}_{\mathrm{R}}^{\mu }, \tilde{\bar{\varvec{\lambda }}}_{\mathrm{R}}^{\mu }\}\). Since these equations must hold for any t, the coefficients of each mode activity parameter \(\xi _a(t)\) must vanish; hence, the problem reduces to that of finding the modes \(\hat{\mathbf{u}}_a\in \mathbb {U}_{\Box }, \hat{\varvec{\lambda }}_a\in \mathbb {T}_{\Box }, \hat{\bar{\varvec{\lambda }}}_a\in \mathbb {R}^3\) for \(a=1,2,\ldots ,M_{\mathrm{R}}\) from the system

    $$\begin{aligned}&a_{\Box }^{(u)}(\hat{\mathbf{u}}_a;\delta \mathbf{u}) - d_{\Box }^{(u)}(\hat{\varvec{\lambda }}_a;\delta \mathbf{u}) \nonumber \\&\quad - \hat{\bar{\varvec{\lambda }}}_a\,\cdot \left\langle \left\langle \delta \mathbf{u} \right\rangle \right\rangle _\Box = b_{\Box }(\hat{p}_a;\delta \mathbf{u}) \quad \forall \delta \mathbf{u}\in \mathbb {U}_{\Box }, \end{aligned}$$
    (45a)
    $$\begin{aligned}&- d_{\Box }^{(u)}(\delta \varvec{\lambda };\hat{\mathbf{u}}_a) = 0 \quad \forall \delta \varvec{\lambda }\in \mathbb {T}_{\Box }, \end{aligned}$$
    (45b)
    $$\begin{aligned}&- \delta \bar{\varvec{\lambda }}\,\cdot \left\langle \left\langle \hat{\mathbf{u}}_a \right\rangle \right\rangle _\Box = 0 \quad \forall \delta \bar{\varvec{\lambda }}\in \mathbb {R}^3. \end{aligned}$$
    (45c)

    Now, since \(\mathbb {U}_{\Box ,\text {R}}\subseteq \mathbb {U}_{\Box }\) and \(\mathbb {T}_{\Box ,\text {R}}\subseteq \mathbb {T}_{\Box }\), we may choose \(\delta \mathbf{u}=\hat{\mathbf{u}}_b\) in (45a), \(\delta \varvec{\lambda }=\hat{\varvec{\lambda }}_b\) in (45b), and \(\delta \bar{\varvec{\lambda }}=\hat{\bar{\varvec{\lambda }}}_b\) in (45c) and combine the results, to give the useful (as will be shown later) relation

    $$\begin{aligned} a_{\Box }^{(u)}(\hat{\mathbf{u}}_a;\hat{\mathbf{u}}_b) = b_{\Box }(\hat{p}_a;\hat{\mathbf{u}}_b), \quad a,b = 1,2,\ldots ,M_{\mathrm{R}}. \end{aligned}$$
    (46)
  • As the final task, determine the values of the mode activity parameters \(\xi _a(t),\, a,b = 1,2,\ldots ,M_{\mathrm{R}}\) from (42b), (42d), (42f). Upon inserting the appropriate NMR-expansions, choosing \(\delta {p}=\hat{p}_a\) in (42b), choosing \(\delta {\mu }=\hat{\mu }_a\) in (42d) and choosing \(\delta \bar{\mu }=\hat{\bar{\mu }}_a\) in (42f), we obtain the system of equations

    $$\begin{aligned}&\sum _b \left[ b_{\Box }(\hat{p}_a;\hat{\mathbf{u}}_b) + m_{\Box }(\hat{p}_a;\hat{p}_b) \right] \dot{\xi }_b \nonumber \\&\qquad + \sum _b \left[ a_{\Box }^{(p)}(\hat{p}_a;\hat{p}_b) + d_{\Box }^{(p)}(\hat{\mu }_b;\hat{p}_a) + \hat{\bar{\mu }}_b \left\langle \left\langle \hat{p}_a \right\rangle \right\rangle _\Box \right] {\xi }_b \nonumber \\&\quad = - b_{\Box }(\hat{p}_a;\dot{\mathbf{u}}_{\mathrm{stat}}) - m_{\Box }^{(p)}(\dot{p}_{\mathrm{stat}};\hat{p}_a),\nonumber \\&\quad a=1,2,\ldots ,M_{\mathrm{R}}, \end{aligned}$$
    (47a)
    $$\begin{aligned}&\sum _b d_{\Box }^{(p)}(\hat{\mu }_a;\hat{p}_b) {\xi }_b = 0, \quad a=1,2,\ldots ,M_{\mathrm{R}}, \end{aligned}$$
    (47b)
    $$\begin{aligned}&\hat{\bar{\mu }}_a \,\sum _b \left\langle \left\langle \hat{p}_b \right\rangle \right\rangle _\Box \,{\xi }_b = 0, \quad a=1,2,\ldots ,M_{\mathrm{R}}. \end{aligned}$$
    (47c)

    Noting that

    1. (i)

      \(d_{\Box }^{(p)}(\hat{\mu }_a;\hat{p}_b)=0\) for \(a,b=1,2,\ldots ,M_{\mathrm{R}}\), which follows from (47b) and (42d) with \(\hat{\mu }_a\in {\mathbb {Q}}_\Box \),

    2. (ii)

      \(\hat{\bar{\mu }}_a\left\langle \left\langle \hat{p}_b \right\rangle \right\rangle _\Box =0\) for \(a,b=1,2,\ldots ,M_{\mathrm{R}}\), which follows from (47c) and (42f) with \(\hat{\bar{\mu }}\in {\mathbb {R}}\), and finally,

    3. (iii)

      the relation in (46) holds,

      we may rewrite (47) as follows:

      $$\begin{aligned}&\sum _b \left[ a_{\Box }^{(u)}(\hat{\mathbf{u}}_a;\hat{\mathbf{u}}_b) {+} m_{\Box }(\hat{p}_a;\hat{p}_b \right] \dot{\xi }_b {+} a_{\Box }^{(p)}(\hat{p}_a;\hat{p}_b) {\xi }_b \nonumber \\&\quad = - b_{\Box }(\hat{p}_a;\dot{{\varvec{u}}}_{\mathrm{stat}}) {-} m_{\Box }(\dot{p}_{\mathrm{stat}};\hat{p}_a),\nonumber \\&\quad a=1,2,\ldots ,M_{\mathrm{R}}. \end{aligned}$$
      (48)

Remark

Since it is only the NMR-modes \(\hat{\mathbf{u}}_a\) and \(\hat{p}_a\) that occur in (48), there is no need to actually compute the basis modes \(\hat{\mathbf{u}}_a, \hat{\mu }_a\) as part of the “online” algorithm. \(\square \)

It is convenient to rewrite (48) in the abbreviated form

$$\begin{aligned} \sum _b \left[ \hat{S}_{ab} + \hat{M}_{ab} \right] \dot{\xi }_b + \sum _b \hat{K}_{ab} \xi _b = \hat{f}_{a}\left[ \dot{\bar{\varvec{\varepsilon }}},\dot{\bar{p}},\dot{\bar{\varvec{{\zeta }}}}\right] \end{aligned}$$
(49)

or, in matrix format, as

$$\begin{aligned} \left[ \underline{\underline{\hat{S}}} {+} \underline{\underline{\hat{M}}} \right] \dot{\underline{\xi }} {+} \underline{\underline{\hat{K}}} \underline{\xi } {=} \underline{\hat{f}}\left[ \dot{\bar{\varvec{\varepsilon }}},\dot{\bar{p}},\dot{\bar{\varvec{{\zeta }}}}\right] , \end{aligned}$$
(50)

where the matrix entries are defined as

$$\begin{aligned} \hat{S}_{ab}&:= a_{\Box }^{(u)}(\hat{\mathbf{u}}_a;\hat{\mathbf{u}}_b) = \left\langle \varvec{\varepsilon }[\hat{\mathbf{u}}_a]:\mathbb E:\varvec{\varepsilon }[\hat{\mathbf{u}}_b] \right\rangle _{\Box }, \end{aligned}$$
(51a)
$$\begin{aligned} \hat{M}_{ab}&:= m_{\Box }(\hat{p}_a;\hat{p}_b) = \left\langle \beta \,\hat{p}_a \hat{p}_b \right\rangle _{\Box }, \end{aligned}$$
(51b)
$$\begin{aligned} \hat{K}_{ab}&:= a_{\Box }^{(p)}(\hat{p}_a;\hat{p}_b) = \left\langle \varvec{{\zeta }}[\hat{p}_a]\cdot \mathbf{K}\cdot \varvec{{\zeta }}[\hat{p}_b] \right\rangle _{\Box }. \end{aligned}$$
(51c)

Moreover, the RHS of (49), representing the macroscopic loading, is given as

$$\begin{aligned}&\hat{f}_{a}\left[ \dot{\bar{\varvec{\varepsilon }}},\dot{\bar{p}},\dot{\bar{\varvec{{\zeta }}}}\right] {= -} \sum _{i,j} \left[ \hat{b}^{(\bar{\varepsilon })}_{ij,a} {+} \hat{m}^{(\bar{\varepsilon })}_{ij,a}\right] (\dot{\bar{\varvec{\varepsilon }}})_{ij} {-} \left[ \hat{b}^{(\bar{p})}_{a} {+} \hat{m}^{(\bar{p})}_{a}\right] \dot{\bar{p}} \nonumber \\&\quad - \sum _{i} \left[ \hat{b}^{(\bar{\zeta })}_{i,a} + \hat{m}^{(\bar{\zeta })}_{i,a}\right] (\dot{\bar{\varvec{{\zeta }}}})_{i}, \end{aligned}$$
(52)

where

$$\begin{aligned} \hat{b}^{(\bar{\varepsilon })}_{ij,a}&:= b_{\Box }(\hat{p}_a;\hat{\mathbf{u}}^{(\bar{\varepsilon })}_{ij}) {=} \left\langle \alpha \,\hat{p}_a\mathbf{I}:\varvec{\varepsilon }[\hat{\mathbf{u}}^{(\bar{\varepsilon })}_{ij}] \right\rangle _{\Box } {=} \left\langle \alpha \,\hat{p}_a\left[ \hat{\mathbf{u}}^{(\bar{\varepsilon })}_{ij}\cdot \varvec{\nabla }\right] \right\rangle _{\Box }, \end{aligned}$$
(53a)
$$\begin{aligned} \hat{m}^{(\bar{\varepsilon })}_{ij,a}&:= m_{\Box }(\hat{p}_a;\hat{p}^{(\bar{\varepsilon })}_{ij}) {=} \left\langle \beta \,\hat{p}_a\,\hat{p}^{(\bar{\varepsilon })}_{ij} \right\rangle _{\Box },\end{aligned}$$
(53b)
$$\begin{aligned} \hat{b}^{(\bar{p})}_{a}&:= b_{\Box }(\hat{p}_a;\hat{\mathbf{u}}^{(\bar{p})}) {=} \left\langle \alpha \,\hat{p}_a\mathbf{I}:\varvec{\varepsilon }[\hat{\mathbf{u}}^{(\bar{p})}] \right\rangle _{\Box } {=} \left\langle \alpha \,\hat{p}_a\left[ \hat{\mathbf{u}}^{(\bar{p})}\cdot \varvec{\nabla }\right] \right\rangle _{\Box },\end{aligned}$$
(53c)
$$\begin{aligned} \hat{m}^{(\bar{p})}_{a}&:= m_{\Box }(\hat{p}_a;\hat{p}^{(\bar{p})}) {=} \left\langle \beta \,\hat{p}_a\,\hat{p}^{(\bar{p})} \right\rangle _{\Box },\end{aligned}$$
(53d)
$$\begin{aligned} \hat{b}^{(\bar{\xi })}_{i,a}&:= b_{\Box }(\hat{p}_a;\hat{{\varvec{u}}}^{(\bar{\xi })}_{i}) {=} \langle \alpha \, \hat{p}_a{\varvec{I}}:{\varvec{\epsilon }}[\hat{{\varvec{u}}}^{(\bar{\xi })}_{i}]\rangle _{\Box } {=} \langle \alpha \, \hat{p}_a\left[ \hat{{\varvec{u}}}^{(\bar{\xi })}_{i}\cdot {\varvec{\nabla }}\right] \rangle _{\Box },\end{aligned}$$
(53e)
$$\begin{aligned} \hat{m}^{(\bar{\zeta })}_{i,a}&:= m_{\Box }(\hat{p}_a;\hat{p}^{(\bar{\zeta })}_{i}) = \left\langle \beta \,\hat{p}_a\, \hat{p}^{(\bar{\zeta })}_{i} \right\rangle _{\Box }. \end{aligned}$$
(53f)

When (50) has been solved for \(\xi _a(t)\), we may express the pertinent macro-scale fields as

$$\begin{aligned} \bar{\varvec{\sigma }}&= \sum _{i,j}\hat{\bar{\varvec{\sigma }}}_{ij}^{(\bar{\varepsilon })}(\bar{\varvec{\varepsilon }})_{ij} + \hat{\bar{\varvec{\sigma }}}^{(\bar{p})}\bar{p} + \sum _{i}\hat{\bar{\varvec{\sigma }}}_{i}^{(\bar{\zeta })}(\bar{\varvec{{\zeta }}})_i + \sum _{a=1}^{M_{\mathrm{R}}} \hat{\bar{\varvec{\sigma }}}_a \xi _a, \end{aligned}$$
(54a)
$$\begin{aligned} \bar{\mathbf{q}}&= \sum _{i,j}\hat{\bar{\mathbf{q}}}_{ij}^{(\bar{\varepsilon })}(\bar{\varvec{\varepsilon }})_{ij} + \hat{\bar{\mathbf{q}}}^{(\bar{p})}\bar{p} + \sum _{i}\hat{\bar{\mathbf{q}}}_{i}^{(\bar{\zeta })}(\bar{\varvec{{\zeta }}})_i + \sum _{a=1}^{M_{\mathrm{R}}} \hat{\bar{\mathbf{q}}}_a \xi _a, \end{aligned}$$
(54b)
$$\begin{aligned} \bar{\varPhi }&= \left\langle \phi \right\rangle _\Box {+} \sum _{i,j}\hat{\bar{\varPhi }}_{ij}^{(\bar{\varepsilon })}(\bar{\varvec{\varepsilon }})_{ij} {+} \hat{\bar{\varPhi }}^{(\bar{p})}\bar{p} {+} \sum _{i}\hat{\bar{\varPhi }}_{i}^{(\bar{\zeta })}(\bar{\varvec{{\zeta }}})_i {+} \sum _{a=1}^{M_{\mathrm{R}}} \hat{\bar{\varPhi }}_a \xi _a, \end{aligned}$$
(54c)
$$\begin{aligned} \bar{\mathbf{Q}}&= \left\langle \phi \,\left[ \mathbf{x}-\bar{\mathbf{x}}\right] \right\rangle _\Box + \sum _{i,j}\hat{\bar{\mathbf{Q}}}_{ij}^{(\bar{\varepsilon })}(\bar{\varvec{\varepsilon }})_{ij} + \hat{\bar{\mathbf{Q}}}^{(\bar{p})}\bar{p} + \sum _{i}\hat{\bar{\mathbf{Q}}}_{i}^{(\bar{\zeta })}(\bar{\varvec{{\zeta }}})_i \nonumber \\&\qquad + \sum _{a=1}^{M_{\mathrm{R}}} \hat{\bar{\mathbf{Q}}}_a \xi _a, \end{aligned}$$
(54d)

where

$$\begin{aligned} \hat{\bar{\varvec{\sigma }}}^{(\bar{\varepsilon })}_{ij}&= \left\langle \mathbb E:\varvec{\varepsilon }[\hat{\mathbf{u}}^{(\bar{\varepsilon })}_{ij}] - \alpha \, \hat{p}^{(\bar{\varepsilon })}_{ij} \mathbf{I} \right\rangle _\Box , \end{aligned}$$
(55a)
$$\begin{aligned} \hat{\bar{\varvec{\sigma }}}^{(\bar{p})}&= \left\langle \mathbb E:\varvec{\varepsilon }[\hat{\mathbf{u}}^{(\bar{p})}] - \alpha \, \hat{p}^{(\bar{p})} \mathbf{I} \right\rangle _\Box , \end{aligned}$$
(55b)
$$\begin{aligned} \hat{\bar{\varvec{\sigma }}}^{(\bar{\zeta })}_{i}&= \left\langle \mathbb E:\varvec{\varepsilon }[\hat{\mathbf{u}}^{(\bar{\zeta })}_{i}] - \alpha \, \hat{p}^{(\bar{\zeta })}_{i} \mathbf{I} \right\rangle _\Box , \end{aligned}$$
(55c)
$$\begin{aligned} \hat{\bar{\varvec{\sigma }}}_{a}&= \left\langle \mathbb E:\varvec{\varepsilon }[\hat{\mathbf{u}}_{a}] - \alpha \, \hat{p}_{a} \mathbf{I} \right\rangle _\Box , \end{aligned}$$
(55d)
$$\begin{aligned} \hat{\bar{\mathbf{q}}}^{(\bar{\varepsilon })}_{ij}&= - \left\langle \mathbf{K}\cdot \varvec{{\zeta }}[\hat{p}^{(\bar{\varepsilon })}_{ij}] \right\rangle _\Box , \end{aligned}$$
(56a)
$$\begin{aligned} \hat{\bar{\mathbf{q}}}^{(\bar{p})}&= - \left\langle \mathbf{K}\cdot \varvec{{\zeta }}[\hat{p}^{(\bar{p})}] \right\rangle _\Box , \end{aligned}$$
(56b)
$$\begin{aligned} \hat{\bar{\mathbf{q}}}^{(\bar{\zeta })}_{i}&= - \left\langle \mathbf{K}\cdot \varvec{{\zeta }}[\hat{p}^{(\bar{\zeta })}_{i}] \right\rangle _\Box , \end{aligned}$$
(56c)
$$\begin{aligned} \hat{\bar{\mathbf{q}}}_{a}&= - \left\langle \mathbf{K}\cdot \varvec{{\zeta }}[\hat{p}_{a}] \right\rangle _\Box , \end{aligned}$$
(56d)
$$\begin{aligned} \hat{\bar{\varPhi }}^{(\bar{\varepsilon })}_{ij}&= \left\langle \alpha \,\varvec{\varepsilon }[\hat{\mathbf{u}}^{(\bar{\varepsilon })}_{ij}]:\mathbf{I}+ \beta \,\hat{p}^{(\bar{\varepsilon })}_{ij} \right\rangle _\Box , \end{aligned}$$
(57a)
$$\begin{aligned} \hat{\bar{\varPhi }}^{(\bar{p})}&= \left\langle \alpha \,\varvec{\varepsilon }[\hat{\mathbf{u}}^{(\bar{p})}]:\mathbf{I}+ \beta \,\hat{p}^{(\bar{p})} \right\rangle _\Box , \end{aligned}$$
(57b)
$$\begin{aligned} \hat{\bar{\varPhi }}^{(\bar{\zeta })}_{i}&= \left\langle \alpha \,\varvec{\varepsilon }[\hat{\mathbf{u}}^{(\bar{\zeta })}_{i}]:\mathbf{I}+ \beta \,\hat{p}^{(\bar{\zeta })}_{i} \right\rangle _\Box , \end{aligned}$$
(57c)
$$\begin{aligned} \hat{\bar{\varPhi }}_{a}&= \left\langle \alpha \,\varvec{\varepsilon }[\hat{\mathbf{u}}_{a}]:\mathbf{I}+ \beta \,\hat{p}_{a} \right\rangle _\Box , \end{aligned}$$
(57d)
$$\begin{aligned} \hat{\bar{\mathbf{Q}}}^{(\bar{\varepsilon })}_{ij}&= \left\langle \left[ \alpha \,\varvec{\varepsilon }[\hat{\mathbf{u}}^{(\bar{\varepsilon })}_{ij}]:\mathbf{I}+ \beta \,\hat{p}^{(\bar{\varepsilon })}_{ij}\right] \left[ \mathbf{x}-\bar{\mathbf{x}}\right] \right\rangle _\Box , \end{aligned}$$
(58a)
$$\begin{aligned} \hat{\bar{\mathbf{Q}}}^{(\bar{p})}&= \left\langle \left[ \alpha \,\varvec{\varepsilon }[\hat{\mathbf{u}}^{(\bar{p})}]:\mathbf{I}+ \beta \,\hat{p}^{(\bar{p})}\right] \left[ \mathbf{x}-\bar{\mathbf{x}}\right] \right\rangle _\Box , \end{aligned}$$
(58b)
$$\begin{aligned} \hat{\bar{\mathbf{Q}}}^{(\bar{\zeta })}_{i}&= \left\langle \left[ \alpha \,\varvec{\varepsilon }[\hat{\mathbf{u}}^{(\bar{\zeta })}_{i}]:\mathbf{I}+ \beta \,\hat{p}^{(\bar{\zeta })}_{i}\right] \left[ \mathbf{x}-\bar{\mathbf{x}}\right] \right\rangle _\Box , \end{aligned}$$
(58c)
$$\begin{aligned} \hat{\bar{\mathbf{Q}}}_{a}&= \left\langle \left[ \alpha \,\varvec{\varepsilon }[\hat{\mathbf{u}}_{a}]:\mathbf{I}+ \beta \,\hat{p}_{a}\right] \left[ \mathbf{x}-\bar{\mathbf{x}}\right] \right\rangle _\Box . \end{aligned}$$
(58d)

Finally, it is convenient to derive the spectral form of the evolution equation (50). Thus, we execute a basis shift \(\{\underline{\xi }\}\rightarrow \{\underline{\chi }=\underline{\underline{\hat{R}}}^{-1}\underline{\xi }\}\) by solving the generalized eigenvalue problem for \(\underline{\underline{\hat{S}}}\) and \(\underline{\underline{\hat{M}}}\) as presented in [14]. The matrix \(\underline{\underline{\hat{R}}}\) contains the eigenvectors of the generalized eigenvalue problem. We may write

$$\begin{aligned} \dot{\underline{\chi }} + \underline{\underline{\hat{C}}}\underline{\chi }= \underline{\hat{f}}^\star [\dot{\bar{\varvec{\varepsilon }}},\dot{\bar{p}},\dot{\bar{\varvec{{\zeta }}}}] \end{aligned}$$
(59)

where \(\underline{\hat{f}}^\star \) represents the sensitivity of the spectral evolution equation for \(\{\dot{\bar{\varvec{\varepsilon }}},\dot{\bar{p}},\dot{\bar{\varvec{{\zeta }}}}\}\) and the diagonal matrix \(\underline{\underline{\hat{C}}}\) contains the characteristic frequencies of the viscoelastic model. It is important to remark that the rheology of the NMR model with the spectral evolution according to equation (59) corresponds to the rheology of a generalized Maxwell–Zener model, see visualization in Fig. 2.

Fig. 2
figure 2

Generalized Maxwell rheology for the poro-viscoelastic NMR model according to the spectral evolution equation (59). \(\hat{E}_{\mathrm{stat}}\) represents the stiffness of the stationary problem

4.3 Special cases

Viscoelastic macro-scale model: An important special case of the model above is defined by the constraints \(\bar{\mu }=0\) and \(\bar{\varvec{{\zeta }}}=\mathbf{0 }\), which correspond to the situation of an “undrained” RVE, i.e the value of the storage function \(\bar{\varPhi }\) is stationary. Fluid redistribution is only possible “locally”, i.e. within the RVE. The condition \(\bar{\mu }=0\) infers that the appropriate value of \(\bar{p}=\langle \langle {p}\rangle \rangle _\Box \) is part of the solution in the sense that it is computed as post-processing when p is known. In addition, the constraint equation (27f) becomes obsolete. Altogether, these model choices give rise to the single-phase viscoelastic macro-scale model proposed in [13, 14]. The procedure may, therefore, be called “selective” homogenization. The macro-scale problem is then reduced, as compared to the coupled problem for \((\bar{\mathbf{u}},\bar{p})\) in (15), to the equilibrium problem that is pertinent to a single-phase continuum

$$\begin{aligned} \int _{\varOmega } \bar{\varvec{\sigma }}:[\delta \bar{\mathbf{u}}\otimes \varvec{\nabla }]\,\text{ d }\varOmega = \int _{\varGamma _{\mathrm{N}}^{(u)}} \bar{\mathbf{t}}^{\mathrm{p}}\cdot \delta \bar{\mathbf{u}}\,\text{ d }\varGamma , \quad \forall \delta \bar{\mathbf{u}}\in \bar{\mathbb {U}}^0, \end{aligned}$$
(60)

where \(\bar{\varvec{\sigma }}\), as given in (54a), simplifies to

$$\begin{aligned} \bar{\varvec{\sigma }}= \sum _{i,j}\hat{\bar{\varvec{\sigma }}}_{ij}^{(\bar{\varepsilon })}(\bar{\varvec{\varepsilon }})_{ij} + \sum _{a=1}^{M_{\mathrm{R}}} \hat{\bar{\varvec{\sigma }}}_a \xi _a. \end{aligned}$$
(61)

The fields \(\hat{\bar{\varvec{\sigma }}}_{ij}^{(\bar{\varepsilon })}\) and \(\hat{\bar{\varvec{\sigma }}}_a\) are still given in (55a) and (55d), respectively.

The corresponding NMR-reduced RVE-problem is still that in (49) with the RHS simplified as

$$\begin{aligned} \hat{f}_{a}\left[ \dot{\bar{\varvec{\varepsilon }}}\right] = - \sum _{i,j} \left[ \hat{b}^{(\bar{\varepsilon })}_{ij,a} + \hat{m}^{(\bar{\varepsilon })}_{ij,a}\right] (\dot{\bar{\varvec{\varepsilon }}})_{ij}. \end{aligned}$$
(62)

The problem of determining the stationary solution is simplified accordingly.

Poroelastic macro-scale model: A second special case arises if the viscoelastic properties of the macro-scale model are inactive. The underlying modeling assumption is that the problem is completely described by the stationary problem (33) whilst the transient fluctuations \(\{\tilde{\mathbf{u}}^\mu , \tilde{p}^\mu , \tilde{\varvec{\lambda }}^\mu , \tilde{\mu }^\mu , \tilde{\bar{\varvec{\lambda }}}^\mu , \tilde{\bar{\mu }}^\mu \}\) are evanescent. This is the case if (i) the RVE size \(L_\Box \rightarrow 0\), i.e. the characteristic frequencies \(\hat{C}_a\rightarrow \infty \), or if (ii) the material parameters of the fine-scale model are chosen such that \(|\tilde{p}^\mu | \ll |p_\mathrm{stat}|\), i.e. \(\hat{f}_a\rightarrow 0\).

Incompressible pore fluid: The case of an incompressible pore fluid can be approximated by choosing \(\beta \rightarrow 0\). Hence, \(m_\Box (\dot{p};\delta p)\) is dropped from the transient problem (42) such that (50) can be simplified as

$$\begin{aligned} \underline{\underline{\hat{S}}} \dot{\underline{\xi }} + \underline{\underline{\hat{K}}} \underline{\xi } = \underline{\hat{f}}\left[ \dot{\bar{\varvec{\varepsilon }}},\dot{\bar{p}},\dot{\bar{\varvec{{\zeta }}}}\right] . \end{aligned}$$
(63)

Hence, the poro-viscoelastic character of the macro-scale model is preserved.

4.4 Computational cost of the NMR model

To conclude this section, we address the computational cost of the NMR model. As mentioned in the previous sections, the key advantage of the method is that all computational efforts on the micro-scale can be executed as pre-computations. The computational cost for the training can be estimated as

$$\begin{aligned} c_{\mathrm{training}} := \mathcal{O}(n_{\mathrm{training}}\,n_{\mathrm{it}}\,n_\mathrm{S}^2) + \mathcal{O}(M_\mathrm{R}\,n_S^2), \end{aligned}$$
(64)

where the first contribution to (64) refers to the \(n_{\mathrm{training}}\) transient training computations for the snapshot generation whilst the second contribution refers to the linear-elastic computations needed to determine the system matrices in (59). In the 3D case, on may choose \(n_{\mathrm{training}}=10\) (6 strain, 1 pressure, and 3 pressure gradient loading cases). The number \(n_{\mathrm{it}}\) refers to the number of iteration steps needed to solve the transient problems, \(n_S\) is the number of degrees of freedom of the RVE problem, and \(M_{\mathrm{R}}\) is the number of modes that span the reduced basis.

Once the NMR model is trained, it can be re-used to solve an arbitrary number of macroscopic initial boundary value problems on \(\varOmega \). The “online” cost of a macroscopic computation can be estimated as

$$\begin{aligned} c_{\mathrm{NMR}}= & {} \mathcal{O}(n_{\mathrm{it}}\,[n_{\mathrm{M}}^2 + n_{\mathrm{M}}\,M_{\mathrm{R}}^2]), \end{aligned}$$
(65)

where \(n_{\mathrm{M}}\) is the number of macroscopic degrees of freedom. In each Gauss point, the \(M_{\mathrm{R}}\) evolution equations need to be updated. For simplicity reasons, we assume that the number of Gauss points corresponds to \(n_{\mathrm{M}}\).

The gain in computational efficiency of the NMR model can be be quantified if the computational cost of the DNS solution is taken into account as

$$\begin{aligned} c_{\mathrm{DNS}}= & {} \mathcal{O}(n_{\mathrm{it}}\,n_{\mathrm{DNS}}^2), \end{aligned}$$
(66)

where \(n_{\mathrm{DNS}}\) is the number of degrees of freedom of the DNS model. Moreover, we estimate the computational cost of a conventional \(\hbox {FE}^2\) model with as nested solution of micro- and macroscopic boundary value problems as

$$\begin{aligned} c_{\mathrm{FE}}^2= & {} \mathcal{O}(n_{\mathrm{it}}\,[n_{\mathrm{M}}^2 + n_{\mathrm{M}}\,n_{\mathrm{S}}^2]). \end{aligned}$$
(67)

For the sake of simplicity, we assume \(n_{\mathrm{it}}\) to be of the same order of magnitude in all three cases.

With that, the speedup from DNS to conventional \(\hbox {FE}^2\) can be estimated as

$$\begin{aligned} \text{ speedup }_{{\mathrm{DNS}}\rightarrow {\mathrm{FE}}^2}\sim & {} \left[ \left( \frac{n_{\mathrm{M}}}{n_{\mathrm{DNS}}}\right) ^2 + \frac{n_{\mathrm{M}}\,n_{\mathrm{S}}}{n_{\mathrm{DNS}}} \frac{n_{\mathrm{S}}}{n_{\mathrm{DNS}}}\right] ^{-1}, \end{aligned}$$
(68)

where \(\frac{n_{\mathrm{M}}}{n_{\mathrm{DNS}}}\ll 1\), \(\frac{n_{\mathrm{M}}\,n_{\mathrm{S}}}{n_{\mathrm{DNS}}}\le 1\), and \(\frac{n_{\mathrm{S}}}{n_{\mathrm{DNS}}}\ll 1\). However, the latter enters (68) only with power 1. By contrast, the speedup from DNS to NMR can be estimated as

$$\begin{aligned} \text{ speedup }_{{\mathrm{DNS}}\rightarrow {\mathrm{NMR}}}\sim & {} \left[ \left( \frac{n_{\mathrm{M}}}{n_{\mathrm{DNS}}}\right) ^2 + \frac{n_{\mathrm{M}}\,n_{\mathrm{S}}}{n_{\mathrm{DNS}}} \frac{n_{\mathrm{S}}}{n_{\mathrm{DNS}}}\left( \frac{M_{\mathrm{R}}}{n_{\mathrm{S}}}\right) ^2\right] ^{-1}\nonumber \\ \end{aligned}$$
(69)

with \(\frac{M_{\mathrm{R}}}{n_{\mathrm{S}}}\ll 1\). In particular in the 3D case, “much smaller” means in fact “several orders of magnitude smaller”.

Finally, one may quantify the gain in computational efficiency from fully-nested conventional \(\hbox {FE}^2\) to NMR by evaluating

$$\begin{aligned} c_{\mathrm{FE}}^2 - c_{\mathrm{NMR}}= & {} \mathcal{O}(n_{\mathrm{it}}\,n_{\mathrm{M}}\,[n_{\mathrm{S}}^2-M_{\mathrm{R}}^2]). \end{aligned}$$
(70)

Altogether, we conclude that the computational savings of using NMR compared with DNS and \(\hbox {FE}^2\) scale with the complexity of the problem and, thus, can be huge. In Sect. 5, we investigate computational costs in terms of examples at increasing complexity more explicitly.

5 Numerical results

In this section, we validate the proposed NMR method and demonstrate its performance in a large-scale reduced \(\hbox {FE}^2\) computation. The material parameters used to define the poroelastic fine-scale model are listed in Table 1. All simulations were carried out running the Finite Element package COMSOL Multiphysics via Matlab livelink on a standard laptop computer.

Table 1 Material parameters of damaged and undamaged porous rock used for the poroelastic fine-scale model (\(1\,\hbox {mD}\approx 1\texttt {e-}12~\hbox {m}^2\)) [25]

In the subsequent simulations, mechanical loads are applied by means of a linear ramp function and kept constant after \(t=t_{\mathrm{ramp}}\). Thus, we define the loading function

$$\begin{aligned} \gamma (t)= & {} \left\{ \begin{array}{ll} \frac{t}{t_{\mathrm{ramp}}}, &{} t\le t_{\mathrm{ramp}},\\ 1, &{} t > t_{\mathrm{ramp}}. \end{array}\right. \end{aligned}$$
(71)

5.1 Consolidation of a layered poroelastic medium

Fig. 3
figure 3

a 1D RVE of the layered poroelastic medium with \(L_\Box =1\,\hbox {m}\) and \(d=0.25\,\hbox {m}\). b Example pressure modes \(\hat{p}_a^\chi \). The given numbers correspond to the mode numbers resulting from the snapshot POD. c Macroscopic consolidation experiment with \(\bar{t}^\mathrm{p}=1\texttt {e+}6\,\gamma (t)\,\hbox {Pa}\) and \(t_{\mathrm{ramp}}=1\texttt {e-}2\,\hbox {s}\)

The first numerical example aims to provide a proof of concept of the proposed poro-viscoelastic NMR procedure. For simplicity reasons, we choose a periodically layered poroelastic medium. The 1D RVE shown in Fig. 3a represents the unit cell of the layered medium with \(L_\Box =1\,\hbox {m}\) and \(d=0.25\,\hbox {m}\). Strains in the lateral directions equal zero. The material parameters are chosen according to set 1 given in Table 1. We train the poro-viscoelastic substitute medium in three transient precomputations, where we choose \(\bar{\varepsilon }=f_1\,\gamma (t)\), \(\bar{\zeta }=f_2\,\gamma (t)\,\hbox {Pa/m}\) and \(\bar{p}=f_2\,\gamma (t)\,\hbox {Pa}\) individually with \(t_{\mathrm{ramp}}=1\texttt {e-}4\,\hbox {s}\). Note that the factors \(f_1=1\texttt {e-}4\) and \(f_2=1\texttt {e+}6\) are introduced to obtain snapshots of the pore pressure with the same order of magnitude. The snapshots of the pressure field extracted from the training computations undergo a POD and result in a reduced basis that consists of 22 basis modes. The characteristic frequencies \(\hat{C}_a\) are computed as

$$\begin{aligned} \hat{C}_a= & {} [4.71\texttt {e+}3, 3.80\texttt {e+}3, 2.65\texttt {e+}3, 1.62\texttt {e+}3, 1.18\texttt {e+}3, \nonumber \\&7.26\texttt {e+}2, 5.89\texttt {e+}2, 3.96\texttt {e+}2,\nonumber \\&2.31\texttt {e+}1, 2.17\texttt {e+}2, 1.45\texttt {e+}2, 9.03\texttt {e+}1, 7.90\texttt {e+}1,\nonumber \\&5.42\texttt {e+}1, 3.62\texttt {e+}2, 2.73\texttt {e+}1,\nonumber \\&1.54\texttt {e+}1, 1.26\texttt {e+}1, 8.92\texttt {e+}0, 1.71\texttt {e-}1,\nonumber \\&3.51\texttt {e+}0, 2.86\texttt {e+}0] 1/s. \end{aligned}$$
(72)

Remark

  • We observed that it is difficult to find a reduced basis with a reasonably low approximation error if the POD includes snapshots of all loading cases (\(\bar{\varepsilon },\bar{p},\bar{\zeta }\)). The reason is that the pressure snapshots for the the loading cases (\(\bar{\varepsilon },\bar{p}\)) are strongly different from the snapshots for the \(\bar{\zeta }\) loading case. As a simple work-around, we execute two separate PODs, the first based on the snapshots from the (\(\bar{\varepsilon }\), \(\bar{p}\)) loading cases, whilst the second is based on the snapshots from the \(\bar{\zeta }\) loading case. The output of both PODs is combined to one unified reduced basis. Obviously, this procedure does not guarantee orthogonality of the reduced modes. Nevertheless, the approximation error turns out to be negligibly small as demonstrated in the subsequent validation experiments.

  • The characteristic frequencies given in (72) correspond to relaxation times of a Maxwell–Zener model. As shown subsequently, the chosen reduced basis allows for a high-fidelity approximation of the RVE properties incorporating (a) relaxation processes over many decades in time and (b) three strongly different macroscopic loading scenarios (\(\bar{\varepsilon },\bar{p},\bar{\zeta }\)). The complexity of the RVE properties explains the maybe surprisingly high number of 22 modes.

Examples of pressure modes are shown in Fig. 3b. Finally, all sensitivities and system matrices that define the poro-viscoelastic substitute medium are computed from the definitions presented in Sect. 4.

We are now in the position to utilize the poro-viscoelastic substitute model for the simulation of the macroscopic consolidation experiment shown in Fig. 3c as a reduced \(\hbox {FE}^2\) computation. For validation purposes, we also compute a DNS of the macroscopic consolidation experiment which serves as reference. The reference computation is performed with full geometrical resolution, i.e. all layers contained in the macroscopic sample are discretized. In accordance with Fig. 3, the boundary conditions are chosen as \(\bar{t}(\bar{x}=0)=\bar{t}^{\mathrm{p}}\), \(\bar{p}(\bar{x}=0)=0\) (drained boundary), \(\bar{u}(\bar{x}=10\,L_\Box )=0\), and \(\bar{w}(\bar{x}=10\,L_\Box )=0\) (undrained boundary).

Firstly, we compare the pore pressure distribution \(\bar{p}(\bar{x})\) in the macroscopic computation domain at different times during the consolidation experiment, see Fig. 4a. At \(t=1\texttt {e+}0\,\hbox {s}\), the reference computation shows pressure gradients between the layers of the fully resolved sample that are equilibrated in the course of time. Hence, at \(t=1\texttt {e+}2\,\hbox {s}\), the global pressure decay due to the drained boundary condition \(\bar{p}=0\) at \(\bar{x}=0\) becomes dominant. By construction, the reduced \(\hbox {FE}^2\) computation, using the poro-viscoelastic NMR model, is unable to resolve the fluctuations (wave-length \(L_\Box \)) of the pore pressure field at \(t=1\texttt {e+}0\,\hbox {s}\). Instead, the NMR model correctly predicts the pore pressure that is measured at the RVE boundaries. This is in line with (25)\(_2\) where we constrain the macroscopic pressure to equal the surface average of the microscopic pressure. Also, at \(t=1\texttt {e+}2\,\hbox {s}\) and \(t=1\texttt {e+}3\,\hbox {s}\), the poro-viscoelastic computation matches the reference computation with very high accuracy.

Fig. 4
figure 4

a Macroscopic pressure \(\bar{p}\) measured during consolidation of the 1D layered poroelastic medium. b Macroscopic displacement \(\bar{u}\) at the boundary at \(\bar{x}=0\)

Fig. 5
figure 5

1D consolidation test. a Outflux \(\bar{w}\) of pore fluid across the drained boundary at \(\bar{x}=0\). b Change of fluid content \(\bar{\varPhi }-\left\langle \phi \right\rangle _\Box \) observed at different positions \(\bar{x}\)

Secondly, we investigate the displacement \(\bar{u}\) measured at the surface \(\bar{x}=0\), see Fig. 4b. We observe three distinct phases of the consolidation experiment: (i) The loading phase for \(t<1\texttt {e-}4\,\hbox {s}\), (ii) the phase where the inter-layer pressure gradients are equilibrated by local redistribution of the pore fluid for \(t\in [1\texttt {e-}2,\,1\texttt {e+}1]\,\hbox {s}\) (“viscoelastic creeping”), and (iii) the phase of macroscopic drain-off due to the boundary condition \(\bar{p}=0\) at \(\bar{x}=0\) at \(t>1\texttt {e+}1\,\hbox {s}\) (“poroelastic creeping”). In all phases, the poro-viscoelastic NMR model predicts the material behavior with very high accuracy.

The macroscopic drain-off \(\bar{w}(\bar{x}=0)\) during the consolidation test as well as the change in fluid content \(\bar{\varPhi }-\left\langle \phi \right\rangle _\Box \) stored in the pore space at several evaluation points are plotted in Fig. 5. In both cases, the poro-viscoelastic NMR model is in excellent agreement with the reference computation.

5.2 Role of the RVE size

Fig. 6
figure 6

a Examples of periodic RVE realizations, \(l=0.5\,\hbox {m}\), \(|\varOmega _\Box |=\{1,\,4,\,25\}\,l^2\), with randomly distributed but equally sized circular inclusions (radius \(r=0.175\,\hbox {m}\), volume fraction \(n=0.385\)). b Macroscopic consolidation test with normal surface loading \(\bar{t}^\mathrm{p}=\bar{\mathbf{t}}^\mathrm{p}\cdot \mathbf{n}= 1\texttt {e+}6\,\hbox {Pa}\)

An important issue in computational homogenization is to decide whether the chosen volume element is large enough to be considered as sufficiently representative. In standard first-order homogenization of single-phase materials, the size of an RVE is determined mainly in terms of stochastic representativity and boundary layer effects, e.g. due to over-stiff boundary conditions, whereas computational homogenization of poroelastic media involves an additional imprinted internal length scale, namely the diffusion length.

Fig. 7
figure 7

Pressure modes \(\hat{p}_a^\chi \) associated with the 16 slowest viscoelastic internal variables \(\chi _a\) for one example RVE (\(|\varOmega _\Box |=25\,l^2\))

In the subsequent study, we aim to investigate the effect of RVE size on the macroscopic poro-viscoelastic properties of the homogenized model. We consider a 2D poroelastic medium (plain strain) consisting of stiff, circular inclusions which are embedded in a softer matrix. The material parameters are chosen according to set 1 in Table 1. The RVEs are constructed such that they contain one single inclusion with radius \(r=0.175\,\hbox {m}\) per 2D volume \(l^2\). Hence, the volume fraction of the inclusions is for \(n=0.385\). The different RVE sizes, \(|\varOmega _\Box |=\{1,4,25\}\,\hbox {m}^2\), are shown in Fig. 6a. For each RVE size, we generate an ensemble of five periodic RVEs with randomly distributed inclusions. The minimal distance between the inclusions is constrained to be larger than \(0.1\,r\).

For each individual RVE, we perform training computations with a POD of the extracted snapshots and compute the properties of the corresponding poro-viscoelastic NMR model. We show the pressure modes associated with the 16 lowest characteristic frequencies in Fig. 7 for one example RVE with \(|\varOmega _\Box |=25\,l^2\). The 16 lowest characteristic frequencies associated with the poro-viscoelastic variables \(\chi _a\) are

$$\begin{aligned} \hat{C}_a= & {} [2.973\texttt {e+}1, 1.727\texttt {e+}1, 1.259\texttt {e+}1, 1.080\texttt {e+}1,\nonumber \\&1.104\texttt {e+}1, 1.158\texttt {e+}1, 1.148\texttt {e+}1, 4.347\texttt {e+}0,\nonumber \\&3.720\texttt {e+}0, 2.644\texttt {e+}0, 8.942\texttt {e-}1, 1.314\texttt {e+}0,\nonumber \\&1.163\texttt {e+}0, 1.764\texttt {e-}1, 3.114\texttt {e-}1, 2.782\texttt {e-}1]\,1/s.\nonumber \\ \end{aligned}$$
(73)

Note that the NMR model used for the subsequent simulations contains additional pressure modes with higher characteristic frequencies. Typically, we employ 27 pressure modes for each RVE. For the sake of brevity, the higher pressure modes are omitted in Fig. 7.

Fig. 8
figure 8

Effective stress response \(\bar{\sigma }_{11}\) under the loading \(\bar{\varepsilon }_{11}(t)=1\texttt {e-}4\,\gamma (t)\), \(\bar{\varvec{{\zeta }}}=\mathbf{0 }\), \(\bar{p}=0\). a Five example RVE realizations with \(|\varOmega _\Box |=l^2\), b five example RVE realizations with \(|\varOmega _\Box |=25\,l^2\)

Fig. 9
figure 9

Effective seepage velocity \(\bar{w}_1\) under the loading \(\bar{\varvec{\varepsilon }}=\mathbf{0 }\), \(\bar{\zeta }_1(t)=1\texttt {e+}6\,\gamma (t)\,\)Pa/m, \(\bar{p}=0\). a Five example RVE realizations with \(|\varOmega _\Box |=l^2\), b five example RVE realizations with \(|\varOmega _\Box |=25\,l^2\)

Fig. 10
figure 10

Effective porosity increase \(\bar{\varPhi }-\left\langle \phi \right\rangle _\Box \) under the loading \(\bar{\varvec{\varepsilon }}=\mathbf{0 }\), \(\bar{\varvec{{\zeta }}}=\mathbf{0 }\), \(\bar{p}(t)=1\texttt {e+}6\,\gamma (t)\) Pa. a Five example RVE realizations with \(|\varOmega _\Box |=l^2\), b five example RVE realizations with \(|\varOmega _\Box |=25\,l^2\)

We now use the individually identified NMR models to predict the RVE responses to an external loading. The NMR results are validated against reference computations obtained from solving the respective RVE problems with full geometrical resolution. Examples of effective properties are plotted in Figs. 8a, 9a, and 10a for five random RVE realizations of the smallest size \(|\varOmega _\Box |=l^2\) and in Figs. 8b, 9b, and 10b for five random RVE realizations of the largest size \(|\varOmega _\Box |=25\,l^2\). The loading is applied as follows: \(\bar{\varepsilon }_{11}(t)=1\texttt {e-}4\,\gamma (t)\), \(\bar{\varvec{{\zeta }}}=\mathbf{0 }\), \(\bar{p}=0\) for Fig. 8, \(\bar{\varvec{\varepsilon }}=\mathbf{0 }\), \(\bar{\zeta }_1(t)=1\texttt {e+}6\,\gamma (t)\,\hbox {Pa/m}\), \(\bar{p}=0\) for Fig. 9, and \(\bar{\varvec{\varepsilon }}=\mathbf{0 }\), \(\bar{\varvec{{\zeta }}}=\mathbf{0 }\), \(\bar{p}(t)=1\texttt {e+}6\,\gamma (t)\,\hbox {Pa}\) for Fig. 10, \(t_\mathrm{ramp}=1\texttt {e-}4\,\hbox {s}\). All other components of the macroscopic fields are zero.

First of all, we remark that choosing a periodic RVE containing one single inclusion results in a strong scattering of the transient behavior, see Figs. 8, 9, and 10a. This might be somewhat surprising since the only difference between these RVEs with \(|\varOmega _\Box |=l^2\) is the position of the inclusion. In the case of linear elasticity, it is clear that the homogenized properties of a periodic RVE under periodic boundary conditions that contain one single inclusion do not depend on the position of the inclusion. Obviously, this is not true in the present case. The explanation for this behavior is the presence of the pressure diffusion mechanism. Since only the pore pressure fluctuation in(20)\(_2\) is periodic but not the prescribed macroscopic part \(\bar{p}^\mathrm{M}\), the position of the inclusion controls the diffusion behavior close to the RVE boundary which results in the scattering behavior as seen in Figs. 8, 9, and 10a.

The scatter is significantly reduced if we increase the RVE size. This holds, in particular, for the macroscopic stress \(\bar{\sigma }_{11}\) under the loading \(\bar{\varepsilon }_{11}(t)\), see Fig. 8, and the porosity increase \(\bar{\varPhi }-\left\langle \phi \right\rangle _\Box \) under the loading \(\bar{p}(t)\), see Fig. 10. To a lesser extent, this also holds for the effective seepage velocity \(\bar{w}_1\) under \(\bar{\zeta }_1(t)\), see Fig. 10. Moreover, for the larger RVE size we observe that the stationary state (\(t\rightarrow \infty \)) is reached much later than for the smaller RVE size. This is related to the larger diffusion length associated with a larger RVE size. We show in the subsequent experiments that, nevertheless, all RVE sizes are suitable for predicting the transient behavior. Most importantly, however, we want to highlight that all NMR predictions (lines in Figs. 8, 9, 10) are in excellent agreement with the reference computations for the chosen RVEs (dots in Figs. 8, 9, 10).

Fig. 11
figure 11

Validation of NMR predictions for the 2D consolidation test with material properties according to Table 1 (set 1). Each NMR solution is computed by averaging an ensemble of five RVEs. a Pore pressure \(\bar{p}(t)\) computed using the largest RVE size \(|\varOmega _\Box |=25\,l^2\). b Displacement \(\bar{u}_1\) observed at \(\bar{\mathbf{x}}=\mathbf{0 }\) for different RVE sizes

Fig. 12
figure 12

Validation of NMR predictions for the 2D consolidation test with material properties according to Table 1 (set 2). The NMR solution is computed by averaging an ensemble of five RVEs using the largest RVE size \(|\varOmega _\Box |=25\,l^2\). a Evolution of the pore pressure \(\bar{p}(t)\). b Displacement \(\bar{u}_1\) observed at \(\bar{\mathbf{x}}=\mathbf{0 }\)

Finally, we want to employ the identified NMR rules to execute reduced \(\hbox {FE}^2\) simulations of the macroscopic consolidation experiment shown in Fig. 6b for the two different sets of material parameters given in Table 1. For each RVE size, we execute ensemble averaging of the individual poro-viscoelastic NMR models. The ensemble averaged reduced \(\hbox {FE}^2\) computations are validated against a DNS which we use as reference solution. The reference sample for DNS is generated according to Fig. 6b. It is periodic in \(\bar{x}_2\)-direction and contains 50 stochastically distributed inclusions. The reference computation is carried out with full geometrical resolution of the inclusions. The boundary conditions on the macroscopic problem are \(\bar{\mathbf{t}}=[\bar{t}^{\mathrm{p}}, 0]^T\) at \(\bar{x}_1=0\) with the prescribed traction \(\bar{t}^{\mathrm{p}}=1\texttt {e+}6\,\gamma (t)\) and \(t_{\mathrm{ramp}}=1\texttt {e-}4\,\hbox {s}\). Moreover, \(\bar{p}=0\) at \(\bar{x}_1=0\) (drained boundary). All other boundaries undergo symmetry conditions, i.e. \(\bar{\mathbf{u}}\cdot \mathbf{n}=0\) and \(\bar{w}=0\) (undrained boundary).

The results obtained for parameter set 1 are shown in Fig. 11. As for the 1D case, we observe a pronounced fluctuation of the pore pressure field \(\bar{p}\) for \(t=1\texttt {e-}1\,\hbox {s}\) that decays rapidly over time. The associated process is local redistribution of pore fluid between the inclusions and the matrix material in their vicinity. With the passage of time, the drained boundary condition \(\bar{p}(\bar{x}_1=0)=0\) induces a macroscopic transport of pore fluid over the full length of the sample. Note that the reduced \(\hbox {FE}^2\) solution shown in Fig. 11a is computed using the largest RVE size \(|\varOmega _\Box |=25\,l^2\). The agreement with the reference computation is very good. Nevertheless, it is important to remark that a certain deviation from the reference computations is to be expected due to the fact that the reference geometry itself is stochastic.

In Fig. 11b we plot the displacement \(\bar{u}_1(\bar{\mathbf{x}}=\mathbf{0 })\). Here, we compare ensemble averages of the RVE sizes \(|\varOmega _\Box |=\{1,4,25\}\,l^2\). Whilst the displacement related to local redistribution at \(t=1\,\hbox {s}\) is not very pronounced in this example, the NMR predictions of all RVE sizes show a very good agreement with the reference computation of the transient behavior. The only systematic deviation from the reference computation is the slight underestimation of the settlement in the fully equilibrated state by the smallest RVE size.

Fig. 13
figure 13

a 3D poroelastic RVE containing 8 spherical inclusions; \(L_\Box =0.2\,\hbox {m}\), \(r=4.15\texttt {e-}2\,\hbox {m}\), \(n=0.3\). b Macroscopic inhomogeneous consolidation experiment with \(L=10\,\hbox {m}\), \(H=20\,\hbox {m}\), \(\bar{t}^{\mathrm{p}}=-1\texttt {e+}6\,\hbox {Pa}\). Data computed at point \(\mathcal{P}\,\)(6,0,-6) m will be used for RVE visualizations

Fig. 14
figure 14

Examples of pressure modes \(\hat{p}_a\) associated with the 16 slowest viscoelastic internal variables \(\chi _a\)

The same consolidation test has been performed with parameter set 2. The pressure distribution and the settlement are plotted in Fig. 12. Because the material properties G, K, and \(\beta \) are chosen to represent a significantly softer material than in parameter set 1, the amplitude of the pressure fluctuation at \(t=1\texttt {e-}1\,\hbox {s}\) is, compared to the overall pressure level, much larger. This is also reflected in the displacement \(\bar{u}_1(\mathbf{x}=\mathbf{0 })\) where the local redistribution process at \(t=1\,\hbox {s}\) (“viscoelastic creeping”) is much more pronounced than for parameter set 1. In this case, all NMR computations have been carried out on the basis of the ensemble consisting of five RVE realizations of the largest size. Taking into account that also the reference geometry itself is stochastically disturbed, we find again a very good agreement of the reduced \(\hbox {FE}^2\) computation with the reference computation.

5.3 Consolidation experiment with inhomogeneous boundary conditions

We conclude our investigations with a 3D consolidation experiment with inhomogeneous boundary conditions. We assume a poroelastic RVE that contains 8 spherical inclusions, see Fig. 13a, and use the material parameters of set 2, see Table 1. The macroscopic problem is displayed in Fig. 13b. The loading at the top surface is applied via the prescribed traction \(\bar{\mathbf{t}}=[0, 0, \bar{t}^{\mathrm{p}}]^T\) on a rigid plate. We choose \(\bar{t}^{\mathrm{p}}=-\gamma (t)\,1\texttt {e+}6\,\hbox {Pa}\) and \(t_{\mathrm{ramp}}=1\texttt {e-}4\,\hbox {s}\). The remaining part of the top surface is traction-fee and drained (\(\bar{p}=0\)). Symmetry conditions apply to all other boundaries. Hence, \(\bar{\mathbf{u}}\cdot \mathbf{n}=0\) and \(\bar{w}=0\).

Fig. 15
figure 15

a Reduced \(\hbox {FE}^2\) computation of the macroscopic seepage \(\Vert \bar{\mathbf{w}}\Vert \) during the inhomogeneous consolidation experiment. b Microscopic seepage \(\Vert \mathbf{w}\Vert \) evaluated during \(\hbox {FE}^2\) computation in the RVE adjacent to point \(\mathcal{P}\,\)(6,0,-6) m at \(t=60\,\hbox {s}\) and at \(t=3600\,\hbox {s}\)

We follow the NMR procedure and perform training computations to identify all relevant sensitivities of the poro-viscoelastic substitute model. Examples of pressure modes are displayed in Fig. 14. Finally, we are able to execute the reduced \(\hbox {FE}^2\) computations. In Fig. 15a we display the effective seepage \(\bar{\mathbf{w}}\) in the sample at different times. The arrows represent the seepage velocity vector. In Fig. 15b, we show, as a post-processing result, the local seepage velocity \(\mathbf{w}\) as observed in an RVE adjacent to the evaluation point \(\mathcal{P}\) for the same instants of time. We see that, at \(t=60\,\hbox {s}\), the seepage is active essentially in the horizontal direction in the part of the sample which is exposed to the strong inhomogeneity of the loading. By contrast, the seepage at \(t=3600\,\hbox {s}\) is active mainly in the vertical direction towards the drained boundary. This behavior is also reflected by the streamlines in the RVE, see Fig. 15b.

It is important to remark that, for the given example, the fully resolved macroscopic geometry would contain 2,000,000 inclusions. A DNS of the sample would be far beyond typically available computing and memory resources. By contrast, the reduced \(\hbox {FE}^2\) simulation based on the poro-viscoelastic NMR approach requires only a short computation time with a low memory utilization. The computational effectiveness is discussed in more detail in the subsequent section.

5.4 Computation time

To investigate computational effectiveness, we compare the explicit computation times between DNS and NMR solutions for the previous examples. All simulations were carried out on a standard laptop computer. The computation times are reported in Table 2 for the 1D case (cf. Sect. 5.1), the 2D case (cf. Sect. 5.2) and the 3D case (cf. Sect. 5.3). The computation times are evaluated for the solution of (i) one load case on one single RVE and of (ii) the macroscopic consolidation experiments. We observe that, with increasing complexity of the problem, the NMR model becomes more and more favorable. In practice, the computational effort to solve the RVE problem by NMR does not depend on the dimensionality of the problem. The speed-up factor for solving one single 3D RVE problem is 500. With NMR, also the 3D macroscopic consolidation experiment can be solved within a few minutes, although the relaxation behavior of the RVE problem gives rise to a considerable number of evolution equations. By contrast, the DNS of the 3D consolidation test, containing 2,000,000 inclusions, exceeds the capacities of the used computer resources by far. It is, therefore, impossible to quantify the speed-up in that case. These results point to the high computational effectiveness of the proposed method.

Table 2 Comparison of computation times between DNS and NMR solutions

6 Concluding remarks: outlook

To provide increased modeling capability at the computational homogenization of fine-scale poroelasticity, we have considered the situation where the pore pressure field possesses macro-scale as well as sub-scale parts. The corresponding RVE problems will become more expensive as part of the \(\hbox {FE}^2\) algorithm. Accordingly, it was expected that the NMR approach is much more efficient. Indeed, the presented numerical results show that the NMR method provides excellent agreement with the reference solution obtained from DNS for a quite small number of pressure modes. Moreover, it was shown that even 3D RVEs employed as part of the \(\hbox {FE}^2\) algorithm give tractable solution times.

As to future work, it is of significant interest to evaluate the importance of including the macro-scale viscoelastic variables, i.e. to discern when it is sufficient to assume that the RVE problem is reduced to what is coined the stationary problem. Such a reduction would mean that the macro-scale model is purely poroelastic. Another aspect that requires further investigation is the effect of the compressibility of the pore fluid on the NMR algorithm. Whilst in rock mechanics applications the bulk moduli of fluid and solid phase are usually of the same order of magnitude, the assumption of an, in practice, incompressible pore fluid is common for the description of “softer” porous media such as biological tissues or soft clay with full water saturation.