# Self-energy diagram using feynmp

Please, could you help me to draw such a diagram?

The straightforward code I use is just this:

\begin{fmffile}{diagr_6th_ord}
\begin{fmfgraph}(200,125)
\fmfleft{i}
\fmfright{o}
\fmf{photon}{i,v1}
\fmf{photon}{v4,o}
\fmf{photon}{v2,v3}
\fmf{photon}{v5,v6}
\fmf{fermion}{v1,v2}
\fmf{fermion}{v6,v4}
\fmf{fermion}{v3,v5}
\fmf{dashes_arrow}{v1,v5}
\fmf{dashes_arrow}{v3,v4}
\fmf{dashes_arrow}{v6,v2}
\fmfdotn{v}{6}
\end{fmfgraph}
\end{fmffile}


But this doesn't work. I suppose this is wrong for the same reason as, e.g. in order to add a bubble diagram I should write something like \fmf{photon, left, tension=0}{v5,v6} rather than just \fmf{photon}{v5,v6}, but I don't know how to fix my froble.

Also, I need an arrow for a photon (wiggly line). I know that in order to do this I can use the following code

\fmfcmd{%
style_def wiggly_arrow expr p =
cdraw (wiggly p);
shrink (2);
cfill (arrow p);
endshrink;
enddef;}


Could you tell me where I should put it?

• Although not very satidfactory, I have the following solution to the first part of my question \begin{fmffile}{my_training} \begin{fmfgraph}(150,75) \fmfleft{i1,i2} \fmfright{o1,o2} \fmf{phantom}{i2,v5,v6,o2} \fmffreeze \fmf{phantom, right}{i1,v1,v2,v3,v4,o1} \fmffreeze \fmf{photon}{i1,v1} \fmf{photon}{v5,v6} \fmf{photon}{v2,v3} \fmf{photon}{v4,o1} \fmf{fermion}{v1,v5} \fmf{fermion}{v2,v6} \fmf{fermion}{v3,v4} \fmf{dashes_arrow}{v1,v2} \fmf{dashes_arrow}{v5,v3} \fmf{dashes_arrow}{v6,v4} \end{fmfgraph} \end{fmffile} – user2891657 Nov 27 '16 at 16:08
• Ok, I probably have a quite not bad answer to the first question \begin{fmffile}{6th_ord} \begin{fmfgraph}(250,50) \fmfleft{i1,i2} \fmfright{o1,o2} \fmf{phantom}{i2,v5,v6,o2} \fmffreeze \fmf{phantom}{i1,v1,v2,v3,v4,o1} \fmffreeze \fmf{photon}{i1,v1} \fmf{photon}{v5,v6} \fmf{photon}{v2,v3} \fmf{photon}{v4,o1} \fmf{fermion}{v1,v5} \fmf{fermion}{v2,v6} \fmf{fermion}{v3,v4} \fmf{dashes_arrow}{v1,v2} \fmf{dashes_arrow}{v5,v3} \fmf{dashes_arrow}{v6,v4} \fmfdotn{v}{6} \end{fmfgraph} \end{fmffile} – user2891657 Nov 27 '16 at 17:04
• And to the second question \begin{fmffile}{diagr1} \fmfcmd{% style_def wiggly_arrow expr p = cdraw (wiggly p); shrink (1.2); cfill (arrow p); endshrink; enddef;} \begin{fmfgraph*}(100,60) \fmfleft{i1} \fmfright{o1,o2} \fmflabel{$\hat{a}$}{i1} \fmflabel{$\sigma^{-}$}{o1} \fmflabel{$\hat{D}$}{o2} \fmflabel{$g$}{v1} \fmf{wiggly_arrow}{i1,v1} \fmf{fermion}{v1,o1} \fmf{dashes_arrow}{v1,o2} \fmfdotn{v}{1} \end{fmfgraph*} \end{fmffile} – user2891657 Nov 27 '16 at 17:04
• Welcome to TeX.SX! Can you please expand the code snippet that you have posted to a full minimal working example. A MWE should compile and be as small as possible to demonstrate your problem. it's much easier to help you if we have full working code to start from. – Andrew Nov 27 '16 at 22:21

The answer to both questions is

\begin{fmffile}{6th_ord_SE}
\fmfcmd{%
style_def wiggly_arrow expr p =
cdraw (wiggly p);
shrink (1);
cfill (arrow p);
endshrink;
enddef;}
\begin{fmfgraph}(160,30)
\fmfleft{i1,i2}
\fmfright{o1,o2}
\fmf{phantom}{i2,v5,v6,o2}
\fmffreeze
\fmf{phantom}{i1,v1,v2,v3,v4,o1}
\fmffreeze
\fmf{wiggly_arrow}{i1,v1}
\fmf{wiggly_arrow}{v5,v6}
\fmf{wiggly_arrow}{v2,v3}
\fmf{wiggly_arrow}{v4,o1}
\fmf{fermion}{v1,v5}
\fmf{fermion}{v2,v6}
\fmf{fermion}{v3,v4}
\fmf{dashes_arrow}{v1,v2}
\fmf{dashes_arrow}{v5,v3}
\fmf{dashes_arrow}{v6,v4}
\fmfdotn{v}{6}
\end{fmfgraph}
\end{fmffile}

• I tried it, but I don't get the required image. – egreg Nov 28 '16 at 22:34

One does not even have to play with the styles:

\begin{fmfgraph}(200,125)
\fmfleft{i1,i,i2}
\fmfright{f1,o,f2}
\fmf{phantom}{i1,v5,v6,f1}
\fmf{phantom}{i2,v2,v3,f2}
\fmffreeze
\fmf{photon}{i,v1}
\fmf{photon}{v4,o}
\fmf{photon}{v2,v3}
\fmf{phantom_arrow}{v2,v3}
\fmf{photon}{v5,v6}
\fmf{phantom_arrow}{v5,v6}
\fmf{fermion}{v1,v2}
\fmf{fermion}{v6,v4}
\fmf{fermion}{v3,v7,v5}
\fmf{dashes_arrow}{v1,v5}
\fmf{dashes_arrow}{v3,v4}
\fmf{dashes_arrow}{v6,v7,v2}
\fmfdotn{v}{6}
\end{fmfgraph}