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目录:
然后我们打开该目录,会发现有多出了两个文件夹,分别名为Forces和forceCoeffs(是我们刚才在controlDict下面命名的)
其中Forces文件夹就包含着监测升力和阻力的数据,而forceCoeffs包含相关力的系数:
原视频下载地址为:https://yunpan.cn/cv2FtdIwUvsjT (提取码:9391)