OpenFOAM当中监测力和阻力系数

首先准备好我们自己的平常算例文件,本次我们以圆柱绕流的算例来说明用法

 

我们找到constant文件夹

 

打开其中的transportProperties文件

 

我们将其中的:

nu              [0 2 -1 0 0 0 0] 0.01;

修改为:

nu              nu [0 2 -1 0 0 0 0] 0.01;

的形式,然后保存

接下来我们找到system目录并打开

 

打开其中的controlDict文件

 

在文件后面追加一下语句(每条语句的含义见语句后面的注释)

functions

{

     //力的输出

     Forces

     {

         type forces; //名称

         functionObjectLibs ("libforces.so"); //包含共享库

         patches (CYLINDER); //此处填写需要监测的边界名称,如果有多个边界采用(patch1 patch2 ...)的形式

         log true; //选择是否输出log文件,这里我们输出,其实影响不大

         rho rhoInf; //参考密度,对于不可压问题,直接填写流体的密度即可

         rhoInf 0.001; //这里填写流体密度的数值

         CofR (0 0 0);

         liftDir (0 1 0); //升力的方向

         dragDir (1 0 0); //阻力方向

         writeControl    timeStep; //按照timeStep的方式输出,其他形式,请参考OpenFOAM用户手册

         writeInterval   5; //间隔我们设置每5步输出一次

     }

 

     //阻力系数的输出

     forceCoeffs

     {

         type forceCoeffs; //名称

         functionObjectLibs ("libforces.so"); //包含共享库

         patches (CYLINDER); //此处填写需要监测的边界名称,如果有多个边界采用(patch1 patch2 ...)的形式

         log true; //选择是否输出log文件,这里我们输出,其实影响不大

         rho rhoInf; //参考密度,对于不可压问题,直接填写流体的密度即可

         rhoInf 0.001; //这里填写流体密度的数值

         CofR (0 0 0);

         liftDir (0 1 0); //升力的方向

         dragDir (1 0 0); //阻力方向

         pitchAxis (0 0 1);

         magUInf 1; //参考速度

         lRef 2; //参考长度

         Aref 3.14; //参考面积

         writeControl    timeStep; //按照timeStep的方式输出,其他形式,请参考

OpenFOAM用户手册

         writeInterval   5; //间隔我们设置每5步输出一次

     }

};

到这里修改文件的配置就算是结束了,接下来我们按照正常流程开始求解,本次我们用icoFoam求解器,输入命令:

icoFoam | tee log

 

在算例的目录下我们可以看到多出了一个目录postProcessing目录:

 

然后我们打开该目录,会发现有多出了两个文件夹,分别名为ForcesforceCoeffs(是我们刚才在controlDict下面命名的)

其中Forces文件夹就包含着监测升力和阻力的数据,而forceCoeffs包含相关力的系数:

 

原视频下载地址为:https://yunpan.cn/cv2FtdIwUvsjT (提取码:9391)

posted @ 2016-10-17 01:26  硫酸亚铜  阅读(5519)  评论(2编辑  收藏  举报