From 69974b73dcaf28996ba87aacbcdaede16ded6941 Mon Sep 17 00:00:00 2001 From: Ian Jauslin Date: Sun, 14 Dec 2025 11:07:31 -0500 Subject: Update to v0.4.2: get simpleq-Kv to work again --- src/simpleq-Kv.jl | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) (limited to 'src/simpleq-Kv.jl') diff --git a/src/simpleq-Kv.jl b/src/simpleq-Kv.jl index 5a6579c..e61e464 100644 --- a/src/simpleq-Kv.jl +++ b/src/simpleq-Kv.jl @@ -1,4 +1,4 @@ -## Copyright 2021-2023 Ian Jauslin +## Copyright 2021-2024 Ian Jauslin ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. @@ -14,8 +14,8 @@ # Compute Kv=(-\Delta+v+4e(1-\rho u*))^{-1}v function anyeq_Kv( - minlrho::Float64, - nlrho::Int64, + minlrho_init::Float64, + nlrho_init::Int64, taus::Array{Float64,1}, P::Int64, N::Int64, @@ -30,15 +30,10 @@ function anyeq_Kv( nx::Int64 ) # init vectors - (weights,T,k,V,V0,A,Upsilon,Upsilon0)=anyeq_init(taus,P,N,J,v) + (weights,T,k,V,V0,A,Abar,Upsilon,Upsilon0)=anyeq_init(taus,P,N,J,v,Anyeq_approx(0.,0.,1.,0.,0.,0.,0.,0.,0.,0.,0.),"") # compute initial guess from medeq - rhos=Array{Float64,1}(undef,nlrho) - for j in 0:nlrho-1 - rhos[j+1]=(nlrho==1 ? rho : 10^(minlrho+(log10(rho)-minlrho)/(nlrho-1)*j)) - end - u0s=anyeq_init_medeq(rhos,N,J,k,a0,v,maxiter,tolerance) - u0=u0s[nlrho] + u0=anyeq_init_medeq([rho],minlrho_init,nlrho_init,N,J,k,a0,v,maxiter,tolerance) (u,E,error)=anyeq_hatu(u0,P,N,J,rho,a0,weights,k,taus,V,V0,A,Abar,Upsilon,Upsilon0,v,maxiter,tolerance,Anyeq_approx(0.,0.,1.,0.,0.,0.,0.,0.,0.,0.,0.)) @@ -60,6 +55,8 @@ end # Compute the condensate fraction for simpleq using Kv function simpleq_Kv_condensate_fraction( + minlrho_init::Float64, + nlrho_init::Float64, rhos::Array{Float64,1}, taus::Array{Float64,1}, P::Int64, @@ -71,10 +68,10 @@ function simpleq_Kv_condensate_fraction( tolerance::Float64 ) # init vectors - (weights,T,k,V,V0,A,Upsilon,Upsilon0)=anyeq_init(taus,P,N,J,v) + (weights,T,k,V,V0,A,Abar,Upsilon,Upsilon0)=anyeq_init(taus,P,N,J,v,Anyeq_approx(0.,0.,1.,0.,0.,0.,0.,0.,0.,0.,0.),"") # compute initial guess from medeq - u0s=anyeq_init_medeq(rhos,N,J,k,a0,v,0.,maxiter,tolerance) + u0s=anyeq_init_medeq(rhos,minlrho_init,nlrho_init,N,J,k,a0,v,0.,maxiter,tolerance) for j in 1:length(rhos) (u,E,error)=anyeq_hatu(u0s[j],0.,P,N,J,rhos[j],a0,weights,k,taus,V,V0,A,Abar,Upsilon,Upsilon0,v,maxiter,tolerance,Anyeq_approx(0.,0.,1.,0.,0.,0.,0.,0.,0.,0.,0.)) @@ -93,8 +90,8 @@ end # Compute the two-point correlation function for simpleq using Kv function simpleq_Kv_2pt( - minlrho::Float64, - nlrho::Int64, + minlrho_init::Float64, + nlrho_init::Int64, taus::Array{Float64,1}, P::Int64, N::Int64, @@ -109,17 +106,11 @@ function simpleq_Kv_2pt( nx::Int64 ) # init vectors - (weights,T,k,V,V0,A,Upsilon,Upsilon0)=anyeq_init(taus,P,N,J,v) + (weights,T,k,V,V0,A,Abar,Upsilon,Upsilon0)=anyeq_init(taus,P,N,J,v,Anyeq_approx(0.,0.,1.,0.,0.,0.,0.,0.,0.,0.,0.),"") # compute initial guess from medeq - rhos=Array{Float64,1}(undef,nlrho) - for j in 0:nlrho-1 - rhos[j+1]=(nlrho==1 ? rho : 10^(minlrho+(log10(rho)-minlrho)/(nlrho-1)*j)) - end - u0s=anyeq_init_medeq(rhos,N,J,k,a0,v,maxiter,tolerance) - u0=u0s[nlrho] + u0=anyeq_init_medeq([rho],minlrho_init,nlrho_init,N,J,k,a0,v,maxiter,tolerance) - Abar=Array{Float64,5}(undef,0,0,0,0,0) (u,E,error)=anyeq_hatu(u0,P,N,J,rho,a0,weights,k,taus,V,V0,A,Abar,Upsilon,Upsilon0,v,maxiter,tolerance,Anyeq_approx(0.,0.,1.,0.,0.,0.,0.,0.,0.,0.,0.)) # Kv in Fourier space -- cgit v1.2.3-70-g09d2