diff --git a/genfem.py b/genfem.py index 473e6c81e3d96bd192048c52b38fa07b746bd27c..f2e8ac90ee0208d53c52cbc5a66dcd083c433f2d 100755 --- a/genfem.py +++ b/genfem.py @@ -106,7 +106,7 @@ def nodes(shape, **kwargs): if imin > imax: return np.array([], dtype=np.integer, ndmin=len(shape)) # computing the indices - node = np.zeros([imax+1-imin for imin, imax in lim], dtype=np.integer) + node = np.zeros([imax+1-imin for imin, imax in lim], dtype=np.int64) grid = np.ix_(*[range(imin, imax+1) for imin, imax in lim]) node += grid[0] for g, l in zip(grid[1:], np.cumprod(shape)): @@ -160,10 +160,10 @@ def mesh_rect(shape, **kwargs): """ shape = np.array(shape, ndmin=1).tolist() # in each direction, nElem = nNode-1 - node = nodes(shape, **kwargs)[[np.s_[:-1]]*len(shape)].ravel() + node = nodes(shape, **kwargs)[tuple(slice(None, -1) for _ in shape)].ravel() # the nodes of element e are N(e) = e+N(0) neighbors = nodes(shape, lim=[[0, 1]]*len(shape)).ravel() - return np.vstack(node+v for v in neighbors) + return np.vstack([node+v for v in neighbors]) # Then, we compute the element matrix