面向对象的CFD程序设计实验——[01]

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

我靠,昨天终于下定决心,要用C++编写一个CFD(计算流体力学)程序了。设计为先,不过还是心里没底,怯得很,毕竟是我一个人单枪匹马的瞎捉摸,连个讨论的人都没有。但愿这里会有人给点建议——不过这里都是IT精英,对计算力学没了解。其实科学计算软件的套路反而是比较单纯的,看在俺编过几个小玩意,看了点Overture和AMROC的份上,老天保佑我能干得下去。

心里一团浆糊,想了这个又忘了那个,还是得依靠UML来设计表达。昨天和今天在google上搜了点UML资料,下载了一个D版UMLStudio就摸索着开始画图了。画得图肯定不标准,管他呢?基本的结构其实我已经想得大概差不多了,只是细节部分还理不清,画图形式上的问题,以后再改吧。

一开始没搞太明白,用例图里面画了4、5个用例。回头看看书上说,10人/年得项目一般包含大约10~20个用例。靠,我这4、5个是不是太多了?我是打算几个星期能实现的。再想了一下,其实我的这个东西功能就一个:根据用户编写好的Case定义文件和网格文件进行计算,输出计算结果文件供用户分析和checkpoint文件供下次继续计算。Ok,那么用例就只有一个:计算。

然后是类图,画来画去,改来改去的。其中计算中的一些元素到底作为哪个类的成员,一些算法过程到底应该定义在哪个类中,这些反反复复改了几次。我没有按照书中建议那样先做概念设计,然后是说明层次,最后才是实现层次。因为这个东西实际上还是比较简单,而且我不打算做到那么抽象,那么具有可扩展性。我只是打算做某一种具体CFD算法的程序,可扩展的部分只是细节部分(如何插值、如何迭代),而不是可扩展到别的CFD算法(比如FVM算法、SPH算法等等)。所以类图一开始便是实现层次的了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航