工作需要,直接导入了BEAMnrc的MLCE modules,结果在GUI中编译的时候,发现报告failure。即使是直接抄的pirs0509.pdf 中P189的参数也不灵。
不死心,直接到工作目录下make clean,make,发现虽然有warning,但可以编译成功,然后再GUI中运行也没有问题。
warning 信息是:
BEAM_UMCLINAC_i686-pc-linux-gnu-gfortran.F:35706.31:
TRANSLL(N)=((2*N-1)*-(SPACE_MLC/2.)*ZMIN_INPUT_MLC)/SSD_MLC
1
Warning: Extension: Unary operator following arithmetic operator (use parentheses) at (1)
BEAM_UMCLINAC_i686-pc-linux-gnu-gfortran.F:35713.34:
TRANSLL(N)=(2*N-1)*-(SPACE_MLC/2.)
1
Warning: Extension: Unary operator following arithmetic operator (use parentheses) at (1)
BEAM_UMCLINAC_i686-pc-linux-gnu-gfortran.F:35800.29:
ROTL=ATAN((2*N-1)*-(SPACE_MLC/2.)/SSD_MLC)
1
Warning: Extension: Unary operator following arithmetic operator (use parentheses) at (1)
理解应该是"*-"这个一元操作符有点小毛病,fortran看来确实有点不对,混乱了。
手动将\omega\beamnrc\CMs下的MLCE_cm.mortran 里面的三处"*-"全部改成"*(-1)"后,重新用GUI编译也就没有问题了
阅读(1271) | 评论(0) | 转发(0) |