Ignore:
Timestamp:
10/11/19 00:25:20 (5 years ago)
Author:
bdef
Message:

CHG: syntax cahnge to meet most of Pep8 requirement

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/mesh/squaremesh.py

    r23716 r24213  
    11import numpy as np
    22from NodeConnectivity import NodeConnectivity
    3 from ElementConnectivity import ElementConnectivity 
     3from ElementConnectivity import ElementConnectivity
    44from mesh2d import mesh2d
    55
    6 def squaremesh(md,Lx,Ly,nx,ny):
    7         """
    8         SQUAREMESH - create a structured square mesh
    96
    10            This script will generate a structured square mesh
    11            Lx and Ly are the dimension of the domain (in meters)
    12            nx anx ny are the number of nodes in the x and y direction
    13            The coordinates x and y returned are in meters.
     7def squaremesh(md, Lx, Ly, nx, ny):
     8    """
     9    SQUAREMESH - create a structured square mesh
    1410
    15            Usage:
    16               [md]=squaremesh(md,Lx,Ly,nx,ny)
    17         """
     11       This script will generate a structured square mesh
     12       Lx and Ly are the dimension of the domain (in meters)
     13       nx anx ny are the number of nodes in the x and y direction
     14       The coordinates x and y returned are in meters.
    1815
    19         #get number of elements and number of nodes
    20         nel=(nx-1)*(ny-1)*2
    21         nods=nx*ny
     16       Usage:
     17          [md] = squaremesh(md, Lx, Ly, nx, ny)
     18    """
    2219
    23         #initialization
    24         index=np.zeros((nel,3),int)
    25         x=np.zeros((nx*ny))
    26         y=np.zeros((nx*ny))
     20    #get number of elements and number of nodes
     21    nel = (nx - 1) * (ny - 1) * 2
     22    nods = nx * ny
    2723
    28         #create coordinates
    29         for n in range(0,nx):
    30                 for m in range(0,ny):
    31                         x[n*ny+m]=float(n)
    32                         y[n*ny+m]=float(m)
     24    #initialization
     25    index = np.zeros((nel, 3), int)
     26    x = np.zeros((nx * ny))
     27    y = np.zeros((nx * ny))
    3328
    34         #create index
    35         for n in range(0,nx-1):
    36                 for m in range(0,ny-1):
    37                         A=n*ny+(m+1)
    38                         B=A+1
    39                         C=(n+1)*ny+(m+1)
    40                         D=C+1
    41                         index[n*(ny-1)*2+2*m,:]=[A,C,B]
    42                         index[n*(ny-1)*2+2*(m+1)-1,:]=[B,C,D]
     29    #create coordinates
     30    for n in range(0, nx):
     31        for m in range(0, ny):
     32            x[n * ny + m] = float(n)
     33            y[n * ny + m] = float(m)
    4334
    44         #Scale  x and y
    45         x=x/np.max(x)*Lx
    46         y=y/np.max(y)*Ly
     35    #create index
     36    for n in range(0, nx - 1):
     37        for m in range(0, ny - 1):
     38            A = n * ny + (m + 1)
     39            B = A + 1
     40            C = (n + 1) * ny + (m + 1)
     41            D = C + 1
     42            index[n * (ny - 1) * 2 + 2 * m, :] = [A, C, B]
     43            index[n * (ny - 1) * 2 + 2 * (m + 1) - 1, :] = [B, C, D]
    4744
    48         #create segments
    49         segments=np.zeros((2*(nx-1)+2*(ny-1),3),int)
    50         #left edge:
    51         segments[0:ny-1,:]=np.vstack((np.arange(2,ny+1),np.arange(1,ny),(2*np.arange(1,ny)-1))).T
    52         #right edge:
    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         #front edge:
    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         #back edge
    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
     45    #Scale  x and y
     46    x = x / np.max(x) * Lx
     47    y = y / np.max(y) * Ly
    5848
    59         #plug coordinates and nodes
    60         md.mesh=mesh2d()
    61         md.mesh.x=x
    62         md.mesh.y=y
    63         md.mesh.numberofvertices=nods
    64         md.mesh.vertexonboundary=np.zeros((nods),bool)
    65         md.mesh.vertexonboundary[segments[:,0:2]-1]=True
     49    #create segments
     50    segments = np.zeros((2 * (nx - 1) + 2 * (ny - 1), 3), int)
     51    #left edge:
     52    segments[0:ny - 1, :] = np.vstack((np.arange(2, ny + 1), np.arange(1, ny), (2 * np.arange(1, ny) - 1))).T
     53    #right edge:
     54    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
     55    #front edge:
     56    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
     57    #back edge
     58    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
    6659
    67         #plug elements
    68         md.mesh.elements=index
    69         md.mesh.segments=segments
    70         md.mesh.numberofelements=nel
     60    #plug coordinates and nodes
     61    md.mesh = mesh2d()
     62    md.mesh.x = x
     63    md.mesh.y = y
     64    md.mesh.numberofvertices = nods
     65    md.mesh.vertexonboundary = np.zeros((nods), bool)
     66    md.mesh.vertexonboundary[segments[:, 0:2] - 1] = True
    7167
    72         #Now, build the connectivity tables for this mesh.
    73         md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices)[0]
    74         md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity)[0]
     68    #plug elements
     69    md.mesh.elements = index
     70    md.mesh.segments = segments
     71    md.mesh.numberofelements = nel
    7572
    76         return md
     73    #Now, build the connectivity tables for this mesh.
     74    md.mesh.vertexconnectivity = NodeConnectivity(md.mesh.elements, md.mesh.numberofvertices)[0]
     75    md.mesh.elementconnectivity = ElementConnectivity(md.mesh.elements, md.mesh.vertexconnectivity)[0]
     76
     77    return md
Note: See TracChangeset for help on using the changeset viewer.