之前发过一个梁单元有限元分析程序。在好友测试时发现一个问题,就是程序中的real型变量默认为kind=4,我们姑且称为单精度型。这样限制了程序的使用,在一些问题中出现200E10这样的大数时,程序就“罢工”了,遂将其改造成双精度版,并用2个例子验证。
一、简支梁跨中挠度和弯矩
如图所示的简支梁,长度L = 4,划分为4个单元,单元2的第二个节点刚好在跨中的位置。
计算结果如下:
跨中弯矩和挠度与精确解相同。
二、多跨超静定梁
如图所示的超静定梁,划分为2个单元,弹性模量E = 200 E6 kN/m2, 这里的数据比较大,就体现双精度的好处了。
计算结果如下:
本例来自英文版的结构力学教材,采用结构力学经典方法解得内力的精确解为:
可见二者结果一致。有限元计算精度取决于划分的单元,不同的划分得到的结果略有不同。