aboutsummaryrefslogtreecommitdiff
path: root/boltzgas/initial_condition.py
diff options
context:
space:
mode:
authorAdrian Kummerlaender2020-03-27 22:04:16 +0100
committerAdrian Kummerlaender2020-03-27 22:04:16 +0100
commit5e99925cd258ff68f1da7ce0bdb823efe785d8de (patch)
tree1794eec3f8980fc036a01f9bf856c089bf7dc344 /boltzgas/initial_condition.py
parent1d0639e33296f4cdc6f635732202ef05c2c6f81a (diff)
downloadboltzgas-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.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)