Skip to content

Fenyutanchan/FeAmGen.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FeAmGen.jl: A julia program for Feynman Amplitude Generation

Requirement

  1. QGRAF: main page. Please install it manually.
  2. FORM: main page and GitHub. It can be installed automatically via JuliaBinaryWrappers/FORM_jll.jl.

Installation

SymEngineExt.jl should be installed firstly.

import Pkg
Pkg.add(url="https://github.com/zhaoli-IHEP/SymEngineExt.jl.git")

or in the Julia REPL via

]add https://github.com/zhaoli-IHEP/SymEngineExt.jl.git

Then install FeAmGen.jl via

import Pkg
Pkg.add(url="https://github.com/zhaoli-IHEP/FeAmGen.jl.git")

or in the Julia REPL via

]add https://github.com/zhaoli-IHEP/FeAmGen.jl.git

Usage

This package can be used for the following missions.

  1. Generate scalar integral (example: test/TSI_Test.jl)
  2. Generate scalar integral with irreducible numerators (example: test/IRD_Test.jl)
  3. Generate tensor integral (example: test/AmpRed_Test.jl)
  4. Generate process amplitude (examples: test/DrellYan_Test.jl etc.)

Main function

1. digest_seed_proc( <seed process file>, <model directory> )

Generate input files for the specific process according to generic seed process file and model directory.

For example

digest_seed_proc( "seed_proc.yaml", "Models" )

2. generate_amp( <process file>, <model directory> )

Generate diagrams and amplitudes according to the process input file previously generated and the model directory.

For example,

generate_amp( "parton_parton_TO_parton_t_0Loop/b_u_TO_d_t.yaml", "Models" )

3. generate_integral( <YAML file> )

Generate expressions for the given YAML file. The specific usages are shown in the test examples.


Result

The results contain amplitudes in file amplitude_diagram<number>.out and the Feynman diagrams in file visual_diagram<number>.tex. Explicitly one could use lualatex visual_diagram<number>.tex to generate PDF file with tikz-feynman.sty.

Notice

Here we use directly the UFO model files stored in the <model directory>.

NOTE: If the UFO model files are based on Python2, one can convert them into Python3 scripts by using the script 2to3, which may be found in for example Python-3.8.1/Tools/scripts. Package PyCall.jl can be build with relevant version of Python. The method can be found in its GitHub homepage.

Documentation

Full documentation can be generated by using julia make.jl in docs.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published