请问OpenFOAM中如何在入口添加边界层厚度
-
关于你的第2个方法,profile是指速度分布么?OpenFOAM我知道有两种方法实现。1、用codedFixedValue。这个类似于FLUENT里面的DEFINE_PROFILE,但需要你最好给定一个profile的函数形式;2、用fixedValue。我的做法是先用writeCellCentres输出每个cell中心点的坐标,找到入口对应的那一部分,然后根据这些坐标算出来每个点的速度(如果速度是从实验结果来的,可能还需要一个简单的线性插值函数)。这时候fixedValue里面的value输入就应该变成 nonuniform List<vector>。你提到你在FLUENT里面也这样弄的,那这一部分应该没问题。
-
@cccrrryyy 老师您好,我觉得您的第二个方法能有帮助,而且从思路上我觉得是能实现的
但是老师我对于具体的操作方法还不太清楚,我想问一下老师说的Paraview里面的Cellcenters我会,但具体的writeCellCentres怎么实现,怎么输出我还是不太清楚,我想输出一个界面有U、T、k、omega这些参数然后再将它插值到进口面,这个过程我还打算修改其X坐标为0(为了与进口匹配),同时关于0文件的里面inlet的设置该用什么边界条件具体什么格式我还不知道,有点手足无措的感觉,UserGuide上面讲解的也很粗造,不知道具体该怎么设置,想向老师请教一下老师具体是怎么实现的?谢谢老师~ -
@疾风GAVIN writeCellCentres是在算例路径下直接运行的命令行,输出结果在0文件夹下。一共4个文件,3个文件分别是每个cell中心点的3个方向的坐标,另外1个是cell的体积。每个文件的格式和FOAM那些场量的格式是一样的,也分为internalField和boundaryField,你需要的就是把boundaryField里面你关心的某个边界的坐标复制出来(就按照它原始的顺序,顺序千万不要弄乱了)。
我一般的做法是,弄出坐标来之后用MATLAB(或者别的啥软件)运行个简单的程序得到每个cell对应的速度值(函数形式或者插值什么的),按照FOAM要求的格式弄好再弄到速度的边界条件里。
-
@cccrrryyy 老师,我这里为什么 会显示 symbol lookup error呀
jifeng@jifeng-GL552VW:~/OpenFOAM/jifeng-6/yinJun/yinJun_2$ writeCellCentres writeCellCentres: symbol lookup error: writeCellCentres: undefined symbol: _ZNK4Foam11regIOobject11writeObjectENS_8IOstream12streamFormatENS1_13versionNumberENS1_15compressionTypeE
-
谢谢老师前面的讲解,但我按照顺序给0文件夹中的各个参数的进口赋值了nonuniform List<scalar>和nonuniform List<vector>的边界条件,但我在运行和时候出现了以下错误:
--> FOAM FATAL IO ERROR: Expected a ')' while reading binaryBlock, found on line 21 the doubleScalar 4.7 file: /home/jifeng/OpenFOAM/jifeng-6/GraduateDesign/Straight_20_0_200_0.98U1BL/0/p at line 21. From function Foam::Istream& Foam::Istream::readEnd(const char*) in file db/IOstreams/IOstreams/Istream.C at line 109. FOAM exiting
我参考了tutorials中用到同样设置的0文件夹,我没有找到设置的不正确的地方,下面是我的p文件:
FoamFile { version 2.0; format binary; arch "LSB;label=32;scalar=64"; class volScalarField; location "0"; object p; } dimensions [1 -1 -2 0 0 0 0]; internalField uniform 100000.0; boundaryField { inlet { type fixedValue; value nonuniform List<scalar> 59 ( 105559.3 106142.5 102728.5 104058.5 105988.4 104673.2 104496.1 104798.2 104722 104710.9 104719.2 104720.1 104730.8 104733.2 104734 104727.2 104725.6 104750.9 104773.8 104843.1 104878.7 104986.6 105056.3 105129.8 105207.8 105255.9 105315.9 105348.5 105349.4 105378.3 105346.6 105345.5 105313.3 105254.7 105207.5 105124.8 105053.1 105003.3 104907.8 104863.5 104812.3 104775 104754.5 104753.6 104754.6 104755.9 104752.2 104744.7 104736.2 104719.5 104742.3 104709.9 104497.9 105188.1 105279 103137.2 104778 106991.6 103429.3 ) ; } outlet { type waveTransmissive; field p; psi thermo:psi; gamma 1.4; fieldInf 100000.0; lInf 1; value uniform 100000; } wall { type zeroGradient; } frontAndBackPlanes { type empty; } }
我并没有发现和tutorials里面不一样的地方,希望大家能帮我看一下原因,谢谢
-
@东岳 不算是风场吧,是超声速管流,因为我模型前面还有很长一段模型,但前面的部分我不关注,并且为了节省计算资源,我就先算好前面这一步的出口,然后赋值给我这部分的出口,以后不同的工况都直接用这个边界层进口就可以了,也不需要每次都算前面一部分,这是我的本科毕设,先算直管道,再算一定曲率的和变截面的管道,后面再算一些比较成熟的工程模型,从二维到三维。我现在用的用的求解器是rhoCentralFoam,湍流模型是komegaSST,但我发现算出来的的结果和Fluent的差距有点大,一直在调试,现在能算出边界层,但感觉不是很理想。昨天看了老师的rhoCentralFoam解析,发现rhoCentralFoam是很适合于求解超声速可压缩流体的,但还是没有调试好,我这边有一些算好的结果,要是要是有空的话,我可以发给老师老师帮我参考一下~