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. 如何在湍流模型中读取压力场

如何在湍流模型中读取压力场

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

    请教各位老师~ 想在湍流模型中读取压力场,进行运算后置入湍流输运方程中,采取createField.H中的形式,如下:

    volScalarField p
    (
         IOobject
         (
              "p",
              this->runTime_.timeName(),
              this->mesh_,
              IOobject::MUST_READ,
              IOobject::AUTO_WRITE
         ),
         this->mesh_
    );
    

    可以编译通过,但是运行时候报错:
    cannot find file".../../case/1/p".

    目前是steady case, 1100步保存一次结果。 尝试过用READ_IF_MODIFIED. NO WRITE,都不行。受编程指南启发,尝试加上

    dimensionedScalar
    (
           "p",
           dimensionSet (1,-1,-2,0,0,0,0),
           lookupObject<volScalarField>("p")
    )
    

    报错,没有lookupObject. 请问该如何解决这个问题?p应该是public变量,而且确实在不同时间步都储存了。

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

    你的计算结果里面第一个时间步结果文件里面没有压力场p?

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

    F 2 条回复 最后回复
  • F 离线
    F 离线
    fangyuanaza
    在 中回复了 李东岳 最后由 李东岳 编辑
    #3

    @李东岳 有的,计算结果中

    Time = 1 GAMG: Solving for p, Initial residual = 1, Final residual = 0.00833422. 
    

    从残差控制可见求解了控制方程的压力

    1 条回复 最后回复
  • F 离线
    F 离线
    fangyuanaza
    在 中回复了 李东岳 最后由 李东岳 编辑
    #4

    @李东岳 学生也include 了header volFields.H, 应该就是两步,一是#include “volFields.H”, 第二是:

    volScalarField p
    (
    IOobject
    (
    "p",
    this->runTime_.timeName(),
    this->mesh_,
    IOobject::MUST_READ,
    IOobject::AUTO_WRITE
    ),
    this->mesh_
    );
    

    控制方程也求解了每步的pressure,不清楚问题出在哪里,请老师指点一下

    F 1 条回复 最后回复
  • F 离线
    F 离线
    fangyuanaza
    在 中回复了 fangyuanaza 最后由 李东岳 编辑
    #5

    @fangyuanaza 解决了这个问题,代码分享如下,以免大家有需要:

    const volScalarFields& p = this->db().objectRegistry::lookupObject<volScalarField>("p")
    

    经过Info输出发现,确实是每一步的压力场

    1 条回复 最后回复

  • 登录

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