关于wedge边界的使用
-
@xuhuashi blockMeshDict我这样设置的
convertToMeters 1; vertices ( (0 0 0) (0.02 0 0) (0.02 0.02 0) (0 0 0.02) (0.02 0 0.02) (0.02 0.02 0.02) ); blocks ( hex (0 1 2 3 0 5 6 3) (200 200 200) simpleGrading (1 1 1) ); boundary ( front { type wedge; faces ( (0 5 6 3) ); } back { type wedge; faces ( (0 3 2 1) ); } walls { type wall; faces ( (3 3 6 2) (2 6 5 1) (1 5 0 0) ); } left { type empty; faces ( (0 0 3 3) ); } );
0文件里面的alpha.water是这样设置的:
dimensions [0 0 0 0 0 0 0]; internalField uniform 0; boundaryField { back { type wedge; } front { $back; } walls { type zeroGradient; } defaultFaces { type empty; } left { type empty; } }
但是出现了这样的错误
大佬们帮我看看错误怎么解决,还有0文件里的alpha.water设置的对不对! -
@韬智tz 你的blockMeshDict编写有问题,可以参考这个
https://openfoamwiki.net/index.php/Main_ContribExamples/AxiSymmetric
或者你可以用blockMesh先生成三维的,再借助MakeAxialMesh工具转换成楔形网格:
https://openfoamwiki.net/index.php/Contrib/MakeAxialMesh -
@xuhuashi 谢谢大佬!5°的楔形体弄出来了,那在这个计算域中怎么设置气泡场呢?我的blockMeshDict里面是这样的
convertToMeters 1; vertices ( (0 0 0) (0.023725 0.001035 0) (0.023725 0.001035 0.03) (0 0 0.03) (0.023725 -0.001035 0) (0.023725 -0.001035 0.03) ); blocks ( hex (0 4 1 0 3 5 2 3) (19 1 300) simpleGrading (1 1 1) ); edges ( ); boundary ( front { type wedge; faces ( (0 1 2 3) ); } back { type wedge; faces ( (0 3 5 4) ); } walls { type wall; faces ( (1 4 5 2) (0 4 1 0) (3 5 2 3) ); } axis { type empty; faces ( (0 3 3 0) ); } ); mergePatchPairs ( );
setFieldsDict里面是这样的
defaultFieldValues ( volScalarFieldValue alpha.water 1 volScalarFieldValue p_rgh 1e5 volScalarFieldValue p 1e5 volScalarFieldValue T 300 ); regions ( sphereToCell { centre (0 0 0.015); radius 0.005; fieldValues ( volScalarFieldValue alpha.water 0 volScalarFieldValue p_rgh 1e6 volScalarFieldValue p 1e6 volScalarFieldValue T 578 ); } sphereToCell { centre (0 0 0.03); radius 0.005; fieldValues ( volScalarFieldValue alpha.water 0 volScalarFieldValue p_rgh 1e6 volScalarFieldValue p 1e volScalarFieldValue T 578 ); } boxToCell { box (0 0 0.03) (0.03 0.03 0.06); fieldValues ( volScalarFieldValue alpha.water 1 ); } );
但是后处理中alpha.water图
用contour截的图alpha.water 0.5的图是这样
。
这里没有气泡的形状了都,不知道哪儿错了,请大佬指点一下! -
@xuhuashi 大佬加密了网格,设置的气泡场形状可以了,但是用compressibleInterFoam算完之后出现了两个问题:
1.出现如图片所示的错误
2.就是算完之后没什么效果,就是气泡形状都没有变化。给您看下0文件里面的alpha.water文件怎么设置的,看下哪里设置错误了。dimensions [0 0 0 0 0 0 0]; internalField uniform 0; boundaryField { back { type wedge; } front { $back; } walls { type zeroGradient; } axis { type empty; } }
-
@xuhuashi 按您的解决办法我加密了网格(直接在blockMeshDict调x,z方向的网格数),没有解决。
松弛因子的话,我这个算例是OF自带的,fvSolution里面并没有设置relaxationFactor,是要在fvSolution里面加上松弛因子吗,我看tut里compressibleInterFoam那一类里面都设置为relaxationFactors { equations { ".*" 1; } }
这个我不确定,所以问问您。
由于是自带算例,离散格式是这样的,我也没改,您看怎么改能解决发散的问题呢。ddtSchemes { default Euler; } gradSchemes { default Gauss linear; } divSchemes { div(phi,alpha) Gauss interfaceCompression vanLeer 1; div(rhoPhi,U) Gauss upwind; div(rhoPhi,T) Gauss upwind; div(rhoPhi,K) Gauss upwind; div(phi,p) Gauss upwind; div(phi,k) Gauss upwind; div(((thermo:rho*nuEff)*dev2(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear uncorrected; } interpolationSchemes { default linear; } snGradSchemes { default uncorrected; }
-
@prometheus10 你的ID让我想起了普罗米修斯