Aging linear Volterra behavior (ALV)
Before this page
The Laplace-Carson route, which treats the non-aging case contrasted below, and the elastic chain transposed on this page: The Eshelby inclusion problem, Concentration and contribution tensors and Homogenization schemes.
If the material does not age, there is a cheaper route
Everything on this page treats a kernel t - t' alone the constitutive law is a convolution, a transform turns it into a product, and the whole problem reduces to an elastic one at each Carson variable — see the Laplace-Carson route.
The two algebras are worth contrasting explicitly. Creep and relaxation are related by
ALV stands for aging linear Volterra: a linear behavior whose response at time
Everything in the elastic part of this documentation — the Eshelby problem, the Hill polarization tensor, the concentration and contribution tensors, the schemes built on them — carries over to aging linear viscoelasticity essentially unchanged, provided two substitutions are made systematically:
| Elastic | Aging viscoelastic |
|---|---|
| tensor | two-time kernel |
| double contraction | Volterra product |
| tensor inverse | Volterra inverse |
| identity |
This page follows that substitution from the constitutive law to the homogenization schemes. The derivations are those of Barthélémy et al. (2016) (the Eshelby problem and the Hill kernel) and Barthélémy et al. (2019) (the schemes); the time discretization is that of Sanahuja (2013).
Notation used on this page
A kernel is a function of two times MeanFieldHomogenization these two operations are volterra_product and volterra_inverse.
1. The aging linear viscoelastic behavior
The strain and stress histories are related by a Stieltjes integral (Barthélémy et al., 2016):
with
The non-aging case is the special one where the kernels depend on
Volterra algebra
The relation above is written compactly
This product is associative and distributive over addition, but not commutative: commutativity holds only for non-aging kernels (Barthélémy et al., 2016; after Maghous and Creus). Every formula below therefore keeps its factors in order, including the apparently scalar ones.
The Heaviside function acts as the identity,
Discretization: kernels become block matrices
On a time grid
A block is not a kernel value
The pay-off of this representation is that the Volterra product becomes an ordinary matrix product and the Volterra inverse an ordinary matrix inverse (Sanahuja, 2013), as in the appendix of Barthélémy et al. (2019). In MeanFieldHomogenization the discretization is trapezoidal_matrix and the inverse volterra_inverse.
2. The Eshelby problem in ALV
Consider an ellipsoid
with
where
Solving it through the ALV Green kernel yields the central result: the strain is uniform inside the ellipsoid, exactly as in elasticity, and
3. The Hill polarization kernel
The kernel
It differs from the elastic Hill tensor in exactly one place: the inverse of the acoustic tensor
The Eshelby kernel follows by the same definition as in elasticity,
Isotropic matrix: time and space decouple
If the reference kernel is isotropic,
\boldsymbol{1}-\underline{\xi}\otimes\underline{\xi})`` decomposition and can be inverted in the Volterra sense analytically. The Hill kernel then factorizes (Barthélémy et al., 2016; Barthélémy et al., 2019):
where
This is what makes ALV tractable: the geometry sits entirely in hill_kernel discretizes the matrix law, extracts tens_UA and tens_VA. An anisotropic reference kernel has no such fast path.
Why the longitudinal modulus, and not the bulk one. The Hill tensor inverts the acoustic tensor of the reference. For an isotropic one, ``\underline{\xi}\cdot\mathbb{C}_0\cdot\underline{\xi} = \bigl(k + \tfrac{4}{3}\mu\bigr),\underline{\xi}\otimes\underline{\xi}
- \mu,\bigl(\boldsymbol{1} - \underline{\xi}\otimes\underline{\xi}\bigr)``
for a unit
with
- J_{\mathrm{shear}},\bigl(\mathbb{V}^{\boldsymbol{A}} - \mathbb{U}^{\boldsymbol{A}}\bigr)``,
block by block in time.
Going back to bulk and shear is linear on the relaxation kernels:
It is not linear on their inverses:
The example below follows these steps on a Maxwell law discretized on five instants. trapezoidal_matrix gives the iso_params_from_blocks its volterra_inverse the discrete Volterra inverse of a scalar kernel (block_size = 1).
using MeanFieldHomogenization, TensND
law = maxwell_iso(10.0, 4.0, 1.0, 0.5) # k, μ and their relaxation times
times = collect(range(0.0, 2.0; length = 5))
α, β = iso_params_from_blocks(trapezoidal_matrix(law, times)) # 3k and 2μ
# longitudinal and shear kernels, the pair the Hill kernel inverts
M_long, M_shear = (α .+ 2 .* β) ./ 3, β ./ 2
# back to bulk and shear: linear on the relaxation kernels
k, μ = M_long .- (4 / 3) .* M_shear, M_shear
(k ≈ α ./ 3, μ ≈ β ./ 2)(true, true)The inverses do not convert this way: the longitudinal creep kernel differs from the bulk one, already at the first instant, where both reduce to the elastic values
J_long = volterra_inverse(M_long; block_size = 1)
J_shear = volterra_inverse(M_shear; block_size = 1)
J_bulk = volterra_inverse(k; block_size = 1)
(J_long[1, 1], J_bulk[1, 1], 1 / (10.0 + 4 / 3 * 4.0), 1 / 10.0)(0.06521739130434782, 0.1, 0.06521739130434782, 0.1)Assembling ``J_{\mathrm{long}},\mathbb{U}^{\boldsymbol{A}}
- J_{\mathrm{shear}},(\mathbb{V}^{\boldsymbol{A}} - \mathbb{U}^{\boldsymbol{A}})``
by hand, in Kelvin–Mandel components, gives the Hill kernel that hill_kernel returns:
ell = Ellipsoid(3.0, 1.0, 1.0)
U = TensND.mandel(TensND.canonical_components(tens_UA(ell)); symmetrize = true)
D = TensND.mandel(TensND.canonical_components(tens_VA(ell)); symmetrize = true) - U
kron(J_long, U) + kron(J_shear, D) ≈ hill_kernel(ell, law, times)trueFor a sphere the geometric tensors are
An anisotropic reference kernel does not enjoy this decoupling; as in elasticity, that is the case where the surface integral must be evaluated numerically.
4. From the inclusion to the inhomogeneity
Replace the polarization by a genuine inhomogeneity: the ellipsoid now has its own relaxation kernel
with the dilute strain concentration kernel
The strain remains uniform inside
the second form following from the identity
5. Schemes
With concentration kernels in hand, every matrix-based scheme transposes term by term (Barthélémy et al., 2019). Writing
and the schemes differ only in how
| Scheme | Effective kernel |
|---|---|
| Voigt, Reuss | |
| Dilute | |
| DiluteDual | |
| Mori–Tanaka | |
| Maxwell, PCW | |
| Self-consistent | |
| Asymmetric self-consistent | |
| Differential | the incorporation ODE, integrated on the kernels |
The one new difficulty is bookkeeping: homogenize_alv at order 4; at order 2 all of them but the asymmetric self-consistent one.
6. The n-layer composite sphere
The
In the ALV setting every scalar modulus becomes its
In conduction the temperature of layer
the minus sign of the Kapitza law being that of the dictionary, and the amplitudes beyond the interface follow in closed form,
so that only
7. Symmetry classes and structured storage
ALV operators inherit the symmetry classes of their elastic counterparts, and those classes are closed under Volterra product and inverse. That closure is what makes compact storage possible:
| Class | Stored components | Full | Storage cost | Closure operation |
|---|---|---|---|---|
| ISO | scalar Volterra products / inverses | |||
| TI | ||||
| ORTHO | ||||
| Generic | full |
with ISO ⊂ TI ⊂ ORTHO ⊂ generic. The types ALVKernelISO, ALVKernelTI and ALVKernelOrtho wrap these compact representations as AbstractMatrix, so they flow through generic Julia matrix code while preserving both the storage saving and the algebraic closure.
Where to go next
The theory closes with two appendices, starting with The finite Eshelby cell, the numerical device behind the finite-element inclusions. The laminate of Periodic multilayer — the laminate cell is transposed to aging viscoelasticity in its §10, by the substitution of this page. The schemes of §5 are compared on one composite in the tutorial Aging viscoelastic schemes side by side, and the manual page Viscoelastic homogenization gives the syntax of homogenize_alv.