找回密码
 注册
查看: 4158|回复: 1

[转载]createMesh中用到的IOobject

[复制链接]
发表于 2009-2-10 23:50:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
Foam::IOobject

        (

            Foam::fvMesh::defaultRegion,

            runTime.timeName(),

            runTime,

            Foam::IOobject::MUST_READ

        )


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

Foam::fvMesh::defaultRegion的值为"region0",这一部分是作为该IOobject的name_成员;
runTime.timeName(),返回的是的runTime的量纲部分dimensioned<scalar>的name_,这一部分是作为该IOobject的instance_c成员;
runTime是作为该IOobject的db_成员;
在由该IOobject构造其它类时这些信息是非常有用的,比如objectRegistry类,regIOobject类等,现在举objectRegistry为例,其以IOobject为参数的构造如下:

Foam:bjectRegistry:bjectRegistry

(

    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


转自http://blog.pfan.cn/bioexplore/39559.html
发表于 2009-3-10 15:25:21 | 显示全部楼层
可惜的是拷过来代码的格式都没了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表