User login


You are here

How to evaluate natural coordinates from global coordinates?

For 3D isoparametric elements, we could easily find evaluate x(r,s,t), y(r,s,t) and z(r,s,t) from (r,s,t). Given a global point (x,y,z), how could we find/derive the corresponding nature coordinate (r,s,t)? Is there any equation? Even for linear element, the coordinate transformation is not linear. 

This is a practical FEM implementation issue, if a user wants to query a displacement at a given global point, how can we do that? If we know the (r, s, t), then we could easily find the U(r, s, t) = ΣNi(r, s, t)Ui 

Do we have to solve a small nonlinear equation? 


Thanks for your help.

yawlou's picture

The basic Newton-Raphson scheme can be used to get the corresponding natural coordinates.  There is no direct equation (that I am aware of).  You do need to solve a small nonlinear equation (Newton-Raphson iterations).

Here is the basic outline:

0. Set the global point you are interested, in create column vector Xg=[xg; yg ;zg]

1. Set column vector of initial guesses for Rn=[rn;sn;tn]

2. At the current values for rn,sn,tn evaluate column vector X=[x(rn,sn,tn); y(rn,sn,tn); z(rn,sn,tn)]

3. Calculate the norm of residual(error), |Rs|=|Xg-X|, compare to allowed tolerance, perhaps you want |Rs|<10^-6

4. While tolerance not met iterate until tolerance met

a. At current value (or guess) for rn,sn,tn find the Jacobian, J(rn,sn,tn)=[dx/dr dx/ds dx/dt; dy/dr dy/ds dy/dt; dz/dr dz/ds dz/dt]

b. Determine correction for Rn,   deltaRn= -J-1Rs

c. Calculate column vector Rn+1=Rn+deltaRn      =        [rn+1;sn+1;tn+1]

d. Calculate new residual, use new X at values [rn+1;sn+1;tn+1], then Rs=Xg-X

e. Repeat until desired norm of residual |Rs| is below tolerance

End iterations

Rn+1 will contain your r,s,t values, that correspond to global values Xg


I think I have the above algorithm worked out properly.  Hopefully, it at least gets you headed in the right direction.


You may also like to look at the following links



yawlou's picture


mohammedlamine's picture

You must determine the Jacobian from x(r,s,t) , y(r,s,t) and z(r,s,t) where x(r,s,t)=ΣNi(r,s,t)*xi

One has to find the Ni 8-nodes shape functions for example if node 1 is located at r=-1 , s=-1 and t=-1 then all the other nodes are at r=1 (ie 1-r=0) , s=1 (ie 1-s=0) or t=1 (ie 1-t=0) one can find

N1(r,s,t)=(1-r)(1-s)(1-t)/8 This polynome must scan all the other nodes. If one replaces the node 1 coordinates, one must find the value N1=1 at this node the division by 8 allows this. N1=0 at the other nodes.

x,r=ΣNi,r*xi in the Jacobian. The same formulation can be applied to the other nodes , to x,s , to x,t ,to y,r , to y,s , to y,t , to z,r , to z,s and  to z,t . The element matrices use the shape functions derivatives in their integrals which can be computed with the gaussian quadrature formulas.

Subscribe to Comments for "How to evaluate natural coordinates from global coordinates?"

More comments


Subscribe to Syndicate