输出particle坐标按时间排序到指定文本下
-
DPMFoam中将是不是可以实现颗粒位置信息按照时间顺序输出到postProcessing中的一个文本中?正常情况颗粒位置是保存在每个输出的时间步文件夹下有positions文本中的,我计算颗粒比较少,想要输出颗粒连续时间的位置,若是是每个时间步保存文件大小太大,且后期通过shell脚本遍历每个结果路径下的positions内容写入单独文本中比较麻烦。是不可以改写src/lagrangian/basic/IOPosition中的远程序实现,不知道具体怎么改,有前辈可以指点下吗?
-
@fubianhanshu
你是要追踪每个parcel 然后画出路径呗?
可以试试下面的方法,没试过,但是流沙大佬的应该还行吧。
https://mp.weixin.qq.com/s/DKQciTqFnR7JYgQUh4agmQ -
此回复已被删除!
-
@星星星星晴 谢谢哈,这个昨天我也看到了,我再看看他的这个实现思路。另外应该还有两种思路,一是:src/functioObjects/lagrangian/cloudInfo可以在计算过程总输出颗粒质量随时间的文本信息(这正是我想实现的效果),应该也可以将particle的坐标输出的程序代码到这里新建类,但是对于底层代码理解的不透,尝试了还没编译通。二是:至少v1706版本以后的functionObject/field/中都有particleDistribution库函数,也可以将它改写到of版本里实现,这个工作应该更大些,涉及太多的依赖头文件和关键字写法的不一样。
-
@fubianhanshu 只要function的名字一样,引用一样,直接copycode过去的 加入都在postmove,v1706可以尝试把code 转到of9 的postmove里面,一点一点来。
搞of要有耐心~~
祝好运 -
@fubianhanshu
在particleIO.C下添加一行代码,注释原先的输出可以输出颗粒全局坐标。os << position() << token::SPACE << celli_;
先采用最笨的方法,把保存时间步设置小,遍历读取坐标,其他的再慢慢实现,看着lagrangian粒子程序太复杂了