# Using ModelMaker.m in FeynArts

I want to write a model file in FeynArts and I came across ModelMaker which takes in the Lagrangian as Input and then generates the .mod file. I am trying to make a model file for $\phi^4$ theory as a start. I have a couple of questions as I cannot yet use it:

1. What is the content of the .mmod file ?
2. The syntax for writing the Lagrangian:
a) Fields are specified by Field[...]
b) How do I write expressions like $\partial_\mu\phi\partial^\mu\phi$ ?

3. ModelMaker starts with BeginPackage["ModelMaker", {"FeynArts", "Global"}] but there is no File or Folder Called Global in the FeynArts folder.

It would be very helpful if someone who has already written a model posts a demo of the code.

AFAIK ModelMaker is not a very commonly used tool in model building. If you insist on using that, you probably should better contact Thomas Hahn directly.

What people usually use in FeynRules. Here is an example on implementing $\phi^4$-model and exporting in to FeynArts:

Phi4.fr

M$ModelName = "Phi4"; M$Information = {
Authors      -> {"vsht"},
Institutions -> {"TUM"},
Emails       -> {""},
Date         -> "September 15, 2016"
};

M$Parameters = { lambda == { ParameterType -> External, ParameterName -> \[Lambda], Description -> "self-interaction coupling" } }; M$ClassesDescription = {

S[1] == {
ClassName     -> phi,
ParticleName    -> "\[Phi]",
PropagatorLabel -> "\[Phi]",
SelfConjugate -> True,
Mass -> mphi
}

};

LPhi4 = 1/2 del[phi, mu] del[phi, mu] - 1/(4!) lambda*phi^4 - 1/2 mphi^2*phi^2;


Then you save the following as a notebook to the same directory where you put Phi4.fr and run it to generate the model

FR$Parallel=False;$FeynRulesPath=SetDirectory[$UserBaseDirectory<>"/Applications/FeynRules"]; <<FeynRules; SetDirectory[NotebookDirectory[]]; LoadModel["Phi4.fr"]; WriteFeynArtsOutput[LPhi4,Output->"Phi4"];  Finally you copy the created Phi4-directory to the Models directory of FeynArts and can start using the model <<FeynArts$FAVerbose = 0;
top2To2 = CreateTopologies[1, 2 -> 2,ExcludeTopologies->{WFCorrections}];
diags2To2 = InsertFields[top2To2,  {S[1],S[1]}-> {S[1],S[1]},
InsertionLevel -> {Classes}, Model -> FileNameJoin[{"Phi4","Phi4"}]];
Paint[diags2To2, ColumnsXRows -> {3, 1}, Numbering -> None,SheetHeader->None,ImageSize->{768,256}];
`

• thank you very much for the code. Actually, i have a windows system so I was trying to use ModelMaker. Anyway I will try to run FeynRule. – Abhishek Pal Sep 15 '16 at 11:49
• ok I got it untarred for windows. Once again thanks – Abhishek Pal Sep 15 '16 at 11:52