Skip to content
  • 气体密度如何更新?

    Algorithm
    3
    0 赞同
    3 帖子
    6k 浏览

    @赵一铭 整个程序我用的SIMPLE算法,所以连续性方程改成了压力修正方程来求解压力,不能直接求解出密度,怎么办?

  • 0 赞同
    2 帖子
    5k 浏览
    李东岳

    VOF+动网格是interDyMFoam,用这个求解器就行

  • 越多的网格得到越接近实验的解?

    Fluent
    12
    0 赞同
    12 帖子
    21k 浏览
    S

    @cfd-china 这是我的毕业课题:tongue_out:
    我采用了全六面体网格,起初本来打算学习OpenFOAM,但是编程基础不是很好,所以最后利用Fluent来计算。

    我现在做的模拟是根据一篇外文文献,里面有详细的几何模型数据,还有一些实验数据,文章实验数据中有8个值左右,但是实验值均在0.72浮动,没有多大变化,所以我先比较了其中一种情况。

    因为是毕业课题,所以担心被答辩老师质疑。比如网格不多时模拟的结果好,为什么要用网格多的来模拟。我就懵了:confused: 。(我的工科生,流体力学知识仅仅学过工程流体力学)

  • 关于气液两相流边界层y+的确定

    Algorithm
    2
    0 赞同
    2 帖子
    5k 浏览
    李东岳

    能否提供一个关于气液两相流关于y+的文献?可能研究侧重点不同,目前我关注的领域对y+要求不是很严格。

    一般情况下,多相流动湍流要依据连续相而定,因此我的回答是应该根据液体来算。在某些极端情况下,气体的湍流场可以认为和液相湍流场相同。

  • 0 赞同
    3 帖子
    5k 浏览

    @东岳 是的。单面打就基本不会卡纸,一旦要翻页的时候总有部分页面是弯曲的,就是这种弯曲导致的卡纸。
    字典用的那种纸确实很好,应该是很理想的种类了,能做到清晰度,重量和厚度的均衡

  • 0 赞同
    9 帖子
    10k 浏览
    上级

    @BlookCFD 谢谢您的指点,我有看了一眼程序,我理解错了,OF里面是通过计算barycentric displacement来获得barycentric coordinates的,我一直被src/lagrangian/basic/particle/particle.C里面的一句代码给误导了,现贴出来:

    particle.C 1062-1096 OpenFOAM6 void Foam::particle::correctAfterInteractionListReferral(const label celli) { // Get the position from the barycentric data const vector pos(coordinates_.b(), coordinates_.c(), coordinates_.d()); // Create some arbitrary topology for the supplied cell celli_ = celli; tetFacei_ = mesh_.cells()[celli_][0]; tetPti_ = 1; facei_ = -1; // Get the reverse transform and directly set the coordinates from the // position. This isn't likely to be correct; the particle is probably not // in this tet. It will, however, generate the correct vector when the // position method is called. A referred particle should never be tracked, // so this approximate topology is good enough. By using the nearby cell we // minimize the error associated with the incorrect topology. coordinates_ = barycentric(1, 0, 0, 0); if (mesh_.moving()) { Pair<vector> centre; FixedList<scalar, 4> detA; FixedList<barycentricTensor, 3> T; movingTetReverseTransform(0, centre, detA, T); coordinates_ += (pos - centre[0]) & T[0]/detA[0]; } else { vector centre; scalar detA; barycentricTensor T; stationaryTetReverseTransform(centre, detA, T); coordinates_ += (pos - centre) & T/detA; } }

    其中的这句代码

    coordinates_ += (pos - centre) & T/detA;

    其实前面已经先定义了

    coordinates_ = barycentric(1, 0, 0, 0);

    后面计算单点的barycentric coordinates其实还是用的barycentric displacement的概念来转换的。

    困扰了我两周的问题终于解决了,现在异常开心,在此对@东岳 和@BlookCFD 表示万分感谢。

  • 0 赞同
    1 帖子
    3k 浏览
    Y

    无意间发现这个帖子,里面提到了normal turbulent model,
    https://www.cfd-online.com/Forums/openfoam/125473-low-reynolds-turbulence-models.html

  • 淘书了!

    CFD彩虹条
    1
    0 赞同
    1 帖子
    3k 浏览
    李东岳

    淘书了!

    Macroscopic Transport Equations for Rarefied Gas Flows: Approximation Methods in Kinetic Theory

    Turbulence Modeling for CFD

  • 测试颜色

    CFD彩虹条
    2
    0 赞同
    2 帖子
    4k 浏览
    范准

    Colorful Fluid Dynamics

  • 0 赞同
    2 帖子
    3k 浏览
    李东岳

    就是从定义来求解,k还好说,epsilon和omega牵涉到一个特征长度的问题,这个取起来就不容易了,只能多调试。

  • 0 赞同
    4 帖子
    5k 浏览
    C

    或许可以将代码改为用不可压缩求解器求解的边界上的温度和导热率来获得,边界上的传热量。例如:

    if(db().foundObject<volScalarField>("T")) { const volScalarField& T = db().lookupObject<volScalarField>("T"); const fvPatchScalarField& Tp = T.boundaryField()[patchi]; qDot = kappa*Tp.snGrad(); }

    其中kappa需要根据你的物性和边界上的温度场来计算获得

  • checkMesh failed,求助

    Meshy
    6
    0 赞同
    6 帖子
    8k 浏览
    Y

    @东岳 老师,我重新画网格后,decomposePar经常会报错,但是不影响后面计算,没有查到原因0_1537492983872_0403f9aa-ee80-4134-a228-ac6289ba58de-image.png

  • 记录一些自己用过的代码

    OpenFOAM
    6
    0 赞同
    6 帖子
    11k 浏览
    同学博

    亲测实用:140:

  • 0 赞同
    2 帖子
    2k 浏览
    范准

    段文洋了解一下,世界第一款数值水池。

  • udf动网格壁面运动速度的问题

    Fluent
    7
    0 赞同
    7 帖子
    13k 浏览

    @硫酸亚铜 大神,又看到你了,我要膜拜你了。

  • LES和RANS在代码中实现过程是怎样的?

    Algorithm
    15
    0 赞同
    15 帖子
    27k 浏览

    @浪迹天大 是这样的,我最近也在读OpenFOAM中LES模型,发现Lund提到
    The nearly universal approach is to simply write down the filtered Navier-Stokes equations together with an assumed model for the subgrid-scale stresses and then apply the desired spatial discretization to this “filtered” system. Although it is rarely mentioned, what one is doing by adopting this procedure is to imagine that the finite support of the computational mesh together with the low-pass characteristics of the discrete differentiating operators act as an effective filter. One then directly associates the computed velocity field with the filtered velocity. This procedure will be referred to as implicit filtering since an explicit filtering operation never appears in the solution procedure.
    也就是说OpenFOAM程序除了动态模型外都没有对N-S方程进行显式的滤波操作,那么我们在方程植入中只要修改$\nu_{sgs}$就OK了,我在后面会做几个滤波函数的选择的对比,看看最后结果一样不一样

  • snappyHexMesh画内部网格

    Meshy
    6
    0 赞同
    6 帖子
    10k 浏览
    Z

    @chengan-wang 你好,请问你说少了一个定义是啥?我好像遇到了和你一样的问题,先谢谢啦。

  • 分块求助

    Meshy
    3
    0 赞同
    3 帖子
    6k 浏览
    潘大志

    看了一下你的模型,之所以你在相贯线处网格画不好,这主要问题在于你的几何模型——相贯线与底面相切,出现了三角区域。从而导致网格在该三角区域网格质量奇差无比。如下图所示

    该问题导致出现了如下问题:

    解决的办法是将底面拉伸一段距离,避免出现相贯线与底面相切即可,如下图所示
    0_1536142189833_4ccfa31a-f8b8-4435-87b6-c322423cd7e1-image.png
    如此,便可愉快的进行分块和关联
    0_1536142304777_9fb3a5ee-3695-47f4-971f-61fe9c119d23-image.png
    接着对其进行O型块划分
    0_1536142342178_11fb8b28-9d22-441a-978f-e0f2d4ed1c7c-image.png
    最终网格效果图如下
    0_1536142436479_986e33bd-8587-4ee0-a010-5f914675e718-image.png

  • 这个网格质量怎么样?

    Fluent
    2
    0 赞同
    2 帖子
    4k 浏览
    S

    挺好的,ratio很小了

  • 如何导入*.dat文件的网格

    OpenFOAM
    1
    0 赞同
    1 帖子
    2k 浏览
    wuyukaiW

    请问一下,有哪位大佬用过datToFoam这个命令吗,*.dat文件需要写成什么格式呢?