API — LayeredSphere

MeanFieldHom.LayeredSpheresModule
MeanFieldHom.LayeredSpheres

Isotropic n-layer spherical composite inclusion (core + concentric shells) embedded in an infinite matrix, with perfect or imperfect interfaces (spring / surface-elastic / Kapitza / surface-conductive). Public entry points: LayeredSphere, the bulk / shear localization and layer-average utilities.

MeanFieldHom.LayeredSpheres.LayeredSphereType
LayeredSphere{T, N, Cs, Is} <: AbstractLayeredInclusion{3, T}

Isotropic N-layer spherical composite inclusion (core + concentric shells) embedded in an infinite matrix. Type parameters:

  • T — element type of the radii (Float64, BigFloat, ForwardDiff.Dual, SymPy.Sym, Symbolics.Num, …).
  • N — number of layers (≥ 1).
  • Cs — concrete type of the moduli NTuple.
  • Is — concrete type of the interfaces NTuple.

Use the keyword-argument constructor LayeredSphere(radii, moduli; interfaces) for most cases.

Convention

  • Radii (r₁, …, r_N) are ascending, r₀ = 0 implicit.
  • Moduli (C₁, …, C_N) per layer, layer k between r_{k-1} and r_k.
  • Interfaces (I_1, …, I_N) at each radius r_k; interface N is the outer boundary with the matrix.
MeanFieldHom.LayeredSpheres.AbstractInterfaceType
AbstractInterface{T}

Root supertype for interface conditions in a LayeredSphere. Concrete subtypes determine the jump matrix applied to the state vector (u_r, σ_rr) (bulk), (U, V, σ_rr, σ_rθ) (shear), or (T, q_n) (conductivity).

MeanFieldHom.LayeredSpheres.SpringInterfaceType
SpringInterface{T}(kn::T, kt::T)

Imperfect interface of "spring" type with two compliances — normal kn and tangential kt:

[u_n] = kn · t_n,        [u_t] = kt · t_t,       t_n, t_t continuous.

The kn = kt = 0 limit recovers PerfectInterface; the kn, kt → ∞ limit is a free-surface (fully decoupled layer boundary).

MeanFieldHom.LayeredSpheres.MembraneInterfaceType
MembraneInterface{T}(κs::T, μs::T)

Imperfect interface of surface-elastic (Gurtin–Murdoch "membrane") type — the dual analog of SpringInterface and the elastic counterpart of Echoes' DUALDISC. The interface behaves as a 2D elastic shell with surface moduli κs = λs + μs (surface dilatation, matching Echoes' ks) and surface shear μs. Displacement is continuous across the interface and the surface strain generates a traction jump ([σ·n] = −divₛσˢ). On a spherical interface of radius r, the bulk (Y₀) mode jump is

[σ_rr] = (4 κs / r²) · u_r,

and the shear (Y₂-harmonic) mode jump, with u_r = U P₂, u_θ = W dP₂/dθ, is

[σ_rr] = ( 4κs U − 12κs W) / r²,
[σ_rθ] = (−2κs U + (6κs + 4μs) W) / r².

The κs = μs = 0 limit recovers PerfectInterface. These jumps reproduce Echoes' DUALDISC concentration tensors and effective moduli to machine precision.

MeanFieldHom.LayeredSpheres.layer_interfaceFunction
layer_interface(sphere, k) -> AbstractInterface

Interface condition at layer_radius(k) (between layer k and layer k+1 if k < N, or with the matrix if k = N).

layer_interface(spheroid, k) -> AbstractInterface

Interface condition at layer_q(spheroid, k) (between layer k and layer k+1 if k < N, or with the matrix if k = N).

MeanFieldHom.LayeredSpheres.layer_volume_fractionFunction
layer_volume_fraction(sphere, k) -> T

Volume fraction of layer k inside the outer sphere of radius layer_radius(N).

layer_volume_fraction(spheroid, k) -> T

Volume fraction of layer k inside the outer spheroid q_N, based on the confocal volume shape function φ(q) = |q(q²-1)| (V(q) = (4π/3)·focal³·φ(q), eq:xLeg).

MeanFieldHom.LayeredSpheres.layer_strain_averageFunction
layer_strain_average(sphere, C₀, ε∞, layer) -> Tens{2,3}

Volume-averaged strain tensor <ε>_layer inside the layer-th layer of a LayeredSphere embedded in an isotropic matrix C₀, under a remote strain ε∞. Returns a symmetric 2-tensor in the canonical frame. Combines the bulk localization α_k (hydrostatic part) and the shear localization β_k (deviatoric part).

MeanFieldHom.LayeredSpheres.sphere_strain_averageFunction
sphere_strain_average(sphere, C₀, ε∞) -> Tens{2,3}

Volume-averaged strain over the whole composite sphere (all layers combined): <ε>_Ω = Σ_k f_k <ε>_k where f_k is the volume fraction of layer k inside the composite sphere.

MeanFieldHom.LayeredSpheres.cumulative_strain_averageFunction
cumulative_strain_average(sphere, C₀, ε∞, r) -> Tens{2,3}

Volume-averaged strain over the ball of radius r ∈ (0, r_N] centerd on the composite sphere center. The ball may cross several layers; the result is the volume-weighted average of the per-layer averages truncated by the final partial layer.