Skip to content

Periodic multilayer — the laminate cell

A laminate is a periodic stack of parallel layers: a unit cell of periodic homogenization, with no matrix, no auxiliary Eshelby problem and no reference medium. Its effective behavior is exact and in closed form, which sets it apart from every other page of this section: the schemes built on the Eshelby problem (Mori-Tanaka, the self-consistent family, the differential scheme, …) describe random morphologies and produce estimates; the laminate solution is the answer.

That makes it useful twice over: as a model of genuinely stratified materials (coatings, interfacial transition zones, bedded media), and as an exact reference against which bounds and estimates can be calibrated — the laminate saturates the Voigt bound in the plane of the layers and the Reuss bound across them, simultaneously.

The derivation below is written for a general anisotropic stack, in elasticity and in transport, with the localization tensors and the imperfect interfaces.

Setting

Layers are bounded by parallel planes of common unit normal . The vector plane   is spanned by orthonormal , with positively oriented. The geometry and the materials are invariant in every direction of and periodic of period along . One period contains layers , of uniform stiffness , thickness and volume fraction  .

julia
plotly_scene(laminate_traces([0.30, 0.15, 0.40, 0.15]); uid = "th-laminate-cell",
    height = 420, title = "One period: four layers of thickness hᵢ, common normal n̂")

Only and the thicknesses matter — the picture is drawn from the volume fractions   and would be unchanged by any rotation within . That invariance is what collapses the problem to one dimension, and it is why the laminate is solved exactly rather than estimated.

The cell is loaded by a macroscopic strain :

with continuous and piecewise differentiable, and the traction   periodic. The macroscopic stress is the average    .

The two continuity conditions

Invariance in the plane makes every field depend on   alone, so    forces to be uniform between two consecutive interfaces. Searching for a stress uniform in each layer, the whole problem reduces to two statements.

Traction continuity. The stress vector is continuous across every plane,

Strain compatibility. Continuity of leaves each layer strain free only through a rank-one symmetric (Hadamard) term,

for unknown vectors . Equivalently: the in-plane components of the strain are continuous and equal to those of .

The two conditions are complementary — three stress components are prescribed across the layers, three strain components are prescribed within them — and that split is the whole content of the problem.

In-plane and out-of-plane subspaces

The space of symmetric second-order tensors splits into the tensors without and those with it. With     the in-plane projector, the two order-4 projectors are

that is,    and    in the Walpole basis of axis .

In Kelvin-Mandel components written in the frame , this split is a pure index partition — the weights it would otherwise require are already carried by the Mandel basis:

Writing any stiffness in   blocks on that partition,

the continuity conditions read: is the same in every layer, and is the same in every layer.

One index reversal to be aware of

The out-of-plane Mandel slots correspond to the index pairs , hence to the acoustic-tensor indices   in the reversed order , with the Mandel weights  :  . The reversal is invisible for isotropic layers, where is diagonal — which is exactly why the implementation guards it with a test on a triclinic stiffness.

Layer tensors

Injecting into the constitutive law and contracting with gives the traction in terms of through the acoustic tensor    :

Hence the Hadamard term is generated by an order-4 tensor,

is the Hill polarization tensor of a flat inclusion: the limit of the Hill tensor of an ellipsoid embedded in a medium of stiffness as its smallest aspect ratio tends to zero (see Hill tensors). Having minor and major symmetries, it operates only within out-of-plane second-order tensors. The companion tensor

is the second Hill tensor, and operates only within in-plane tensors.

In block form these two statements become identities, which is the cleanest way to see them:

The out-of-plane block of is exactly the inverse of the out-of-plane block of , and is exactly the in-plane Schur complement of . Two consequences used throughout:     and   .

The pseudo-inverse

Averaging the compatibility condition over the cell,   requires    , that is

This determines only the out-of-plane part of , and for a good reason: is supported on the out-of-plane subspace, so it is not invertible. What is needed is its Moore-Penrose pseudo-inverse, which for an out-of-plane-supported tensor is simply the inverse of that block, embedded back:

It exists as soon as is invertible, that is as soon as every acoustic tensor is definite.

Never a generic pinv

The implementation does not call LinearAlgebra.pinv: the pseudo-inverse is the ordinary inverse of a   block (a scalar reciprocal in transport), taken in closed form. An SVD would be differentiable by neither ForwardDiff nor a symbolic backend, and would in any case be wasted on an exactly-rank-3 input.

Effective stiffness

Substituting back,

Written on the partition, this collapses to the form of [61], which is what the implementation evaluates — four block products and two   inversions per layer, no factorization anywhere:

Two of these are exact bound saturations, valid for arbitrary anisotropy:

They are the two oracles the test suite is built on, and they remain exact when imperfect interfaces are added — each picking up one interface family and ignoring the other.

Symmetry of the result

The effective tensor is in general monoclinic about : for layers of arbitrary anisotropy there is no more symmetry than the geometry itself provides.

It is exactly transversely isotropic about in one case only: when every layer is isotropic, or transversely isotropic about that very axis — the TI tensors of a common axis being closed under product and inversion. Any other class breaks it, including an orthotropic layer whose axes happen to coincide with the laminate frame (orthotropic is not TI in the plane), and a TI layer whose axis is not .

The implementation decides this structurally, from the declared symmetry classes of the layers, never by testing the output numerically: the conclusion is then exact and survives symbolic and Dual element types alike. It is also deliberately conservative — a transversely isotropic but non-major-symmetric layer (TensTI{4,T,8}, what the exact rotation-group average produces, with   and the antisymmetric azimuthal couplings) does not qualify, because the five-coefficient Walpole read-off would silently discard that content. Such a laminate returns the generic tensor, losslessly.

Coaxiality with is likewise settled without a tolerance when the axes are symbolic: two axes count as collinear when they are the same expression, up to an overall sign. That is conservative — a laminate that is transversely isotropic may still come back as the generic tensor, which loses nothing — but it is never wrong, whereas     is a question no symbolic backend answers reliably.

The axis is read exactly

The returned TensTI converts its axis to the element type of its data and rebuilds its components from the Walpole basis of that axis. A canonical frame is therefore read as and not , whatever the element type of the frame itself: the float would otherwise reappear as a symbolic multiplying every coefficient of an answer that is exact. An obliquely oriented numeric frame does contribute floating-point axis components — correctly so, the geometry being floating point.

Bilayer of isotropic layers

For   isotropic layers of Lamé coefficients the formulas above reduce to the classical long-wave average of [61]:

The out-of-plane response is a harmonic (Reuss) mean, the in-plane shear an arithmetic (Voigt) one — the two saturations above, read off a closed form. scripts/38_laminate_symbolic.jl derives these from the code itself, with SymPy.

Localization

Since   , the layer strain follows directly:

and the layer stress from    , with   . Because is out-of-plane, has an in-plane block equal to the identity and a vanishing in-plane/out-of-plane coupling — the macroscopic in-plane strain reaches every layer unchanged, which is the compatibility condition read backwards. (These tensors are absent from the original note.)

Transport

The transposition is immediate: the in-plane gradient is continuous, the normal flux is continuous. With the conductivity (or diffusivity, or permeability) of layer , the partition of a second-order property in the frame is   /   and the whole algebra carries over with the one-dimensional out-of-plane subspace, where the pseudo-inverse is a scalar reciprocal:

— series across the layers, parallel within them.

Imperfect interfaces

The four interface models of the layered sphere are reused unchanged; a planar interface is simply the curvature-free case, and the algebra collapses to two additive terms. They enter with the weight : an interface density. At fixed volume fractions, doubling the period halves the correction, and   recovers perfect bonding — this is the size effect that makes the absolute period, not just the fractions, physically meaningful.

primal (field jump)dual (surface stiffness)
elasticitySpringInterface(kn, kt) (stiffnesses)MembraneInterface(κs, μs)
transportKapitzaInterface(ρ)SurfaceConductiveInterface(ks)

Unlike the spherical case, nothing forces these to be isotropic. The spherical-harmonic recurrence of the layered sphere only closes if the jump conditions share the symmetry of the geometry, which is why its interfaces carry two scalars each. A plane has a normal and an arbitrary in-plane texture, so may be any symmetric second-order compliance and any 2-D surface stiffness (six independent coefficients) — the formulas below are written for the general case, and the implementation provides both a scalar and a tensor-valued type per family. The primal transport condition    relates two scalars and is already general.

Primal: a jump of the field

A spring interface imposes a displacement jump driven by the traction, which stays continuous:

where is a symmetric second-order compliance tensor. It is the limit of a layer of vanishing thickness whose out-of-plane compliance stays finite and whose in-plane stiffness vanishes, so it contributes to and to nothing else:

The out-of-plane oracle therefore becomes, still exactly,

while the in-plane oracle is left untouched. Limits:   recovers perfect bonding,   decouples the layers (   ). The same statement in transport reads    — the interfacial (Kapitza) resistances simply add to the series law.

Dual: a surface stiffness

Here the flat geometry does something the sphere does not. A Gurtin-Murdoch membrane carries a surface stress     , and the traction jump it produces is     . On a plane interface with a uniform in-plane strain this divergence vanishes: there is no traction jump at all. The surface stress is driven by the in-plane strain, which is continuous and equal to , so it adds straight to the macroscopic stress:

acting in the in-plane block alone. With    the surface dilatation modulus (the convention of LayeredSpheres and of Echoes' DUALDISC), the in-plane Mandel block of is

so gains exactly and the out-of-plane response is untouched. In transport, a highly conductive surface layer adds    to the in-plane conductivity.

The two families are therefore complementary: the primal one moves the out-of-plane law and leaves the in-plane one alone, the dual one does the reverse. That is what makes the laminate the sharpest available check of the package's interface conventions.

Ageing viscoelasticity

The whole solution is products of Kelvin-Mandel matrices and one inversion restricted to the out-of-plane subspace. Replacing each scalar by a discretized Volterra operator therefore transposes it verbatim to ageing linear viscoelasticity: the matrices become   (resp.  ) in time blocks, products become Volterra products, and the   (resp. scalar) inversion becomes volterra_inverse on the out-of-plane restriction. The elastic limit — a Heaviside law per layer — returns the elastic laminate in every diagonal time block, and the two exact saturations survive the transposition.

Relation to the rest of the package

  • is the flat limit of the Hill tensor: a laminate is what a stack of infinitely flat inclusions becomes when they fill space.

  • The laminate is a cell, not an inclusion: it is homogenized, not embedded. Embedding a laminated inclusion in a matrix would require its Hill tensor, which is a separate problem.

  • As an AbstractHomogenizationCell it takes part in the multiscale chain like any RVE — see Multiscale models.

References

The isotropic bilayer closed form is [61]; the flat-inclusion limit of the Hill tensor is discussed in [50]; the interface models are those of [34], specialized to a plane.