博文
singleton模式在有限元后处理软件开发中的应用(剖面等值线)(2009-02-21 00:26:00)
摘要:
singleton模式在有限元后处理软件开发中的应用
(剖面等值线)
在三维有限元后处理软件中,客户常常会要求这样一个功能:查看三维实体的剖面等值线。例如,在高温炼炉的温度场分析中,工程师常常会关心炉内腔至炉外壁的温度变化趋势;在水坝应力分析中,设计师常常会关心断面上的局部破坏位置…..
具体来讲就是指,用户在后处理结果时,常需要一个参数输入框,用户通过输入框输入指定的平面参数,程序自动用该平面切割当前实体模型,绘制出断面上相关物理场(位移、应力等)的等值线。
针对此问题,一般软件设计时,首先会想到要建立一个平面等值线类,该类负责存储剖面的网格数据、等值线数据,以及的等值线计算、绘制等等功能。那么,初步的等值线类就设计出来了,如下:
class CContour2D
{
public:
CContour2D();
virtual ~CContour2D();
void Init();
void Calculate();
void Draw();
……
void Destory();
public:
vector<_P> m_vP; //节点向量
vector<_E> m_vE; //单元向量
public:
……
};
(单元向量中只需要能保存三角形单元和四边形单元即可,因为计算实体剖面的同时,可直接将剖面离散为三角形和四边形的网格,并算出节点的物理值。)
随后,添加剖面等值线绘制输入框,根据用户需要自动生成剖面等值线类的对象,绘制等值线。
但是这样就产生一个问题:任意时......