def R_2(beta):
b0,b1=9/(16*np.pi*np.pi),1/(4*np.pi*np.pi)
return np.exp(-beta/(12*b0))*((6*b0/beta)**(-(b1/(2*b0*b0))))
def a_cap(beta):
return R_2(beta)/3.4
def r0_div_a_p4fat3(beta):
e_r,f_r,a_r,b_r,c_r,d_r=-1.682,0.823,13.250,-1.201,0.054,0.406
numerator=1+e_r*a_cap(beta)**2+f_r*a_cap(beta)**4
denominator=a_r*R_2(beta)*(1+b_r*a_cap(beta)**2+c_r*a_cap(beta)**4+d_r*a_cap(beta)**6)
r0_cap=numerator/denominator
return r0_cap
beta_list=[3.53,3.57,3.585,3.76,3.82,3.92,4.00,4.08]
# we will use a_div_r1_2014(beta) function to calculate the value of lattice spacing for each beta.
lattice_spacing_fm_in=[]
r0=0.469 #r0 in real world is beta independent and is 0.469fm
for beta_in in beta_list:
lattice_spacing_fm_in.append(r0/r0_div_a_p4fat3(beta_in))
temperature_MeV=[]
N_t_in=8
for a in lattice_spacing_fm_in:
temperature_MeV.append(197.7/(a*N_t_in))
#from temperature we can find lattice spacing for any N_t
N_t_out=8
lattice_spacing_fm_out=[]
for temp in temperature_MeV:
lattice_spacing_fm_out.append(197.7/(temp*N_t_out))
print(lattice_spacing_fm_in)
print(temperature_MeV)
print(lattice_spacing_fm_out)
#now for these lattice spacing we have to guess beta.
fKexpnew=156.1/np.sqrt(2)
# we shall guess beta and increase by small amount to see if we are getting closer to lattice_spacing_fm_out for each beta_in
# def find_beta(a):
# error=2
# while(error>=0.005):
# a_out=a_times_fk_2014(beta_guess)/156.1
# error=a-a_out
# if error<0:
# beta_guess+=0.5
a_out=a_times_fk_2014(0.56)/fKexpnew
print(a_out)