Untitled
unknown
plain_text
4 years ago
1.9 kB
10
Indexable
from scipy import optimize as opt
import numpy as np
from scipy.optimize import minimize
import matplotlib.pyplot as plt
from scipy.integrate import quad
from scipy.misc import derivative
cb = 223.6
cf = 14.8
pi = np.pi
m_h = 125
m_w = 80.385
m_z = 91.1876
m_t = 173.07
v = 246.22
M = 600
mw2 = lambda phi: (m_w**2)*(phi**2/v**2)
mz2 = lambda phi: (m_z**2)*(phi**2/v**2)
mt2 = lambda phi: (m_t**2)*(phi**2/v**2)
def jb(y_t):
return quad((lambda x: x**2 * (np.log(1-np.exp(-np.sqrt(x**2+y_t**2))))), 0, np.infty)[0]
def jf(z_t):
return quad((lambda x: x**2 * (np.log(1+np.exp(-np.sqrt(x**2+z_t**2))))), 0, np.infty)[0]
def V(phi,T, M):
A = 3*v**4/(4*M**2) - m_h**2/2
B = -3*v**2/(2*M**2) + m_h**2/(2*v**2)
V0 = A*(phi**2)/2 + (B*phi**4)/4 + (1/(8*M**2))*phi**6
MASSA_W = ((mw2(phi)**2)*np.log(mw2(phi)/m_w**2)) -((3*mw2(phi)**2)/2) + (2*mw2(phi))*(m_w**2) - (m_w**4)/2
MASSA_Z = ((mz2(phi)**2)*np.log(mz2(phi)/m_z**2)) -((3*mz2(phi)**2)/2) + (2*mz2(phi))*(m_z**2) - (m_z**4)/2
MASSA_t = ((mt2(phi)**2)*np.log(mt2(phi)/m_t**2)) -((3*mt2(phi)**2)/2) + (2*mt2(phi))*(m_t**2) - (m_t**4)/2
V1 = (1/(64*(pi**2)))*(6*MASSA_W+3*MASSA_Z-12*MASSA_t)
if T!=0:
del_V1 = ((T**4/(2*pi**2))*((6*jb(np.sqrt(mw2(phi))/T) + (3*jb(np.sqrt(mz2(phi))/T)) - (12*jf(np.sqrt(mt2(phi))/T)))))
return V0+V1+del_V1
else:
return V0+V1
def v_linha(phi,T):
return V(phi,T, M)-V(1e-15,T, M)
y0 = 0
rf = 10
d_V = derivative(V,1.2,dx=1e-6)
def f(r,s):
x,w = s
dx_dr = w
dv_dr = -2*w/r - d_V
return dx_dr, dv_dr
def yf(w0):
sol = integrate.solve_ivp(f,(0,rf),(y0,w0))
x,w = sol.x
return x[-1]
yf_vec = np.vectorize(yf)
w0 = optimize.newton(yf_vec,10)
r = np.linspace(0,rf,100)
sol = integrate.solve_ivp(f, (0,rf),(y0,w0),t_eval=r)
x,v = sol.y
plt.plot(r,x,".")
print(w0)
Editor is loading...