有关openfoam二次开发
-
将现有代码计算得到的力以动量源的形式带入到openfoam计算中。
蛋蛋考虑这一点。你现在的F代码是按照OpenFOAM格式输出的么?如果是的话可以把F做外挂库,在OpenFOAM运行的时候挂载F库,计算力之后写成OpenFOAM类似的格式,然后进入OpenFOAM计算。如果格式不统一,需要要么把你F计算的力转化为OpenFOAM格式,要么把OpenFOAM格式转换为F代码的格式。
或者,不考虑格式,硬交互(Brute-force)。比如一些F库可以求解矩阵特征值,在OpenFOAM直接把一些数据提取出来,硬生成一个矩阵,进入F库计算后返回。
你可以这样想:gnuplot用的是raw数据,在处理OpenFOAM结果的时候,OpenFOAM需要用postProcess命令把结果转换为gnuplot可读取的raw数据才能处理。你那面C和F的交互也一样。
-
我的F代码输入和输出都是个固定内容格式的txt文件。输入螺旋桨的几何特征型值表以及工况,最终拟定格式输出螺旋桨的定常或非定常性能。不是按照OpenFOAM的格式进行的输入输出。
有关李老师后面的内容,硬交互,我不是很理解。“在OpenFOAM直接把一些数据提取出来,硬生成一个矩阵,进入F库计算后返回”,这个过程,是不是等同于让C程序计算完后,将结果数据带入F之中?我想研究船桨干扰问题,船(C代码)和桨(F代码)两者是互相迭代的过程。这个迭代过程硬交互(Brute-force)能否实现自动,而不是完全孤立一般的手动迭代?@东岳
顺便,@队长别开枪 ,请您分享一下“编译成库然后调用”的经验。我在考虑生成什么样形式的库来调用,希望能够参考,谢谢~ -
有关李老师后面的内容,硬交互,我不是很理解。“在OpenFOAM直接把一些数据提取出来,硬生成一个矩阵,进入F库计算后返回”,这个过程,是不是等同于让C程序计算完后,将结果数据带入F之中?
是的
我的F代码输入和输出都是个固定内容格式的txt文件。输入螺旋桨的几何特征型值表以及工况,最终拟定格式输出螺旋桨的定常或非定常性能。不是按照OpenFOAM的格式进行的输入输出
我想研究船桨干扰问题,船(C代码)和桨(F代码)两者是互相迭代的过程。这个迭代过程硬交互(Brute-force)能否实现自动,而不是完全孤立一般的手动迭代?
看起来是可以的,你用F代码计算,后生成txt文件,然后通过C语言把txt文件内的数据写成OpenFOAM的格式,然后用OpenFOAM计算船的流场。
这样如何
另外我觉得你这个不是大问题,如果做上述对接操作,纯前端的活,不需要太久。