关于wedge边界的使用
-
@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让我想起了普罗米修斯
-
@prometheus10 谢谢,把区域选好了就直接在终端里输入topoSet,是吧,不用其他的操作了吧
-
@prometheus10 你好,用box加密成功了,也能算了,但是结果中出现这种啮齿状的:
这样太丑了,我觉得是网格问题,所以在同一个区域有加密了一次,出现了这样的网格:
这里请教大佬两个问题:1.这种啮齿状是不是网格的问题。2.加密两次出现这种网格,怎么让他更好看。 -
@prometheus10 就是先blockMesh,topoSet,两次refineMesh,然后setfields,之后就并行算了用的compressibleInterFoam。
topoSetDict如下
actions ( { name c0; type cellSet; action new; source boxToCell; sourceInfo { box (0 -0.015 0.008) (0.005 0.015 0.015); } } );
refineMeshDict如下
set c0; coordinateSystem global; globalCoeffs { e1 (1 0 0); e2 (0 1 0); e3 (0 0 1); } directions (e1 e3); useHexTopology yes; geometricCut no; writeMesh no;
-
@韬智tz
我手里有个现成的一个topsetDict,具体的各行作用暂时回答不上,要不你先试一下:set c0; coordinateSystem global; globalCoeffs { tan1 ( 1 0 0 ); tan2 ( 0 1 0 ); } patchLocalCoeffs { patch outside; // Normal direction is facenormal of zero'th face of patch tan1 (1 0 0); tan1 (0 0 1); } directions ( tan1 normal ); useHexTopology yes; geometricCut no; writeMesh no;