Skip to content

OpenFOAM

OpenFOAM交流区

5.3k 主题 31.6k 帖子
  • 9 帖子
    7k 浏览
    上级

    @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 表示万分感谢。

  • time step continuity errors

    10
    10 帖子
    11k 浏览
    李东岳

    time step continuity error是正常的,表示连续性误差

  • 在质量守恒方程中添加源项对湍动能的影响

    12
    12 帖子
    9k 浏览
    C

    @cccrrryyy

    行我再考虑下,谢谢

  • CFDEM安装

    9
    9 帖子
    7k 浏览
    J

    @fubianhanshu My pleasure

  • 4 帖子
    4k 浏览
    S

    codeFixedValue

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

    1
    1 帖子
    1k 浏览
    wuyukaiW

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

  • 3 帖子
    3k 浏览
    strive_DUTS

    @东岳 我重新编译试过了,还是这个问题呢

  • 2 帖子
    2k 浏览
    李东岳

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

  • 网格整个运动的边界条件问题

    1
    1 帖子
    1k 浏览
    wuyukaiW

    运用pimpleFoam,求解一个平板的运动问题,想让整个网格一起运动,程序顺利运行了,但是结果明显是错误。猜测是边界条件设置的问题。想请教一下各位大佬,这种情况下,边界条件如何设置?或者是否有其他方面的问题。1.jpeg 2020-09-20 15-49-52 的屏幕截图.png2020-09-20 15-51-27 的屏幕截图.png 2020-09-20 15-51-23 的屏幕截图.png

  • paraview后处理的清晰度不够

    10
    10 帖子
    10k 浏览
    S

    @xpqiu 还真是,我用paraview5.6.3可以完美显示出来了

  • of 2006安装

    3
    3 帖子
    2k 浏览
    S

    @bestucan 看了官方的,主要就是怕需要一些依赖的包。。安装一下试试,看看新功能爽一下

  • pbm模型

    2
    2 帖子
    2k 浏览
    bestucanB

    何止有啊,简直一大堆,搜搜 OpenQBMM。:chigua:

  • 2 帖子
    2k 浏览
    F

    @胖小帅 速度是不是要设置成slip?你试试

  • 请问mesh.magSf() 怎么在内部网格使用呀

    3
    3 帖子
    2k 浏览
    C

    @东岳 李老师。我是要在壁面附近一层网格区域加源项,每个网格需要加的质量计算的公式,需要乘以壁面这个网格的面积,再除以网格的体积,请问我需要怎么写呀

  • Ubuntu18.04安装openfoam3.0.0报错

    3
    3 帖子
    3k 浏览

    @bestucan 感谢前辈的回复,目前问题已经解决:xinxin:

    在编译OpenFOAM之前,需要先编译ThirdParty,但OpenFOAM WiKi中的Ubuntu18.04版安装教程里面好像并没有“编译ThirdParty这一步”,希望以后大家注意吧

  • 小白对于openfoam k-epsilon湍流模型程序编写的困惑

    11
    11 帖子
    12k 浏览
    strive_DUTS

    @东岳 :xinxin: 谢李老师!

  • 求问一个公式在OpenFOAM中的表示方法?

    9
    9 帖子
    7k 浏览
    strive_DUTS

    @东岳 谢谢李老师!:ok:

  • 关于CreateTurbulenceFieldsLES疑问

    2
    2 帖子
    2k 浏览
    bestucanB

    箭头是对指针的成员的引用,找到这个类的定义:turbulenceModel.H

    epsilon()函数声明在205行,是个虚函数,所以在 turbulenceModel.C 里没有定义,而是在使用其作为模板创建新类的时候再各自定义

    在上面那个窗口里搜 epsilon() 函数:
    Screenshot from 2020-09-15 16-37-07.png

    看你的情况是用的哪种定义,其实里面 epsilon() 函数定义大差不差,
    你用的 LES,咋找上层流的了,你找的那个确实是层流的对于 epsilon() 的一个实现,在我发的那个图片里也有

    脉动速度都用上了,那应该不是层流了,速度分成脉动速度和平均速度这就是用了湍流模型了

  • 压力泊松方程中A和HbyA怎么说比较好

    4
    4 帖子
    4k 浏览
    S

    最近看了以下jasak的论文,找到了相关描述
    屏幕截图 2020-09-14 160918.jpg

  • 闲来无事,做一个Axial Mesh的教程吧

    6
    6 帖子
    8k 浏览
    Y

    @random_ran 这位大佬,我也尝试了您说的这个方法,是不是这样产生的网格都是大小一致的,没办法局部加密网格?