WallGo/ WallGoMatrix

(0.2.1) current version: 1.0.0 »

Computes 2-to-2 scattering matrix amplitudes for arbitrary quantum field theories

Contributed by: Andreas Ekstedt
Oliver Gould
Joonas Hirvonen
Benoit Laurent
Lauri Niemi
Philipp Schicho
Jorinde van de Vis

Computes 2-to-2 scattering matrix amplitudes for arbitrary quantum field theories.

Installation Instructions

To install this paclet in your Wolfram Language environment, evaluate this code:
PacletInstall["WallGo/WallGoMatrix"]


To load the code after installation, evaluate this code:
Needs["WallGo`WallGoMatrix`"]

Details

WallGoMatrix is a Mathematica package for computing 2-to-2 scattering matrix elements for arbitrary quantum field theories. It is part of the WallGo project for computing the bubble wall speed for cosmological phase transitions. Matrix elements are constructed by building coupling tensors for a given model, and contracting these with kinematic factors appropriately.

Examples

Basic Example of QCD

Model (4) 

Using SU(3) in the representation with Dynkin index {1,1} and representation R= 8.

In[1]:=
Group = {"SU3"};
RepAdjoint = {{1, 1}};
CouplingName = {gs};

No scalars are present in the theory:

In[2]:=
RepScalar = {};

Fermions are implemented as Weyl spinors. Therefore, to create one Dirac fermion, one left-handed and one right-handed fermion is needed:

In[3]:=
Rep1 = {{{1, 0}}, "L"};
Rep2 = {{{1, 0}}, "R"};
RepFermion1Gen = {Rep1, Rep2};

For QCD, Nf=6 fermions are needed:

In[4]:=
RepFermion3Gen = {RepFermion1Gen, RepFermion1Gen, RepFermion1Gen, RepFermion1Gen, RepFermion1Gen, RepFermion1Gen} // Flatten[#, 1] &;

The input for the gauge interactions to DRalgo are then given by

In[5]:=
{gvvv, gvff, gvss, \[Lambda]1, \[Lambda]3, \[Lambda]4, \[Mu]ij, \[Mu]IJ, \[Mu]IJC, Ysff, YsffC} = AllocateTensors[Group, RepAdjoint, CouplingName, RepFermion3Gen, RepScalar];

To invoke the model, it needs to be imported:

In[6]:=
ImportModel[Group, gvvv, gvff, gvss, \[Lambda]1, \[Lambda]3, \[Lambda]4, \[Mu]ij, \[Mu]IJ, \[Mu]IJC, Ysff, YsffC, Verbose -> False];

Creating particles (5) 

Representation for top quark:

In[7]:=
RepTop = CreateParticle[{1, 2}, "F", mq2, "Top"]
Out[7]=

Representation for gluon:

In[8]:=
RepGluon = CreateParticle[{1}, "V", mg2, "Gluon"]
Out[8]=

Representation for 5 light quarks:

In[9]:=
LightQuarks = CreateParticle[{3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, "F", mq2, "LightParticle"]
Out[9]=

Collecting out-of-equilibrium particles:

In[10]:=
ParticleList = {RepTop, RepGluon};

Collecting light particles (these are never incoming):

In[11]:=
LightParticleList = {LightQuarks};

Generating the matrix elements

In[12]:=
OutputFile = "matrixElements.qcd";
MatrixElements = ExportMatrixElements[
  	OutputFile,
  	ParticleList,
  	LightParticleList,
  	{
   		TruncateAtLeadingLog -> True,
   		Format -> {"json", "txt"}}]
Out[8]=

Publisher

Philipp Schicho

Compatibility

Wolfram Language Version 13

Version History

  • 1.0.0 – 08 November 2024
  • 0.3.0 – 05 November 2024
  • 0.2.1 – 31 October 2024
  • 0.2.0 – 31 October 2024

License Information

GNU General Public License v3.0 or later

Paclet Source