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

    ))554HVEJL%{K$0KY(}WPYC.png
    在运行算例的时候,读取到m时 会显示错误:

    Selecting relativePermeability model => VanGenuchten
    
    --> FOAM FATAL ERROR:
    cannot find file "/home/dyfluid/OpenFOAM/dyfluid-v2006/run/drainage/0/m"
    
        From virtual Foam::autoPtr<Foam::ISstream> Foam::fileOperations::uncollatedFileOperation::readStream(Foam::regIOobject&, const Foam::fileName&, const Foam::word&, bool) const
        in file global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C at line 546.
    
    FOAM exiting
    

    不是很懂它为什么会到0文件中去查找,是不是IOobject里定义的路径有关?感谢各位前辈的帮助~

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

    你那个IOObject里面有个"m",把这个m改成你要的,就不会读取m了

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

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hongjiewang
    在 中回复了 李东岳 最后由 编辑
    #3

    @李东岳 谢老师回复~我想要的结果是读取m变量,m变量是借助Sb变量构造的(参考的是https://openfoam.top/programmingNote/#字典读取变量 中nu的定义)

    nu_//nu_ 是用一个 dimensionedScalar 构造出来的。
    (
        IOobject
        (
            name,
            U_.time().timeName(),
            U_.db(),
            IOobject::NO_READ,
            IOobject::NO_WRITE
        ),
        U_.mesh(),
        nu0_
    )
    

    我的case文件里transportProperties部分如下:

    VanGenuchtenCoeffs
    {
        alpha.wettingminpc alpha.wettingminpc [0 0 0 0 0 0 0] 0;
        alpha.wettingmaxpc alpha.wettingmaxpc [0 0 0 0 0 0 0] 0.999;
        pc0 pc0 [1 -1 -2 0 0 0 0] 100;
        m 0.8;
    }
    

    我需要的是把m读取到,

    krVanGenuchtenCoeffs_(relativePermeabilityProperties.subDict(typeName + "Coeffs")), 
    /*relativePermeabilityProperties指的是transportProperties,这个是在createFields里定义的,即krVanGenuchtenCoeffs_就是我们的VanGenuchtenCoeffs子字典*/
      m_
      (
          IOobject
          (
              "m",
              Sb_.time().timeName(),
              Sb_.db(),
              IOobject::READ_IF_PRESENT,
              IOobject::NO_WRITE
          ),
          Sb.mesh(),
          krVanGenuchtenCoeffs_.lookupOrDefault<scalar>("m",0)//在子字典中查找m
      ),
    

    现在的问题是不知道为什么它的读取位置是在0文件里

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

    信息量很大,挑重点,我觉得你就是要下面的代码:

    volScalarField m
    (
        IOobject
        (
            "m",
            U_.time().timeName(),
            U_.db(),
            IOobject::NO_READ,
            IOobject::AUTO_WRITE
        ),
        mesh,
        dimensionedScalar
        (
            "m",
            dimless,
            krVanGenuchtenCoeffs_.lookupOrDefault<scalar>("m",0)
        )  
    );
    
    

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

    H 1 条回复 最后回复
  • Z 离线
    Z 离线
    Zhy2022
    写于 最后由 Zhy2022 编辑
    #5

    8285e53d-01e1-498e-a1d7-85395853bc4c-image.png
    之前看了个帖子(http://xiaopingqiu.github.io/2016/03/12/RTS1/),总结了一些内容,希望能有帮助!

    Z H 2 条回复 最后回复
  • Z 离线
    Z 离线
    Zhy2022
    在 中回复了 Zhy2022 最后由 编辑
    #6

    @Zhy2022 https://www.dazhuanlan.com/2019/09/30/5d9197ed9f190/ 地址给错了

    浪 1 条回复 最后回复
  • 浪 离线
    浪 离线
    浪迹天大
    在 中回复了 Zhy2022 最后由 编辑
    #7

    @Zhy2022 大哥,可以麻烦找一下原始地址吗?这个网站是专门盗别人成果的。不要白白替他宣传了。

    OpenFOAM 学习交流:https://openfoam.top

    Z 1 条回复 最后回复
  • Z 离线
    Z 离线
    Zhy2022
    在 中回复了 浪迹天大 最后由 编辑
    #8

    @浪迹天大 不好意思,也是在初学阶段,做得不够严谨:136:

    1 条回复 最后回复
  • H 离线
    H 离线
    hongjiewang
    在 中回复了 李东岳 最后由 编辑
    #9

    @李东岳
    感谢东岳老师~虽然不明白是什么原因,最终是以下面的形式运行起来的~

    m_
      (
          IOobject
          (
              "m",
              Sb_.time().timeName(),
              Sb_.db(),
              IOobject::READ_IF_PRESENT,
              IOobject::NO_WRITE
          ),
          Sb.mesh(),
          krVanGenuchtenCoeffs_.lookupOrDefault("m",dimensionedScalar("m",dimless,0.8)
      )
          
    
    1 条回复 最后回复
  • H 离线
    H 离线
    hongjiewang
    在 中回复了 Zhy2022 最后由 编辑
    #10

    @Zhy2022 感谢前辈~我再认真学习一下

    1 条回复 最后回复

  • 登录

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