COMSOL-save data to file using accumalated probe table

上篇blog我们介绍了怎么利用sequence来导出数据。这篇blog提供了一个更简单的方法,利用accumulated probe table。

  1. 在definitions node下面添加一个global probe,并在表达式部分写上我们要计算的量


    comsol-accumalate-global_probe.png
  2. 然后在study node下的parametric sweep下,有一个output while solving,有一个probes,选中accumulated probe table

    comsol-accumalate-parametric.png

  1. 运行之后会发现在results node下的tables 部分多出了一个表格


    comsol-accumalate-results.png

    修改表格的storage位置,改为如下所示


    comsol-accumalate-tablestorage.png

    这样之后的计算数据都会保存在建立的csv文件中。经过多次尝试,发现没完成一次运算loop,新的数据就会append在表中。

注:更好的操作是先建立一个表格并选定存储位置,然后在步骤2选择output file时就把建立的表格选好

  1. 最后得到的数据格式如下所示:


    comsol-accumalate-dataformat.png

上述算法用COMSOL Desktp计算没有问题,但是当用Matlab 控制的时候出现了问题,导出的表格始终没有数据写入,而是只有表头。(待解决)

解决:这个可能是一个bug。要想解决这个问题,需要把store table 的on file改成in model,然后利用mphtable导出存储在in model里面的数据

str=mphtable(model,'tbl1');
S_data=str.data

注:用windows 的command line来运行mph文件可以在指定路径下生成数据文件
C:\Program Files\COMSOL\COMSOL52a\Multiphysics\bin\win64> comsolbatch -inputfile Model1.mph -outputfile Model1_solved.mph
但是当我们把mph文件提交到cluster上运行的时候,生成的文件还是只有表头没有数据(待解决)不过在cluster的用户文件夹下发现了一个没有表头的数据文件。

你可能感兴趣的:(COMSOL-save data to file using accumalated probe table)