openfoam中通过precice耦合的流固耦合案例如何单独运行流体这样可以防止报错float exception
问题:
流体和固体一起运行,流体网格调到很细了,但是去掉decomposePar(去掉网格分解后),一直报错float exception
解决方法:
只运行流体,不让流体和固体耦合,这时候只需要注释掉controldict文件里面的下面几行
// preCICE_Adapter
// {
// type preciceAdapterFunctionObject;
// libs ("libpreciceAdapterFunctionObject.so");
// }
然后就可以取消流体和固体耦合,也就是只运行流体,这时候就算是很粗的网格,运行Fluid案例也不会报错。
错误尝试:
1.粗网格变成细网格,然后再去掉decomposePar,依旧报错float exception
2.设置mpirun为1,也会报错,直接去掉即可(要同时去掉system/decomposePar文件)
3.修改网格后会出现0时刻的几个变量shape不一样,这时候将不一样的1-2个变量删除就行,会自动生成
4.尝试将调试launch.json中"program": "/home/user/OpenFOAM/user-7/platforms/linux64GccDPInt32Opt/bin/myblastFoam",改为 "program": "/usr/bin/mpirun", ,但是这个可以运行和源代码一样,但是不会停在断点,相当于调试失效,搜了一下是因为program这个参数要用blasttFoam求解器才会正常调试,因为这个才是运行程序