clwainwright / CosmoTransitions

A package for analyzing finite or zero-temperature cosmological phase transitions driven by single or multiple scalar fields.
MIT License
25 stars 19 forks source link

Pass numerical potential to class SingleFieldInstanton to tunneling1D.py #17

Open quarkquartet opened 4 years ago

quarkquartet commented 4 years ago

I have difficulty calculating the Euclidean action S_E and tunneling rate \Gamma, as well as the derivative dV/dT and dS/dT, as a function of finite temperature T with loop-corrected effective potential.

If I understand it correctly, this effective potential can be calculated by the module generic_function.py numerically, but I couldn’t find how to pass this effective potential to tunneling1D.py, which is used to calculate S_E and \Gamma. It seems that I am only allowed to input the analytical expression of the potential function to class SingleFieldInstanton. Could you please tell me if there is any way to pass numerical potential, as an array, to the class? My model has just one scaler field in one dimension.

Thank you very much.

clwainwright commented 4 years ago

The easiest way to pass an array to SingleFieldInstanton is to first fit a spline to it. Be careful though that curvature of the spline is accurate at its minima, as the character of the instanton greatly depends on this. In particular, don't use linear interpolation—use at least quadratic or cubic—and make sure to include points beyond the two minima. See scipy.interpolate.UnivariateSpline for more details.

Example:

a = 0.4
x0 = np.linspace(-1, 2, 30)
y0 = a*x0**2/2.0 - (1+a)*x0**3/3.0 + x0**4/4.0  # minima at 0 and 1
f = interpolate.UnivariateSpline(x0, y0, s=0, k=3)
df = f.derivative(1)
d2f = f.derivative(2)
inst = SingleFieldInstanton(1.0, 0.0, f, df, d2f)
profile = inst.findProfile()
plt.plot(profile.R, profile.Phi)
quarkquartet commented 4 years ago

Thanks a lot

mamerchandmedi commented 4 years ago

Hi,

I have a model with two scalar fields and for a specific point in parameter space I found the instanton solution with the method findAllTransitions(). I am interested in obtaining the critical bubble action S_3/T for finite temperature and make plot in the plane (T,S/T). How can I do this?

Thanks,

ph19resch02006 commented 2 years ago

Hii

I just started working with CosmoTransition, I learnt the model implimentation with multiple fields and i could calculate the thermal parameters except beta/H which requires dS_E/dT. I failed to understand how to calculate this parameter. It would be helpful if you can guide a bit. Thanks in advance.