我们实验室想尝试使用TOPAS批量精修原位XRD数据结果,顺序是先精修一个图谱(使用hkl+峰型),导出相应的INP文件,再编辑INP文件(修改衍射源文件地址,导出a、c,晶胞体积以及误差),再通过使用bat脚本文件,使用TOPas里面的TC程序,复制源文件和INP文件,输出,但是老是失败,是哪一步出了问题,代码是之前的博士留下来的,现在没人会,所以求助,谢谢。 问题一,怎么修改inp文件,按照留下来的程序是 xdd"D实验数据\sanyuan\insitu _ sanyuan_0.raw %这行也不知道是不是删除,没看明白。 RAW(Filename) out"D:实验数据\sanyuan(results. txt" append Out String("File: ") Out_String(Filename) 问题二,脚本文件问题, cd c: \ topas6 for /l %%i in(0,1,50) do( c:\topass\tc"D\实验数据\sanyuan\sanyuan"" macro Filename{ Insitu_sanyuan%%y copy"D\实验数据\sanyuan\sanyuan.out""D:实验数据\Sanyuan\sanyuan_%%i.out" copy"D\实验数据\sanyuan\sanyuan.out""D:实验数据\sanyuan\sanyuan.inp" ) pause 疑问就在于,明明选择的是hkl拟合(因为只根据位置和面积,精修晶胞参数),哪来的out文件,然后就是输出结果 |
iangie
第1楼2021/09/18
你这种用CMD调用TC.EXE的方法是TOPASV5以前的老方法
TOPAS v6 自带有num_runs 和 Run_Number关键字 可以一个inp执行num_runs遍. 只需要把Run_Number写进文件名里, 比你这种用CMD调用tc.exe快得多
> 代码是之前的博士留下来的,现在没人会
不知道是该吐槽老板没经验 还是你就这么放你师兄走了 只能说你们组没人会
>%这行也不知道是不是删除,没看明白。
这行是方便精修单个衍射数据的 batch运行的时候要注销掉
>疑问就在于,明明选择的是hkl拟合(因为只根据位置和面积,精修晶胞参数),哪来的out文件,然后就是输出结果
只要运行了tc.exe就会生成.out文件
你这么光描述问题没用 把数据和inp bat打包发上来 不然这么知道哪里少了分号........
Ins_8fab540d
第2楼2021/09/18
好的,十分谢谢回帖,我等下就把INP和BAT文件打包上传。