Page 5 - Demo
P. 5


                                    Planar Truss Example for Comrel Add-on RCP Consult, 2021-2026 Page 5 % Plot nodal numbers plot(XY(:,1), XY(:,2), 'r*'); text(XY(:,1), XY(:,2), strcat('N',num2str((1:nnp)')), 'FontSize', 8); % Value of vertical deflection in node N04 text(DEF(4,1), DEF(4,2)-0.2, sprintf('U = %g m',b(4,2)), 'FontSize', 8);   % Plot vertical loads n=0; for i = 1:nnp quiver(XY(i,1)+d(i,1), XY(i,2)+d(i,2), -d(i,1), -d(i,2), 'k-', 'LineWidth',2, 'MaxHeadSize', 0.5); % single vector  if(d(i,2) > 0.001) n=n+1; Pn=strcat('P',num2str(n')); text(XY(i,1)+0.1+d(i,1), XY(i,2)+d(i,2), strcat(Pn,sprintf('=%g N',d(i,2)*40000)), 'FontSize', 8); % force value end end case 2 % Center plot for internal member forces N ff(2)=figure('Name', tit, 'NumberTitle','off','Position', [pxl(3)/4 pxl(4)/4 pxl(3)/2 pxl(4)/2]); figure(ff(2)) hold on box on view(2) % Plot frame axis equal axis([-2 26 -2 10]) grid minor % Set a main subtitle of plot text(12.0, 8.0, 'Internal member forces [N]', 'FontSize', 16, 'HorizontalAlignment', 'center'); % Plot internal member force N for e = 1:nfe l=leng(e)/2; n=abs(N(e))*0.0000005; X=[-l l l -l]; Y=[-n -n n n]; c = cosd(theta(e)); s = sind(theta(e)); Xrot = X*c - Y*s; Yrot = X*s + Y*c; x=(XY(IEN(e,1),1)+XY(IEN(e,2),1))/2; y=(XY(IEN(e,1),2)+XY(IEN(e,2),2))/2; if(N(e) >= 0) co=[1.0 0.6 0.5]; else co=[0.5 0.6 1.0]; end fill(Xrot + x, Yrot + y, co); text(x, y, sprintf('%0.1f N', N(e)), 'FontSize', 7, 'HorizontalAlignment', 'center'); end case 3 % Center plot for internal member Tensile stress ff(3)=figure('Name', tit, 'NumberTitle','off','Position', [pxl(3)/4 pxl(4)/4 pxl(3)/2 pxl(4)/2]); figure(ff(3)) hold on box on view(2) % Plot frame axis equal axis([-2 26 -2 10]) grid minor % Set a main subtitle of plot text(12.0, 8.0, 'Internal member von Mises stress \\sigma_{v} [MPa]', 'FontSize', 16, 'HorizontalAlignment', 'center'); % Plot for internal member von Mises stress cmap=jet(21); % prepare color mapping minA=min(abs(N'./Area*1e-6)); maxA=max(abs(N'./Area*1e-6)); ddA=maxA-minA; dA=ddA/20; for e = 1:nfe Su=abs(N(e)/Area(e)*1e-6); l=leng(e)/2; n=Su/ddA*0.2; % height of rectangle X=[-l l l -l]; Y=[-n -n n n]; c = cosd(theta(e)); s = sind(theta(e)); Xrot = X*c - Y*s; Yrot = X*s + Y*c; x=(XY(IEN(e,1),1)+XY(IEN(e,2),1))/2; y=(XY(IEN(e,1),2)+XY(IEN(e,2),2))/2; nc=int32((Su-minA)/dA-0.01)+1; co=cmap(nc,:); % color fill(Xrot + x, Yrot + y, co, 'EdgeColor', 'none', 'FaceAlpha', 0.7); text(x, y, sprintf('%.0f', Su), 'FontSize', 7, 'HorizontalAlignment', 'center'); end % Color bar colormap jet; colorbar(); clim([minA maxA]); end %% Do rest for all plots title(strcat('\\fontsize{18}',tit));
                                
   1   2   3   4   5   6   7   8   9   10