博文

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& y) &nb......

阅读全文(4402) | 评论: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           ......

阅读全文(4590) | 评论: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!......

阅读全文(6381) | 评论: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中代码的组织,及类的区分和实现都是基于以上这些部分分别编写的。......

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