codedFixedValue边界条件编译成功,但没计算结果
-
我现在想在壁面处写一个速度的边界条件,具体表达式如下:
其中,k为湍动能,算好的值,被我放在0文件夹下;r为半径,不是算好的值,是目标算例计算过程中计算得到的值;n为表示速度的方向,就是壁面的法相方向向外。
我打算用codeFixedValue边界条件实现,然后下面是我写的代码,已经编译成功。INLET_WALL { type codedFixedValue; value uniform (0 0 0); name Fdc1; code #{ const fvPatch& boundaryPatch = patch(); const fvBoundaryMesh& boundaryMesh = boundaryPatch.boundaryMesh(); const fvMesh& mesh = boundaryMesh.mesh(); scalarField r = mesh.lookupObject<volScalarField>("r"); const volScalarField& k = mesh.lookupObject<volScalarField>("k"); const vectorField Cf=patch().Cf(); const vectorField a = patch().Sf()/mag(patch().Sf()); vectorField Fdc1(Cf.size()); forAll(Cf, faceI) { Fdc1[faceI]=(a[faceI]*0.01*0.3*4*k[faceI]*r[faceI])/(8e-7*pow(6,1.0/3)); } operator==(Fdc1); #}; }
问题是当我运行算例的时候,显示了使用了这个边界条件,但是计算结束后,我去找边界处速度的值,结果发现没有值,所以我感觉好像上面程序里面的运算好像没有进行一样,想让大家帮我看看我这个程序还有什么不对的地方吗?导致出现这种情况。