#! /垃圾桶/垃圾桶#FeynArts、FormCalc和LoopTools的安装脚本#上次修改时间:6月23日21日#如果从目录DIR中启动(例如,用户的#home directory),最终目录结构为:#直接投资/$fadir#DIR/FeynArts(链接至$fadir)#目录/$fcdir#DIR/FormCalc(链接到$fcdir)#目录/$ltdir#DIR/LoopTools(链接到$ltdir)fadir=FeynArts-3.11fatar=$fadir.tar.gzfcdir=表格Calc-9.9fctar=$fcdir.tar.gzltdir=循环工具-2.16lttar=$ltdir.tar.gzcwd=“`pwd`”id=`id-u`system=“`uname-s`”#取消设置http_proxydltool(){wget=“curl--location--remote-name--user-agent FeynInstall”$wget--版本>/dev/null 2>&1&&returnwget=“wget--用户代理FeynInstall”$wget--版本>/dev/null 2>&1&&returnecho“请安装curl或wget”出口1}dltool工具askFeynArts=:askFormCalc=:askLoopTools=:feyninstall(){eval“询问$1=‘询问$1’”make-f->install.log-$1&&echo“$1安装成功”||echo“安装错误,请检查install.log-$1”}echo“在$cwd/FeynArts中安装FeynArts?”阅读yesno案例“$yesno”[年]*)feyninstall FeynArts<<_EOF_InstallFeynArts:@echo“…正在下载$fatar”1>&2$wget美元网址:http://feynarts.de/$fatar 2>&1rm-fr$法迪尔@echo“…正在解压缩tar文件”1>和2gunzip-c$fatar|tar xf-rm-f费恩艺术ln-s$fadir FeynArts公司rm-f$fatar@echo“…done”1>&2_电动势_;;欧洲安全理事会echo“”echo“在$cwd/LoopTools中安装LoopTools?”阅读yesno案例“$yesno”[年]*)feyninstall循环工具<<_EOF_InstallLoopTools:@echo“…正在下载$lttar”1>&2$wget(美元)http://feynarts.de/looptools/$lttar 2>&1rm-fr$ltdir@echo“…正在解压缩tar文件”1>&2gunzip-c$lttar|tar xf-@echo“…编译”1>&2(cd$ltdir&&./configure&&\$(MAKE)默认安装清理)2>&1(cd$ltdir&&./configure--quad&&\$(MAKE)默认安装清理)2>&1rm-f循环工具ln-s$ltdir循环工具rm-f$lttar@echo“…done”1>&2_电动势_;;欧洲安全理事会echo“”echo“在$cwd/FormCalc中安装FormCalc?”阅读yesno案例“$yesno”[年]*)feyninstall表单计算<<_EOF_InstallFormCalc:@echo“…正在下载$fctar”1>&2$wget(美元)http://feynarts.de/formcalc/$fctar 2>&1rm-fr$fcdir@echo“…正在解压缩tar文件”1>&2gunzip-c$fctar|tar xf-rm-f FormCalcln-s$fcdir表单计算@echo“…编译”1>&2cd$fcdir&&/编译2>&1rm-f$fctar@echo“…done”1>和2_电动势_;;欧洲安全理事会echo“”mathcmd=数学shopt-s nullglob>/dev/null 2>&1套--中的案例“$系统”达尔文)mathcmd=数学内核集合--/Applications/Mathematica*/Contents/MacOS\“$HOME”/桌面/Mathematica*/目录/MacOS;;CYG*)w64=“`cygpath-u”${ProgramW6432:-/cygdrive/c/Program Files}“`”w32=“`cygpath-u”${PROGRAMFILES:-/cygdrive/c/Program Files(x86)}“”eval集合--`ls-tdQ{“$w64”,“$w32”}/“Wolfram Research”/Mathematica/*`;;欧洲安全理事会mathcmd=“`IFS=:PATH=“$PATH:$*”其中$mathcmd`“if“$mathcmd”-run“打印[7 673];退出”</dev/null|grep 4711>/dev/nurl;然后eval--`“$mathcmd”-run'路径[$Failed]=“”;路径[file_]:=文件信息[file][[1,2];打印[“pathFeynArts=\”“<>path[System\`Private\`FindFile[”FeynArts\`“]]<>”“];打印[“pathFormCalc=\”“<>path[System\`Private\`FindFile[”FormCalc\`“]]<>”\“”];打印[“pathLoopTools=\”“<>path[System\`Private\`FindFile[”LoopTools“]]<>”\“”];退出[]'</dev/null|tail-3|tr'\r''`ask(){dir=“$cwd/$5”测试“$dir/$3”-ef“$4”&&returnecho“是否要将$dir添加到Mathematica的\$Path,”echo“这样$1可以只加载'$2'?”阅读yesno案例“$yesno”[年]*)案例“$system”CYG*)printf-v dir“%q”“`cygpath-w”$dir“`”;;#注意:cygpath还将规范化目录,即指向#版本目录,而不是符号链接。这是无可奈何的,#然而,由于Mathematica是一个非Cygwin程序#了解Cygwin的符号链接。欧洲安全理事会mmapath=“$mmapath,\”$dir \“”;;欧洲安全理事会echo“”}$askFeynArts'<<FeynArts\'FeynArts.m“$pathFeynArts”费恩艺术$askFormCalc“<<FormCalc`”FormCalc.m“$pathFormCalc”FormCalc$askLoopTools'Install[“LoopTools”]'LoopTools.“$pathLoopTools-”LoopTools/*/bintest-n“$mmapath”&&“$mathcmd”-run“mmapath={0$mmapath}”-rune'prefdir=ToFileName[$PreferencesDirectory,“内核”];如果[FileType[prefdir]===None,则CreateDirectory[prefdir]];hh=OpenAppend[ToFileName[prefdir,“init.m”]];WriteString[hh,“\n”];块[{home=ToFileName[$HomeDirectory],$HomeDirectory,ToFileName},ToFileName[s_]:=s;SetAttributes[Write,HoldRest];写入[hh,$Path=加入[#,$Path]]和[ToFileName@@@StringSplit[Rest[mmapath],home->$HomeDirectory]]];打印[“已修改”,关闭[hh]];退出[]'</dev/null|tail-1其他的echo“无法运行Mathematica(许可证问题?)。”echo“跳过\$Path的修改。”fi(菲涅耳)猫<<\_EOF_-------------------------------------------------------------------感谢您使用FeynArts、FormCalc和LoopTools。如果你发现任何错误,或想提出建议,或只是写粉丝来信,寄给托马斯·哈恩.考虑到已经投入和仍在投入的人力开发这些包,您引用如果使用FeynArts、FormCalc或LoopTools,请遵循以下引用要生成已发布的结果:费恩艺术3:T.Hahn,计算。物理学。Commun公司。140 (2001) 418[hep-ph/0012260]FeynArts的MSSM模型文件:T.Hahn,C.Schappacher,计算机。物理学。Commun公司。143 (2002) 54[hep-ph/0105349]包括反术语:T.Fritzsche、T.Hahn、S.Heinemeyer、H.Rzehak、C.Schappacher、,计算。物理学。Commun公司。185(2014)1529[arXiv:1309.1692]FormCalc和循环工具:T.Hahn,M.Perez-Victoria,计算机。物理学。Commun公司。118(1999)153[hep-ph/9807565]_电动势_