openFOAM代码阅读——基础代码中的char-卡核

openFOAM代码阅读——基础代码中的char

openFOAM的源码文件夹src中的内容如下: dyfluid@dyfluid:~/OpenFOAM/OpenFOAM-7/src$ ls Allwmake genericPatchFields rigidBodyDynamics atmosphericModels lagrangian rigidBodyM...
openFOAM的基础类型汇总-卡核

openFOAM的基础类型汇总

openFOAM代码非常非常多,但是让人比较郁闷的是很多是基础类的实现,openFOAM中很多基础的类,包括char,string,int等等,都添加功能封装在了Foam这个名字域中。 好处就...
openFOAM学习笔记(四)—— openFOAM中的List-卡核

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

又是一个很底层的部分,但是也非常重要,我们在进行数据写入的时候就会使用到List。这里介绍他的基本结构,以及在openFOAM被如何使用 首先它的路径为src/OpenFOAM/containers...
openFOAM学习笔记(三)—— char和string相关的类-卡核

openFOAM学习笔记(三)—— char和string相关的类

openFOAM中的char和string并不是直接使用C++提供的string,而是进行了一系列的封装,并添加了更多的功能。这里进行一个总结。 char类型的更多功能 openFOAM中并没有对cha...
openFOAM中的forAll-卡核

openFOAM中的forAll

这是用户二次开发代码中非常常用的一个语法,我们这里看一下它的底层实现。当然不同的class会各自实现一个forall,这里给出的是UList的实现,具体路径位于 src/OpenFOAM/cont...
openFOAM代码阅读——基础代码中的string-卡核

openFOAM代码阅读——基础代码中的string

代码仍然是src/OpenFOAM/primitives/路径中的,为文件夹strings,其中有内容 fileName keyType lists string stringOps word wordRe 这里的多个文件夹都使用到了这里的word文件夹中...
openFOAM中的Scalar-卡核

openFOAM中的Scalar

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

OpenFOAM中的Chemistry类

化学反应相关的类,以热学相关的类为基础,它位于路径src/chemistryModel/。它的类间关系如下: 接下来我们逐个介绍这些类的内容 basicChemistryModel 最基础的类,头...
openFOAM中的tensor-卡核

openFOAM中的tensor

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

openFOAM中的vector

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

openFOAM中的label

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

openFOAM代码阅读——基础代码中的wchar

路径src/OpenFOAM/primitives/chars中还有另外一个文件夹wchar,我们这里来看看这里面有什么。 头文件wchar.H的内容如下: #include <cwchar> #include <string> // * ...