interFoam: damBreakWithObstacle算例
算例位置
$FOAM_TUTPRIALS/multiphase/interFoam/laminar/damBreakWithObstacle
自适应网格
dynamicMeshDict
dynamicFvMesh dynamicRefineFvMesh;
// How often to refine 指定应执行网格加密的频率,可以认为该值越大,加密程度越高
refineInterval 1;
// Field to be refinement on
field alpha.water;
// Refine field inbetween lower..upper
lowerRefineLevel 0.001;
upperRefineLevel 0.999;
// If value < unrefineLevel unrefine 如果网格的加密值低于此阈值,则不会加密
unrefineLevel 10;
// Have slower than 2:1 refinement
// 加密网格与粗网格之间的缓冲层数,指定在进行下一级别的细化(或粗化)之前,网格必须保持多少层网格大小,典型范围是1-4
nBufferLayers 1;
// Refine cells only up to maxRefinement levels 网格加密的最大层数
maxRefinement 2;
// Stop refinement if maxCells reached 最大的网格数量,避免网格总数过于巨大导致内存爆炸
maxCells 200000;
// Flux field and corresponding velocity field. Fluxes on changed
// faces get recalculated by interpolating the velocity. Use 'none'
// on surfaceScalarFields that do not need to be reinterpolated.
// 需要校正的通量字段列表。 对于指定的通量场和相应的速度场。
// 通过对速度进行插值,重新计算在面上更新的通量。
// 对不需要重新插值的surfaceScalarFields上使用“ none”
correctFluxes
(
(phi none)
(nHatf none)
(rhoPhi none)
(alphaPhi0.water none)
(ghf none)
(alphaPhiUn none)
);
// Write the refinement level as a volScalarField
// 将网格加密的level输出为一个volScalarField
dumpLevel true;
对alpha.water
属于0.001到0.999区域进行网格加密
OpenFOAM自适应网格加密