-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathSFDerivatives_Surf.m
40 lines (23 loc) · 1.11 KB
/
SFDerivatives_Surf.m
1
function [dndx,dndy,detj,ele_area] = SFDerivatives_Surf(iele,nnps,nqpts,swts,nps,x,y,z,dnda,dndb)% compute surface shape function derivatives in global coordinatessdetj = zeros(1,nqpts);dndx = zeros(nnps,nqpts);dndy = zeros(nnps,nqpts);ele_area;for i=1:1:nqpts tjac=zeros(2,2); for j=1:1:nnps j1=nps(iele,j) ; tjac(1,1)=tjac(1,1)+dnda(j,i)*x(j1); tjac(1,2)=tjac(1,2)+dndb(j,i)*x(j1); tjac(2,1)=tjac(2,1)+dnda(j,i)*y(j1); tjac(2,2)=tjac(2,2)+dndb(j,i)*y(j1); end detj(i)=det(tjac); ele_area = ele_area + detj(i)*swts(i); tjaci = inv(tjac); for j=1:1:nnpe dndx(j,i)=tjaci(1,1)*dnda(j,i)+tjaci(2,1)*dndb(j,i); dndy(j,i)=tjaci(1,2)*dnda(j,i)+tjaci(2,2)*dndb(j,i); end end