function [Compliance]=objective(Tgeo) global inci coord nel nnos Tmat fg FreeDofs ug ite vComp vVol Wlim % -------------------------------------------------------------------------% % Inicializacao e montagem das matrices do sistema % -------------------------------------------------------------------------% ite=ite+1; kg=zeros(2*nnos); for e = 1:nel noi=inci(e,5); noj=inci(e,6); xi=coord(noi,1); yi=coord(noi,2); xj=coord(noj,1); yj=coord(noj,2); l=sqrt((xj-xi)^2+ (yj-yi)^2); c=(xj-xi)/l; s=(yj-yi)/l; E=Tmat(inci(e,3) ,1); A=Tgeo(inci(e,4) ,1); rho=Tmat(inci(e,3) ,4); ke= (E*A/l)*[ c^2 c*s -c^2 -c*s; c*s s^2 -c*s -s^2; -c^2 -c*s c^2 c*s; -c*s -s^2 c*s s^2]; loc=[2*noi-1 2*noi 2*noj-1 2*noj]; kg(loc,loc)=kg(loc,loc)+ke; We(e)=A*l*rho; end %-------------------------------------------------------------------------% % Soluçao da equação do sistema-Problema de autovalor e autovetor %-------------------------------------------------------------------------% %% ******** Solver Linear ************ ug=zeros(2*nnos,1); ug(FreeDofs)=kg(FreeDofs,FreeDofs)\fg(FreeDofs); %******************************************************************** Compliance=fg'*ug; vComp(ite)=Compliance; vVol(ite)=sum(We);