Group Details Private

OpenFOAM讲师

被批准进入本群组,则表示群组成员较为理解OpenFOAM的算法和编程。OpenFOAM教授、副教授、讲师岗位授予比例不超过OpenFOAM总徽章中的10%,30%,60%。

  • RE: Fluent UDF燃料电池时出现气体几乎不进多孔介质层的问题

    那就初始化把多孔介质中加入这些 specie 啊,初始化成零。
    按说也应该初始化,不过有的计算过程默认初始化成零。

    估计是没有初始化时,物料运输方程都没有在多孔介质区域离散。就没有计算了。

    posted in Fluent
  • RE: CFD青年成长支持计划(2021)

    @李东岳 谢谢老师:140: 回头统计地址的时候我报上

    posted in 公告
  • RE: Fluent UDF燃料电池时出现气体几乎不进多孔介质层的问题

    你描述的是你想要做的事情“仿真燃料电池中气体在多孔介质中的扩散”;
    而不是你具体做的事情“设置区域为某某边界条件”、“udf如何定义”……

    你具体做的事情不一定就在实现你想要做的事情。

    所以没有出现你想要的结果,或者说理应有的结果;排除你发现了新的物理规律这个可能,还剩一个可能就是具体做的事情确实没有实现你想要做的事情。

    而关于你具体做的事情的信息没有提供,没法分析:chigua:

    posted in Fluent
  • RE: UDF编程求助,NV_DS是什么函数
    can@x260-TC ~/.local/share/ansys_inc/v181/fluent/fluent18.1.0/src %grep -R 'NV_DS' ./ 
    ./turbulence/turb.h:      d10 = NV_DST2(xnode0,xnode);\
    ./pbns/flow.h:#define NV_DS(a,EQ,x0,x1,x2,S,s)ND_VEC((a)[0]EQ(x0)S(s),(a)[1]EQ(x1)S(s),(a)[2]EQ(x2)S(s))
    ./pbns/flow.h:#define NV_DST2(x1,x2)ND_OP(+,SQR((x2)[0]-(x1)[0]),SQR((x2)[1]-(x1)[1]),SQR((x2)[2]-(x1)[2]))
    ./pbns/flow.h:#define NV_DST(x1,x2)sqrt(NV_DST2(x1,x2))
    ./pbns/flow.h:# define N3V_DS NV_DS
    

    NV_DSND_VEC定义
    ND_VEC的定义在这个文件里

    ./main/global.h:# define ND_VEC(x,y,z)x,y,z
    ./main/global.h:# define ND_VEC(x,y,z)x,y
    

    "."开头就是ansys_inc/v181/fluent/fluent18.1.0/src这里开头,这里就是你的ansys安装的位置。

    posted in Fluent
  • RE: 超算节点计算报错

    可能是超算上有不只一个节点,所以节点间通过IP地址交流信息。
    而linux系统里有一套“权限”和“环境变量”的继承规则。你加载 openfoam 环境变量的的那句应该是放在家目录的.bashrc了(就是source ~/OpenFOAM/etc/bashrc,大概是这句)

    而 miprun 再通过IP调用其他节点的时候,这个网络通信的用户权限和环境变量,应该没有继承你的用户名的环境变量;而是系统的环境变量。所以不包含你的用户目录下.bashrc里的东西。

    把你家目录那句 source 放到 /etc/profile 试试 。这是系统范围的环境变量。得是绝对路径:/home/<用户名>/OpenFOAM/……

    当然也可能得在各个节点上都配上环境变量、装上 openfoam,这细致活得慢慢调……


    部分求解器出现上述状况(编译成功,但是不能算),还有一部分求解器完全正常。

    没用过多节点的,但问题是出在环境变量上没跑了。
    到这个路径下
    ~/OpenFOAM/OpenFOAM-8/platforms/linux64GccDPInt32Opt/bin
    这都是可运行的二进制文件。

    直接./<文件名>,比如
    ./icoFoam
    就知道是没编译好还是环境变量没配置好了。

    posted in OpenFOAM
  • RE: 如何判断发没发生化学反应?

    我猜一下,我没研究过化学计算的实现代码。
    化学反应的具体过程应该是“分解”、“合并”两步的。

    分解是分子分解成离子或者分子处于激发态,
    合并是处于激发态的粒子或者分子释放能量重新形成稳定的新的分子。

    平缓的化学反应这两步可以分开进行。比如溶液里的化学反应,溶解成溶液这一步是“分解”;并在溶液中保持离子状态,直到异物加入,离子形成沉淀或气体。

    激烈的化学反应,比如燃烧,高能状态保持不住,分了立马合。分合这个过程估计在程序里没有实现(要实现太麻烦了,还要考虑活化态的分子的扩散,离子还有正负电荷还有电磁力……),所以,如果时间步过于短,以至于完成不了一次分合,那就不现实了。

    假如一次分合需要1秒,反应速率是1秒生成2个水分子,但0.5秒无法生成1个水分子。激发了还没来得及合并呢。

    我猜是这样的:mihu:

    具体的限制的有多死,得看化学反应过程如何建模的了

    posted in OpenFOAM
  • RE: 如何判断发没发生化学反应?

    @liujunCFD 我也是研究生:laile:

    射流的两侧都有水(这样正常吗?不应该是整个射流都会燃烧吗)

    正常啊,因为只有氢气与氧气交界处(两侧)才满足反应条件:参与反应的反应物和温度。
    不在边界处的区域至少缺一种反应物。

    所以燃烧一般都是雾化喷嘴,增加反应物接触面积,提高燃烧效率。虽然气体会扩散,但是你的计算的时间太短,还来不及扩散就冲出去了。

    点火温度增加到1800K, 依然是射流两侧有水,但是水的最大质量分数比1400K时要高一点

    点火温度升高,点火处反应速率升高,所以生成物质量分数高。但是只高一点,因为点火温度对全局影响并不大;除了激发反应的瞬间的反应速率受点火影响,后续的反应速率主要受燃烧的热值影响。

    如果想改变“射流两侧有水”,增加温度应该不行。得让反应物“散开”,充分接触。至于怎么怎么散开、能不能散开,看具体研究的问题了。

    posted in OpenFOAM
  • RE: 超算节点计算报错

    @一颗橙子超算节点计算报错 中说:

    mpirun was unable to launch the specified application as it could not find an executable

    先不带mpirun,看看能不能单线程运行。如果能,那就是mpirun上的问题。
    如果不能,那就是软件没配置好,兴许编译好了但环境没配置好所以找不到

    posted in OpenFOAM
  • RE: 如何判断发没发生化学反应?

    另一种思路,不看水,看温度。:mihu:
    先把化学反应计算关了,算一遍,有个温度场,这个温度场是点火造成的。高温区域应当相当集中。

    然后把化学反应计算开开,算一遍。这个温度场高温区域应当符合氢气的射流形状的边界。
    至少温度要比没有反应时要高。

    posted in OpenFOAM
  • RE: 在网格运动中,this指针的成员内容

    http://c.biancheng.net/view/2226.html

    this就是当前对象的别称,有哪些成员,就看它所在的函数是哪个对象的成员函数了。
    去定义这个对象的头文件查,与之同名的.c文件有各成员函数的定义。

    posted in OpenFOAM