0001 function dl1dl7=GetNodalFunctionsDerivativesParamsStokes(pentaelem,gauss_coord)
0002
0003
0004
0005
0006
0007
0008
0009 sqrt3=sqrt(3.0);
0010
0011
0012 r=gauss_coord(1,2) - gauss_coord(1,1);
0013 s= - 3.0/sqrt3 *(gauss_coord(1,1)+gauss_coord(1,2) - 2.0/3.0);
0014 zeta=gauss_coord(1,4);
0015
0016 num_grids=7;
0017 dl1dl7=zeros(3,num_grids);
0018
0019
0020 dl1dl7(1,1)=-1.0/2.0*(1-zeta)/2;
0021 dl1dl7(2,1)=-sqrt3/6*(1-zeta)/2;
0022 dl1dl7(3,1)=-1.0/2.0*(-1.0/2.0*r-sqrt3/6*s+1/3);
0023
0024
0025 dl1dl7(1,2)=1.0/2.0*(1-zeta)/2;
0026 dl1dl7(2,2)=-sqrt3/6*(1-zeta)/2;
0027 dl1dl7(3,2)=-1.0/2.0*(1.0/2.0*r-sqrt3/6*s+1/3);
0028
0029
0030 dl1dl7(1,3)=0;
0031 dl1dl7(2,3)=sqrt3/3.0*(1-zeta)/2;
0032 dl1dl7(3,3)=-1.0/2.0*(sqrt3/3.0*s+1/3);
0033
0034
0035 dl1dl7(1,4)=-1.0/2.0*(1+zeta)/2;
0036 dl1dl7(2,4)=-sqrt3/6*(1+zeta)/2;
0037 dl1dl7(3,4)=1.0/2.0*(-1.0/2.0*r-sqrt3/6*s+1/3);
0038
0039
0040 dl1dl7(1,5)=1.0/2.0*(1+zeta)/2;
0041 dl1dl7(2,5)=-sqrt3/6*(1+zeta)/2;
0042 dl1dl7(3,5)=1.0/2.0*(1.0/2.0*r-sqrt3/6*s+1/3);
0043
0044
0045 dl1dl7(1,6)=0;
0046 dl1dl7(2,6)=sqrt3/3.0*(1+zeta)/2;
0047 dl1dl7(3,6)=1.0/2.0*(sqrt3/3.0*s+1/3);
0048
0049
0050 dl1dl7(1,7)=9.0/2.0*r*(1.0+zeta)*(zeta-1.0)*(sqrt3*s+1.0);
0051 dl1dl7(2,7)=9.0/4.0*(1+zeta)*(1-zeta)*(sqrt3*s^2-2.0*s-sqrt3*r^2);
0052 dl1dl7(3,7)=27*gauss_coord(1,1)*gauss_coord(1,2)*gauss_coord(1,3)*(-2.0*zeta);