summaryrefslogtreecommitdiff
path: root/schofield.wl
diff options
context:
space:
mode:
Diffstat (limited to 'schofield.wl')
-rw-r--r--schofield.wl24
1 files changed, 12 insertions, 12 deletions
diff --git a/schofield.wl b/schofield.wl
index ecf61ff..358d5a4 100644
--- a/schofield.wl
+++ b/schofield.wl
@@ -41,8 +41,7 @@ h[n_][θ_] := (1 - (θ/θc)^2) Sum[gC[i] θ^(2*i+1), {i, 0, n}]
fLow[B_, θc_][θ_] := (θc Exp[1/(B θc)] ExpIntegralEi[-1/(B θc)] + (θ - θc) Exp[-1/(B (θ - θc))] ExpIntegralEi[1/(B (θ - θc))]) / π
RFLow[B_, θc_][θ_] := fLow[B, θc][θ] + fLow[B, θc][-θ]
-RFHigh[ξ0_][ξ_] := (ξ^2+ξ0^2)^(5/6) - (ξ0^2)^(5/6)
-
+RFHigh[ξ0_][ξ_] := (-I ξ+ ξ0)^(5/6) + (I ξ+ ξ0)^(5/6) - 2 ξ0^(5/6)
RFReg[n_][θ_] := AL fLow[B, θc][-θ] + AH RFHigh[θ0][θ] + Sum[A[i] θ^(2 i), {i, 1, n}]
RF[n_][θ_] := RFReg[n][θ] + AL fLow[B, θc][θ]
dfLow[AL_, B_][m_] := Piecewise[{{AL m! Gamma[m - 1] B^(m - 1) / π, m > 1}, {AL θc Exp[1/(B θc)] ExpIntegralEi[-1/(B θc)] / π, m == 0}, {0, True}}]
@@ -97,7 +96,7 @@ dΦdηList[n_, h_, params_:{}][m_, θp_] := Module[
ruleB[g_] := B -> (2 * os / π) * (- g'[θc] / t[θc]^Δ[2])
ξYL[g_] := g[I θ0]/(-t[I θ0])^Δ[2]/I
-AYL[g_] := AH / ((g[I θ0]/ I)^(2 / Δ[2]) * (-η[g]'[I θ0] / (2 θ0 I))^(5/6))
+AYL[g_] := AH / ((g[I θ0]/ I)^(2 / Δ[2]) * (-η[g]'[I θ0] / (I))^(5/6))
ruleθ0[g_] := ξYL[g] - Around[0.18930, 0.00005]
ruleAL[g_] := AL -> Exp[Δ[2] t[θc]^(Δ[2] - 1) t'[θc] / (2 os / π g'[θc]) - t[θc]^Δ[2] g''[θc] / (4 os / π g'[θc]^2)] t[θc]^(1/8) os / (2 π) * g'[θc]
ruleAH[g_] := AYL[g] + Around[1.37, 0.02]
@@ -137,12 +136,12 @@ eqMid[F_, h_][m_] := D[
]],
*)
Around[0.110886196683, 2.0 10^-12],
- Around[0.01642689465, 1.0 10^-11],
+ Around[0.01642689465, 2.0 10^-11],
Around[-2.639978 10^-4, 1.0 10^-10],
Around[-5.140526 10^-4, 1.0 10^-10],
Around[2.08865 10^-4, 1.0 10^-9],
Around[-4.4819 10^-5, 1.0 10^-9],
- Around[3.194 10^-7, 1.0 10^-9],
+ Around[3.16 10^-7, 1.0 10^-9],
Around[4.31 10^-6, 0.01 10^-6],
Around[-1.99 10^-6, 0.01 10^-6]
}
@@ -153,15 +152,15 @@ Gls = {
−1.000960328725262189480934955172097320572505951770117 Sqrt[2]/((2 )^(-7/8) (2^(3/16)/os)^2)/2/(12 \[Pi]),
Around[ 0.038863932, 3.0 10^(-9)],
Around[−0.068362119, 2.0 10^(-9)],
- Around[ 0.18388371, 1.0 10^(-8)],
- Around[-0.659170, 1.0 10^(-6)],
+ Around[ 0.18388370, 1.0 10^(-8)],
+ Around[-0.6591714, 1.0 10^(-7)],
Around[ 2.937665, 3.0 10^(-6)],
Around[-15.61, 1.0 10^(-2)],
Around[ 96.76, 1.0 10^(-2)],
Around[-6.79 10^2, 1.0],
- Around[5.34 10^3, 10.],
+ Around[ 5.34 10^3, 10.],
Around[-4.66 10^4, 0.01 10^4],
- Around[4.46 10^5, 0.01 10^5],
+ Around[ 4.46 10^5, 0.01 10^5],
Around[-4.66 10^6, 0.01 10^6]
}
@@ -172,7 +171,7 @@ Ghs = {
0,
Around[ 8.333711750, 5.0 10^(-9)],
0,
- Around[-95.16897, 3.0 10^(-5)],
+ Around[-95.16896, 1.0 10^(-5)],
0,
Around[1457.62, 3.0 10^(-2)],
0,
@@ -189,7 +188,7 @@ dRule[sym_][f_, i_] := Derivative[i[[1]] - 1][sym][0] -> f (i[[1]] - 1)!
GlRules = MapIndexed[dRule[Gl], Gls];
GhRules = MapIndexed[dRule[Gh], Ghs];
-rules[g_] := Join[ΦRules, GlRules, GhRules, {ruleAL[g], ruleB[g], gC[0] -> 1}]
+rules[g_] := Join[ΦRules, GlRules, GhRules, {ruleAL[g], ruleB[g]}]
eqAround[n_, g_][m_, p_, q_] := Flatten[Join[{ruleAH[g], ruleθ0[g]}, eqLow[n, g][#] & /@ Range[0, m],eqMid[RF[n], g][#] & /@ Range[0, p], eqHigh[n, g] /@ Range[2, q, 2]]] //. rules[g]
@@ -206,6 +205,7 @@ resMid[n_, g_, δ_][m_] := formResiduals[Φs[[;;m+1]], dΦdηList[n, g][m, 1], Î
res[F_, g_, δ_][m_] := Join[resLow[F, g, δ][m], resHigh[F, g, δ][m]] //. rules[g]
chiSquared[F_, g_, δ_][m_] := Total[res[F, g, δ][m]^2]
resAll[F_, g_, δ_][m_] := Join[resLow[F, g, δ][m], resHigh[F, g, δ][m], (*resMid[F, g, δ][m],*) {ruleθ0[g] / 0.00005, ruleAH[g] / 0.02} /. Around[x_, _] :> x] //. rules[g]
+resHighAll[F_, g_, δ_][m_] := Join[resLow[F, g, δ][m][[{1}]], resHigh[F, g, δ][m], (*resMid[F, g, δ][m],*) {ruleθ0[g] / 0.00005, ruleAH[g] / 0.02} /. Around[x_, _] :> x] //. rules[g]
newSol[eqs_, oldSol_, newVars_, δ_:0, γ_:0, opts___] := FindRoot[
eqs,
@@ -296,7 +296,7 @@ levenbergMarquardtHelper[Δ_, rf_, Jf_, β0_, λ0_ : 1, ν_ : 1.5, ε_ : 10^-15]
{newC, β}
]
-annealFit[r_, β0_, γ_ : 0, λ0_ : 1, ν_ : 2, μ_ : 3, ε_: 10^-14, h_ : 0.1, α_ : 0.1] :=
+annealFit[r_, β0_, γ_ : 0, λ0_ : 1, ν_ : 2, μ_ : 3, ε_: 10^-15, h_ : 0.1, α_ : 0.1] :=
Module[ {
rf, Jf,
n = Length[β0],