Skip to content

OpenFOAM

OpenFOAM交流区

5.3k 主题 31.7k 帖子
  • 3 帖子
    3k 浏览
    S

    @xpqiu 对,nutW2是分配了空间了的,大小就是cellID的大小。
    造成这个的原因我怀疑是不是因为的我边界有转折导致的。。我是提取的roof这个边界上对应的第一层网格的值的。
    121.png
    因为当时我做计算的时候除以了nutW1之后计算报错了,我才发现nutW1[0]=0,不能被除。然后才改成使用了nutW2的

  • trackPart ParcelType::trackingData::在哪里被定义?

    2
    2 帖子
    2k 浏览
    bestucanB

    OpenFOAM有个快捷命令

    src

    进入源代码所在文件夹,然后

    grep -R 'ParcelType::trackingData' ./

    就把所有文件抓住来了,如果找定义,只看.H文件

  • 流体网格的更新问题

    13
    13 帖子
    10k 浏览
    V

    preCICE很amazing,用好了应该比自己改求解器简单高效 https://www.bilibili.com/video/BV1iT4y1P7e7/
    (现在发帖竟然需要间隔300s:jingya: )

  • 湍流模型问题请教:

    17
    17 帖子
    12k 浏览
    J

    @西湖冷月 借帖求教大佬,狭窄裂缝中的湍流用哪种方法模拟好呢?

  • OpenFOAM面心数据插值到面单元节点

    5
    5 帖子
    4k 浏览
    羽之下

    :xinxin2:

  • 关于绝热状态方程熵的计算过程

    1
    1 帖子
    2k 浏览

    OpenFOAM v2006中,adiabaticPerfectFluid状态方程如下:

    $\rho (p)=\rho_{ref}(\frac{p+B}{p_{ref}+B})^{\frac{1}{n_{T}}}$

    根据熵的计算公式:

    $dS=c_{p}\frac{dT}{T}-(\frac{\partial v}{\partial T})_{p}dp$

    求解器中将这一公式分为两部分进行积分计算,其中第一部分$c_{p}\frac{dT}{T}$ 的积分计算在thermophysicalModels/specie/thermo/hConst/hConstThermoI.H中实现,即$c_{p}*log(\frac{T}{T_{std}})$
    但第二部分的积分,由于公式是绝热状态的,没有温度作为参数,想请教一下官方求解器中为什么会进行以下处理:

    通过源代码公式的求导反推,官方求解器在计算第二部分积分时,在状态方程的分母上直接添加了温度T,如下式:
    CodeCogsEqn (1).gif
    公式源代码详见adiabaticPerfectFluidI.H文件的S函数:

    template<class Specie> inline Foam::scalar Foam::adiabaticperfectFluid<specie>::S ( scalar p, scalar T ) const { scalar n=1-1.0/gamma_; return -pow(p0_+B_,1.0/gamma_)*(pow((p+B_),n)-pow((Pstd+B_),n)) /(rho0_*T*n); }

    除上述绝热状态方程外,线性变化的状态方程linear也采用了同样的处理方式,想知道为什么可以这样处理?
    另外一个问题是,如果采用上述处理之后,对于气体的$c_{p}-c_{v}$,根据公式:
    CodeCogsEqn (2).gif 该如何处理?

  • Neck vortex,中文翻译

    7
    7 帖子
    6k 浏览
    C

    那创新性不是拉满了,厉害了!:146:

  • 最大液相分数不到1,甚至只有0.02

    2
    2 帖子
    2k 浏览
    bestucanB

    做一个点线图,横轴是孔隙率,纵轴是最大液相分数,看看到哪里突变了。二分法找这个突变点,应该很快。

    出图的时候用同一标尺(最大值最小值相等),这样不同图之间也有可比性。看看那个刚好导致突变点的孔隙率的case,液相分数是怎么消失的,是跑出边界了还是在流场内被计算过程吃了

  • EQBMM编译小问题

    3
    3 帖子
    3k 浏览
    李东岳

    不知道你对QBMM这面的研究进展怎样了:135:

  • 请教一个wallFunction问题

    3
    3 帖子
    3k 浏览
    L

    @Samuel-Tu :
    谢兄之玉言,弟牢记

    然兄亦暗示:
    有的参数需调整,以保证物理意义一致。

    另外,如兄及各位大学士不弃,望再赐一教:
    OF能自动算雷诺数吗?

    感激不尽

  • 如何把三维离散数据转化为tecplot可读的格式

    8
    8 帖子
    7k 浏览
    S

    @bestucan 对 用tecplot成功了 tecplot里 reverse distance的插值方法可以把无序的数据插值到有序的网格上 不过有几百组数据 还得弄个宏什么的

  • 液滴撞击不受限平板后,平板的运动情况

    3
    3 帖子
    3k 浏览
    李东岳

    这个用interFoam+动网格不就可以么

  • 编译出现不能匹配“operator-”

    8
    8 帖子
    7k 浏览
    H

    @浪迹天大 非常感谢!今天仔细看了下,终于搞定了。

  • 重叠网格中背景网格region如何合并问题

    3
    3 帖子
    3k 浏览

    对于重叠网格运动网格方面做了新的尝试,在算例tut/multiphase/interFoam/laminar/sloshingTank3D6Dof中拷贝gen6Dof文件夹进入自己的background模型文件夹,/constant中的dynamicMeshDict也要拷贝到自己的/constant中,如果只想重叠网格中Zone1(模型)网格运动 需要把dynamicMeshDict改成如下,当然之前的topoSetDict也要增加movingZone的部分

    dynamicFvMesh dynamicOversetFvMesh; solver multiSolidBodyMotionSolver; movingZone { solidBodyMotionFunction tabulated6DoFMotion; CofG (0 0 0); timeDataFileName "<constant>/6Dof.dat"; }

    下面说下gen6Dof文件问题:

    先进入/Make中

    gen6Dof.C EXE = ./gen6Dof

    回到上阶文件夹,更改gen6Dof.C文件 ,更改所需运动,6个自由度随便改改,然后终端输入wmake编译,完成之后终端输入 ./gen6Dof,全部没有问题之后把生成的6Dof.dat拷贝到constant文件夹中,然后回到上阶文件夹运行 movingDynamicMesh(别忘了改controDict文件的时常/6Dof时常,然后就可以观察 paraFoam了。
    大致思路就这样,我也试了的确可行。
    如果有相似重叠网格中运动网格类问题可以参考下

  • foam-extend4.1安装问题

    10
    10 帖子
    9k 浏览
    Cuber JeoC

    @李东岳 需要用openFoam2.3跑一个算例,物性都是通过查表的方式获得,新版本没有查表的方式,而且边界条件需要用groovyBC,所以这块需要那个外挂软件包!

  • 2 帖子
    2k 浏览
    H

    http://blog.sina.com.cn/s/blog_5fdfa7e601010rkx.html 苏老师的博客

  • 库郎数突然减小

    4
    4 帖子
    3k 浏览
    H

    @李东岳 感谢老师 发现是我Co计算公式写错辽~已经修改并且成功运行了 谢谢~

  • 4 帖子
    4k 浏览
    S

    我已经解决这个问题了,再IOdictionary里面用
    this->db().time().constant()

  • waves2foam安装的时候编译失败

    7
    7 帖子
    6k 浏览
    李东岳

    https://www.cfd-china.com/topic/4499/waves2foam安装

    你试试这个,我在2台电脑上安装成功

  • of2006安装完找不到paraview和paraFoam

    6
    6 帖子
    6k 浏览
    V

    今天解决了这个问题
    先在$WM_THIRD_PARTY_DIR编译paraFoam并执行wmRefresh
    到$WM_PROJECT_DIR/modules/visualization路径下执行 ./Allwclean && ./Allwmake && wmRefresh
    转到$WM_PROJECT_DIR路径下执行 ./Allwmake && wmRefresh

    命令:

    cd $WM_THIRD_PARTY_DIR
    ./makeParaView
    wmRefresh

    cd $WM_PROJECT_DIR/modules/visualization
    ./Allwclean && ./Allwmake && wmRefresh

    cd $WM_PROJECT_DIR
    ./Allwmake && wmRefresh