当前任务
stiffness matrix 究竟怎么算?
什么是tangent stiffnes matrix?
在Exact Corotational Linear FEM Stiffness Matrix之中
linear stiffness matrix Krest 是指小变形的情形下,节点的力f = Krest * 节点位移x
tangent stiffness matrix K = df / dx 定义为f对位移x的雅可比矩阵,表示当前位置下,微小变形与节点力的关系,当元素发生显著旋转的时候,tangent stiffness matrix为准确值,对于非线性模型,并不能简单通过用K*x算出当前位置的准确节点力
在此篇论文中,给出一种算 K的准确方法
在Interactive Virtual Material中
前述的linear stiffness matrix 被简单称为stiffness matrix, 记为Ke
对于旋转的情形,其给出一种简单的近似办法,K' = R * Ke * RT, 这样的近似称为 rotated stiffness matrix
为什么K'是一种近似?
假设四面体经历了一个旋转R,之后再发生变形,则
f = R * Ke * (RT * x - x0)
此式先把新位置映射回旋转前坐标系,再计算顶点位移RT * x - x0,乘以Ke得到力,最后把力映射会旋转之后的坐标系
因为准确的 K = df / dx
但R 实际上与x 有关
因此如果认为R是常数,推出 K' = df / dx = R * Ke * RT, 此时的K’必定为近似值
现在的任务是要找到 Krest/Ke的明确定义
在Interactive Virtual Material中, 定义Ke = Ve * BeT * E Be
此式估计是在线性小变形的情形下推出的,此式与一些工程力学的有限元分析给出的公式符合。
(具体是怎么推导的?胡克定律?)
最后一个问题,就是K = df /dx 是否与由能量密度->P->f这种思路得到的结果一样?
估计可以。
三种stiffness matrix 的对比
标记 | 名字 | 含义 | 定义 | |
Krest Ke | (linear) stiffness matrix | 线性小变形情况,没有旋转 | ||
K’ | rotated stiffness matrix | 考虑旋转时的近似方法 | K' = R * Ke * RT | |
K | tangent stiffness matrix | 旋转时的准确方法 | K = df / dx |