Skip to content

OpenFOAM

OpenFOAM交流区

4.8k 主题 28.5k 帖子
  • 三维大变形,想用IBM,纠结要不要用openfoam

    3
    3 帖子
    4k 浏览
    李东岳

    如果你完全没用过OpenFOAM,并且正在考虑,就很难办了。一般新手入行OpenFOAM,很多都是选择OpenFOAM-学习OpenFOAM-放弃OpenFOAM这个过程。

  • compressibleInterFoam中的压力方程如何推导?

    4
    4 帖子
    4k 浏览
    李东岳

    http://www.sciencedirect.com/science/article/pii/S0009250917305444

    2.3节,其中方程24的最后一项对应p_rghEqnComp1和p_rghEqnComp2,只不过VOF里面求解的是p_rgh,你知道的。

  • 14 帖子
    11k 浏览
    李东岳

    其他你的理解大体正确,·volScalarField和scalarField的区别仅仅在于volScalarField附加了边界的信息,scalarField`只是网格点的信息不包含边界。

  • 如何将dimensionedScalar 转化为volScalarField?

    8
    8 帖子
    7k 浏览
    李东岳

    mesh.V()的单位是m³

  • 2 帖子
    2k 浏览
    J

    关于cmake仍然是旧版:
    在~/.bashrc 里面为cmake添加过类似于export PATH=$HOME/OpenFOAM/platforms/linux64Gcc/cmake-2.8.8/bin:$PATH的命令了吗?添加之后source ~/.bashrc了吗?

  • 7 帖子
    6k 浏览

    @Jacobian 非常感激您的帮助,好人一生平安!

  • 3 帖子
    3k 浏览
    J

    @李东岳 好的 谢谢东岳老师

  • 5 帖子
    6k 浏览
    X

    @hurricane007 Thanks very much!

  • 请问paraview可以改变结果的长宽比吗

    3
    3 帖子
    3k 浏览
    C

    @程迪 在 请问paraview可以改变结果的长宽比吗 中说:

    @CFDngu

    https://stackoverflow.com/a/35793646/4592964

    To do this you have to toggle the advanced properties, the small gear icon on the properties tab, look for "Scale" and choose each axis scale factor. Or you can simply use the properties search field (below the Apply button) and search "Scale" to show this property up.

    多谢!我去看一下

  • 关于unsteady rans

    1
    1 帖子
    2k 浏览
    N

    最近做LES sensitivity test,比如网格从十米到五米到三米到一米,什么时候结果不太变化了,这个时候我们可以说SGS模型成功模拟了亚网格湍流,然后突然想到一个关于urans的经典的问题,比如跑一个urans,然后把时间步调的很小,网格也足够细致,这样跑出来的到底是个什么东西?换句话说,ns方程有时间项,单方程,双方程模型里也都有时间项,足够小的时间步到底意味着什么?

  • forAll 起到什么作用呢?

    4
    4 帖子
    4k 浏览
    李东岳

    可以啊,Why not?

  • 1 帖子
    2k 浏览
    R

    snappyHexMesh为何怎么划分 还是会出现不均匀的错误网格?。快疯了 求解答下0_1503045662410_屏幕快照 2017-08-18 下午5.38.07.png !

    这个是snappyHexMeshDic

    castellatedMesh true; // make basic mesh ? snap true; // decide to snap back to surface ? addLayers true; // decide to add viscous layers ? geometry // Load in STL files here { inlet.stl {type triSurfaceMesh; name inlet;} outlet.stl {type triSurfaceMesh; name outlet;} part1.stl {type triSurfaceMesh; name part1;} part2.stl {type triSurfaceMesh; name part2;} volume.stl {type triSurfaceMesh; name volume;} }; castellatedMeshControls { maxLocalCells 1000000; //max cells per CPU core maxGlobalCells 2000000; //max cells to use before mesh deletion step minRefinementCells 0; //was 0 - zero means no bad cells are allowed during refinement stages maxLoadUnbalance 0.1; nCellsBetweenLevels 1; // expansion factor between each high & low refinement zone // Explicit feature edge refinement // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ features // taken from STL from each .eMesh file created by "SurfaceFeatureExtract" command ( {file "inlet.eMesh"; level 0;} {file "outlet.eMesh"; level 0;} {file "part1.eMesh"; level 0;} {file "part2.eMesh"; level 0;} ); // Surface based refinement // ~~~~~~~~~~~~~~~~~~~~~~~~ refinementSurfaces // Surface-wise min and max refinement level { inlet {level (0 0);} outlet {level (0 0);} part1 {level (0 0);} part2 {level (0 0);} } resolveFeatureAngle 80; // Resolve sharp angles // Default 30 refinementRegions // In descending levels of fine-ness {} // was ((0.001 4) (0.003 3) (0.01 2)) locationInMesh (0.01 0 0); //to decide which side of mesh to keep ** allowFreeStandingZoneFaces true; } // Settings for the snapping. snapControls { nSmoothPatch 3; tolerance 2.0; nSolveIter 30; nRelaxIter 5; nFeatureSnapIter 10; // default is 10 // New settings from openfoam 2.2 onwards for SHMesh implicitFeatureSnap false; // default is false - detects without doing surfaceFeatureExtract explicitFeatureSnap true; // default is true multiRegionFeatureSnap false; // deafault is false - detects features between multiple surfaces } addLayersControls //add the PATCH names from inside the STL file so STLpatchName_insideSTLName { relativeSizes false; // was true layers { } expansionRatio 1.3; finalLayerThickness 0.00016; //was 0.00016 minThickness 0.00008; //was 0.00008 nGrow 0; // was 1 // Advanced settings featureAngle 80; // was 70 //- When not to extrude surface. 0 is flat, 90 is right angle. nRelaxIter 3; //- Max# of snapping relaxation iter. Should stop before upon reaching a correct mesh. nSmoothSurfaceNormals 1; nSmoothNormals 3; nSmoothThickness 10; maxFaceThicknessRatio 0.5; maxThicknessToMedialRatio 0.3; thickness to medial distance is large minMedianAxisAngle 130; nBufferCellsNoExtrude 0; nLayerIter 50; } meshQualityControls { maxNonOrtho 65; maxBoundarySkewness 20; maxInternalSkewness 4; maxConcave 80; minFlatness 0.5; minVol 1e-13; minTetQuality 1e-9; minArea -1; minTwist 0.02; minDeterminant 0.001; minFaceWeight 0.02; minVolRatio 0.01; minTriangleTwist -1; // Advanced nSmoothScale 4; errorReduction 0.75; } // Advanced debug 0; mergeTolerance 1E-6;
  • multiphaseEulerFoam疑问……

    23
    23 帖子
    19k 浏览
    Z

    @李东岳 我模拟的是近场喷雾,燃油相体积分数肯定远远高于10%;喷雾和气穴的联系:气穴发生在喷嘴内部,研究气穴产生的蒸汽对喷雾破碎的影响;还请东岳大神简要指导MultiphaseEulerFoam调用气穴模型。谢谢!

  • compressibleInterFoam中压力方程求解出错

    3
    3 帖子
    3k 浏览

    @李东岳 东岳老师,我解决了这个问题,是由于我编写的公式中有一个分母为0的缘故,现已解决,谢谢老师。

  • 有关low Mach的疑问

    13
    13 帖子
    10k 浏览
    N

    @李东岳 @程迪 恶补了一下密度基,追问一个问题,为什么密度基解不可压的时候不准,为什么压力基解可压的时候不准,有没有什么相关的资料可以看的,只知道这两个不准是大家纷纷改进这两个方法的motivation。

  • OF中虚函数疑惑

    7
    7 帖子
    5k 浏览

    你要清楚你想实现的语义是什么,再去找具体的语言机制。

    虚函数的语义是多态,也就是你有一个基类的指针引用可以自动调用到实际子类的函数。

    纯虚函数的语义是一个接口。

    有纯虚函数的类是虚基类起的是定义调用接口的作用,同时虚基类不能实例化,对编程也是一种限制性保护。

    p.s.简单一点儿,都整成虚的也可以。调用开销通常没那么大。

  • noSlip边界速度不为0的问题

    18
    18 帖子
    12k 浏览

    @李东岳 东岳老师,我懂了。进入相应of的环境变量下,就能调用出相应版本的paraview了。谢谢东岳老师:happy:

  • 13 帖子
    12k 浏览

    @xiaofenger
    没人能保证新的比旧的精确效率高。。。可以跟踪一下github上代码相关的commit message.历史,可以看出它是怎么演进的。

  • 有关p_rgh

    1
    1 帖子
    2k 浏览
    李东岳

    有定义:
    \begin{equation}
    p_{\mathrm{rgh}}=p-\rho\mathbf{g}\cdot\mathbf{h}
    \end{equation}
    求散度:
    \begin{equation}
    \nabla p_{\mathrm{rgh}}=\nabla p-\nabla\left(\rho\mathbf{g}\cdot\mathbf{h}\right)
    \end{equation}
    \begin{equation}
    \nabla p_{\mathrm{rgh}}=\nabla p-\rho\nabla\left(\mathbf{g}\cdot\mathbf{h}\right)-
    \mathbf{g}\cdot\mathbf{h}\nabla\left(\rho\right)
    \end{equation}
    其中的gh可以化简,因为g为重力为已知的,点乘之后并求梯度为g:
    \begin{equation}
    \nabla\left(\mathbf{g}\cdot\mathbf{h}\right)=\mathbf{g}
    \end{equation}
    有问题可回帖

  • 关于并行计算的问题

    17
    17 帖子
    12k 浏览

    @李东岳
    NPC++没有提ldu结构,ldu结构reorder不减少matrix-vector product的操作次数。所以加速只可能来源于两点:更高的cache命中率(同样数量的操作,更快的执行速度)和更高的迭代效率(比如GS迭代,或许reorder之后的GS迭代矩阵的谱半径更小)。

    对于纯粹的Krylov型求解器应该只有第一点。