diff --git a/src/yyy_data/core.clj b/src/yyy_data/core.clj index c7e53c9..3ca6219 100644 --- a/src/yyy_data/core.clj +++ b/src/yyy_data/core.clj @@ -404,21 +404,22 @@ n² (expt n 2) n³ (expt n 3) [M φ] (loop [φ φ0 M 0] + ;; the error is in this loop somewhere.. (let ;; φ = (N-N0-M)/(a*F0) + φ; [φ₁ (+' φ (/ (-' N N0 M) (*' a F0))) ;; (φ-φ0) - Δφ (-' φ φ0) + Δφ (-' φ₁ φ0) ;; var Ma = (1 + n + (5/4)*n2 + (5/4)*n3) * (φ-φ0); Ma (*' (+' 1 n (*' 5/4 n²) (*' 5/4 n³)) Δφ) ;; var Mb = (3*n + 3*n*n + (21/8)*n3) * Math.sin(φ-φ0) * Math.cos(φ+φ0); - Mb (*' (+' (*' n 3) (*' n² 3) (*' 21/8 n³)) (sin Δφ) (cos (+' φ φ0))) + Mb (*' (+' (*' n 3) (*' n² 3) (*' 21/8 n³)) (sin Δφ) (cos (+' φ₁ φ0))) ;; var Mc = ((15/8)*n2 + (15/8)*n3) * Math.sin(2*(φ-φ0)) * Math.cos(2*(φ+φ0)); - Mc (*' (+' (*' n² 15/8) (*' n³ 15/8)) (sin (*' 2 Δφ)) (cos (*' 2 (+' φ φ0)))) + Mc (*' (+' (*' n² 15/8) (*' n³ 15/8)) (sin (*' 2 Δφ)) (cos (*' 2 (+' φ₁ φ0)))) ;; var Md = (35/24)*n3 * Math.sin(3*(φ-φ0)) * Math.cos(3*(φ+φ0)); - Md (*' 35/24 n³ (sin (*' 3 Δφ)) (cos (*' 3 (+' φ φ0)))) - M₁ (*' b F0 (+' (-' 0 Ma) Mb Mc (-' 0 Md)))] - (println (str "loop: φ: " φ "; M: " M "; termination: " (-' N N0 M₁))) + Md (*' 35/24 n³ (sin (*' 3 Δφ)) (cos (*' 3 (+' φ₁ φ0)))) + ;; M = b * F0 * (Ma - Mb + Mc - Md); + M₁ (*' b F0 (+' (-' Ma Mb) (-' Mc Md)))] (if (>= (-' N N0 M₁) 0.00001) (recur φ₁ M₁)