Changeset 23670 for issm/trunk-jpl/src/py3/mesh/squaremesh.py
- Timestamp:
- 01/31/19 07:34:11 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/py3/mesh/squaremesh.py
r19895 r23670 1 import numpy 1 import numpy as np 2 2 from NodeConnectivity import NodeConnectivity 3 3 from ElementConnectivity import ElementConnectivity … … 22 22 23 23 #initialization 24 index=n umpy.zeros((nel,3),int)25 x=n umpy.zeros((nx*ny))26 y=n umpy.zeros((nx*ny))24 index=np.zeros((nel,3),int) 25 x=np.zeros((nx*ny)) 26 y=np.zeros((nx*ny)) 27 27 28 28 #create coordinates … … 43 43 44 44 #Scale x and y 45 x=x/n umpy.max(x)*Lx46 y=y/n umpy.max(y)*Ly45 x=x/np.max(x)*Lx 46 y=y/np.max(y)*Ly 47 47 48 48 #create segments 49 segments=n umpy.zeros((2*(nx-1)+2*(ny-1),3),int)49 segments=np.zeros((2*(nx-1)+2*(ny-1),3),int) 50 50 #left edge: 51 segments[0:ny-1,:]=n umpy.hstack((numpy.arange(2,ny+1).reshape(-1,1),numpy.arange(1,ny).reshape(-1,1),(2*numpy.arange(1,ny)-1).reshape(-1,1)))51 segments[0:ny-1,:]=np.vstack((np.arange(2,ny+1),np.arange(1,ny),(2*np.arange(1,ny)-1))).T 52 52 #right edge: 53 segments[ny-1:2*(ny-1),:]=n umpy.hstack((numpy.arange(ny*(nx-1)+1,nx*ny).reshape(-1,1),numpy.arange(ny*(nx-1)+2,nx*ny+1).reshape(-1,1),2*numpy.arange((ny-1)*(nx-2)+1,(nx-1)*(ny-1)+1).reshape(-1,1)))53 segments[ny-1:2*(ny-1),:]=np.vstack((np.arange(ny*(nx-1)+1,nx*ny),np.arange(ny*(nx-1)+2,nx*ny+1),2*np.arange((ny-1)*(nx-2)+1,(nx-1)*(ny-1)+1))).T 54 54 #front edge: 55 segments[2*(ny-1):2*(ny-1)+(nx-1),:]=n umpy.hstack((numpy.arange(2*ny,ny*nx+1,ny).reshape(-1,1),numpy.arange(ny,ny*(nx-1)+1,ny).reshape(-1,1),numpy.arange(2*(ny-1),2*(nx-1)*(ny-1)+1,2*(ny-1)).reshape(-1,1)))55 segments[2*(ny-1):2*(ny-1)+(nx-1),:]=np.vstack((np.arange(2*ny,ny*nx+1,ny),np.arange(ny,ny*(nx-1)+1,ny),np.arange(2*(ny-1),2*(nx-1)*(ny-1)+1,2*(ny-1)))).T 56 56 #back edge 57 segments[2*(ny-1)+(nx-1):2*(nx-1)+2*(ny-1),:]=n umpy.hstack((numpy.arange(1,(nx-2)*ny+2,ny).reshape(-1,1),numpy.arange(ny+1,ny*(nx-1)+2,ny).reshape(-1,1),numpy.arange(1,2*(nx-2)*(ny-1)+2,2*(ny-1)).reshape(-1,1)))57 segments[2*(ny-1)+(nx-1):2*(nx-1)+2*(ny-1),:]=np.vstack((np.arange(1,(nx-2)*ny+2,ny),np.arange(ny+1,ny*(nx-1)+2,ny),np.arange(1,2*(nx-2)*(ny-1)+2,2*(ny-1)))).T 58 58 59 59 #plug coordinates and nodes … … 62 62 md.mesh.y=y 63 63 md.mesh.numberofvertices=nods 64 md.mesh.vertexonboundary=n umpy.zeros((nods),bool)64 md.mesh.vertexonboundary=np.zeros((nods),bool) 65 65 md.mesh.vertexonboundary[segments[:,0:2]-1]=True 66 66 … … 71 71 72 72 #Now, build the connectivity tables for this mesh. 73 [md.mesh.vertexconnectivity]=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices)74 [md.mesh.elementconnectivity]=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity)73 md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices)[0] 74 md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity)[0] 75 75 76 76 return md
Note:
See TracChangeset
for help on using the changeset viewer.