force function 功能无法使用

Create time

Create dynamic mesh for time = 0

Selecting dynamicFvMesh dynamicMotionSolverFvMesh
Selecting motion solver: velocityLaplacian
Selecting motion diffusion: quadratic
Selecting motion diffusion: inverseDistance
 Reading stress mesh
Selecting incompressible transport model Newtonian
Selecting turbulence model type RASModel
Selecting RAS turbulence model kEpsilon
kEpsilonCoeffs
{
    Cmu             0.09;
    C1              1.44;
    C2              1.92;
    sigmaEps        1.3;
}

Creating traction displacement boundary conditions
Selecting rheology model linearElastic
Creating constitutive model
Selecting coupling scheme IQN-ILS

Starting time loop

Creating pointHistory function object.
History point ID: 929
History point coordinates: (-0.00012476207 0.0049472176 0.025)
Reference point coordinates: (0 0.005 0.025)
--> FOAM Warning : 
    From function void forces::read(const dictionary& dict)
    in file forces/forces.C at line 277
    Could not find U, p or rho in database.
    De-activating forces.
--> FOAM Warning : 
    From function void forces::read(const dictionary& dict)
    in file forces/forces.C at line 277
    Could not find U, p or rho in database.
    De-activating forces.

提示找不到 U, p, rho,需要在 forces 里面设置这几个变量的名称,比如:

   forces
   {
       type                forces;
       functionObjectLibs  ( "libforces.so" );
       outputControl       timeStep;
       outputInterval      1;
       patches             (interface);
       pName               p;          // 设置 p 变量名
       UName               U;          // 设置 U 变量名
       rhoName             rhoInf;     // 设置 rho 变量名
       log                 true;
       rhoInf              1000;
       CofR                (0.5 0.1 0);
   }

forceCoeffs 设置参考:

    forceCoeffsCyl
    {
        type forceCoeffs;       // 采样类型
        functionObjectLibs ("libforces.so");
        patches (patchnames);   // 采样的边界名
        pName p;                // 压力变量名
        Uname U;                // 速度变量名
        rhoName rhoInf;         // 密度变量名
        rhoInf 1.0;             // 参考密度
        //// Dump to file
        log true;
        CofR (0.0 0 0);         // 旋转中心
        liftDir (0 1 0);        // 升力方向
        dragDir (1 0 0);        // 阻力方向
        pitchAxis (0 0 1);      // 转动轴的方向
        magUInf 1.0;            // 来流速度
        lRef 1.0;               // 参考长度
        Aref 1.0;               // 参考面积 (2D)
        outputControl timeStep;
        outputInterval 1;
    }
Create extended GGI zone-to-zone interpolator
Checking fluid-to-solid face interpolator
--> FOAM Warning : 
    From function polyBoundaryMesh::patchSet(const wordList&)
    in file meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C at line 444
    Cannot find any patch names matching INTERFACE
--> FOAM Warning : 
    From function polyBoundaryMesh::patchSet(const wordList&)
    in file meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C at line 444
    Cannot find any patch names matching INTERFACE
--> FOAM Warning : 
    From function polyBoundaryMesh::patchSet(const wordList&)
    in file meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C at line 444
    Cannot find any patch names matching INTERFACE
Time = 0.00025

只是因为patch不对?参考密度需要改成文献中的吗?

要用你的 patch 名,那个只是一个示例。

参考密度要设成你的模型的呀

阻力方向如何确定,是否与升力为反方向

阻力和升力是垂直关系

参考面积和参考长度指的是?参考面积我用了二维平面的面积
还有升力系数的参考密度是固体的还是流体的?

看看这些系数都说了些什么?

C_d = \frac{2F_D}{\rho u^2 S}
C_L=\frac{2F_L}{\rho u^2 S}
C_M=\frac{2M}{\rho u^2 S l}

公式中, S 为迎风面积,在飞行计算中取的是机翼表面积, \rho 指的是流体密度, l 就是参考长度,对于机翼来说是取平均弦长。

针对你的问题,

  1. 参考长度须取管的长度
  2. 参考面积是管的径向投影面积

还有cofR 旋转中心是指的圆柱中心轴线把

是的,中心轴线 CofR