正文

createMesh中用到的IOobject2008-11-25 09:41:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/bioexplore/39559.html

分享到:

        Foam::IOobject

        (

            Foam::fvMesh::defaultRegion,

            runTime.timeName(),

            runTime,

            Foam::IOobject::MUST_READ

        )

上述代码是摘抄自createMesh.H中进行fvMesh构造时用到的临时IOobject对象的构造代码。

  1. Foam::fvMesh::defaultRegion的值为"region0",这一部分是作为该IOobject的name_成员;
  2. runTime.timeName(),返回的是的runTime的量纲部分dimensioned<scalar>的name_,这一部分是作为该IOobject的instance_c成员;
  3. runTime是作为该IOobject的db_成员;

在由该IOobject构造其它类时这些信息是非常有用的,比如objectRegistry类,regIOobject类等,现在举objectRegistry为例,其以IOobject为参数的构造如下:

Foam::objectRegistry::objectRegistry

(

    const IOobject& io,

    const label nIoObjects

)

:

    regIOobject(io),

    HashTable<regIOobject*>(nIoObjects),

    time_(io.time()),

    parent_(io.db()),

    dbDir_(parent_.dbDir()/local()/name())

{

    writeOpt() = IOobject::AUTO_WRITE;

}

 

从中可见,objectRegistry的三个成员变量:time_,parent_和dbDir_的初始化都是源自上面的IOobject,将代码展开,得到的三个成员变量的值分别如下:

  • time_ = runTime
  • parent_ = runTime
  • dbDir_ = runTime.dbDir()//region0

阅读(4556) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册