diff options
author | Adrian Kummerlaender | 2020-03-27 22:04:16 +0100 |
---|---|---|
committer | Adrian Kummerlaender | 2020-03-27 22:04:16 +0100 |
commit | 5e99925cd258ff68f1da7ce0bdb823efe785d8de (patch) | |
tree | 1794eec3f8980fc036a01f9bf856c089bf7dc344 /boltzgas/initial_condition.py | |
parent | 1d0639e33296f4cdc6f635732202ef05c2c6f81a (diff) | |
download | boltzgas-5e99925cd258ff68f1da7ce0bdb823efe785d8de.tar boltzgas-5e99925cd258ff68f1da7ce0bdb823efe785d8de.tar.gz boltzgas-5e99925cd258ff68f1da7ce0bdb823efe785d8de.tar.bz2 boltzgas-5e99925cd258ff68f1da7ce0bdb823efe785d8de.tar.lz boltzgas-5e99925cd258ff68f1da7ce0bdb823efe785d8de.tar.xz boltzgas-5e99925cd258ff68f1da7ce0bdb823efe785d8de.tar.zst boltzgas-5e99925cd258ff68f1da7ce0bdb823efe785d8de.zip |
Reenable 2D support
Diffstat (limited to 'boltzgas/initial_condition.py')
-rw-r--r-- | boltzgas/initial_condition.py | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/boltzgas/initial_condition.py b/boltzgas/initial_condition.py index 2526566..f5fdcff 100644 --- a/boltzgas/initial_condition.py +++ b/boltzgas/initial_condition.py @@ -1,20 +1,27 @@ import numpy as np -def grid_of_random_velocity_particles(width, radius, u_scale): - np_position = np.ndarray((width**3, 4)) - np_velocity = np.ndarray((width**3, 4)) +def grid_of_random_velocity_particles(d, width, radius, u_scale): + np_position = np.ndarray((width**d, d)) + np_velocity = np.ndarray((width**d, d)) + + if d == 2: + grid = np.meshgrid(np.linspace(2*radius, 1-2*radius, width), + np.linspace(2*radius, 1-2*radius, width)) + elif d == 3: + 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)) - 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**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 + if d == 3: + np_position[:,2] = grid[2].flatten() + + np_velocity[:,0] = u_scale*(-0.5 + np.random.random_sample((width**d,))) + np_velocity[:,1] = u_scale*(-0.5 + np.random.random_sample((width**d,))) + + if d == 3: + np_velocity[:,2] = u_scale*(-0.5 + np.random.random_sample((width**d,))) return (np_position, np_velocity) |