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
4 帖子 2 发布者 2.6k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    写于 最后由 编辑
    #1

    大家好,
    我在程序中添加了一段代码如下:

        /*std::ofstream outfile;
        outfile.setf(ios_base::fixed, ios_base::floatfield);
        outfile.precision(8);
        outfile.open("qq.dat", ios_base::app);
        outfile << this->owner().db().time().timeName() << tab
                << "test"                               << tab
                <<  nl;*/
    

    这样的话每次程序执行到这段代码时候都会输出到qq.dat文件,如果运行时间很长,文件会非常大,我又不需要输出所有时间点的数据。如果我想输出特定时间点的数据,比如最后一步,用if条件语句判断,条件式子没想好该怎么写,怎么才能方便地提取controlDict中的endTime呢?

    startTime       0;
    
    stopAt          endTime;
    
    endTime         2e-04;
    

    比如写成if( this->owner().db().time().timeName()==endTime)

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

    提取时间变量实现特定时间点文件输出?

    要是我的话我不会像你这么写。你要输出一个值还是一个场?输出一个值得话你在log里面输出就行了,跟酷狼数一样,然后后期对log里面的数据进行提取

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

    chengan.wangC 2 条回复 最后回复
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    在 中回复了 李东岳 最后由 编辑
    #3

    @李东岳 谢谢回复。
    我要输出一个物理场,网格数量挺大,200x100x100,要是每时每刻都输出的话,数据量很大,所以我需要加一个判断,只输出我感兴趣的时刻就行

    1 条回复 最后回复
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    在 中回复了 李东岳 最后由 编辑
    #4

    @李东岳 我找到如何输出endTime方法了,用this->owner().db().time().endTime().value()就可以。但是放在判断语句中出现如下错误:

    note:   ‘Foam::word’ is not derived from ‘const std::fpos<_StateT>’
         if ((this->owner().db().time().timeName()) == (this->owner().db().time().endTime().value()))
    
    
    /usr/include/c++/5/bits/stl_iterator.h:349:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
         operator==(const reverse_iterator<_IteratorL>& __x,
         ^
    /usr/include/c++/5/bits/stl_iterator.h:349:5: note:   template argument deduction/substitution failed:
    
    

    李老师能指点一下么?

    1 条回复 最后回复

  • 登录

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