8

I want to use feynmp to draw the one-loop correction to the vertex in phi^3 theory. This is just a circle with three evenly-spaced incoming lines. The thing is I want the figure to be dashed, so using pre-defined polygons won't work.

The best I can do is this, but I want it to be a circle in the middle, not a tragically deformed hexagon:

\documentclass{article}
\usepackage{feynmp}
\begin{document}
\unitlength = 1mm
\begin{figure}[!h]
\begin{fmffile}{test1}
\begin{fmfgraph*}(48,20)
\fmfcurved
\fmfleft{i1,i2,i3}
\fmfright{o1,o2,o3}
\fmftop{t1,t2,t3}
\fmfbottom{b1,b2,b3}

\fmf{plain}{i2,v1}
\fmf{plain}{v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v1}
\fmf{phantom}{v4,t2}
\fmf{phantom}{v10,b2}
\fmf{phantom}{v7,o2}
%\fmffreeze
\fmf{plain}{v5,t3}
\fmf{plain}{v9,b3}

\end{fmfgraph*}
\end{fmffile}
\end{figure}
\end{document}

Image

3

I normally use TikZ for typesetting Feynman diagrams, but I don't typeset that many. I looked a little in the documentation feynMF and came up with this:

\documentclass{article}
\usepackage{feynmp}
\begin{document}
\unitlength=1mm
\begin{fmffile}{loop}
\begin{fmfgraph}(40,40)
\fmfleft{i1,i2} % External lines (left) i1 & i2
\fmfright{o1} % External line (right) o1
\fmf{dashes}{i1,v1} % Dashed line from i1 to vertex v1
\fmf{dashes}{i2,v2} % Dashed line from i2 to vertex v2
\fmf{dashes}{o1,v3} % Dashed line from o1 to vertex v3
\fmf{dashes,left=1/2,tension=2/3}{v1,v2,v3,v1} % The loop: left curves the lines & tension change the size of the loop
\end{fmfgraph}
\end{fmffile}
\end{document}

Output: loop

Please change the values for left and tension and see what happens.

I don't like this package. Hmm... maybe I just don't understand it properly.

  • 1
    This is exactly it!! Thank you!! I had been trying to do something with left, but I hadn't realized you could set left=1/2 as you did. – Alex Dec 11 '12 at 1:19
5

I'm not familiarized with feynmp package nor with phi^3 theory, so I'm not really sure of the output you want. Perhaps something like the following?

Image

If tikz is an option...

\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikz[baseline=0, scale=0.4]{
\draw[dashed] circle(1cm);
\foreach \angle in {-60,60,180} {
 \draw (\angle:1cm) -- (\angle:2cm);
 }
}
\end{document}

See also Feynman Diagrams with tikz and http://www.hep.wisc.edu/~grogg/files/2011/TikzDiagrams/

  • Thanks for this, this is exactly what I wanted. I had been stubbornly trying to avoid learn another package, but you've convinced me to give tikz a try. – Alex Dec 10 '12 at 21:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.