API — Cracks

compliance_contribution, delta_compliance and delta_resistivity are Core-level generics shared with every other inclusion family; they are documented under API — Localization & contribution.

MeanFieldHom.Cracks.EllipticCrackType
EllipticCrack{T, S<:CrackShape, B<:AbstractBasis}

Flat elliptical crack with semi-axes a ≥ b oriented by a local basis ℬ = (l̂, m̂, n̂).

MeanFieldHom.Cracks.RibbonCrackType
RibbonCrack{T, B<:AbstractBasis}

Ribbon-like (tunnel) crack of half-width b along , unbounded along , with normal .

MeanFieldHom.Cracks.cod_tensorFunction
cod_tensor(crack, C₀; method=:auto, abstol=1e-8, reltol=1e-6, maxiters=100_000)
    -> Tens{2,3}

Size-independent crack-opening-displacement (COD) tensor $\mathbf B$ defined from the average displacement jump on the crack surface through

(1/S) ∫_S [u] dS = b · B · (Σ · n̂),

where $b$ is the semi-minor in-plane semi-axis ($b\ge c\to 0$). $\mathbf B$ factors the crack compliance tensor as

  • Elliptic: $\mathbb H = \tfrac{3}{4}\,\hat{\mathbf n} \stackrel{s}{\otimes}\mathbf B\stackrel{s}{\otimes}\hat{\mathbf n}$;
  • Ribbon: $\mathbb H = \tfrac{2}{\pi}\,\hat{\mathbf n} \stackrel{s}{\otimes}\mathbf B\stackrel{s}{\otimes}\hat{\mathbf n}$;

with $\mathbb H = \lim_{c/b\to 0}(c/b)\,\mathbb Q^{-1}$ and $\mathbb Q = \mathbb C - \mathbb C:\mathbb P:\mathbb C$ the second Hill tensor (Kachanov 1992, Sevostianov & Kachanov 2002, Barthélémy et al. 2021). The elliptic and ribbon factorizations are related by $\mathbf B^{\mathcal R} = \tfrac{3\pi}{8}\,\lim_{\eta\to 0}\mathbf B^{\mathcal E}$.

For isotropic or aligned-TI matrices the kernel is analytical (Hoenig 1978, Kanaun & Levin 2009); for arbitrarily anisotropic matrices the limit $c/b\to 0$ is resolved numerically through the first-order Taylor term of the Hill tensor (Barthélémy 2009).

Alias: B_tensor.

cod_tensor(crack, K₀::AbstractTens{2,3}; method=:auto, kw...) -> Real

Size-independent thermal crack-opening-displacement scalar $b$ for a flat crack in a conductor of 2nd-order conductivity tensor $\mathbf K_0$. Analog of the elasticity COD tensor: in the 2nd- order problem, the temperature jump across the crack is scalar and only the normal component of the heat flux drives it, so a single scalar captures the full crack flexibility. The associated size-independent resistivity contribution $\mathbf R =$ compliance_contribution(crack, K₀) is

R = (3/4) b · ŵ ⊗ ŵ   (elliptic)
R = (2/π) b · ŵ ⊗ ŵ   (ribbon)

with $\hat{\mathbf w}\parallel\mathbf K_0^{-1/2}\hat{\mathbf n}$ (reduces to $\hat{\mathbf n}$ for iso / aligned-TI matrices). Apply delta_resistivity to recover the dilute resistivity correction $\Delta\mathbf R = (4\pi/3)\varepsilon^{3\mathrm d}\mathbf R$ (elliptic) or $\Delta\mathbf R = \pi\,\varepsilon^{2\mathrm d}\mathbf R$ (ribbon).

Closed-form derivation via the square-root change-of-variable of Giraud et al. 2019, in the framework of Sevostianov & Kachanov 2002 for the rank-1 factorization $\mathbf R \propto \hat{\mathbf w}\otimes\hat{\mathbf w}$. See the theory page docs/src/theory/thermal_cracks.md for the mathematical details and the elasticity ↔ conductivity correspondence table.

MeanFieldHom.Cracks.B_tensorFunction
cod_tensor(crack, C₀; method=:auto, abstol=1e-8, reltol=1e-6, maxiters=100_000)
    -> Tens{2,3}

Size-independent crack-opening-displacement (COD) tensor $\mathbf B$ defined from the average displacement jump on the crack surface through

(1/S) ∫_S [u] dS = b · B · (Σ · n̂),

where $b$ is the semi-minor in-plane semi-axis ($b\ge c\to 0$). $\mathbf B$ factors the crack compliance tensor as

  • Elliptic: $\mathbb H = \tfrac{3}{4}\,\hat{\mathbf n} \stackrel{s}{\otimes}\mathbf B\stackrel{s}{\otimes}\hat{\mathbf n}$;
  • Ribbon: $\mathbb H = \tfrac{2}{\pi}\,\hat{\mathbf n} \stackrel{s}{\otimes}\mathbf B\stackrel{s}{\otimes}\hat{\mathbf n}$;

with $\mathbb H = \lim_{c/b\to 0}(c/b)\,\mathbb Q^{-1}$ and $\mathbb Q = \mathbb C - \mathbb C:\mathbb P:\mathbb C$ the second Hill tensor (Kachanov 1992, Sevostianov & Kachanov 2002, Barthélémy et al. 2021). The elliptic and ribbon factorizations are related by $\mathbf B^{\mathcal R} = \tfrac{3\pi}{8}\,\lim_{\eta\to 0}\mathbf B^{\mathcal E}$.

For isotropic or aligned-TI matrices the kernel is analytical (Hoenig 1978, Kanaun & Levin 2009); for arbitrarily anisotropic matrices the limit $c/b\to 0$ is resolved numerically through the first-order Taylor term of the Hill tensor (Barthélémy 2009).

Alias: B_tensor.

cod_tensor(crack, K₀::AbstractTens{2,3}; method=:auto, kw...) -> Real

Size-independent thermal crack-opening-displacement scalar $b$ for a flat crack in a conductor of 2nd-order conductivity tensor $\mathbf K_0$. Analog of the elasticity COD tensor: in the 2nd- order problem, the temperature jump across the crack is scalar and only the normal component of the heat flux drives it, so a single scalar captures the full crack flexibility. The associated size-independent resistivity contribution $\mathbf R =$ compliance_contribution(crack, K₀) is

R = (3/4) b · ŵ ⊗ ŵ   (elliptic)
R = (2/π) b · ŵ ⊗ ŵ   (ribbon)

with $\hat{\mathbf w}\parallel\mathbf K_0^{-1/2}\hat{\mathbf n}$ (reduces to $\hat{\mathbf n}$ for iso / aligned-TI matrices). Apply delta_resistivity to recover the dilute resistivity correction $\Delta\mathbf R = (4\pi/3)\varepsilon^{3\mathrm d}\mathbf R$ (elliptic) or $\Delta\mathbf R = \pi\,\varepsilon^{2\mathrm d}\mathbf R$ (ribbon).

Closed-form derivation via the square-root change-of-variable of Giraud et al. 2019, in the framework of Sevostianov & Kachanov 2002 for the rank-1 factorization $\mathbf R \propto \hat{\mathbf w}\otimes\hat{\mathbf w}$. See the theory page docs/src/theory/thermal_cracks.md for the mathematical details and the elasticity ↔ conductivity correspondence table.

MeanFieldHom.Cracks.crack_density_factorFunction
crack_density_factor(crack) -> Real

Geometric prefactor relating a density-like amount to the dilute effective correction, i.e. the single number shared by the four three-argument seams delta_compliance, delta_stiffness, delta_conductivity and delta_resistivity:

Δ = crack_density_factor(crack) · ε · X
  • 4π/3 for an elliptical (or penny-shaped) crack, whose Budiansky density is $\varepsilon^{3\mathrm d} = N a b^{2}$;
  • π for a ribbon crack, whose density is $\varepsilon^{2\mathrm d} = N b^{2}$.

Dispatched on shape_trait, so a user-defined crack inherits the right prefactor for free. A flat morphology with a different density convention overrides this single method rather than the four delta_* ones.

See Budiansky & O'Connell 1976.

MeanFieldHom.Cracks.sifFunction
sif(crack, C₀, Σ; y₀=nothing, method=:auto, kw...) -> (𝐊, (Kᴵ, Kᴵᴵ, Kᴵᴵᴵ))

Stress intensity factor vector $\hat{\mathbf K}$ at a point of the crack front, together with its $(K_{I},K_{II},K_{III})$ decomposition on $(\hat{\mathbf n},\hat{\boldsymbol\nu},\hat{\boldsymbol\tau})$ (Irwin 1957, Kassir & Sih 1968, Willis 1968; energy release rate identity $G = \hat{\mathbf K}\cdot\hat{\mathbf N}$ in Barnett & Asaro 1972, Rice 1989).

For a ribbon crack ($\hat{\boldsymbol\nu}=\pm\hat{\mathbf m}$) $\hat{\mathbf K}^{\mathcal R} = \sqrt{\pi b}\,\boldsymbol\Sigma\cdot\hat{\mathbf n}$ (independent of the matrix stiffness). For an elliptic crack, $\hat{\mathbf K}$ is obtained from the COD tensor $\mathbf B^{\mathcal E}$ of the actual crack and the COD tensor $\mathbf B^{\mathcal R}$ of the tangent ribbon crack at the observation point:

K̂ = (3/8) π^{3/2} √b √(b ‖S† · ŷ₀★‖)
    · (B^𝓡(ν̂, n̂))⁻¹ · B^𝓔(m̂, n̂, η) · Σ·n̂ .

The central identity $\hat{\mathbf K} = \pi\,(\mathbf B^{\mathcal R})^{-1}\cdot\hat{\mathbf N}$ is purely local (Kanaun 1981, Kunin 1983, Kanaun & Levin 2009).

MeanFieldHom.Cracks.difFunction
dif(crack, C₀, Σ; method=:auto, kw...) -> Tens{1,3}
dif(crack, K₀::AbstractTens{2,3}, q∞; method=:auto, kw...) -> Real

Temperature intensity factor (analog of displacement intensity factor) for a flat crack driven by a remote heat-flux vector $\mathbf q^{\infty}$:

[[T]]_avg = b · (\hat{\mathbf n}·\mathbf q^{\infty}) .

Returns a scalar (vs the Tens{1,3} returned by the elasticity dif) since the temperature field is scalar.

MeanFieldHom.Cracks.compliance_from_codFunction
compliance_from_cod(B, crack, ℬ=get_basis(B)) -> Tens{4,3}

Inverse of cod_from_compliance. Reconstruct $\mathbb H$ from $\mathbf B$ with the crack-shape-dependent factor $k$.

compliance_from_cod(B, ℬ=get_basis(B)) -> Tens{4,3}

Elliptic / 3D default: identical to compliance_from_cod(B, EllipticCrack-like, ℬ). Kept for back-compatibility.

MeanFieldHom.Cracks.cod_from_complianceFunction
cod_from_compliance(H, crack, ℬ=get_basis(H)) -> Tens{2,3}

Extract the size-independent COD tensor $\mathbf B$ from the crack compliance contribution tensor $\mathbb H$ using

H = k (n̂ ⊗ˢ B ⊗ˢ n̂),   k = 3/4  (elliptic)  or  k = 2/π  (ribbon).

Dispatches on the crack type (Kachanov 1992, Barthélémy et al. 2021).

Note

The pair compliance_from_cod / cod_from_compliance only preserves the $B_{nn}$ component exactly; off-diagonal components involve Kelvin–Mandel pre-factors that are not inverted by the pair.

cod_from_compliance(H, ℬ=get_basis(H)) -> Tens{2,3}

Elliptic / 3D default: identical to cod_from_compliance(H, EllipticCrack-like, ℬ) with the Kachanov factor $k = 3/4$. Kept for back-compatibility with code that does not carry the crack object. For a ribbon, pass the RibbonCrack explicitly.