FeynHelpers manual (development version)

FIRECreateConfigFile

FIRECreateConfigFile[topo, fireID, path] automatically generates a FIRE .config file for the given topology topo with the FIRE-identifier fireID and saves it to path/topoName as topoName.config where topoName is the FCTopology-identifier. The function returns the full path to the generated .config file.

If the directory specified in path/topoName does not exist, it will be created automatically. If it already exists, its content will be automatically overwritten, unless the option OverwriteTarget is set to False.

If no fireID is given, i.e. the function is called as FIRECreateConfigFile[topo, path], then the default value 4242 is used.

It is also possible to invoke the routine as FIRECreateConfigFile[{topo1, topo2, ...}, {id1, id2, ...}, {path1, path2, ...}] or FIRECreateConfigFile[{topo1, topo2, ...}, {path1, path2, ...}]if one needs to process a list of topologies.

The syntax FIRECreateConfigFile[{topo1, topo2, ...}, {id1, id2, ...}, path] or FIRECreateConfigFile[{topo1, topo2, ...}, path] is also allowed. This implies that all config files will go into the corresponding subdirectories of path, e.g. path/topoName1, path/topoName2 etc.

The default name of the file containing loop integrals for the reduction is "LoopIntegrals.m". It can be changed via the option FIREIntegrals.

To customize the content of the .config file one can use following options:

See also

Overview, FIREBucket, FIRECompressor, FIREFthreads, FIRELthreads, FIREIntegrals, FIREPosPref, FIRESthreads, FIREThreads.

Examples

topo = FCTopology["asyR1prop2Ltopo01310X11111N1", {SFAD[{{I*p1, 0}, {0, -1}, 1}], SFAD[{{I*p3, 0}, {-mg^2, -1}, 1}], SFAD[{{0, -2*p3 . q}, {0, -1}, 1}], SFAD[{{I*(p1 + q), 0}, {-mb^2, -1}, 1}], SFAD[{{0, p1 . p3}, {0, -1}, 1}]}, {p1, p3}, {q}, {SPD[q, q] -> mb^2}, {}]

\text{FCTopology}\left(\text{asyR1prop2Ltopo01310X11111N1},\left\{\frac{1}{(-\text{p1}^2-i \eta )},\frac{1}{(-\text{p3}^2+\text{mg}^2-i \eta )},\frac{1}{(-2 (\text{p3}\cdot q)-i \eta )},\frac{1}{(-(\text{p1}+q)^2+\text{mb}^2-i \eta )},\frac{1}{(\text{p1}\cdot \;\text{p3}-i \eta )}\right\},\{\text{p1},\text{p3}\},\{q\},\left\{q^2\to \;\text{mb}^2\right\},\{\}\right)

fileName = FIRECreateConfigFile[topo, FileNameJoin[{$FeynCalcDirectory, "Database"}]];
fileName // FilePrint

(*#compressor zstd
#threads 8
#fthreads s16
#lthreads 4
#sthreads 8
#variables d, mb, mg
#bucket 29
#start
#folder ./
#problem 4242 asyR1prop2Ltopo01310X11111N1.start
#integrals LoopIntegrals.m
#output asyR1prop2Ltopo01310X11111N1.tables*)
fileName = FIRECreateConfigFile[topo, FileNameJoin[{$FeynCalcDirectory, "Database"}], FIREIntegrals -> "LIs.m", FIRELthreads -> 4];
fileName // FilePrint

(*#compressor zstd
#threads 8
#fthreads s16
#lthreads 4
#sthreads 8
#variables d, mb, mg
#bucket 29
#start
#folder ./
#problem 4242 asyR1prop2Ltopo01310X11111N1.start
#integrals LIs.m
#output asyR1prop2Ltopo01310X11111N1.tables*)
fileName = FIRECreateConfigFile[topo, FileNameJoin[{$FeynCalcDirectory, "Database"}], FIREIntegrals -> "LIs.m", FIRELthreads -> 4];
fileName // FilePrint

(*#compressor zstd
#threads 8
#fthreads s16
#lthreads 4
#sthreads 8
#variables d, mb, mg
#bucket 29
#start
#folder ./
#problem 4242 asyR1prop2Ltopo01310X11111N1.start
#integrals LIs.m
#output asyR1prop2Ltopo01310X11111N1.tables*)
topos = {
   FCTopology["asyR3prop2Ltopo01310X11111N1", {SFAD[{{I*p1, 0}, {0, -1}, 1}], SFAD[{{I*p3, 0}, {-mg^2, -1}, 1}], SFAD[{{0, -2*p3 . q}, {0, -1}, 1}], SFAD[{{0, -2*p1 . q}, {0, -1}, 1}], SFAD[{{I*(p1 - p3), 0}, {0, -1}, 1}]}, {p1, p3}, {q}, {SPD[q, q] -> mb^2},  {}], 
   
   FCTopology["asyR1prop2Ltopo01310X11111N1", {SFAD[{{I*p1, 0}, {0, -1}, 1}], SFAD[{{I*p3, 0}, {-mg^2, -1}, 1}], SFAD[{{0, -2*p3 . q}, {0, -1}, 1}], SFAD[{{I*(p1 + q), 0}, {-mb^2, -1}, 1}], SFAD[{{0, p1 . p3}, {0, -1}, 1}]}, {p1, p3}, {q}, {SPD[q, q] -> mb^2}, {}] 
  }

\left\{\text{FCTopology}\left(\text{asyR3prop2Ltopo01310X11111N1},\left\{\frac{1}{(-\text{p1}^2-i \eta )},\frac{1}{(-\text{p3}^2+\text{mg}^2-i \eta )},\frac{1}{(-2 (\text{p3}\cdot q)-i \eta )},\frac{1}{(-2 (\text{p1}\cdot q)-i \eta )},\frac{1}{(-(\text{p1}-\text{p3})^2-i \eta )}\right\},\{\text{p1},\text{p3}\},\{q\},\left\{q^2\to \;\text{mb}^2\right\},\{\}\right),\text{FCTopology}\left(\text{asyR1prop2Ltopo01310X11111N1},\left\{\frac{1}{(-\text{p1}^2-i \eta )},\frac{1}{(-\text{p3}^2+\text{mg}^2-i \eta )},\frac{1}{(-2 (\text{p3}\cdot q)-i \eta )},\frac{1}{(-(\text{p1}+q)^2+\text{mb}^2-i \eta )},\frac{1}{(\text{p1}\cdot \;\text{p3}-i \eta )}\right\},\{\text{p1},\text{p3}\},\{q\},\left\{q^2\to \;\text{mb}^2\right\},\{\}\right)\right\}

fileNames = FIRECreateConfigFile[topos, {1150, 1160}, FileNameJoin[{$FeynCalcDirectory, "Database"}]];
FilePrint[fileNames[[1]]];

(*#compressor zstd
#threads 8
#fthreads s16
#lthreads 4
#sthreads 8
#variables d, mb, mg
#bucket 29
#start
#folder ./
#problem 1150 asyR3prop2Ltopo01310X11111N1.start
#integrals LoopIntegrals.m
#output asyR3prop2Ltopo01310X11111N1.tables*)
FilePrint[fileNames[[2]]];

(*#compressor zstd
#threads 8
#fthreads s16
#lthreads 4
#sthreads 8
#variables d, mb, mg
#bucket 29
#start
#folder ./
#problem 1160 asyR1prop2Ltopo01310X11111N1.start
#integrals LoopIntegrals.m
#output asyR1prop2Ltopo01310X11111N1.tables*)