Untitled

mail@pastecode.io avatar
unknown
plain_text
3 years ago
1.8 kB
2
Indexable
Never
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

cb = 223.6
cf = 14.8
pi = np.pi
m_h = 125.5
m_w = 80.4
m_z = 91.2
m_t = 178
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 = -m_h**2/4*v + 3*v**4/8*M**2
    lbd = m_h**2/8*v**2 - 3/8*M**2
    V0 = ((A*phi**2) + (lbd)*phi**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)))*(MASSA_W+MASSA_Z+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)


def find_tc(low, high):
    def vmin(T):
        phimin = minimize(lambda phi: v_linha(phi, T), v).x
        return v_linha(phimin, T)
    return opt.bisect(vmin, low, high)


plt.figure(num=0, dpi=120.0)
philist = np.arange(1e-15, 80, .1)
plt.plot(philist, list(map(lambda x: v_linha(x, 153.5), philist)))
plt.xlabel('$\phi$')
plt.ylabel('V($\phi$,T)')
plt.title('Potencial Efetivo')
plt.grid(True)