OpenFOAM

03

11月

2009

进退维谷?

OpenFOAM发生一点事,弄得其实不是很愉快。

似乎是开发者跟社区的一些理念上的争执,我跟一些朋友和关键人物讨论过,也觉得蛮难办的。

预感,这件事不会短期内很好的解决。这其实有些伤社区的和气,多少让人有些沮丧,而且现在的能帮助他人的社区高手团队之间,都不是那么顺畅,这其实实在是不愿意看到的。社区有些消沉,高手不愿意发言。

 

其实,我的立场没那么鲜明,我只是希望在Documentation这一点上,能给予社区更多的宽容,因为Documentation实在是太需要了,可是公司,似乎认定这点有损其核心利益。

 

能够理解,但实在是感觉遗憾。

查看全文 评论(0)

03

6月

2009

大牛的形成

一看湍流,心里就湍了起来,心中琢磨,这些大牛们,怎么有这么多的知识量,后来一看人家出道历史,也就颇感欣慰了,像Moin,Moser,Adrain,Spalart都早在八十年代就出名了,哎,没法比啊。还有像Jimenz,人家名震江湖的时候,俺还在爬树吃榆树钱儿呢。

如果可能的话,你现在作出优秀的成绩,需要至少二十年后才能有可能确立你在学术上的权威地位啊。

当上权威之后,究竟好不好呢,呵呵。咱还是不说了吧

查看全文 评论(0)

27

5月

2009

哥们儿们,是哪个难,您可想过?

我一直以来,在学习湍流,并琢磨其数值模拟的思路。

许多哥们都说OpenFOAM难,但其实比起湍流研究,那个更难呢。我想还是湍流更难一些。

那天,Z君说,超低雷诺数的问题,我觉得,也不容易,S君也在说两相流的问题,也不简单,这些都是比简单的看代码和安装更难的问题。

如果,国内的诸多讨论,比例上能有至少50%以上的讨论涉及到的是非程序上的基本问题,那就好了,斯美事哉!

倘若,大家能容忍我,给出一点点我的建议的话:

请您尽力思考,不要总问怎么安装,为什么安装错的问题,学而不思则罔么,多思考,仔细琢磨,你不会比高手差的;说真话,仔细琢磨UserGuide,对于绝大多数的安装和使用已经应付的绰绰有余了。

请您尽力先去广泛搜索对一个问题的解答,Google等是极好的助手,基本上可以肯定的是,你能碰到的问题,基本上80%其他人都遇见过,并有答案,多搜索!否则就会被老外们回复RTFM——一个带脏字的短语,意思是叫你去读手册,少来问低劣问题。

请您不要畏惧英文,我自己还是觉得英文的流体论坛档次高些,大家要努力去挖掘,讨论,会受益匪浅的。

查看全文 评论(1)

28

4月

2009

OpenFOAM不是最重要的

对不起大家,一直没有时间更新我的主页,大概等我毕业后,那时才有空更新吧。

关于筹建中文的OpenFOAM社区,其实,我已经认识了几位OpenFOAM的使用者了,还有很多人联系我之后就再也无消息了,大概都很忙吧。不过,虽然我期待能有OpenFOAM中国社区,但是需要有人进行经济上支持才行。而且,筹建的目的对我来说也很简单,那就是是为了CFD在中国更扎实的增长,而不是一个代码,这么来说OpenFOAM不是最重要的;(注意,在CFD-Online上已经有专门的板块为OpenFOAM了,可见OpenFOAM在业内的影响力,已经极其非同小可了,我没看见中文流体网上有这么个平台还)

OpenFOAM不是最重要的,许多自称为学者研究生的用OpenFOAM,但是仍存心不良,但我算谁呢,怎能管着这样的事呢?同胞们,OpenFOAM的使用,最美好的期待,不仅仅是给盗版的Fluent找替代品,而是要明白CFD的核心。我看高校中用ANSYS成泛滥趋势,极其泛滥,(武大校长的十条建议,我觉得实在是紧迫,中国教育赶紧改革,杀出一条血路吧,太乱了),但是总感觉怪怪的,人家公司的东西,你是在给人家ANSYS公司做软件测试报告么?这,十分影响中国的核心技术能力的发展——应该坚决打击盗版,用盗版的难免是贪心、急功近利、胆小附势的体现。

OpenFOAM不是最重要的,不是终极目的,而是CFD,OpenFOAM只是一个手段,要努力专研湍流理论,数值思想,和流体力学等,C++的展现再怎么难,也绝对难不过湍流的难,那可是navier-stokes啊!

OpenFOAM不是最重要的,有限差分法,显示过滤技术,读读文章就会发现,到现在仍然有极其重要的支持社群,愿OpenFOAM的应用,在中国对CFD理论的研究,能点燃热情,而不是误导热情!

怎么感觉写的这么乱,看来现在的汉语水平越来越差了,大家容忍点吧。

兄弟们一切顺利。

查看全文 评论(5)

14

4月

2009

Building on ssc, an error

http://www.cfd-online.com/cgi-bin/OpenFOAM_Discus/show.cgi?tpc=1&post=8988#POST8988

Try replacing uint64_t with 'unsigned long long' (or anything else which is 64 bit unsigned integer)

查看全文 评论(0)

14

4月

2009

Build Gcc 4.4.0

Though no provision from the ftp servers, I used svn to download the new version 4.4.0 with fresh expectation. For OpenFOAM,

----------------------------------------------------------------------------tar xzf gcc-4.4.0.tgz 

mkdir gcc-4.4.0-obj 

cd gcc-4.4.0-obj 

../gcc-4.4.0/configure --prefix=$HOME/tmp/gcc/okay/gcc-4.4.0 --exec-prefix=$HOME/tmp/gcc/okay/gcc-4.4.0 --enable-languages=c,c++ --enable-shared --with-gmp=/usr --with-mpfr=$HOME/OpenFOAM/ThirdParty/mpfr-2.4.1

gmake bootstrap 

gmake install 

tar cvzf gcc-4.4.0.bin.tgz gcc-4.4.0 

and install it in ~/OpenFOAM/ThirdParty

mv gcc-4.4.0.bin.tgz ~/OpenFOAM/ThirdParty

cd ~/OpenFOAM/ThirdParty

tar xzf gcc-4.4.0.bin.tgz 

----------------------------------------------------------------------------

Note a new platform dir should be made b4 using it of cause.

查看全文 评论(0)

26

3月

2009

研究何去何从

去年花了好多的时间在OpenFOAM的代码上,现在再也没有这些时间了,人的精力的确有限。

正像我以前所分析过的,CFD的应用,需要长久的打拼与技巧积累,这样的话,会更加对概念透彻。

现在我绝大多数的经历都在这方面上了——应用——至此,OpenFOAM只不过是个工具而已,一个比Fluent对我来说更为好用的工具。

查看全文 评论(0)

19

1月

2009

DDES

最近在琢磨一项新技术,叫做DDES技术,Spalart教授发布此项技术已经有两年多了,但是在外面的文章似乎还是不多,反倒是没多久就出现了更绝的一门技术叫做IDDES,网上还有同行向我推荐,我回答他说,俺早就是读过了,不过一门技术复杂到那种地步,也真的就不说啥了。总意呢,我是暂时不会考虑那个什么IDDES技术的,但是DDES就不同咯。

一点浅见。

查看全文 评论(1)

关于OpenFOAM推荐链接(Links of OpenFOAM)

关于OpenFOAM,学了也有一段时间了,突然发现,学习他的人越来越多。

希望国内做CFD和湍流的人能越来越掌握这门核心技术本质。

下面是几个网站,我时常去逛去学习的,附有一些我的粗见,不当之处,请众同行指教。

 

1. http://openfoam.cfd-online.com/forum/

推荐级别:* * * * *

推荐理由:这个是最有用的,A good Community是十分重要的,OpenFOAM在这方面做的还不是很成熟,照看的人也的确不是很多,毕竟是开源的么,也没有人给钱,:),但是抱怨不能阻挡交流的热情和需要,每个学OpenFOAM的人基本上都在那上面混。要多发言啊,不过,不要总问傻问题,大牛们累得时候基本上都懒得理这些问题哈

2. http://sourceforge.net/projects/foam

推荐级别:* * * *

推荐理由:下载OpenFOAM各大版本用的,不过基本上许多人都用最新版本,当然也有例外,见下面一个链接。

3. http://openfoam-extend.wiki.sourceforge.net/

推荐级别:* * * *

推荐理 由:这个是Extend版本,这个版本有许多好处,相当于某种开发版,当然都是牛人们在开发啊,所以里面有许多东西很好用,实在稳定版中你可能找不到的,不过用不用看你,但是你至少了解一下这里有个OpenFOAM仓库。:)

4. http://openfoamwiki.net/

推荐级别:* * * * *

推荐理由:这个类似,一对学生学习OpenFOAM的课堂笔记,当然啦,有的学生学的特别好,所以网站主管,就把这些精华品,收录整理在这,你说你能不看么?比如说你什么编译不会啊,通不过啊,大家都是现在这顶上搜索的!

5. http://www.h.jasak.dial.pipex.com/ 

推荐级别:* *

推荐理由:这是Jasak老大的个人主页,“Jasak是谁?”呵呵,做OpenFOAM连他都不认得,那就别做啦。OpenFOAM开发团队的元老是这么几个:

Henry Weller, Hrvoje Jasak, Eugene de Villier, Mattijs Janssens, Gavin Tabor ...

当然了,Gosman他老人家咱就不算啦哈。

6. http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/ 

推荐级别:* * * *

推荐理由:你若真想研究OpenFOAM,这么重要的同行和伙伴,怎能忽视?

7. http://www.cfd-online.com/  

推荐级别:* * * * *

推荐理由:OpenFOAM毕竟是CFD的一种产品,这个网站是CFD全球最牛的了吧,怎能忽视呢?我不是瞧不起中文流体网,不过觉得那个网站跟这个还是远远没法比拚。大家有不会的,可以上来问问。

Some thoughts on LES (Roadmap toward learning CFD)

 

Since my thesis is about LES, with tears and bloods I have spent 2 years on it.

Unfortunately, my department is not a place well done in Fluid Dynamics, though our major is wind Resistence of structures (Actually Bridge Stuctures).

That was really a hard time for me, and now too!

 

If you let me say sth if there is any word for the new beginners, I would say "yes"!

You know, through pain and suffering, how much I hope that all you guys who will be engaged in this subject won't go a curved line any longer as I was, may the Lord bless u, and trust in him!

 

Here's the roadmap and some thoughts of mine.

  1. Make it clear what you are really looking for! So that you can make a good energy and time planning. Remember, LES is more energetic on "turbulence", solution to turbulence is her strength! So that you will know which should i select, LES or RANS, OpenSource or Commercial Codes, parallel or not.
  2. Prepare at least one season to learn C++, it will be of great help if you know what is OOP.
  3. Spent one season on fluid Dynamics and at the end of the season dont forget to get a big picture of turbulence flow! It is above all to say the knowledge of flow and turbulence flow is the basis of successful LES, I strongly doubt those who don't understand what is Kolmogorov's law, and meanwhile say he is performing turbulence modeling, it's funny!
  4. Ask experts! (I mean CFD experts) "which testcase is better for your subject! KEY!!!"
  5. Practice these testcases now, reproduce them (this means you need to download the benchmarks of these cases from internet)
  6. After 1 year, you see, this 1 year including your increasement of knowledge in CFD codes, say, OpenFOAM. (Do remember, it is indeeeeeeed in this year you will turn books' knowledge about turbulence flow simulation into yours!)
  7. Here, you are ready to do some good job! And I wish you a good success in your field!

关于OpenFOAM的安装问题

或许大家注意到,我没有写关于OpenFOAM的安装的问题。原因是这样的,

  1. 赶紧扔掉windows,cygwin那玩意……哎,除非你精力比我高三倍,或者你是微软的小弟弟。使用linux!
  2. OpenFOAM在linux下的安装的确很简单。
  3. 如果你还是觉得难得话,多半是因为你的linux知识太缺乏,不要着急,不要气馁,慢慢熟悉linux环境就好了。linux并不神秘,现在许多linux都有想Desktop开发的趋势,也就是说越来越好上手了,哈哈。我常看见新手没设置环境变量就用啊,或者不知道怎么设置啊,bashrc读不懂啊之类的,其实这些基本的linux功夫,是逃不掉的,慢慢学吧,两三个星期就好了。连这也觉得难,那之后你就别做了,嗬嗬。
  4. 记住如果不玩什么美化桌面之类的,我,(我是说我)推荐使用openSUSE,嘿嘿,多好啊。你也省去许多麻烦,据说开发者们就用的这个系统啊。
  5. 32位63位都无所谓,不过如果你需要从头编译的话话,64位的有点会不大顺畅,哈哈。
  6. 记住,调整好心态,要记住,shell模式的不是次等的,而是更优秀的。什么是shell呢,就是说命令行模式,微软下叫做命令行,*nux下叫做shell操作,shell语言等等,什么bash shell, csh, tsch,等等一堆,我喜欢bash,哈哈
  7. 安装真的很简单,去OpenFOAM主页上,或者UG(UserGuide)上都可以看到那几步。
  8. 其实即使debug调试重新编译也不是很难,难是难在非linux平台,难在并行调试等。
ProgrammersGuide-1.5
ProgrammersGuide.pdf
Adobe Acrobat 文档 [1.7 MB]
UserGuide-1.5
UserGuide.pdf
Adobe Acrobat 文档 [4.6 MB]

一点前车之鉴

最近有些同行来询问一些关于OpenFOAM的事。

其实坦白的讲,我觉得IC的这些人是很厉害的,人家也是花了好久的时间弄出来的,大概,我猜,又经过商业化那几年的包装,所以其实软件包实在是不简单的,指望一口吞下个胖子我觉得未免太难了些。

我说这话,并不是想打击初学者,只是从学术角度,希望(如果不冒昧的话)初学者,先定位自己的情况才是,你究竟有几年作论文的时间,你究竟是想:

1. 用的好就行,还是

2. 作CFD学问?

对于想用得好的人,我觉得,Fluent比OpenFOAM自然强大许多,为什么不用商业软件呢?

想做CFD的,那可真要静下心来了,哈哈。

OpenFOAM简介

1. 名词解释

CFD: Computational Fluid Dynamics

OpenFOAM: Open Source Field Operation and Manipulation

OpenFOAM可以说是现今CFD开源代码中最为出色的一个!

现今是指到目前为止2008-5-1,以后能否有更出色的,我觉得,难!

 

2. 语言角度欣赏

语言角度,想学习OpenFOAM,一定要学好C++,而且市场是那些C++的书多半都远远不够,那些书,都帮助不了你作大事!

OpenFOAM完全的dev版,其原始代码未编译前,多达100M,可见其工程之巨、涉足面之广。

准确点来讲,OpenFOAM是一个C++库,这个使用C++ STL的人都明白这点。它动用到C++最顶端的使用方法,OpenFOAM的历史比C++都早,许多C++用法,让人叹为观止,让人知道,为什么学语言,工程角度来讲,为什么要学C++,为什么C++是做大事的!

我观察下来:

C++的这些思想,是OpenFOAM用的极为频繁的,也是用的极其的令人赏心悦目的,也是想学的人一定要了解的。

  • 函数及运算符重载
  • 继承、虚函数、模板
  • 异常处理
  • 文件的输入和输出
  • STL(容器,张量,场,算法)
  • 动态内存分配

另外,初学的人,也一再想为什么不在windows下作,我想这也是人们被微软奴役的太久了,不当奴隶也难了。一句话,*nux的文件系统是区分大小写的,而windows的文件系统不行!

有人曾批评说,为什么一定要区分大小写?我想对这些朋友的劝勉是,在没看过代码,没接触过软件大工程,先不要随意评断人家做事的能力,区分大小写是有绝对理由的,以及很好的目的的。

除了语言之外,为了OpenFOAM,我们还需要掌握其它一些计算机知识点,这包括:

  • *nux
  • Shell Programming
  • Vi or Emacs
  • Parallel Programming including MPI...

这些知识点,我很想接下来的文章中逐步描述我的的一些学习经验。不知到时有没有这个可能。

 

3. CFD赏析

代码的思想其实传承的是Ferziger的"Computational Methods for Fluid Dynamics"一书因此,这本书,实在是经典之经典,想入门者,Highly Recommended!

 

这次先写到这。

OpenFOAM的杰出的两大类库

继续尝试看OpenFOAM的源代码,发现

src目录下一共有两个最重要的文件夹,

一个是src/OpenFOAM

另一个是src/finiteVolume

前者是OpenFOAM为通用CFD搭建的最底层的必需品,

多为一些基础类,容器,算法,等类似于STL一般的“标准”库,

我更喜欢称之为“CFDTL"!

后者是OpenFOAM所采用的有限体积法框架下的铺展。

这个库,我更喜欢称之为“FVTL"!

我希望日后的教材书上采用我的这两个命名。:)

 

值得注意的是,最底层的显然没有有限体积法的代码大,

后者编译出来多达300M,

而前者相对就少了许多——100M左右。

而这两个在实际编译的时候,也最容易出问题,

那么探测的手段,就是test文件夹。

当然,这些探测文件,显然需要明白代码内部的人才可以去探测。

OpenFOAM-1.5 出炉

现在OpenFOAM-1.5版本也已经出来了。是一个改进比较大的版本了。
我呢,也算是从1.2就开始接触了,可是真正动心的时候实在1.3,后来上手的时候是1.4,后来在1.4.1,不1.4.1-dev上花了好多精力。
嘿嘿,现在这个1.5版本,我最喜欢了,最起码,那个可恶的ParaFoam终于可以用的paraview的3.0版本了,老掉牙的2.6界面真难看,不是么?:-)
整个程序的src下面的架构发生了很大的调整,估计Henry长久的心愿得以舒展。维护团队现在估计也多了一些新的人手吧,但是明显的都是高手啊。人家也在读博士,差距咋就那么大呢??:)

其实,我也是一个新手。OpenFOAM像个很深的洞,消耗了我许多的精力。
因此对初学的人,我常常劝其谨慎,不要好高骛远,毕竟论文时间大家都有限。你若不想搞研究,何必想啃人家花了十多年的精华呢。如果你想一年吃人家十年的东西,也未免把人家小瞧过分了些。你说呢?还有一点,究竟你要不要并行?不要的话,何必浪费这么好的CFD代码呢。当然,这也不一定哈,算我没说。
我说话快成愤青了现在,希望大家不要怪我。
我觉得国人做学问太浮躁,急于求成,基础又浅,急于下结论。当然这不完全是学生的错,老师尚且如此,机制尚且孕育,又奈学生何?

撰写评论

8 评论

  • #1

    (星期一, 16 六月 2008 21:35)

    你好!看了你写的文章,收获不少!很感谢你能给我们分享你的心得!
    我想请问你个关于openFOAM问题,我试着安装过,几次都没编译成功
    你能否给我的点建议!我用的是redflag 6.0桌面版的,对了你是用
    那个版本LINUX编译成功的?期待你的回复!
    MY Email:dengbin07@163.com
    qq:253383193
    tks!
    Dean

  • #2

    wang (星期六, 29 十一月 2008 00:53)

    对这句话深有同感:

    OpenFOAM像个很深的洞,消耗了我许多的精力。

  • #3

    mingxiaofan (星期五, 30 一月 2009 02:40)

    呵呵,说得好,说得好
    继续啊~

  • #4

    Chiven (星期二, 28 四月 2009 09:39)

    老魏,您的博客我看了好几遍。作为OpenFOAM的前辈,您给我们这些后来的FOAM-er们的建议非常宝贵。也很感谢您在我安装OpenFOAM过程中的无私指点。同时期待着分享您更多的经验和科研成果。最后,祝您一切顺利!

  • #5

    chiven (星期二, 28 四月 2009 19:08)

    支持中文的OpenFOAM社区,发现国内用OpenFOAM还处于起步阶段,相关的配套网站确实甚为欠缺。随着国内用户的快速增加,迫切需要建立一个社区供大家交流讨论。
    如果哪方面需要我帮忙的,请随时给我发邮件。

  • #6

    老魏 (星期二, 28 四月 2009 19:13)

    Hi, Chiven, your email?

  • #7

    chiven (星期二, 28 四月 2009 20:36)

    chiven77那个email就是我了。chiven是我上英文课时取英文名字而已。

  • #8

    chiven (星期五, 08 五月 2009 22:31)

    老魏,加油!
    期盼您早日毕业!

  • loading