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

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

在考察了OverBlown和AMROC的求解部分的结构之后,我觉得AMROC的结构时可取的。不过由于AMROC只针对单块或者多块矩形网格,因此它没有单独的网格类。我的程序时针对任意几何形状的,必须有网格,因此在借鉴AMROC结构的同时,必须考虑网格及其有关类加入后的影响。

初步设计的类图如下

Solver包含NumericalBoundaryCondition、InitialCondition、Integrator三个关键部分,利用一个封装的数组类DataFunction处理求解过程中用到的数组,同时还相识Case对象传递给它的Mesh对象。NumericalBoundaryCondition由BoundaryCondition衍生,是包含特定边界条件数值方法的基类,针对具体的算法和边界类型会有不同的子类实现。NumericalBoundaryCondition也需要和Mesh对象关联,因为边界条件与计算区域几何形状相关,而网格对象包含了几何形状。DataFunction也需要和网格关联,不过只是在特定的DataFunction对象构造时候需要以一个Mesh对象作为参考。不过对于象Solver和NumericalBoundaryCondition对于以DataFunction对象为操作“数”的对象来说,必须知道两者之间的联系。

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