summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaron Kent-Dobias <jaron@kent-dobias.com>2023-12-11 18:07:04 +0100
committerJaron Kent-Dobias <jaron@kent-dobias.com>2023-12-11 18:07:04 +0100
commit35f389dd892cffa997fbc67f9d1bc0aa2fb1564b (patch)
treeed924862120941ad24926b4721aec5da87d72dd5
parentf56753ad2fb2cae337df3247a0b381b31991c52d (diff)
downloadpaper-35f389dd892cffa997fbc67f9d1bc0aa2fb1564b.tar.gz
paper-35f389dd892cffa997fbc67f9d1bc0aa2fb1564b.tar.bz2
paper-35f389dd892cffa997fbc67f9d1bc0aa2fb1564b.zip
Some changes.
-rw-r--r--IsingScalingFunction.wl59
1 files changed, 46 insertions, 13 deletions
diff --git a/IsingScalingFunction.wl b/IsingScalingFunction.wl
index 81d5e47..92ed3e6 100644
--- a/IsingScalingFunction.wl
+++ b/IsingScalingFunction.wl
@@ -30,6 +30,8 @@ DScriptF0Dη::usage =
DScriptMCasDξList::usage = "Computes the first m derivatives of the scaling function M given by Caselle et al."
+DScriptMCasDηList::usage = "Computes the first m derivatives of the scaling function M given by Caselle et al."
+
uf::usage = "uf computes the singular free energy u_f."
DufDut::usage =
@@ -46,6 +48,8 @@ Data::usage = "Data[n] gives data from the fit to nth order from Table II."
PrepareArgument::usage = "Converts scaling function data into appropriate argument to function interfaces."
+DataCas::usage = "Data[n] gives data from the fit to nth order from Table II."
+
θ0Cas::usage = "θ0 from Caselle et al."
gsCas::usage = "g function coefficients from Caselle et al."
@@ -261,31 +265,60 @@ ruleB[θ0_, gs_] := (2 * OverlineS / π) * (- g[θ0, gs]'[θ0] / t[θ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]
-θ0Cas := Sqrt[1.16951];
+DataCas[2] = <|
+ "θ0" -> Sqrt[1.15278],
+ "gs" -> {1, -0.208408},
+ "ρ" -> 2.01116
+|>
+
+DataCas[3] = <|
+ "θ0" -> Sqrt[1.15940],
+ "gs" -> {1, -0.215675, -0.039403},
+ "ρ" -> 2.00770
+|>
+
+DataCas[4] = <|
+ "θ0" -> Sqrt[1.16441],
+ "gs" -> {1, -0.219388, -0.041791, -0.013488},
+ "ρ" -> 2.00770
+|>
+
+DataCas[5] = <|
+ "θ0" -> Sqrt[1.16951],
+ "gs" -> {1, -0.222389, -0.043547, -0.014809, -0.007168},
+ "ρ" -> 2.00881
+|>
-h0Cas := a b ρ /. {
+h0Cas[data_] := a b ρ /. {
a -> c2^2/c4,
b -> (-c4/c2^3)^(1/2),
- ρ -> 2.00881
+ ρ -> data["ρ"]
} /. {
c2->Ghs[[3]] 2!,
c4->Ghs[[5]]["Value"] 4!
}
-gsCas := h0Cas * {
- 1,
- -0.222389,
- -0.043547,
- -0.014809,
- -0.007168
- }
+gsCas[data_] := h0Cas[data] * data["gs"]
-m0Cas := -Ghs[[3]]2! h0Cas
+m0Cas[data_] := -Ghs[[3]]2! * h0Cas[data]
-DScriptMCasDξList[m_, θ_] := CompositeFunctionDerivativeList[
- Identity, Function[θp, m0Cas * θp / RealAbs[θp^2 - 1]^β], ξ[θ0Cas, gsCas]
+DScriptMCasDξList[data_][m_, θ_] := CompositeFunctionDerivativeList[
+ Identity, Function[θp, m0Cas[data] * θp / RealAbs[θp^2 - 1]^β], ξ[data["θ0"], gsCas[data]]
][m, θ]
+DScriptMCasDηList[data_][m_] := With[{
+ FpmList = Table[(i - 1) / i, {i, 1, m + 1}] DScriptMCasDξList[data][m, θ]
+ },
+ Limit[
+ Table[D[η^2 * Fpm[η] - Log[η^2] / (8 π), {η, k}], {k, 0, m}] /.
+ {
+ η -> η[data["θ0"], gsCas[data]][θ],
+ Fpm[x_] :> Φs[[1]],
+ Derivative[i_][Fpm][x_] :> FpmList[[i]]
+ },
+ θ -> 1]
+ ]
+
End[]
EndPackage[]