博文

OpenFOAM——源文件ops.h(2006-11-13 12:00:00)

摘要:文件名:ops.h 上次在VectorSpaceOps类中定义的一些函数用到了操作函数类,所以这里专门讨论OpenFOAM中的操作函数类的定义源文件ops.h,他也是primitive中的一部分。 从文件名中可以看出来,该文件定义的是一些操作符方面的东西。正是这样该文件通过宏定义(#define)的方式定义了多个函数对象类! 下面是通过宏定义的所有函数对象的列表:振动联盟.m{8lXyv
他们可以分成两类:一类是带=号的操作符函数类,另一类是不带=号的操作符函数类,不知道这样说是不是合适,凑合吧!        1、=操作符函数类振动联盟 F*{!N.G`G6|5f F6W
             eqOp<class T>(T& x,T& y)                           {x=y};   振动联盟t*d-? Z*F3@5uT
             eqOp2<class T1,class T2>(T1& x,T2& y)              {x=y};振动联盟M,@q{"D {O(?+~,@ y
             plusEqOp<class T>(T& x,T&......

阅读全文(4256) | 评论:0

OpenFOAM——primitive——VectorSpaceOps类(2006-11-12 19:00:00)

摘要:今天介绍primitives中的VectorSpace类相应的操作符函数类VectorSpaceOps VctorSpaceOps为一个模板类,具有两个模板参数<int N,int I> 首先定义静态成员变量endLoop,并初始化该变量,若I<N-1则endLoop=1,否则endLoop=0 该类的成员函数,均为静态无返回值的模板函数,下面是他们的列表:     template<class V,class S,class EqOp> 
|Z)`%u ~o5}5gbioexplore    eqOpS(V& vs,const S& s,EqOp eo)    //将V型变量vs与S型变量s进行eo操作,V一般为
Jk(s ^H;gk+_I&WGbioexplore                                         VectorSpace,S一般为Scalar,eo多为赋值操作振动联盟8z"a)o?B(Y+QX
    template<class S,class V,class EqOp>振动联盟j JW yHFXsv.p
    SeqOp(S& s,const V& vs,EqOp eo)    //将S型变量s与V型变量vs进行eo操作,V一般为 振动联盟0zp;t(n$_;I8k.t5y6M
       &nbs......

阅读全文(4425) | 评论:2

OpenFOAM——primitive类(2006-11-12 09:59:00)

摘要:解开OpenFOAM源代码文件可以在OpenFOAM文件夹下看到primitives文件夹,里面有一系列的文件夹,这些文件夹里保存的就是所有OpenFOAM中实现的基础数据类; 最基本的几个有 label(其实就是整形,不过可能为int也可能为long),
bool(自己的逻辑变量类),
char(自己的char类),
scalar(标量类,single或double),
Vector(矢量类,具有三个分量,秩=1,关于秩的概念可参见软件的programmerguide:)),
Tensor(张量类,具有9个分量,秩=2),
complex(复数类,好久没接触过这个概念了,应该是高中时讲过的了:)再翻翻书了!~~~),
word(string的一个子类,用来保存单词,可以自己判断给出的字符能否在单词中使用!应该是这样~~~),
string(std::string的子类,内嵌了自己的哈希表类,增强了std::string的功能,现在知道的就这么多了。。。。。),
fileName(string的子类,用来表示文件名----具有路径的哦好像),
Pair(具有2个配对元素的list类,FixedList的子类,类似于stl中的pair),
Hash(哈希函数类,用来进行哈希运算)
。。。。。。。。还没完呢<<<<<<<<~~~~~~~~~~~~~ 今天先介绍这么多吧,时间长着呢,我再慢慢加!
希望更多的人了解OpenFOAM!大家一起来解读OpenFOAM!......

阅读全文(5106) | 评论:0

OpenFOAM——主要的类及他们之间的关系(2006-11-12 09:35:00)

摘要:今天介绍OpenFOAM中主要的类及其相互之间的作用。 1、Primitive与Container----基础类及容器类
2、描述空间及时间的类
3、张量的数学运算类
4、Field、Dimension Set、Boundary Conditon和Geometric Field---场、量纲、边界条件及几何场
5、Mesh---网格类
6、积分、微分及离散类
7、矩阵类
8、描述PDE(偏微分方程)的类
9、物理模型类 在OpenFOAM中代码的组织,及类的区分和实现都是基于以上这些部分分别编写的。
......

阅读全文(7338) | 评论:0