当前位置: 动力学知识库 > 问答 > 编程问答 >

mapping - Algorithm for isoparametric transformation

问题描述:

Algorithm for isoparametric transformation

i am searching for algorithm for isoparametric transformation for 9 node curved quadrilateral. i successfully got an algorithm for square to 9 node curved quadrilateral. But it is difficult to find algorithm for 9 node curved quadrilateral to square. Please help me.

bool IsoparametricTransformation::fn_map_square_to_9_node_quadrilateral(double x1,double y1,double x2,double y2,double x3,double y3,double x4,double y4,double x5,double y5,double x6,double y6,double x7,double y7,double x8,double y8,double x9,double y9,double e,double n,double &x,double &y)

{

/* iso parametric transformation 9 node method

*7 *6 *5

*8 *9 *4

*1 *2 *3

*/

double n1(0),n2(0),n3(0),n4(0),n5(0),n6(0),n7(0),n8(0),n9(0);

n1 = ((e-1)*(n-1)*e*n)/4;

n2 = ((e*e -1)*(n-1)*(-n))/2;

n3 = ((e+1)*(n-1)*e*n)/4;

n4 = ((e+1)*(n*n-1)*(-e))/2;

n5 = ((e+1)*(n+1)*e*n)/4;

n6 = ((e*e - 1)*(n+1)*(-n))/2;

n7 = ((e-1)*(n+1)*e*n)/4;

n8 = ((e-1)*(n*n -1)*(-e))/2;

n9 = ((1-e*e)*(1-n*n));

x = (n1*x1) + (n2*x2) + (n3*x3) + (n4*x4) + (n5*x5) + (n6*x6) + (n7*x7) + (n8*x8)+(n9*x9);

y = (n1*y1) + (n2*y2) + (n3*y3) + (n4*y4) + (n5*y5) + (n6*y6) + (n7*y7) + (n8*y8)+(n9*y9);

return true;

}

image for 9 node soparametric transformation

分享给朋友:
您可能感兴趣的文章:
随机阅读: