


GETJACOBIAN - computes the jacobian for a pentaelem
Usage:
J=GetJacobian(pentaelem,xyz_list,gauss_coord)
See also GETJACOBIANDETERMINANT, GETJACOBIANINVERT

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