From 5e99925cd258ff68f1da7ce0bdb823efe785d8de Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Fri, 27 Mar 2020 22:04:16 +0100 Subject: Reenable 2D support --- boltzgas/initial_condition.py | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) (limited to 'boltzgas/initial_condition.py') 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) -- cgit v1.2.3