openfoam虽然来自于C++,但完全可以将其当做一门新的语言来学习,其代码在运行过程中,与字典交互,调用库函数。
1.基本数据类型:
编译前的先验知识将决定lable和scalar到底对应C++中何种类型
word–字符与字符串
lable–整型–具体占位由compiler option:WM_LABEL_SIZE决定
scalar–float or double or long double–具体由compiler option:WM_PRECISION_OPTION决定
switch--true or flase,可从字典中读入,读入y、on等将会自动转化为true
2.tmp:
tmp< scalarField > =scalarField* 但是由tmp<>指定的指针,其一般是指向堆内存的指针,而且当此指针指向别处时,其还会自动释放之前的堆内存,详情看博客:
OpenFOAM瞬态对象模板类tmp的分析及其使用
**3.volScalarField:**包括内部场和边界场
此类称为几何场,有vol场、surface场以及point场,其比Field类多记录了几何信息,Field类可以理解为一系列冰冷的数字(包括内部场和边界场),其可以进行数学操作,polymes