Skip to content

feat(cfd): add FlowSolution::integral_to_taylor_ratio (completes scale trio)#466

Merged
nochallenge merged 1 commit into
masterfrom
feat/cfd-integral-taylor-ratio
Jun 9, 2026
Merged

feat(cfd): add FlowSolution::integral_to_taylor_ratio (completes scale trio)#466
nochallenge merged 1 commit into
masterfrom
feat/cfd-integral-taylor-ratio

Conversation

@nochallenge

Copy link
Copy Markdown
Owner

Summary

Completes the turbulence length-scale-ratio trio in valenx-cfd-native with the integral-to-Taylor ratio L/λ (dimensionless) — the ratio of the energy-containing integral length scale L (integral_length_scale, #445) to the intermediate Taylor microscale λ (taylor_microscale, #441).

It joins λ/η (taylor_to_kolmogorov_ratio, #455) and L/η (integral_to_kolmogorov_ratio, #457). It grows linearly with Reynolds number (∝ 1/ν for a fixed flow) and in isotropic turbulence is exactly L/λ = Re_λ/15. Guards λ ≤ 0.

Test (analytic, 4 checks)

On a pure shear u(y)=γy (ε=νγ²) and a solid-body rotation (ε=0):

  • (a) Delegation thread: L/λ = L ÷ λ.
  • (b) Non-tautological identity (threads taylor_reynolds_number, feat(cad): surface-equivalent sphere diameter #443): L/λ = Re_λ/15.
  • (c) 1/ν scaling: the shear velocity field is fixed, so halving ν doubles the ratio.
  • (d) No dissipation → 0: a solid-body rotation strains nothing.

Verification

  • cargo test -p valenx-cfd-native --lib142 passed (was 141).
  • cargo clippy -p valenx-cfd-native --all-targets -- -D warnings → clean.
  • Pure FlowSolution method, no public-API/lib.rs change. No UI change.

Research-grade closed-form diagnostic, not a production turbulence model.

…e trio)

Completes the turbulence length-scale-ratio trio with the integral-to-Taylor
ratio L/λ (dimensionless) — the ratio of the energy-containing integral length
scale L (integral_length_scale, #445) to the intermediate Taylor microscale λ
(taylor_microscale, #441). It joins λ/η (taylor_to_kolmogorov_ratio, #455) and
L/η (integral_to_kolmogorov_ratio, #457). It grows linearly with Reynolds number
(∝ 1/ν for a fixed flow) and in isotropic turbulence is exactly L/λ = Re_λ/15.
Guards λ ≤ 0 (no dissipation).

Analytic test (4 checks) on a pure shear u(y)=γy (ε=νγ²) and a solid-body
rotation (ε=0): (a) delegation thread L/λ = L ÷ λ; (b) non-tautological identity
L/λ = Re_λ/15 threading taylor_reynolds_number (#443); (c) 1/ν scaling — fixed
field, halving ν doubles the ratio; (d) no-dissipation → 0. valenx-cfd-native
142 lib tests (was 141), clippy clean. No UI change.

Research-grade closed-form diagnostic, not a production turbulence model.
@nochallenge nochallenge merged commit a239ffc into master Jun 9, 2026
@nochallenge nochallenge deleted the feat/cfd-integral-taylor-ratio branch June 9, 2026 03:32
nochallenge added a commit that referenced this pull request Jun 9, 2026
…ent (3PL/32) (#480)

OPENS the two-span continuous-beam POINT-LOAD case. Adds the middle-support moment
of a two-span continuous beam (three simple supports A-B-C, two equal spans L) when
a single point load P acts at the mid-span of ONE span (the other unloaded):
M_B = 3PL/32 (hogging).

Derivation (three-moment / Clapeyron theorem): the loaded span's free-BM triangle
(area PL²/8, centroid L/2 from the end support) gives 2·M_B·(2L) = -6·(PL²/8)(L/2)/L
→ M_B = -3PL/32. NOTE 3PL/32 = ½·(3PL/16) = ½· the propped-cantilever clamping
moment (#466): the unloaded equal-stiffness adjacent span provides finite (not
rigid) rotational restraint at B, exactly halving the fully-fixed value. Free fn ->
alphabetical lib.rs re-export.

Analytic test (4 checks): (a) exact value M_B = 3PL/32 = 6 for P=32, L=2;
(b) NON-TAUTOLOGICAL dual thread over three signed (P, L) cases — (i) M_B = ½· the
propped-cantilever clamping moment (#466), (ii) an INDEPENDENT three-moment-theorem
recompute from the free-BM triangle area/centroid; (c) linear in P and L; (d) guards
(L <= 0 or P non-finite -> 0). valenx-fem 284 lib tests (was 283), clippy clean.
No UI change.

Research-grade closed-form continuous-beam result, not a production solver.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant