0%

对象注册机

本文主要介绍了对象注册机的各参数类型及使用范例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
IOobject    
(
const word & name,
const word & instance,
const objectRegistry & registry,
readOption r = NO_READ,
writeOption w = NO_WRITE,
bool registerObject = true
)

IOobject
(
const word & name,
const word & instance,
const fileName & local,
const objectRegistry & registry,
readOption r = NO_READ,
writeOption w = NO_WRITE,
bool registerObject = true
)

Read options:MUST_READ;READ_IF_PRESENT;NO_READ
Write options:AUTO_WRITE;NO_WRITE。

范例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
(
IOobject
(
"T", //在求解器中注册的名字,例如,可以通过lookupObject<volScalarField>("T")寻找
runTime.timeName(), //存储在运行时间(instance)
mesh, //注册于网格(objectRegistry)
IOobject::MUST_READ, //必须进行读取,如果某个场为计算而来,可以不进行读取
IOobject::AUTO_WRITE //自动写场,按照controlDict中的定义来确定在哪个时间输出数据
),
mesh //场定义在网格
); //本代码段表示表示创建一个标量场volScalarField,类似的代码段在其他求解器的createFields.H中会大量出现


Info<< "Reading transportProperties\n" << endl;

IOdictionary transportProperties //声明IOdictionary类型,命名为transportProperties,本步骤创建字典文件
(
IOobject
(
"transportProperties",
runTime.constant(), 存储在constant文件夹下
mesh,
IOobject::MUST_READ_IF_MODIFIED, //在字典文件被更改的时候进行读取
IOobject::NO_WRITE //不写入字典文件
)
);