这是我根据网上的一些教程和手头教材总结的一个平面杆系有限元C++程序的框架,其中各部分模块的实现在我前面几篇文章中已经讨论过了,此处仅列出整个程序的总体思路。欢迎各位同学批评指正!
1 适用范围的确定
不同的有限元单元的模型对应着不同的刚度矩阵,不同的刚度矩阵会组装出不同的刚度方程,故程序能够组装出怎样的刚度方程,就决定了程序的适用范围。本程序的适用范围为平面框架结构的有限元计算,包括平面桁架、平面刚架及其组合。
2 程序输入
本程序不包含前处理模块,整个前处理(网格划分、边界条件、初始条件等)都是人工完成的,需要把前处理好的信息做成一个输入文档,然后用cin把数据读入程序中的各种结构体内(如,单元结构体pElem、节点结构体pNode、载荷结构体pLoad等等)。输入文档示例如下:
4 2 3 1 2 1
//总控数据:节点总数;受约束节点总数;单元总数;材料种类总数;截面种类总数;载荷总数。
1 0.0 6.0
1 0.0 0.0
1 12.0 0.0
1 12.0 6.0
//节点数据:节点类型号;节点 x 坐标;节点 y 坐标。
0 -1 -1 -1
3 -1 -1 -1
//受约束节点数据:受约束节点号;x 向约束情况;y 向约束情况;转角向约束情况。
1 1 0 0 0
1 1 2 1 0
1 2 3 0 0
//单元数据:单元类型号;杆件单元始端节点号;杆件单元终端节点号;单元截面索引号;单元材料索引号
1.0 0.3 0.0001
//材料数据:弹性模量&#x