function [NodeStrain,NodeStress]=CalculateStrainAndStress2(U,D,Nodes,Elements) numEle= size(Elements,1); %单元个数 NodeStress=zeros(3,numEle*8); kesi_yita_Node=[-1,-1;1,-1;1,1;-1,1;0,-1;1,0;0,1;-1,0]; for i=1:numEle noindex=Elements(i,:); d=zeros(8,1); for j=1:8 d(2*j-1)=U((noindex(j)-1)*2+1); d(2*j)=U((noindex(j)-1)*2+2); end for m=1:8 kesi=kesi_yita_Node(m,1); yita=kesi_yita_Node(m,2); %%%%%%%% J = Jacobi(i,kesi,yita,Elements,Nodes); % 雅可比矩阵 Nst = DiffShapeFun(kesi,yita); % 形函数关于自然坐标s,t求导 Nxy = zeros(8,2); for j=1:8 Nxy(j,:) = (J\Nst(j,:)')'; % 形函数关于 x,y 求导=inv(J)*Nst end Bm = [Nxy(1,1) 0 Nxy(2,1) 0 Nxy(3,1) 0 Nxy(4,1) 0 Nxy(5,1) 0 Nxy(6,1) 0 Nxy(7,1) 0 Nxy(8,1) 0; 0 Nxy(1,2) 0 Nxy(2,2) 0 Nxy(3,2) 0 Nxy(4,2) 0 Nxy(5,2) 0 Nxy(6,2) 0 Nxy(7,2) 0 Nxy(8,2); Nxy(1,2) Nxy(1,1) Nxy(2,2) Nxy(2,1) Nxy(3,2) Nxy(3,1) Nxy(4,2) Nxy(4,1) Nxy(5,2) Nxy(5,1) Nxy(6,2) Nxy(6,1) Nxy(7,2) Nxy(7,1) Nxy(8,2) Nxy(8,1)]; %%%%%%%%%% sigma=D*Bm*d epsilon=Bm*d; NodeStress(1:3,(i-1)*8+m)=sigma; NodeStrain(1:3,(i-1)*8+m)=epsilon; end end