OpenFOAM中文件注释-controlDict

lxz 59 0

这里写一下controlDict文件的注释,便于以后进行参考[aru_1]
真实目的是好不容易整得明明白白得了,发出来得瑟一下[aru_36]

ConrtolDict

 application     pimpleFoam;     //这是求解器的名称,在终端输入对应的名称即可求解
     
 startFrom       startTime;      //开始的时间,
 
 startTime       0;              //从0开始
 
 stopAt          endTime;        //结束的时间
 
 endTime         160;            //这里设置了一个160s
 
 deltaT          0.001;          //时间步长,这里的时间步长为0.001s
 
 writeControl    adjustableRunTime;      //这里是控制向文本文件写入的频率,配合下方的0.5,即数据是每隔0.5s
 writeInterval   0.5;                    //写入一次
 
 //其实这还有另外一种写法
 //writeControl    timeStep;             //表示200个时间步长写入依次文件,即200*0.001 = 0.2s写入一次文件
 //writeInterval   200;                  //为什么不用这个呢?涉及到后面时间步的自动调整,导致写入时间乱掉,于是采用的上方的以规定的时间写入
 
 
 purgeWrite      0;              //写入的过程是否覆盖,0表示不覆盖
 
 writeFormat     ascii;          //写入的格式
 
 writePrecision  8;              //写入的精度,保留小数点后六位
 
 writeCompression off;           //对写入的数据不进行压缩
 
 timeFormat      general;        //时间的格式,指数小于-4的用科学计数法,大于-4的用小数
 
 timePrecision   6;              //时间的精度
 
 runTimeModifiable true;         //在求解过程中是否允许修改以上参数
 
 adjustTimeStep  yes;            //自动调整时间步长
 
 maxCo           0.5;            //最大的库朗数
 maxDeltaT       0.01;           //最大的时间步长
 // 可通过库朗数来自动调整时间步长,使得计算的精度得到保证

升阻力系数计算-----这是基金会版本的,即.org网站后缀的OpenFOAM
我使用的是圆柱绕流的例子,由于是二维算例
参考长度 = 圆柱的直径D
参考面积 = 圆柱直径D乘z方向的距离,这里是1,是我自己设置为1的
使用命令为:fluentMeshToFoam fluent.msh -2D 1

 // 在constrolDict文件的末尾增加一下内容
 functions
 {
     #include "forceCoeffsIncompressible"
 };
 // 新增一个文件,文件名为foreCoeffsIncompressible,其内容如下
 
 forceCoeffs_object
 {
     type        forceCoeffs;
     libs        ("libforces.so");
 
     log         yes;
     patches     (CIRCLE);
     
     writeControl   adjustableRunTime;
     writeInterval  0.005;
     
     liftDir     (0 1 0);
     dragDir     (1 0 0);
     CofR        (0 0 0); //这是原点所在的位置
     pitchAxis   (0 0 1);
 
     rho         rhoInf;        // Indicates incompressible
     rhoInf      998.2;
     magUInf     0.1028544;        // reference velocity
     lRef        0.0381;
     Aref        0.0381;
 }
 
 
 forces_object
 {
     type        forces;
     libs        ("libforces.so");
 
     log         yes;        // dump to file
     patches     (CIRCLE);
     
     writeControl   adjustableRunTime;
     writeInterval  0.005;
     
     rho rhoInf;
     rhoInf 998.2;
     
     liftDir (0 1 0);
     dragDir (1 0 0);
     CofR        (0 0 0); //这是原点所在的位置
     pitchAxis   (0 0 1);    
 }
 
 
 yPlus_object
 {
     type        yPlus;
     libs        ("libfieldFunctionObjects.so");
     
     patches     (CIRCLE);
 //    log         true;
     writeControl outputTime;
 }
 
 
 // rhoInf - reference density
 // CofR - Centre of rotation
 // dragDir - Direction of drag coefficient
 // liftDir - Direction of lift coefficient
 // pitchAxis - Pitching moment axis
 // magUinf - free stream velocity magnitude
 // lRef - reference length
 // Aref - reference area

注意的地方

openfoam计算的升力和阻力,分为压力引起的和粘滞力引起的,如果是先计算升阻力,再通过阻力计算对应的阻力系数时,需要将其加上

若只计算压力引起的阻力,进而计算对用的阻力系数,就会发现这时的阻力系数和直接计算的阻力系数对不上[aru_43]

发表评论 取消回复
表情 图片 链接 代码

分享