上次画出了求解子系统的顺序图,基本明白了各个类的接口的定义。在具体编程的过程中,发现很不顺手。原因是各个类已经设计得比较具体了,并且有一定得耦合度了,要完成这些编程需要每个类逐个仔细琢磨,感觉有点无从
在上一个报告中初步确定了求解子系统的基本结构,然而这里还是做一些进一步分析。 Solver的继承层次 根据不同的问题(Euler方程、可压缩NS方程和不可压缩NS方程)或者求解方法(FVM,FEM,
我靠,昨天终于下定决心,要用C++编写一个CFD(计算流体力学)程序了。设计为先,不过还是心里没底,怯得很,毕竟是我一个人单枪匹马的瞎捉摸,连个讨论的人都没有。但愿这里会有人给点建议—&#
在考察了OverBlown和AMROC的求解部分的结构之后,我觉得AMROC的结构时可取的。不过由于AMROC只针对单块或者多块矩形网格,因此它没有单独的网格类。我的程序时针对任意几何形状的,必须有网
基本上,与求解器无关的上层类都设计得差不多了,然后就是求解器这个部分要开始做了。求解器部分的设计不是那么容易,所以还是先看看其它开放源代码的结构吧。 首先我再次看了一下Overture的模式。在Ove
网格,当然不必自己写程序生成。我想采用现有的商业网格生成软件作为前处理。我用过Gambit,它的手册里面详细描述了Neutral格式,所以我打算利用Gambit做前处理生成Neutral格式的有限元网
为了实现参数文件操作,我不打算自己写这样的代码。以前使用过AMROC,觉得它的ControlDevice那个类很好,完全透明的参数文件读取,于是想拿过来用用。这样就要求需要外部参数的类必须由一个con
在大概初步搭好类图之后,就开始画顺序图了,感觉很乱。因为画顺序图时需要确定类之间的调用关系,而那些被调用的方法还没有完全设置好,于是又跑回类图给各个类设置必要的方法和属性。颠来倒去,搞了好几次,才算初
关于类的结构,我参考AMROC的结构,加进了一些自己的修改。最上层,是一个名为Case的类,它描述了一个算例的基本的,与数值方法无关的信息和元件: 1 Mesh:具有一般性的有限元网格类; 2 与具体
1.1 类与对象 对象(Object)是类(Class)的一个实例(Instance)。如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象程序设计的重点是类的设计,而不是对象的设计。类可以将数