新手求问冲击波管喷出的低马赫数supersonic的 边界条件问题
-
压力设定请参考:
outflow { type waveTransmissive; value uniform 80000; //important for correct I/O field p; //the name of the field that we are working on gamma 1.4; //the ratio of specific heats phi phiv; //the name of the volumetric flux field ( or if you use the mass flux phi, it will be divided by rho) rho rho; //the name of the density field psi psi; //the name of the field that is the deriv. of density with respect to pressure lInf 0.05; //a measure of how far away the far-field condition should be fieldInf 80000; //the far-field value to be applied to p }
这是网上找到的,我没有用过。https://openfoamwiki.net/index.php/HowTo_Using_the_WaveTransmissive_Boundary_condition
U文件夹里的internalfield的值
表示内部场的速度
fvscheme 和fvsolutions用的tutorials 里面的sonic foam里shocktube的例子 但是算出来速度变化不随着时间推进而往前推进 不知道是不是时间步写错了(圆管直径3mm 网格用Gmesh 细化到0.1mm 速度600 时间步按公式算的1e-7)。
类似这种算的不对的问题,很难判断问题在哪 :expressionless:
-
谢谢李老师回复🙏
把p换成waveTransmissive的形式结果paraview还是空气不往前流动(只有inlet附近有速度tube其他地方没有速度变化)。
可能是fvscheme或者fvsolution里面设置出错。自己试了不下于100遍了。还是不行,可以帮忙检查下吗。。🙏fvscheme如下
ddtSchemes { default Euler; } gradSchemes { default Gauss linear; } divSchemes { default none; div(phi,U) Gauss limitedLinear 1; div(phi,e) Gauss limitedLinear 1; div(phi,K) Gauss limitedLinear 1; div(phiv,p) Gauss limitedLinear 1; div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; }
fvsolution 如下
solvers { "(p|rho)" { solver PCG; preconditioner DIC; tolerance 1e-6; relTol 0.01; } "(p|rho)Final" { $p; relTol 0; } "(U|e|k|nuTilda)" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-6; relTol 0.01; } "(U|e|k|nuTilda)Final" { $U; relTol 0; } } PIMPLE { momentumPredictor yes; nOuterCorrectors 3; nCorrectors 1; nNonOrthogonalCorrectors 0; pMinFactor 0.5; pMaxFactor 2.0; } }
comtroldic如下
application rhoPimpleFoam; startFrom latestTime; startTime 0; stopAt endTime; endTime 5e-6; deltaT 1e-7; writeControl timeStep; writeInterval 1; purgeWrite 0; writeFormat binary; writePrecision 6; //was 6 writeCompression off; timeFormat general; timePrecision 6; runTimeModifiable yes; }
-
@李东岳 感谢回复🙏 这个是tube的mesh https://pan.baidu.com/s/1miBVoeO
这个tube只是为了简便练习下用的 实际想做有个小的3mm长的inlet然后测冲击波从tube里刚喷出那段时间的密度计测,这个是模型的mesh https://pan.baidu.com/s/1cLIYzO谢谢李老师
-
你提供的算例无法运行,报错文件缺失:
dyfluid@dyfluid:~/桌面/tubecase/10$ ./Allrun Cloning resolved case from . Running blockMesh on /home/dyfluid/桌面/tubecase/10/resolved Running decomposePar on /home/dyfluid/桌面/tubecase/10/resolved --> FOAM FATAL ERROR: Cannot open file "system/decomposeParDict" From function int main(int, char**) in file foamDictionary.C at line 427. FOAM exiting Running sonicFoam in parallel on /home/dyfluid/桌面/tubecase/10/resolved using processes Cloning modelled case from . Running blockMesh on /home/dyfluid/桌面/tubecase/10/modelled Running decomposePar on /home/dyfluid/桌面/tubecase/10/modelled --> FOAM FATAL ERROR: Cannot open file "system/decomposeParDict" From function int main(int, char**) in file foamDictionary.C at line 427. FOAM exiting Running sonicFoam in parallel on /home/dyfluid/桌面/tubecase/10/modelled using processes line 0: warning: Cannot find or open file "resolved/postProcessing/probes/0/p" line 0: warning: Cannot find or open file "modelled/postProcessing/probes/0/p" line 0: No data in plot dyfluid@dyfluid:~/桌面/tubecase/10$
-
@李东岳 在 新手求问冲击波管喷出的低马赫数supersonic的 边界条件问题 中说:
Allrun
李老师,
感谢回复🙏
发的文件夹里面的Allrun,Allclean文件是之前tutorial里复制粘贴过来的,忘了给删掉所以不能用,我用的是Gmesh进行网格划分已经划分过了不需要再用blockMesh了,
另外算这个例子的时候感觉运算量没那么大就没有分cpu去算,所以没有设置decomposeParDict。我现在已经给您加上decomposerParDict文件了如果您想用的话改一下里面的cpu个数就行了,如果不用的话直接在终端输入sonicFoam应该就ok。
另外,我用的版本是openFoam Plus的mac版的,如果用什么格式不对的话,按照tutorial里的复制一下报错的地方应该就行。
下面是case的dropbox链接,
这个是sonicFoam https://www.dropbox.com/s/2t2rc8k3vnl9fqp/sonicFoam.zip?dl=0这个是rhoCentralFoam
https://www.dropbox.com/s/vzgr1r84fvxk1ts/rhoCentralFoam.zip?dl=0这两个例子离散格式和用的求解器不一样,这些求解器和离散格式 的意思还没有完全搞懂。。不知道是不是这里出的问题。求老师给看一下,什么样的离散格式和求解器才适合这个例子。
Ryo
-
@李东岳
谢谢李老师。还是跟之前一样的错误。。tube里面的气体不往前面流动。
这个是把网格换成六面体的case
sonicFoam
https://www.dropbox.com/s/bb0a0lmzb67h8o1/sonicFoam 3.zip?dl=0rhoCentralFoam
https://www.dropbox.com/s/m5ayc8xkdd9ffi4/rhoCentralFoam.zip?dl=0Ryo
-
感谢李老师回复!
用snappyHexMesh画六面体网格后发现问题解决了!!
但是还有个问题为什么画的网格感觉好多小的瑕疵。。。。而且这还是完全没有细化也没有添加layers的情况。。
还想请老师帮忙看下snappyHexMeshDic。
这个是snappyHexMeshDic:
https://www.dropbox.com/s/ehr4vknk6injnvr/snappyHexMeshDict?dl=0这个是case
https://www.dropbox.com/s/xzhhygrywtj3g2r/1.zip?dl=0Ryo