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. 关于在rhoPimpleFoam里面修改EEqn和状态方程的问题

关于在rhoPimpleFoam里面修改EEqn和状态方程的问题

已定时 已固定 已锁定 已移动 OpenFOAM
9 帖子 2 发布者 9.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 1 离线
    1 离线
    100yearsalone
    写于2017年9月16日 17:30 最后由 编辑
    #1

    大家好,:happy:

    我在使用rhoPimpleFoam来计算空化,在其中植入自己的代码,目前第一步是在改了这个压缩求解器中的状态方程.原来的设置是perfectGas就是理想气体状态方程来计算的,我把它改成了一个这样的方程式:
    在pEqn的头部
    0_1505579116624_2017-09-17 01:24:33屏幕截图.png
    和尾部的地方把rho=thermo.rho()的地方换成了这个.
    0_1505579278636_2017-09-17 01:24:47屏幕截图.png
    my_Eqn_of_State的代码,就是把通过气相和液相求出综合的密度,其中RHOBF和RHOL2F是由自定义数据来实现的,根据T和P的不同决定密度.
    0_1505579537178_2017-09-17 01:32:04屏幕截图.png
    计算后发现是可以计算的,类那边也看过但觉得对自己改来说太复杂了就用这样的方法去改,不知道方法正确与否希望大家给点意见.
    下图是整个主题的代码,加了两行TEqn和ElEqn
    0_1505579382462_2017-09-17 01:28:53屏幕截图.png
    因为一开始计算的是综合的密度,所以得出的也是混合体的压力和速度什么的,由混合物的速度可以求出液体的速度.其中混合体的温度T是通过焓方程求出来的.我老师让我把液体的速度再代入焓方程求液体的温度.
    所以我在pimple的循环之后加了一个ElEqn的来像计算出液体的温度.
    0_1505582464607_2017-09-17 02:20:57屏幕截图.png
    因为现在只是想知道方法,所以直接让混合体速度等于液体速度,这一步根据计算结果来看没有问题.然后我把EEqn文档中的数值符号全部加了l在后面,volScalarField也全部在creatField里面声明了.但计算结果来看,好像有问题,而且也没有输出Tl的值.
    请问一下大家我对于这个求解器的修改有什么不完美的地方吗?
    还望大家赐教.

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2017年9月17日 05:57 最后由 编辑
    #2

    所以你的问题是没有输出TI?你是说没有写入还是在终端没有输出?没有写入的话试试在求解器后面增加TI.write()函数试试,没有输出的话可能表示你的Info行没有编译进去,
    都不是大问题。目前你可以这样修改,简单点。

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

    1 1 条回复 最后回复 2017年9月17日 08:37
  • 1 离线
    1 离线
    100yearsalone
    在 2017年9月17日 08:37 中回复了 李东岳 最后由 编辑
    #3

    @李东岳 谢谢:laughing: ,根据你的指导的确是把Tl成功的输出了。
    0_1505636392910_Screenshot from 2017-09-17 17:13:35.png 上面这个是添加在TlEqn下面的代码。
    但是输出到Tl的时间步文件中的各个格子的值似乎没有被计算,而是直接被输出了。
    0_1505636621632_Screenshot from 2017-09-17 17:21:29.png 我查了下时间步的phi和自己定义的phil输出的也不一样。
    0_1505636661205_Screenshot from 2017-09-17 17:21:49.png下面是phil
    0_1505636665993_Screenshot from 2017-09-17 17:22:00.png 而且输出的文档也有些异样
    0_1505636834325_Screenshot from 2017-09-17 17:26:36.png 在运算是控制台输出时最后一步TlEqn的计算特别慢,好像卡了一下,从这个文档来看,最后的iterations也到了1000啊,好像是有些问题。

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2017年9月18日 16:15 最后由 编辑
    #4

    各个格子的值似乎没有被计算,而是直接被输出了。

    我觉得你添加的代码没有编译进去。

    你做什么的?听起来好像是做别的方向模拟转过来的?:confused:

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

    1 2 条回复 最后回复 2017年9月20日 02:05
  • 1 离线
    1 离线
    100yearsalone
    在 2017年9月20日 02:05 中回复了 李东岳 最后由 编辑
    #5

    @李东岳
    现在是在做空化

    1 条回复 最后回复
  • 1 离线
    1 离线
    100yearsalone
    在 2017年9月21日 23:35 中回复了 李东岳 最后由 编辑
    #6

    @李东岳
    0_1506036877347_image.png
    老师,请问下e是在哪个地方可以获取?

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2017年9月22日 05:31 最后由 编辑
    #7

    e是什么?能量么?能量方程需要求的啊。EEqn.H。

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

    1 1 条回复 最后回复 2017年9月26日 07:50
  • 1 离线
    1 离线
    100yearsalone
    在 2017年9月26日 07:50 中回复了 李东岳 最后由 编辑
    #8

    @李东岳
    这几天我一直在试着这个方程,一直都是焓he无法收敛,最后是发散。
    所以我改了下方程,让他变成了能量的方程。
    0_1506411167066_UC截图20170926163214.png 其中状态方程是自己定义的,如前面所说
    替代文字把thermo.rho()换成了这个图里的状态方程,rhoG和rhoL的函数都是自己定义的,这样上述四个式子可以求出内部能量e,EEqn我是这样改了下0_1506411964389_Screenshot from 2017-09-26 16-42-48.png 原来是thermo.he()的,直接使用理想气体状态方程时是没问题的,但一用这种方式就无法收敛以及发散。
    0_1506412240205_Screenshot from 2017-09-26 16-47-51.png
    我觉得我是气体状态方程的地方出现了问题,但具体有什么问题我不是很清楚。

    1 条回复 最后回复
  • 1 离线
    1 离线
    100yearsalone
    写于2017年9月28日 06:57 最后由 编辑
    #9

    自己挖的坑自己填回去。。。。。。。。。。。。。

    我今天发现是我自己定义的TELF函数出了问题,所以计算出来的结果有问题。
    但是这种方法加入状态方程我实践过的确是可行的。
    就是换了以后,连续性误差的地方会变的非常怪,查了continuityErr这个文档,发现里面计算连续性误差还是使用rho-thermo.rho所以会出现误差值十分大,
    目前还在想着这么去改thermo下的东西,因为自己不能把黏性系数和普朗数设成固定值,
    怎样把这些thermo文档下设置函数还在研究中。

    1 条回复 最后回复
2017年9月16日 17:30

4/9

2017年9月18日 16:15

未读 5
2017年9月28日 06:57
  • 登录

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