3D 实体 8 节点 FEM Matlab 代码

计算科学 有限元 matlab
2021-12-12 19:23:13

所以这个学期,我将在我的研究生院学习有限元方法课程。我们开始为 1D 条制作代码,一直到 8 节点实体元素。然而,我似乎碰壁了,因为我在过去一周编写并梳理了代码,确保所有形状函数和数学都是正确的。最后,一切看起来都是正确的。然而,虽然我应该在 0.3 m 的球场附近得到 z 方向的偏转,但我一直得到 E-04 大小的偏转。我非常无能为力。另外,因为我真的不知道将这个问题发布到哪个 StackExchange 社区,所以我尝试了数学和溢出。我想强调一下,我并不想只是向我的问题发送垃圾邮件。如果你能向我解释为什么我的问题不属于这里,我会尽快删除。但是我已经完成了我的研究并且我已经编写了我自己的代码,所以我并没有尝试无中生有。任何和所有的帮助表示赞赏。我将在下面详细说明问题:

  • 有一根杆的一端完全夹紧。
  • 它在 x-dir 中为 1[m] 长,在 y-dir 和 z-dir 中为 0.1[m] 长。
  • 100[kN] 的点力在杆的自由端向上施加。y-dir 和 z-dir 中的元素数量始终只有 1 个元素,但我应该增加 x-dir 元素的数量以显示位移值收敛。目前,它们不仅不收敛,而且值太小。

再次感谢您提供的所有帮助。

https://drive.google.com/drive/folders/0BzaeyQa0ePwvU2lLTmZQSUZFLTg?usp=sharing

1个回答

经过一番调查,我相信你的 FE 代码是正确的。恭喜!

根据梁理论,悬臂梁在尖端有点载荷时的挠度为

utip=PL3/(3EI)
对于模型的参数,utip=.03333m.

使用单个元素,您的代码给出utip=8.4697×104m. 对于 30 个元素, utip=0.027862m

那么,为什么 FE 解决方案不更接近于光束解决方案呢?

在对弯曲行为进行建模时,这些完全集成的八节点六角元素(以及相应的二维四节点四边形)非常糟糕。针对这个问题的补救措施已经研究了 30 多年。一种粗略的解决方案是在形成刚度矩阵(例如,单个高斯点)时简单地对这些项进行欠积分。但这会带来新的问题。更好的方法是使用比简单置换公式更复杂的方法。如果您搜索“有限元中的剪切锁定”,您可以找到大量信息。