summaryrefslogtreecommitdiff
path: root/IsingScalingFunction.wl
diff options
context:
space:
mode:
Diffstat (limited to 'IsingScalingFunction.wl')
-rw-r--r--IsingScalingFunction.wl74
1 files changed, 70 insertions, 4 deletions
diff --git a/IsingScalingFunction.wl b/IsingScalingFunction.wl
index edc46c2..0d5b38c 100644
--- a/IsingScalingFunction.wl
+++ b/IsingScalingFunction.wl
@@ -33,7 +33,11 @@ DufDuh::usage =
"DufDuh computes derivatives of the singular free energy u_f with respect to the temperature-like scaling field u_h."
ruleB::usage = ""
-ruleAL::usage = ""
+ruleC0::usage = ""
+
+Data::usage = ""
+
+PrepareArgument::usage = ""
Begin["Private`"]
@@ -95,6 +99,62 @@ Ghs := {
Around[-1.04 10^7, 0.01 10^7]
}
+Data[2] = <|
+ "θ0" -> 1.148407773492004`,
+ "θYL" -> 0.9896669889911205`,
+ "CYL" -> -0.172823989504767`,
+ "Gs" -> {-0.31018352388662596`, 0.2474537923130002`},
+ "gs" -> {0.37369093055254343`, -0.021636313152585823`}
+|>
+
+Data[3] = <|
+ "θ0" -> 1.2542120477507488`,
+ "θYL" -> 0.6020557328641167`,
+ "CYL" -> -0.38566364361428684`,
+ "Gs" -> {-0.3527514794812415`, 0.2582430860166863`},
+ "gs" -> {0.4483788209731592`, -0.022032295172535358`, 0.00022200608228654115`}
+|>
+
+Data[4] = <|
+ "θ0" -> 1.3164928721109121`,
+ "θYL" -> 0.6400189996493497`,
+ "CYL" -> -0.3563974694580203`,
+ "Gs" -> {-0.3550547624920263`, 0.23465947408509413`, -0.0019083731028066697`},
+ "gs" -> {0.4410742751152714`, -0.034817777358116885`, 0.000678172648789985`, -0.00004305140578834467`}
+|>
+
+Data[5] = <|
+ "θ0" -> 1.3403205742656135`,
+ "θYL" -> 0.6238113973493433`,
+ "CYL" -> -0.38002950945224295`,
+ "Gs" -> {-0.35127522582179693`, 0.23704589676915347`, -0.007319731639727028`},
+ "gs" -> {0.44371885415894785`, -0.04609943321005163`, -0.0007458341071947777`, 0.00005966875622885447`, -4.403083529955303`*^-6}
+|>
+
+Data[6] = <|
+ "θ0" -> 1.3626103817690176`,
+ "θYL" -> 0.6462147447024515`,
+ "CYL" -> -0.35576386594103865`,
+ "Gs" -> {-0.3520586281920383`, 0.23316561297622435`, -0.006649030656179257`, -0.0016899077640685814`},
+ "gs" -> {0.43845335615925396`, -0.05312704168994819`, -0.003914782631377569`, -0.0004080160912692574`, 0.000026262906640471588`, -1.0974538440746828`*^-6}
+|>
+
+PrepareArgument[data_] := With[
+ {
+ θ0 = data["θ0"],
+ gs = data["gs"]
+ },
+ {
+ θ0,
+ data["θYL"],
+ ruleB[θ0, gs],
+ ruleC0[θ0, gs],
+ data["CYL"],
+ data["Gs"],
+ gs
+ }
+]
+
t[θ_] := θ^2 - 1
g[θ0_, gs_][θ_] := (1 - (θ/θ0)^2) Total[MapIndexed[Function[{gi, i}, gi θ^(2*i[[1]]-1)], gs]]
@@ -168,13 +228,19 @@ DScriptFPlusMinusDξ[params__][m_, θ_] := Last[DScriptFPlusMinusDξList[params]
DScriptF0Dη[params__][m_, θ_] := Last[DScriptF0DηList[params][m, θ]]
-DufDut[θ0_, θYL_, B_, C0_, CYL_, Gs_, gs_][m_][R_, θ_] := RealAbs[uh[θ0, gs][R, θ]]^(2 / Δ - m / Δ) DScriptF0Dη[θ0, θYL, B, C0, CYL, Gs, gs][m, θ] + Log[uh[θ0, gs][R, θ]^2] / (8 π Δ) Derivative[m][Function[utp, utp^2]][ut[R, θ]]
+DufDut[θ0_, θYL_, B_, C0_, CYL_, Gs_, gs_][m_][R_, θ_] := m! RealAbs[uh[θ0, gs][R, θ]]^(2 / Δ - m / Δ) DScriptF0Dη[θ0, θYL, B, C0, CYL, Gs, gs][m, θ] + Log[uh[θ0, gs][R, θ]^2] / (8 π Δ) Derivative[m][Function[utp, utp^2]][ut[R, θ]]
-DufDuh[θ0_, θYL_, B_, C0_, CYL_, Gs_, gs_][m_][R_, θ_] := RealAbs[ut[R, θ]]^(2-m Δ) DScriptFPlusMinusDξ[θ0, θYL, B, C0, CYL, Gs, gs][m, θ] + ut[R, θ]^2 / (8 π) Log[ut[R, θ]^2]
+DufDuh[θ0_, θYL_, B_, C0_, CYL_, Gs_, gs_][m_][R_, θ_] := m! RealAbs[ut[R, θ]]^(2-m Δ) DScriptFPlusMinusDξ[θ0, θYL, B, C0, CYL, Gs, gs][m, θ] + ut[R, θ]^2 / (8 π) Log[ut[R, θ]^2]
ruleB[θ0_, gs_] := (2 * OverlineS / π) * (- g[θ0, gs]'[θ0] / t[θ0]^Δ)
-ruleAL[θ0_, gs_] := Exp[Δ t[θ0]^(Δ - 1) t'[θ0] / (2 OverlineS / π g[θ0, gs]'[θ0]) - t[θ0]^Δ g[θ0, gs]''[θ0] / (4 OverlineS / π g[θ0, gs]'[θ0]^2)] t[θ0]^(1/8) OverlineS / (2 π) * g[θ0, gs]'[θ0]
+ruleC0[θ0_, gs_] := Exp[Δ t[θ0]^(Δ - 1) t'[θ0] / (2 OverlineS / π g[θ0, gs]'[θ0]) - t[θ0]^Δ g[θ0, gs]''[θ0] / (4 OverlineS / π g[θ0, gs]'[θ0]^2)] t[θ0]^(1/8) OverlineS / (2 π) * g[θ0, gs]'[θ0]
+
+Unprotect[Derivative]
+
+
+
+Protect[Derivative]
End[]