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 InterpolatingFunctions 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.
- Open the project in Wolfram Workbench using File -> Open Projects from File System..., and selecting root repository directory.
- Open Window -> Show View -> Application Tools.
- Select
InflationSimulatoras a project. - Click Build to build documentation.
- Click Deploy Application, and select a directory to put a temporary deployed package.
- Make sure all files selected, click Next. Make sure documentation is selected, click Finish. A new directory
InflationSimulatorwill be created in a directory specified. - Open Mathematica, and evaluate
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.









