In [2]:
%matplotlib inline
import numpy as np
import os

import matplotlib.pyplot as plt
plt.style.use('bmh')

In [8]:
x_min = 0
y_min = 0
x_max = 2 # x_max
y_max = 1 # y_max

# rectangular grid of points
# specify resolution
Nx = 10
Ny = 5
# specify limit of particle rectangle
particles_x_min = 0
particles_x_max = 2
particles_y_min = 0
particles_y_max = 1

particle_n = Nx*Ny

In [4]:
# create lists of all x and y positions
X  = np.linspace(particles_x_min, particles_x_max, Nx, endpoint = False)
Y  = np.linspace(particles_y_min, particles_y_max, Ny, endpoint = False)

In [59]:
X


Out[59]:
array([ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8])

In [5]:
Y


Out[5]:
array([ 0. ,  0.2,  0.4,  0.6,  0.8])

In [6]:
#XY = np.zeros((2, Ny, Nx))
# Use meshgrid to turn lists into rank 2 arrays
# of x and y positions
XY = np.meshgrid(X, Y)
XY


Out[6]:
[array([[ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8],
        [ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8],
        [ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8],
        [ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8],
        [ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8]]),
 array([[ 0. ,  0. ,  0. ,  0. ,  0. ,  0. ,  0. ,  0. ,  0. ,  0. ],
        [ 0.2,  0.2,  0.2,  0.2,  0.2,  0.2,  0.2,  0.2,  0.2,  0.2],
        [ 0.4,  0.4,  0.4,  0.4,  0.4,  0.4,  0.4,  0.4,  0.4,  0.4],
        [ 0.6,  0.6,  0.6,  0.6,  0.6,  0.6,  0.6,  0.6,  0.6,  0.6],
        [ 0.8,  0.8,  0.8,  0.8,  0.8,  0.8,  0.8,  0.8,  0.8,  0.8]])]

In [9]:
particle_id = np.arange(particle_n)
particle_id


Out[9]:
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
       34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49])

In [ ]:
x = np.arange(particles_x_min, particles_x_max,)

In [10]:
particle_x = np.hstack(XY[:][0])
particle_x


Out[10]:
array([ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8,  0. ,
        0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8,  0. ,  0.2,
        0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8,  0. ,  0.2,  0.4,
        0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8,  0. ,  0.2,  0.4,  0.6,
        0.8,  1. ,  1.2,  1.4,  1.6,  1.8])

In [64]:
particle_y = np.hstack(XY[:][1])
particle_y


Out[64]:
array([ 0. ,  0. ,  0. ,  0. ,  0. ,  0. ,  0. ,  0. ,  0. ,  0. ,  0.2,
        0.2,  0.2,  0.2,  0.2,  0.2,  0.2,  0.2,  0.2,  0.2,  0.4,  0.4,
        0.4,  0.4,  0.4,  0.4,  0.4,  0.4,  0.4,  0.4,  0.6,  0.6,  0.6,
        0.6,  0.6,  0.6,  0.6,  0.6,  0.6,  0.6,  0.8,  0.8,  0.8,  0.8,
        0.8,  0.8,  0.8,  0.8,  0.8,  0.8])

In [ ]:


In [65]:
plt.scatter(particle_x, particle_y)
plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)


Out[65]:
(0, 1)

In [66]:
XY[0][:]


Out[66]:
array([[ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8],
       [ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8],
       [ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8],
       [ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8],
       [ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8]])

In [67]:
XY[:][0]


Out[67]:
array([[ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8],
       [ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8],
       [ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8],
       [ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8],
       [ 0. ,  0.2,  0.4,  0.6,  0.8,  1. ,  1.2,  1.4,  1.6,  1.8]])

In [79]:
a = np.array([[1, 2], [3, 4]])
a


Out[79]:
array([[1, 2],
       [3, 4]])

In [78]:
a[0][:]


Out[78]:
array([1, 2])

In [80]:
a[:][0]


Out[80]:
array([1, 2])

In [86]:
a[:][1]


Out[86]:
array([3, 4])

In [94]:
a[0]


Out[94]:
array([1, 2])

In [100]:
particle_id[0::4]


Out[100]:
array([ 0,  4,  8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48])

In [101]:
particle_id[1::4]


Out[101]:
array([ 1,  5,  9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49])

In [102]:
particle_id[2::4]


Out[102]:
array([ 2,  6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46])

In [103]:
particle_id[3::4]


Out[103]:
array([ 3,  7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47])

In [104]:
particle_id[4::4]


Out[104]:
array([ 4,  8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48])

In [ ]: