Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. LES初始速度场设置和壁面函数设置

LES初始速度场设置和壁面函数设置

已定时 已固定 已锁定 已移动 OpenFOAM
68 帖子 7 发布者 136.0k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • H 离线
    H 离线
    hoversoar
    在 中回复了 李东岳 最后由 编辑
    #41

    @东岳
    上一个过渡性太大的例子算完了。
    又做了个过渡性比较好的case,不过表面带坑的圆柱算起来特别久。一个大概要20天,还在跑现在。
    prism的ratio取的1.3,然后减小了外面poly的尺寸(这样一来mesh数量会有增大很多),过渡率大概控制再2左右。
    ratio.JPG

    1 条回复 最后回复
  • H 离线
    H 离线
    hoversoar
    在 中回复了 cccrrryyy 最后由 编辑
    #42

    @cccrrryyy

    原来是ANSYS Meshing,近壁面是规整的四边型,然后五边型过渡,之后就是大量的六边型并掺杂一些不得不用的五边形。

    我是用ANSYS meshing生成的全都是棱柱tetra,然后用fluent转化成polymesh就是五边形六边形的样子, 再用fluent with meshing 导出msh文件。

    感觉四边型之后全部是三角形最好。不过这个可能不太会影响最终的结果,而且会让cell数量变大。

    确实三角形的网格数量会大大增加,所以采用了转化到多边形来减小网格数提高计算效率。之前可能没说清楚,这个算例不是二维的是三维的。之前的polymesh的图是从z轴看过去的样子,所以可能像2D。

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #43

    不过表面带坑的圆柱算起来特别久。一个大概要20天,还在跑现在。

    你这个多少网格?

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hoversoar
    在 中回复了 李东岳 最后由 编辑
    #44

    @东岳 poly的话四百多万,tetra一千二百万。
    因为坑的地方mesh尺寸很小,CFL数控制下的步长在-5次方量级。

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 hoversoar 最后由 编辑
    #45

    @hoversoar 嗯,确实,要解析这么小的坑很麻烦,跟高尔夫球一样。不过你这个挺有意思

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hoversoar
    在 中回复了 李东岳 最后由 编辑
    #46

    @东岳 把3D的图贴一下,这样比较直观。

    捕获.JPG
    如图1的样子,ratio 2-3的话,坑里放不下... 权衡之后取了1.3。
    多做了几个density box 逐渐扩大mesh的尺寸,在最靠近边界层的box尺寸取的比较小,来让过渡性处于2左右。

    因为计算时长较久,导致试错成本很高,也是一个大问题。

    李东岳李 1 条回复 最后回复
  • H 离线
    H 离线
    hoversoar
    在 中回复了 cccrrryyy 最后由 编辑
    #47

    @cccrrryyy

    感觉ANSYS Meshing的思路是尽可能缩小五边形所占的比例,从而大量使用六边形?

    这个倒是没有研究, 就让他自动转化了。个人觉得可能形状没有太拘泥,如果不是edge的处不能合并三角形的话,尽量会合并成多边形并且满足所设定的size(也就是不会合并到过分大)。

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 hoversoar 最后由 编辑
    #48

    @hoversoar

    因为计算时长较久,导致试错成本很高,也是一个大问题。

    对

    你这个网格处理的很精细 很厉害 :duang:

    你这个是工程导向还是纯科研?什么上面有这种特别圆的孔?

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hoversoar
    在 中回复了 李东岳 最后由 编辑
    #49

    @东岳 谢谢夸奖!
    算是基于工程的研究吧.. 桥索上用的

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 hoversoar 最后由 编辑
    #50

    @hoversoar 哇,三维的,这网格数量惊人啊。提炼工程问题确实容易这样,需要花很多时间在前处理上,求解器本身其实也不应该特别特别重要。从这个角度讲,感觉可能你需要的是花大量精力在网格上,而不是求解器的那些参数调整。
    你之前提到过跟现有文献对比,是哪个文章呀,挺感兴趣的。

    I don't want to survive, I want to thrive.

    H 1 条回复 最后回复
  • 羽之下羽 离线
    羽之下羽 离线
    羽之下
    在 中回复了 cccrrryyy 最后由 编辑
    #51

    @cccrrryyy 你好,你贴的这个参考资料好像打不开了,可以更新下链接吗,谢谢,最近也在看壁面函数的内容。

    高速旋转机械/旋风分离器/气固分离

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hoversoar
    在 中回复了 羽之下 最后由 编辑
    #52

    @羽之下 还可以打开链接啊。
    再贴一次。
    壁面函数

    1 条回复 最后回复
  • H 离线
    H 离线
    hoversoar
    在 中回复了 cccrrryyy 最后由 编辑
    #53

    @cccrrryyy

    从这个角度讲,感觉可能你需要的是花大量精力在网格上,而不是求解器的那些参数调整。

    之前几个月自己就一顿乱算,导致连光滑圆柱的结果都很奇怪。所以用那个简单的模型在探讨求解器,设置参数之类的。
    对得上了之后,再过来讨论这边这个圆柱的网格。

    你之前提到过跟现有文献对比,是哪个文章呀,挺感兴趣的。

    非光滑圆柱的话,参考的Experimental study on flow past a circular cylinder with rough surface这篇文献的。

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 hoversoar 最后由 编辑
    #54

    @hoversoar 好!谢谢

    I don't want to survive, I want to thrive.

    1 条回复 最后回复
  • H 离线
    H 离线
    hoversoar
    写于 最后由 编辑
    #55

    大家好,又有了新的困惑。
    我翻看教程的时候,发现pisofoam和pimplefoam里头LES案例的fvscheme 对流项设置有一些不同,觉得有点困惑。pimplefoam里头有一个B项,pisofoam里头则没有。
    pimplefoam/LES/channel395

    divSchemes
    {
        default         none;
        div(phi,U)      Gauss linear;
        div(phi,k)      Gauss limitedLinear 1;
        div(phi,B)      Gauss limitedLinear 1;
        div(B)          Gauss linear;
        div(phi,nuTilda) Gauss limitedLinear 1;
        div((nuEff*dev2(T(grad(U))))) Gauss linear;
    }
    

    pisofoam/LES/motobike:

    divSchemes
    {
        default         none;
        div(phi,U)      Gauss LUST unlimitedGrad(U);
        div(phi,k)      Gauss limitedLinear 1;
        div(phi,nuTilda) Gauss limitedLinear 1;
        div((nuEff*dev2(T(grad(U))))) Gauss linear;
    }
    

    查了下LES对应的B,RAS用的R,是雷诺应力张量的求解。那既然default都是none,按照user guide是要对每一项进行定义的,为什么pisofoam里头缺失了这一项呢?
    ps我看到我之前的case也都没写这一项,估计是直接复制了摩托车的代码。不知道这项是不是必须的?

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 hoversoar 最后由 编辑
    #56

    @hoversoar 说实话FOAM的tutorial里面的设置不太可靠,只能拿来做个参考。

    我看了pimpleFoam的这个算例,不太清楚具体是哪里用到了B,去掉的话可以算么?按道理说它用的是WALE模型,是个代数模型,不需要用方程去求解B才对。pisoFoam用的是SpalartAllmaras模型,不涉及到求解B,但要求解nuTilda。不太清楚为什么需要div(phi,k),可能这个去掉也可以算。

    这些设置我觉得主要是根据湍流模型的不同带来的,如果去掉某一个不能算我感觉重点可能在速度方程的turbulence->divDevReff(U)这一项里面,这个得去代码里面找了,不同版本好像还有点区别。

    I don't want to survive, I want to thrive.

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hoversoar
    在 中回复了 cccrrryyy 最后由 编辑
    #57

    @cccrrryyy 感谢解答。

    我看了pimpleFoam的这个算例,不太清楚具体是哪里用到了B,去掉的话可以算么?按道理说它用的是WALE模型,是个代数模型,不需要用方程去求解B才对。pisoFoam用的是SpalartAllmaras模型,不涉及到求解B,但要求解nuTilda。不太清楚为什么需要div(phi,k),可能这个去掉也可以算。

    pimpleFoam没有B项也是可以算的,我这期间就是没发现还有个这个就一直在算..所以才会疑惑。

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 hoversoar 最后由 编辑
    #58

    @hoversoar 怎么样,带坑的算了么。这种小尺度坑,感觉网格会特别多:135:

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hoversoar
    在 中回复了 李东岳 最后由 编辑
    #59

    @东岳 完全失败中...

    1 条回复 最后回复
  • H 离线
    H 离线
    hoversoar
    写于 最后由 编辑
    #60

    尝试把湍流模型从kEqn换成了dynamicKEqn,结果报了错。没看懂,有大佬能帮我解释一下吗..

    [10] #0  Foam::error::printStack(Foam::Ostream&)[12] #0  Foam::error::printStack(Foam::Ostream&)[13] #0  [7] #0  Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[3] #0  [11] #0  Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&) at ??:?
    [12] #1  Foam::sigFpe::sigHandler(int) at ??:?
     at ??:?
    [11] #1  Foam::sigFpe::sigHandler(int)[10] #1  Foam::sigFpe::sigHandler(int) at ??:?
    [3] #1  Foam::sigFpe::sigHandler(int) at ??:?
    [13] #1  Foam::sigFpe::sigHandler(int) at ??:?
    [7] #1  Foam::sigFpe::sigHandler(int) at ??:?
    [12] #2  ? at ??:?
    [3] #2  ? at ??:?
    [11] #2  ? at ??:?
    [10] #2  ? at ??:?
    [7] #2  ? in "/lib/x86_64-linux-gnu/libc.so.6"
    [12] #3  Foam::sqrt(Foam::Field<double>&, Foam::UList<double> const&) at ??:?
    [13] #2  ? in "/lib/x86_64-linux-gnu/libc.so.6"
     in "/lib/x86_64-linux-gnu/libc.so.6"
    [3] #3  Foam::sqrt(Foam::Field<double>&, Foam::UList<double> const&) in "/lib/x86_64-linux-gnu/libc.so.6"
    [10] #3  Foam::sqrt(Foam::Field<double>&, Foam::UList<double> const&)[7] #3  Foam::sqrt(Foam::Field<double>&, Foam::UList<double> const&) in "/lib/x86_64-linux-gnu/libc.so.6"
    [11] #3  Foam::sqrt(Foam::Field<double>&, Foam::UList<double> const&) in "/lib/x86_64-linux-gnu/libc.so.6"
    [13] #3  Foam::sqrt(Foam::Field<double>&, Foam::UList<double> const&) at ??:?
    [12] #4  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::sqrt<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    [3] #4  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::sqrt<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    [10] #4  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::sqrt<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    [7] #4  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::sqrt<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    [11] #4  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::sqrt<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    [12] #5  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::Ck(Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) const at ??:?
    [13] #4  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::sqrt<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    [3] #5  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::Ck(Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) const at ??:?
    [10] #5  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::Ck(Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) const at ??:?
    [11] #5  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::Ck(Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) const at ??:?
    [7] #5  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::Ck(Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) const at ??:?
    [12] #6  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correctNut(Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    [10] #6  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correctNut(Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    [13] #5  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::Ck(Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) const at ??:?
    [12] #7  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correctNut() at ??:?
    [3] #6  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correctNut(Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    [11] #6  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correctNut(Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    [7] #6  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correctNut(Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    [13] #6  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correctNut(Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    [12] #8   at ??:?
    [10] #7  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correctNut() at ??:?
    [11] #7  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correctNut() at ??:?
    [3] #7  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correctNut() at ??:?
    [7] #7  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correctNut()? at ??:?
    [13] #7  Foam::LESModels::dynamicKEqn<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correctNut() at ??:?
    [11] #8   at ??:?
    [12] #9  __libc_start_main at ??:?
    [10] #8   at ??:?
    [13] #8   at ??:?
    [7] #8   at ??:?
    [3] #8  ?? in "/lib/x86_64-linux-gnu/libc.so.6"
    [12] #10  ?? at ??:?
    [11] #9  __libc_start_main at ??:?
    [13] #9  __libc_start_main?? in "/lib/x86_64-linux-gnu/libc.so.6"
    [13] #10   in "/lib/x86_64-linux-gnu/libc.so.6"
    [11] #10   at ??:?
    [10] #9  __libc_start_main at ??:?
    [3] #9  __libc_start_main at ??:?
    [7] #9  __libc_start_main?? in "/lib/x86_64-linux-gnu/libc.so.6"
    [10] #10   at ??:?
    [DL-BoxII:41641] *** Process received signal ***
    [DL-BoxII:41641] Signal: Floating point exception (8)
    [DL-BoxII:41641] Signal code:  (-6)
    [DL-BoxII:41641] Failing at address: 0x3ea0000a2a9
    [DL-BoxII:41641] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x354b0)[0x2ad9e28f14b0]
    [DL-BoxII:41641] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x2ad9e28f1428]
    [DL-BoxII:41641] [ 2]  in "/lib/x86_64-linux-gnu/libc.so.6"
    [3] #10  /lib/x86_64-linux-gnu/libc.so.6(+0x354b0)[0x2ad9e28f14b0]
    [DL-BoxII:41641] [ 3] /opt/openfoam5/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam4sqrtERNS_5FieldIdEERKNS_5UListIdEE+0x28)[0x2ad9e1941728]
    [DL-BoxII:41641] [ 4] /opt/openfoam5/platforms/linux64GccDPInt32Opt/lib/libincompressibleTurbulenceModels.so(_ZN4Foam4sqrtINS_12fvPatchFieldENS_7volMeshEEENS_3tmpINS_14GeometricFieldIdT_T0_EEEERKS7_+0x190)[0x2ad9ddd760f0]
    [DL-BoxII:41641] [ 5] /opt/openfoam5/platforms/linux64GccDPInt32Opt/lib/libincompressibleTurbulenceModels.so(_ZNK4Foam9LESModels11dynamicKEqnINS_29IncompressibleTurbulenceModelINS_14transportModelEEEE2CkERKNS_14GeometricFieldINS_10SymmTensorIdEENS_12fvPatchFieldENS_7volMeshEEERKNS6_IdS9_SA_EE+0x2a5)[0x2ad9ddd87f15]
    [DL-BoxII:41641] [ 6] /opt/openfoam5/platforms/linux64GccDPInt32Opt/lib/libincompressibleTurbulenceModels.so(_ZN4Foam9LESModels11dynamicKEqnINS_29IncompressibleTurbulenceModelINS_14transportModelEEEE10correctNutERKNS_14GeometricFieldINS_10SymmTensorIdEENS_12fvPatchFieldENS_7volMeshEEERKNS6_IdS9_SA_EE+0x79)[0x2ad9ddd88859]
    [DL-BoxII:41641] [ 7] /opt/openfoam5/platforms/linux64GccDPInt32Opt/lib/libincompressibleTurbulenceModels.so(_ZN4Foam9LESModels11dynamicKEqnINS_29IncompressibleTurbulenceModelINS_14transportModelEEEE10correctNutEv+0x1f4)[0x2ad9ddd89874]
    [DL-BoxII:41641] [ 8] pimpleFoam[0x4254ad]
    [DL-BoxII:41641] [ 9] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x2ad9e28dc830]
    [DL-BoxII:41641] [10] pimpleFoam[0x428729]
    [DL-BoxII:41641] *** End of error message ***
     at ??:?
    
    
    H 1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]