""" N1, N2 = 50, 50 l1, l2 = 1., 1. Ncolor = 200 levels = linspace(0., 10., 20) mesh = RegularQuadMesh(N1 = N1, N2 = N2, l1 = l1, l2 = l2) nodes = mesh.nodes tensorField = mesh.nodes.eval_tensorFunction(Bo.sigma_boussinesq()) sigma_zz = tensorField.get_component(22) VM = tensorField.vonmises() P = tensorField.pressure() xt,yt,zt = mesh.convert2tri3().get_edges() xb,yb,zb = mesh.get_border() X,Y,Z,tri = mesh.dump2triplot() """ Display of stress fields """ fig = plt.figure(figsize=(16,4)) g1 = fig.add_subplot(131) g1.set_aspect('equal') g1.set_title(r'$\sigma_{zz}$') g1.tricontourf(X,Y,tri,sigma_zz.data, levels = levels) g1.tricontour(X,Y,tri,sigma_zz.data, levels = levels, colors = 'black') g2 = fig.add_subplot(132)
ax.set_aspect('equal') ax2.set_aspect('equal') ax3.set_aspect('equal') ax.set_xticks([]) ax.set_yticks([]) ax2.set_xticks([]) ax2.set_yticks([]) ax3.set_xticks([]) ax3.set_yticks([]) ax.set_frame_on(False) ax2.set_frame_on(False) ax3.set_frame_on(False) ax.set_title(r'$\sigma_{zz}$') ax2.set_title(r'Von Mises $\sigma_{eq}$') ax3.set_title(r'Pressure $p$') xt, yt, zt = mesh.convert2tri3().get_edges() # Triangular mesh edges xb, yb, zb = mesh.get_border() X, Y, Z, tri = mesh.dump2triplot() ax.plot(xb, yb, 'k-', linewidth=2.) ax.tricontourf(X, Y, tri, field.data, levels=levels) ax.tricontour(X, Y, tri, field.data, levels=levels, colors='black') ax2.plot(xb, yb, 'k-', linewidth=2.) ax2.tricontourf(X, Y, tri, field2.data, levels=levels) ax2.tricontour(X, Y, tri, field2.data, levels=levels, colors='black') ax3.plot(xb, yb, 'k-', linewidth=2.) ax3.tricontourf(X, Y, tri, field3.data, levels=sorted(-levels)) ax3.tricontour(X, Y, tri, field3.data, levels=sorted(-levels), colors='black') ax.set_xlim([-.1 * l1, 1.1 * l1]) ax.set_ylim([-.1 * l2, 1.1 * l2])
ax2.set_aspect('equal') ax3.set_aspect('equal') ax.set_xticks([]) ax.set_yticks([]) ax2.set_xticks([]) ax2.set_yticks([]) ax3.set_xticks([]) ax3.set_yticks([]) ax.set_frame_on(False) ax2.set_frame_on(False) ax3.set_frame_on(False) ax.set_title('Orginal Mesh') ax2.set_title('Triangularized Mesh') ax3.set_title('Field') x,y,z = mesh.get_edges() # Mesh edges xt,yt,zt = mesh.convert2tri3().get_edges() # Triangular mesh edges xb,yb,zb = mesh.get_border() X,Y,Z,tri = mesh.dump2triplot() ax.plot(x,y,'k-') ax2.plot(xt,yt,'k-') ax3.plot(xb,yb,'k-', linewidth = 2.) ax3.tricontourf(X,Y,tri,field.data, Ncolor) ax3.tricontour(X,Y,tri,field.data, Ncolor, colors = 'black') ax.set_xlim([-.1*l1,1.1*l1]) ax.set_ylim([-.1*l2,1.1*l2]) ax2.set_xlim([-.1*l1,1.1*l1]) ax2.set_ylim([-.1*l2,1.1*l2]) ax3.set_xlim([-.1*l1,1.1*l1]) ax3.set_ylim([-.1*l2,1.1*l2]) plt.show()