完成了任务的第一部分,我们就可以继续。尽管组装整体刚度矩阵可能会比较耗时,但载荷和位移向量却更容易!所以现在我们来看一下载荷和位移向量是什么。
让我们想知道接下来该怎么办?和以前一样,我在圆圈中标记了相应的节点。首先力向量[F]。对于节点(3)和(4)施加了载荷。请注意,在节点2上没有施加任何载荷,因此该值为0。但是,这并不意味着在节点2处单元没有“内力”。这仅意味着我们没有在相应节点施加外部负载!如前所述,反作用力施加在(1)中。我们尚不知道该值,所以我将其标记为R1。
位移向量非常容易!我们只知道在节点(1)处变形为0(这是约束位置),其他值未知。
这是您一直在等待的最终时刻。我们拥有求解问题的所有要素,就可以得到这个最后的方程……然后想方法如何解决这个问题!使用基本的线性代数知识就可以解决了。求解R1:
反作用力非常简单。值是正数,因此反作用力向上,抵抗施加的负载。总负载为280kN,我得到的反应为279.4kN,这是由于舍入误差。我只使用3-4位数字,因此会有累积误差。不用担心的是,计算机使用的位数远远超过4位……!
对于变形,它会有些棘手,但我们也可以对此进行检查。柱子下段变形-0.711mm,上段变形-0.353mm总变形1.354mm,与矩阵计算结果一致。
内力
上面,我们解决了系统的位移和反作用力。现在,我们要计算每个单元的内力。首先,让我们总结一下我们已经知道的。我们设法计算出系统中的反作用力和位移,在此过程中,我们必须为每个单元创建刚度矩阵。所有结果如下:
内力的计算实际上非常简单。我们将只为每个单独的单元建立平衡方程,但是我们将在单元中使用内力来代替载荷。由于我们已经知道了变形,因此应该可以很好地解决。
如您所见,发现内力计算的还算准!但还是会有一点点误差!
接下来我们需要解释变形是如何描述的,这时不得不提 形状函数的作用!
由于我们使用的是一维单元,因此形状函数相对容易。这是典型一维单元的样子:
我使用“ i”作为“开始节点编号”,使用“ j”作为“结束节点编号”。这是一个非常简单的线性渐变,但是我们要结合使用坐标,让求解器知道它的位置。为了描述每个单元位置的变形,我们需要一个向量,此向量是元素的 形状函数。通常,它被描述为“ N”:
请注意,对于x = xi,第一个值为1,而第二个为0。同样,对于x = xj,第一个值为0,而第二个为1。在一个节点上,只有来自该节点的值才会影响结果。还可以看出,无论x的值如何,向量中的两个项加起来都为1。使用它,我们可以描述整个单元的变形状态。这种变形将是坐标x的函数,因为根据x值,元素上给定点的变形将可以表示。我们称其为“基本”变形U(x),而节点变形将像以前一样使用小写u。在这种情况下:
我们简单测试一下上式是否正确。以单元B为例,它由节点2(u2 = -0.355mm)和节点3(u3 = -0.71mm)相关联。很明显,在单元中间位置,变形应为-0.533mm,好吧,让我们看看由上式计算的结果:
当然,我们已经知道坐标。将坐标值带入可以简单地解决上述问题:
我们知道应变是位移的导数!现在,由于有了位移函数,我们实际上可以数学计算应变了……通常,会有一个矩阵[D]向求解器描述在哪些位移上使用哪些导数(在实际3D问题中)。但是在这里,我们只需要做dU(x) / dx,用B(x)表示,因为这是我们唯一的坐标!无论如何,可以得到结果:
注意,在我们的例子中,B(x)实际上并不依赖于x!我们使用的变形量沿长度方向呈线性分布,因此所产生的应变在整个元件上将保持恒定!让我们计算一下单元C的应变:
可以知道:末端的位移减去开始的位移除以长度,这就是计算的应变!按照相同的方法,可以分别计算不同单元的应变。
对我们来说幸运的是,应力和应变之间的关系是材料本构决定的。我们通常需要使用弹性模量和泊松比。
最终,我们完成了所有工作……!但还有些东西是重要的。
我必须承认,我为实现这一目标感到惊讶。我从来没有手动算过FEA,花了我几个小时才能在书籍中找到进行这项工作的材料。但是我做到了,我肯定学到了一些新东西。
但是身为工程师,想以传统的方式完成任务:这可行吗?
答案是:不,不可以的。我的意思是,如果目标是编写自己的求解器,那么也许这是第一步。但是,如果只是验证设计?这是不太可能的。
从设计的角度来看,以下问题很重要……毕竟,求解器您可以使用现成的,但是没有一个求解器可以回答以下问题:柱子的刚度足够吗?会发生屈曲吗?载荷偏心的影响重要吗?单元数够多吗?等等……!
我在这里写它是因为我看到越来越多的人进行有限元分析,但对其真正了解的又很少。对我来说,FEA只是一个很棒的工具,是为了帮助实现优化设计。如果您只是刚刚开始,请记住– FEA就是一个计算器,它只进行数学运算。真正的CAE要比这复杂得多,并且需要大量数学运算之外的知识!您需要了解如何对模型进行网格划分,如何进行加载以及如何对其进行约束。最后,您需要判断结果的正确性,以及如何解释结果(以及要注意的是什么)。其中有太多重要的事情与我今天讨论的内容无关。