Code for simulating inflation, including Lagrangians with non-canonical kinetic energy.
Code for simulating inflation, including multiple field Lagrangians with non-canonical kinetic energy.
To demonstrate some functionality of the package, let’s consider a two-field potential with a saddle point:
We can obtain equations of motion for this potential by using InflationEquationsOfMotion
:
Here n[t]
stands for the number of e-foldings. We can use these equations to produce an evolution of the fields and the number of e-foldings over time, starting for example with initial conditions a[0] = 5
, a'[0] = 0
, b[0] = 0.2
, b'[0] = 0
using InflationEvolution
:
We get InterpolatingFunction
s and some extra information such as the total number of e-foldings. If we plot evolution of the fields over time, we can see that the fields reach the saddle point, and “slow-roll” through it for some time:
Let’s plot that against the potential to see the trajectory of the fields:
We can check if this particular model is consistent with experimental constraints. One way to do that is to evaluate the ratio of tensor-to-scalar power spectra, and the scalar spectral index, assuming horizon exit for the scale we see today occured 60 e-foldings before the end of inflation:
Let’s check if that’s in experimental range:
What if we change the initial value of b
? Let’s plot the scalar spectral index against it:
It appears we can get experimentally allowed values near b[0] = 0.05
. Let’s try it:
It is consistent! So, we have found an inflation model (albeit with a non-physical potential) that is consistent with experimental constraints on scalar spectral index and tensor-to-scalar ratio.
InflationSimulator
as a project.InflationSimulator
will be created in a directory specified.PacletManager`PackPaclet["path_to_newly_created_InflationSimulator_directory"]
. The output will be the path to the compiled paclet.Evaluate PacletManager`PacletInstall["path_to_paclet"]
, where path_to_paclet
is the path to the .paclet
file, which can either be downloaded from releases page, or build using the steps above.