def initVelocities(velocities):
# Generate total velocity
speed = stats.maxwell.rvs(loc=0,scale=config.a,size=config.nParticles)
# Generate a random direction
phi = np.random.uniform(0, np.pi*2, config.nParticles)
costheta = np.random.uniform(-1, 1, config.nParticles)
theta = np.arccos( costheta )
# Initalize the velocity vectors
velocities[:,0] = speed * np.sin( theta ) * np.cos( phi )
velocities[:,1] = speed * np.sin( theta ) * np.sin( phi )
velocities[:,2] = speed * np.cos( theta )
# Set center of mass velocity to zero
velocities -= np.mean(velocities,axis=0);
评论列表
文章目录