GetJacobian

PURPOSE ^

GETJACOBIAN - computes the jacobian for a pentaelem

SYNOPSIS ^

function J=GetJacobian(pentaelem,xyz_list,gauss_coord)

DESCRIPTION ^

GETJACOBIAN - computes the jacobian for a pentaelem

   Usage:
      J=GetJacobian(pentaelem,xyz_list,gauss_coord)

   See also GETJACOBIANDETERMINANT, GETJACOBIANINVERT

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function J=GetJacobian(pentaelem,xyz_list,gauss_coord)
0002 %GETJACOBIAN - computes the jacobian for a pentaelem
0003 %
0004 %   Usage:
0005 %      J=GetJacobian(pentaelem,xyz_list,gauss_coord)
0006 %
0007 %   See also GETJACOBIANDETERMINANT, GETJACOBIANINVERT
0008 
0009 %The Jacobian is constant over the element, discard the gaussian points.
0010 
0011 J=zeros(3,3);
0012 sqrt3=sqrt(3.0);
0013 
0014 %grids coordinates
0015 coord1=xyz_list(1,:)';
0016 coord2=xyz_list(2,:)';
0017 coord3=xyz_list(3,:)';
0018 coord4=xyz_list(4,:)';
0019 coord5=xyz_list(5,:)';
0020 coord6=xyz_list(6,:)';
0021 
0022 %Gauss point coordinate in reference element
0023 r=gauss_coord(1,2) - gauss_coord(1,1);
0024 s= - 3.0/sqrt3 *(gauss_coord(1,1)+gauss_coord(1,2) - 2.0/3.0);
0025 zeta=gauss_coord(1,4);
0026 
0027 %Computation of the jacobian on this gauss point
0028 J(:,1)=1.0/4.0* (-coord1+coord2-coord4+coord5) + 1.0/4.0 *(coord1-coord2-coord4+coord5)*zeta;
0029 J(:,2)=sqrt3/12.0 *(-coord1-coord2+2*coord3-coord4-coord5+2*coord6) +  sqrt3/12.0* (coord1+coord2-2*coord3-coord4-coord5+2*coord6)*zeta;
0030 J(:,3)=1.0/4.0* (coord1-coord2-coord4+coord5)*r +  sqrt3/12.0 *(coord1+coord2-2*coord3-coord4-coord5+2*coord6)*s + 1/6.0 *(-coord1-coord2-coord3+coord4+coord5+coord6) ;
0031 
0032 %Faster than :
0033 %J(1,1)=1.0/4.0* (-x1+x2-x4+x5) + 1.0/4.0 *(x1-x2-x4+x5)*zeta;
0034 %J(2,1)=1.0/4.0 *(-y1+y2-y4+y5) + 1.0/4.0 *(y1-y2-y4+y5)*zeta;
0035 %J(3,1)=1.0/4.0 *(-z1+z2-z4+z5) + 1.0/4.0 *(z1-z2-z4+z5)*zeta;
0036 
0037 %J(1,2)=sqrt3/12.0 *(-x1-x2+2*x3-x4-x5+2*x6) +  sqrt3/12.0* (x1+x2-2*x3-x4-x5+2*x6)*zeta;
0038 %J(2,2)=sqrt3/12.0 *(-y1-y2+2*y3-y4-y5+2*y6) +  sqrt3/12.0* (y1+y2-2*y3-y4-y5+2*y6)*zeta;
0039 %J(3,2)=sqrt3/12.0 *(-z1-z2+2*z3-z4-z5+2*z6) +  sqrt3/12.0* (z1+z2-2*z3-z4-z5+2*z6)*zeta;
0040 
0041 %J(1,3)=1.0/4.0* (x1-x2-x4+x5)*r +  sqrt3/12.0 *(x1+x2-2*x3-x4-x5+2*x6)*s + 1/6.0 *(-x1-x2-x3+x4+x5+x6) ;
0042 %J(2,3)=1.0/4.0* (y1-y2-y4+y5)*r +  sqrt3/12.0 *(y1+y2-2*y3-y4-y5+2*y6)*s + 1/6.0 *(-y1-y2-y3+y4+y5+y6) ;
0043 %J(3,3)=1.0/4.0* (z1-z2-z4+z5)*r +  sqrt3/12.0 *(z1+z2-2*z3-z4-z5+2*z6)*s + 1/6.0 *(-z1-z2-z3+z4+z5+z6) ;
0044 
0045

Generated on Sun 29-Mar-2009 20:22:55 by m2html © 2003