1

How can I draw the two loop correction to the four point function, with one of the loops on the right propagator?

I tried

\begin{fmffile}{loop}
    \begin{fmfgraph}(40,40)
        \fmfleft{i1,i2} 
        \fmfright{o1,o2} 
        \fmf{plain}{i1,v1} 
        \fmf{plain}{i2,v2} 
        \fmf{plain,right=45}{v3,v3}
        \fmf{plain}{o1,v1}
        \fmf{plain}{o2,v2} 
        \fmf{plain,left}{v1,v2,v3,v1} 
    \end{fmfgraph}
\end{fmffile}

which gave me

enter image description here

How can I make the internal loop a circle, and have the loop correction to the right propagator be rotated 90 degrees clockwise?

2

Welcome to TeX.SE! Here is a proposal. It might be that there is an easier way, yet this way you have full control over the sizes of the loops. Let me also remark that right=45 does not seem right. The number after the equality sign is not an angle, but a fraction, below I use left=0.333. And you probably know that you cannot compile the following with pdflatex without further ado, but compiling with latex,calling mpost loop, calling latex again and then converting to pdf works.

\documentclass[border=3.14mm]{standalone}
\usepackage{feynmp}
\begin{document}
\begin{fmffile}{loop}
    \begin{fmfgraph}(40,40)
        \fmfleft{i1,i2} 
        \fmfright{o1,o2} 
        \fmf{plain}{i1,v1,o1} 
        \fmf{plain}{i2,v2,o2} 
        \fmf{plain,left}{v1,v2} 
      \fmffreeze    
         \fmf{phantom,left=0.33}{v2,v3,v1} 
      \fmffreeze    
         \fmfshift{10,0}{v3}
         \fmf{plain,left=0.33}{v2,v3,v1} 
         \fmf{phantom,left}{v3,v4,v3}
      \fmffreeze    
         \fmfshift{15,0}{v4}
         \fmf{plain,left}{v3,v4,v3}
    \end{fmfgraph}
\end{fmffile}
\end{document}

enter image description here

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.