使用 feynmp 的自能图

使用 feynmp 的自能图

请您帮我画一下这样的图吗?图表

我使用的简单代码如下:

\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}

但这并不奏效。我认为这是错误的,原因与此相同,例如,为了添加气泡图,我应该写一些类似的东西,\fmf{photon, left, tension=0}{v5,v6}而不仅仅是\fmf{photon}{v5,v6},但我不知道如何修复我的错误。

另外,我需要一个光子箭头(波浪线)。我知道为了做到这一点,我可以使用以下代码

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

你能告诉我应该把它放在哪里吗?

答案1

这两个问题的答案是

\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}

答案2

人们甚至不需要玩弄风格:

\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}

在此处输入图片描述

相关内容