分享
 
 
 

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

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

关于类的结构,我参考AMROC的结构,加进了一些自己的修改。最上层,是一个名为Case的类,它描述了一个算例的基本的,与数值方法无关的信息和元件:

1 Mesh:具有一般性的有限元网格类;

2 与具体数值方法无关、描述物理状态的边界条件,BoundaryCondition类;

3 一个控制和调度求解顺序的求解控制器,SolverControl类;

4 定义算例、网格和边界的资源文件;

5 IO控制

下一层,就是具体的Solver类,还有Mesh类可以说跨越两个层次,因为Mesh要提供一些方法和数据以配合具体的Solver。不过这些方法还是完全可以封装在Mesh内部的。同时,Solver类包含了一些与其特定数值方法有关的边界/初始条件实现的类,NumericalBoundaryCondition和InitialCondition。其中NumericalBoundaryCondition是依赖Case类的BoundaryCondition类的。

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

但是这样就在思考上不容易把握软件的类的层次性。也就是说,软件中类结构是能够体现出所谓的概念层,说明层和实现层的。一开始就切入实现层,然而容易搞晕。我花了2天捉摸,把整个类图全部画在了一个页面上,还觉得页面空间太狭小,一些类在变大,耦合似乎越来越紧。

第三天,我想了想,还是要在思想上把握层次性。因此我便设计了上述的两层结构。我将类图分为两页,分别画出两层的类。

顶层类

Mesh类显得有些大,而且以后估计还会变得更大。我考虑将Mesh简化到只包含基本顶点和单元数据,而采用外部的网格操作类来实现其它数据的创建和计算,然后将数据连接并注册到Mesh的数据列表中去。听起来有些麻烦,所以暂且就这样了。

下层类

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有