diff options
author | Adrian Kummerlaender | 2020-03-26 21:30:05 +0100 |
---|---|---|
committer | Adrian Kummerlaender | 2020-03-26 21:30:05 +0100 |
commit | 18c27ca60bc364d5e6cb811f56ec8c4f72867ac9 (patch) | |
tree | 1ad7ba010272b9d04c822e33a00a28d48be19274 /boltzgas/initial_condition.py | |
parent | 2af16451f5119398c34ef9bd8626791e0498b9ab (diff) | |
download | boltzgas-18c27ca60bc364d5e6cb811f56ec8c4f72867ac9.tar boltzgas-18c27ca60bc364d5e6cb811f56ec8c4f72867ac9.tar.gz boltzgas-18c27ca60bc364d5e6cb811f56ec8c4f72867ac9.tar.bz2 boltzgas-18c27ca60bc364d5e6cb811f56ec8c4f72867ac9.tar.lz boltzgas-18c27ca60bc364d5e6cb811f56ec8c4f72867ac9.tar.xz boltzgas-18c27ca60bc364d5e6cb811f56ec8c4f72867ac9.tar.zst boltzgas-18c27ca60bc364d5e6cb811f56ec8c4f72867ac9.zip |
Prototype port to 3D
What is it with OpenCL @ GPU and arrays of 3-dimensional vectors?!
Luckily I vaguely remembered encountering this problem before when
implementing my OpenCL LBM code but why on earth is the compiler not
warning about this? I guess the underlying reason has to do with the
data alignment requirements on the GPU but still...
Diffstat (limited to 'boltzgas/initial_condition.py')
-rw-r--r-- | boltzgas/initial_condition.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/boltzgas/initial_condition.py b/boltzgas/initial_condition.py index 4d66263..2526566 100644 --- a/boltzgas/initial_condition.py +++ b/boltzgas/initial_condition.py @@ -1,15 +1,20 @@ import numpy as np def grid_of_random_velocity_particles(width, radius, u_scale): - np_position = np.ndarray((width**2, 2)) - np_velocity = np.ndarray((width**2, 2)) + np_position = np.ndarray((width**3, 4)) + np_velocity = np.ndarray((width**3, 4)) grid = np.meshgrid(np.linspace(2*radius, 1-2*radius, width), + np.linspace(2*radius, 1-2*radius, width), np.linspace(2*radius, 1-2*radius, width)) np_position[:,0] = grid[0].flatten() np_position[:,1] = grid[1].flatten() + np_position[:,2] = grid[2].flatten() + np_position[:,3] = 0 - np_velocity[:,0] = u_scale*(-0.5 + np.random.random_sample((width**2,))) - np_velocity[:,1] = u_scale*(-0.5 + np.random.random_sample((width**2,))) + np_velocity[:,0] = u_scale*(-0.5 + np.random.random_sample((width**3,))) + np_velocity[:,1] = u_scale*(-0.5 + np.random.random_sample((width**3,))) + np_velocity[:,2] = u_scale*(-0.5 + np.random.random_sample((width**3,))) + np_velocity[:,3] = 0 return (np_position, np_velocity) |