aboutsummaryrefslogtreecommitdiff
path: root/boltzgas/initial_condition.py
blob: 252656670c76826c38a44b324a431570c005f198 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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))

    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

    return (np_position, np_velocity)