def A(N1, N2, l1, l2): m = RegularQuadMesh(N1 = N1, N2 = N2, l1 = l1/4., l2 = l2) def U(x,y,z,label): ymax, xmax = y.max(), x.max() ux = y/ymax*xmax uy = 0.*x uz = 0.*x return ux, uy, uz u = m.nodes.eval_vectorFunction(U) m.nodes.apply_displacement(u) m.union( m.apply_reflection(point = (l1/2., 0., 0.), normal = (1., 0., 0.) ) ) return m
def P(N1, N2, l1, l2): m = RegularQuadMesh(N1 = N1, N2 = N2, l1 = l1/4., l2 = l2) m1 = RegularQuadMesh(N1 = N2, N2 = N1, l1 = 1., l2 = l2/6.) def U(x, y, z, labels): r0y = l2/12. r0x = r0y theta = np.pi * (x-.5) rx = y + r0x ry = y + r0y ux = -x + rx * np.cos(theta) uy = -y + ry * np.sin(theta) uz = 0. * z return ux, uy, uz u = m1.nodes.eval_vectorFunction(U) m1.nodes.apply_displacement(u) m1.nodes.translate(x = l1/4., y = 3.*l2/4.) m.union(m1) return m
from abapy.mesh import RegularQuadMesh from matplotlib import pyplot as plt N1,N2 = 20,20 l1, l2 = 1., 1. mesh1 = RegularQuadMesh(N1 = N1, N2 = N2, l1 = l1, l2 = l2, name = 'mesh1_el') mesh2 = RegularQuadMesh(N1 = N1, N2 = N2, l1 = l1, l2 = l2, name = 'mesh2_el') mesh2.add_set('set2',[1,3]) mesh2.nodes.translate(x = l1, y = l2) mesh1.union(mesh2) plt.figure() xe, ye, ze = mesh1.get_edges() plt.plot(xe, ye) plt.show()
from abapy.mesh import RegularQuadMesh from matplotlib import pyplot as plt N1, N2 = 20, 20 l1, l2 = 1., 1. mesh1 = RegularQuadMesh(N1=N1, N2=N2, l1=l1, l2=l2, name='mesh1_el') mesh2 = RegularQuadMesh(N1=N1, N2=N2, l1=l1, l2=l2, name='mesh2_el') mesh2.add_set('set2', [1, 3]) mesh2.nodes.translate(x=l1, y=l2) mesh1.union(mesh2) plt.figure() xe, ye, ze = mesh1.get_edges() plt.plot(xe, ye) plt.show()