你在这里
如何从全局坐标求出自然坐标?
太阳,2022-05-08 17:53 -lianweidong
对于三维等参元素,我们可以很容易地从(r,s,t)中找到evaluate x(r,s,t), y(r,s,t)和z(r,s,t)。给定一个全局点(x,y,z),我们如何找到/推导出相应的自然坐标(r,s,t)?有什么方程吗?即使是线性元素,坐标变换也不是线性的。
这是一个实际的FEM实现问题,如果用户想查询在给定全局点的位移,我们该如何做到这一点?如果我们知道(r, s, t),那么我们可以很容易地找到U(r, s, t) = ΣNi(r, s, t)Ui
我们需要解一个小的非线性方程吗?
谢谢你的帮助。
![订阅“如何从全局坐标评估自然坐标?”](http://m.limpotrade.com/misc/feed.png)
从全球到自然
基本的牛顿-拉弗森格式可以得到相应的自然坐标。(据我所知)没有直接的方程式。你确实需要解一个小的非线性方程(牛顿-拉弗森迭代)。
以下是基本大纲:
0.设置你感兴趣的全局点,创建列向量Xg=[Xg;yg; zg]
1.设置Rn=[Rn;sn;tn]的初始猜测列向量
2.在rn,sn,tn的当前值处计算列向量X=[X (rn,sn,tn);y (rn、锡、tn);z (rn、锡、tn)]
3.计算残差(误差)的范数,|Rs|=|Xg-X|,比较允许的公差,也许你想要|Rs|<10^-6
4.当公差未满足时,迭代直到公差满足
a.在rn,sn,tn的当前值(或猜测值)处,求出雅可比矩阵,J(rn,sn,tn)=[dx/dr dx/ds dx/dt;Dy /dr Dy /ds Dy /dt;Dz /dr Dz /ds Dz /dt]
b.确定Rn的校正,deltaRn= -J-1Rs
c.计算列向量Rn+1=Rn+deltaRn = [Rn+1;sn+1;tn+1]
d.计算新的残差,在[rn+1;sn+1;tn+1]处使用新的X,则Rs=Xg-X
e.重复操作,直到期望的剩余|Rs|的标准低于公差
结束迭代
Rn+1包含r s t的值,它们对应于全局值Xg
我认为我已经正确地解决了上述算法。希望它至少能让你朝着正确的方向前进。
你也可以看看下面的链接
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4991307/
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.971.6670&rep=r..。
步骤b的修正
deltaRn =逆(J) *
笛卡尔式与自然式
你必须从x(r,s,t), y(r,s,t)和z(r,s,t)中确定雅可比矩阵,其中x(r,s,t)=ΣNi(r,s,t)*xi
人们必须找到Ni 8节点形状函数,例如,如果节点1位于r=-1, s=-1和t=-1,那么所有其他节点都位于r=1(即1-r=0), s=1(即1-s=0)或t=1(即1-t=0)
N1(r,s,t)=(1-r)(1-s)(1-t)/8这个多边形必须扫描所有其他节点。如果替换节点1坐标,则必须在该节点上找到值N1=1,除以8可以做到这一点。其他节点N1=0。
x,r=ΣNi,r*xi在雅可比矩阵中。同样的公式也适用于其他节点,x,s, x,t, y,r, y,s, y,t, z,r, z,s和z,t。元素矩阵在积分中使用形状函数导数,可以用高斯积分公式计算。