openFOAM学习笔记(四)—— openFOAM中的List-卡核

openFOAM学习笔记(四)—— openFOAM中的List

又是一个很底层的部分,但是也非常重要,我们在进行数据写入的时候就会使用到List。这里介绍他的基本结构,以及在openFOAM被如何使用 首先它的路径为src/OpenFOAM/containers...
openFOAM中时间步长计算参数是怎样读进程序的——初步理解框架-卡核

openFOAM中时间步长计算参数是怎样读进程序的——初步理解框架

内容如题,在阅读完大量的基础代码之后,我们现在可以尝试解读一下chemFOAM中的程序流程。因为内容很多,所以会分好几个子标题讲完。 我们使用openFOAM的过程中,通常...
openFOAM的基础类型汇总-卡核

openFOAM的基础类型汇总

openFOAM代码非常非常多,但是让人比较郁闷的是很多是基础类的实现,openFOAM中很多基础的类,包括char,string,int等等,都添加功能封装在了Foam这个名字域中。 好处就...
openFOAM中时间步长计算参数是怎样读进程序的——Time类-卡核

openFOAM中时间步长计算参数是怎样读进程序的——Time类

接着前面的内容,在createTime.H中创建了Time类的对象runTime Foam::Info<< "Create time\\n" << Foam::endl; Foam::Time runTime(Foam::Time::controlDictName, a...
openFOAM学习笔记(五)——chemFoam的运行过程-卡核

openFOAM学习笔记(五)——chemFoam的运行过程

在前面的帖子中已经大概给出了chemFoam主程序的结构,这里给出一个比较全面的总结 首先程序结构如下: 添加头文件 //*****************************// int main(int argc, char *ar...
openFOAM中的Scalar-卡核

openFOAM中的Scalar

位于路径src/OpenFOAM/primitives/Scalar 标量,其实就是浮点数。但是浮点数具有不同的精度,最终文件将根据宏的设置决定程序使用哪种精度 文件依赖关系如下: 注意这里大小...
openFOAM中的vector-卡核

openFOAM中的vector

首先需要声明这里的vector和我们平时C++中说的数组,或者STL中的vector不是一个。它是openFOAM从九十年代改动至今留下来的一个习惯,这里的vector特质(x,y,z)这样的三维...
openFOAM中的tensor-卡核

openFOAM中的tensor

是指3*3的张量,其路径为src/OpenFOAM/primitives/Tensor 对应的文件关系如下: 基本结构和vector非常相似 MatrixSpace 他用VectorSpace创建,头文件如下: template&l...
openFOAM中的Field-卡核

openFOAM中的Field

就是域的创建,速度域等等量直接在这里存储 他分别位于若干个位置,所以下面会单独罗列,其类间关系如下 这里对其中的Fields DimensionedFields GeometricFields进行解读 Fie...
openFOAM中的label-卡核

openFOAM中的label

其实就是指i,j,k这类浮标使用的类型。我们通常就使用int就可以,但是这里也进行了封装。 label的头文件的源码如下: #include "int.H" #define INT_ADD_SIZE(x,s,y) x ##...
openFOAM的基础数据结构汇总-卡核

openFOAM的基础数据结构汇总

openFOAM将数组链表等数据结构也进行了封装,这里进行一个汇总。可能陆续也会更新 标签label 其实就是指i,j,k这类浮标使用的类型。我们通常就使用int就可以,但是这里也进行了封装&...
openFOAM中文件流的获取——lookup函数-卡核

openFOAM中文件流的获取——lookup函数

openFOAM中的几乎所有类都提供了文件流操作的重定义,即>> <<即可实现文件流操作。例如对于标量来说,读取标量时: scalar readScalar(Istream& is) { scala...