项目作者: maxitg

项目描述 :
Code for simulating inflation, including Lagrangians with non-canonical kinetic energy.
高级语言: Mathematica
项目地址: git://github.com/maxitg/InflationSimulator.git
创建时间: 2019-02-01T17:26:49Z
项目社区:https://github.com/maxitg/InflationSimulator

开源协议:MIT License

下载


Inflation Simulator

Code for simulating inflation, including multiple field Lagrangians with non-canonical kinetic energy.

Overview

To demonstrate some functionality of the package, let’s consider a two-field potential with a saddle point:

image

image

We can obtain equations of motion for this potential by using InflationEquationsOfMotion:

image

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:

image

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:

image

Let’s plot that against the potential to see the trajectory of the fields:

image

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:

image

Let’s check if that’s in experimental range:

image

What if we change the initial value of b? Let’s plot the scalar spectral index against it:

image

It appears we can get experimentally allowed values near b[0] = 0.05. Let’s try it:

image

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.

Build

  1. Open the project in Wolfram Workbench using File -> Open Projects from File System…, and selecting root repository directory.
  2. Open Window -> Show View -> Application Tools.
  3. Select InflationSimulator as a project.
  4. Click Build to build documentation.
  5. Click Deploy Application, and select a directory to put a temporary deployed package.
  6. Make sure all files selected, click Next. Make sure documentation is selected, click Finish. A new directory InflationSimulator will be created in a directory specified.
  7. Open Mathematica, and evaluate PacletManager`PackPaclet["path_to_newly_created_InflationSimulator_directory"]. The output will be the path to the compiled paclet.

Install

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.