aboutsummaryrefslogtreecommitdiff
path: root/boltzgas/initial_condition.py
diff options
context:
space:
mode:
Diffstat (limited to 'boltzgas/initial_condition.py')
-rw-r--r--boltzgas/initial_condition.py31
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)