From 35f389dd892cffa997fbc67f9d1bc0aa2fb1564b Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Mon, 11 Dec 2023 18:07:04 +0100 Subject: Some changes. --- IsingScalingFunction.wl | 59 ++++++++++++++++++++++++++++++++++++++----------- 1 file 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[] -- cgit v1.2.3-70-g09d2