# Feynmp: Circle with five vertices

I am trying to draw a Feynman diagram by using feynmp package at one-loop level contains two different diagrams:

1. one-loop with five legs (what I draw is nice, but the problem is the loop gets disordered and it is out of shape)
2. How can I attach a tree-level vertex to one-loop? (reducible diagram). Imagine I have one-loop with four external legs (photons) but one graviton emerges from on of these legs... which actually is like attaching a tree-level vertex to the loop... Any idea? I appreciate any help.

Thanks, Naser

• Use the command \fmffreeze after drawing the loop. Then draw the legs!
– Dox
Jun 20, 2014 at 19:06
• All questions should include a minimal working example (MWE) that illustrates your problem. It is be much easier for us to reproduce your situation and find out what the issue is when we see compilable code, starting with \documentclass{...} and ending with \end{document}. It is especially frustrating when users mention the code they already have but don't bother to share it. That means would-be helpers have to redo everything you've already done before they can begin to help you.
– cfr
Jun 20, 2014 at 22:23

As you can read in the feynmf documentation, the lines of a diagram are like rubber bands, they stretch as you attach them to other bands (they even have a tension parameter defined). However, the command \fmffreeze literally freeze the previous draw.

So, I'd draw the loop

\begin{fmffile}{diagram}
\begin{fmfgraph}(40,40)
%%% Draw the loop
\fmfleft{i1,i2}
\fmfright{o1,o2}
\fmf{phantom}{o1,v1}
\fmf{phantom}{v2,o2}
\fmf{phantom}{i2,v3}
\fmf{phantom}{i1,v4}
\fmf{fermion}{v1,v2,v3,v4,v1}
\fmffreeze

\end{fmfgraph}
\end{fmffile}


And them draw the legs

\begin{fmffile}{diagram}
\begin{fmfgraph}(40,40)
%%% Draw the loop
\fmfleft{i1,i2}
\fmfright{o1,o2}
\fmf{phantom}{o1,v1}
\fmf{phantom}{v2,o2}
\fmf{phantom}{i2,v3}
\fmf{phantom}{i1,v4}
\fmf{fermion}{v1,v2,v3,v4,v1}
\fmffreeze

%%% Draw the photons
\fmf{photon}{o1,v1}
\fmf{photon}{v2,o2}
\fmf{photon}{i2,v3}
\fmf{photon}{i1,v4}

\end{fmfgraph}
\end{fmffile}


However, if you have an extra decay, one of the final photons must end into an internal vertex (say v5), and you'd need an extra final vertex (say o3)

\begin{fmffile}{diagram}
\begin{fmfgraph}(40,40)
%%% Draw the loop
\fmfleft{i1,i2}
\fmfright{o1,o2,o3}
\fmf{phantom}{o1,v1}
\fmf{phantom}{v2,o3}
\fmf{phantom}{i2,v3}
\fmf{phantom}{i1,v4}
\fmf{fermion}{v1,v2,v3,v4,v1}
\fmffreeze

%%% Draw the photons
\fmf{photon}{o1,v1}
\fmf{photon}{v2,v5}
\fmf{phantom}{v5,o3}
\fmf{photon}{i2,v3}
\fmf{photon}{i1,v4}
\fmffreeze

%%% The extra decay
\fmf{dbl_wiggly}{v5,o2}
\fmf{photon}{v5,o3}

\end{fmfgraph}
\end{fmffile}


I obtained this Cheers