API — LayeredSphere
MeanFieldHom.LayeredSpheres — Module
MeanFieldHom.LayeredSpheresIsotropic 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.LayeredSphere — Type
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 themoduliNTuple.Is— concrete type of theinterfacesNTuple.
Use the keyword-argument constructor LayeredSphere(radii, moduli; interfaces) for most cases.
Convention
- Radii
(r₁, …, r_N)are ascending,r₀ = 0implicit. - Moduli
(C₁, …, C_N)per layer, layerkbetweenr_{k-1}andr_k. - Interfaces
(I_1, …, I_N)at each radiusr_k; interfaceNis the outer boundary with the matrix.
MeanFieldHom.LayeredSpheres.AbstractInterface — Type
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.PerfectInterface — Type
PerfectInterface{T}()Perfect (continuous) interface: all state-vector components are continuous.
MeanFieldHom.LayeredSpheres.SpringInterface — Type
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.MembraneInterface — Type
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.KapitzaInterface — Type
KapitzaInterface{T}(resistance::T)Thermal imperfect interface with scalar thermal resistance: [T] = resistance · q_n, with q_n continuous. Primal analog of SpringInterface.
MeanFieldHom.LayeredSpheres.SurfaceConductiveInterface — Type
SurfaceConductiveInterface{T}(conductance::T)Highly-conductive 2D surface layer (dual analog of MembraneInterface). Introduces a flux jump driven by the surface Laplacian of the temperature; for the spherical harmonic Y_n on a spherical interface of radius r,
[q_n] = -n(n+1) · conductance · T / r².conductance = 0 recovers PerfectInterface.
MeanFieldHom.LayeredSpheres.layer_count — Function
layer_count(sphere) -> IntNumber of layers (excluding the matrix).
layer_count(spheroid) -> IntNumber of layers (excluding the matrix).
MeanFieldHom.LayeredSpheres.layer_radius — Function
layer_radius(sphere, k) -> TOuter radius of layer k. Layer 1 extends from 0 to layer_radius(1), layer k from layer_radius(k-1) to layer_radius(k).
MeanFieldHom.LayeredSpheres.layer_modulus — Function
layer_modulus(sphere, k)Stiffness (or conductivity) tensor of layer k.
layer_modulus(spheroid, k)Isotropic conductivity of layer k.
MeanFieldHom.LayeredSpheres.layer_interface — Function
layer_interface(sphere, k) -> AbstractInterfaceInterface 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) -> AbstractInterfaceInterface 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_fraction — Function
layer_volume_fraction(sphere, k) -> TVolume fraction of layer k inside the outer sphere of radius layer_radius(N).
layer_volume_fraction(spheroid, k) -> TVolume 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.outer_radius — Function
outer_radius(sphere) -> TOutermost radius of the composite sphere.
MeanFieldHom.LayeredSpheres.layer_strain_average — Function
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_average — Function
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_average — Function
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.