OpenFOAM常用类

本博客只作为自己的一个笔记使用:

三类基础数据类型:标量scalar, 向量vector, 张量tensor.这三个数据类型,也是OpenFOAM中最基础的三个类。

field类:在上述数据类的基础上,增加场(field)的概念,就引入了标量场scalarField, 向量场vectorField, 张量场tensorField。

几何场类 GeometricField class:比field类高级一点的就是几何场类 GeometricField class,其相比field class多了纪录场位置的相关信息。

GeometricField class与polyMesh class的区别:polyMesh class只是纪录网格的结构,如点的位置、面的组成、体的组成等等,polyMesh class中对应有pointMesh,surfaceMesh,volMesh等类,从字面上很容易理解其处理和记录网格点、网格面、网格体等信息。GeometricField类,其则是记录了在什么样的网格上有量a的相关信息或数据。它包括了内部区域、边界区域(GeometricBoundaryField class)、网格、尺度单位、计算的先前时间阶的值等。在该类中有常用的三种(实际上还有其他的许多):volScalarField体标量场,volVectorField体向量场,volTensorField体张量场。这里说的场与field有所不同,这里指的是网格区域上所对应的数据信息。上述的vol就是指ployMesh中的volMesh,如volscalarField类来说:见下例:    volScalarField p
                                    (
                                         IOobject
                                     (
                                             "p",
                                      runTime.timeName(),
                                        mesh,
                                     IOobject::MUST_READ,
                                     IOobject::AUTO_WRITE
                                                       ),
                                                   mesh
                                       );

Label类:是标签型数据,相当于c中的整型。

Bool类:就是是非型及对错型,只不过是更扩展一些。

argList:读入外部命令参数的一个类。

tmp类:是管理临时对象的一个类。

dimensionSet类:是对基本类型的单位设定,并检查其正确性。

IOobject:读入写入数据。

finiteVolumeMethod和finiteVolumeCalculus类(fvm和fvc类):在求解之前,需要对偏微分方程组进行离散,转化为线性方程组[A][x]=[b]的形式。其中[x]就是我们所要求的量,他也就是咱们前面介绍的GeometricField类,而[A]代数方程的系数,他就是我们下面所要提到的fvMatrix类。对于偏微分方程的每一项,OpenFOAM应用两个类来离散:finiteVolumeMethod和finiteVolumeCalculus,分别用typedef声明为fvm和fvc. fvm是计算隐式导数从而返回fvMatrix,而fvc是计算显式导数或者其它隐式计算返回geometricField,该类不存储私有数据。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值