Example #1
0
def particles():
    omega_m = 0.308
    nc = 64
    nc_pm = nc
    boxsize = 64
    a_init = 0.1
    a_final = 1.0
    seed = 1
    nstep = 9

    fs.cosmology.init(omega_m)
    ps = fs.PowerSpectrum('../data/planck_matterpower.dat')

    particles = fs.lpt.init(nc, boxsize, a_init, ps, seed)

    fs.pm.init(nc_pm, nc_pm / nc, boxsize)

    for i in range(nstep):
        a_vel = a_init + (a_final - a_init) / nstep * (i + 0.5)
        fs.pm.force(particles)
        fs.cola.kick(particles, a_vel)

        a_pos = a_init + (a_final - a_init) / nstep * (i + 1.0)
        fs.cola.drift(particles, a_pos)

    return particles
Example #2
0
def setup_particles():
    # parameters
    omega_m = 0.308
    nc = 64
    pm_nc_factor = 1
    boxsize = 64
    a = 1.0
    seed = 1

    # initial setup
    fs.msg.set_loglevel(3)
    fs.cosmology.init(omega_m)
    ps = fs.PowerSpectrum('../data/planck_matterpower.dat')

    # Set 2LPT displacements at scale factor a
    particles = fs.lpt.init(nc, boxsize, a, ps, seed)

    fs.pm.init(nc * pm_nc_factor, pm_nc_factor, boxsize)

    return particles
Example #3
0
import h5py
import fs

omega_m = 0.308
nc = 4
pm_nc_factor = 1
boxsize = 4
a = 0.0
seed = 1

fs.cosmology.init(omega_m)
ps = fs.PowerSpectrum('../data/planck_matterpower.dat')

# Set 2LPT displacements at scale factor a
particles = fs.lpt.init(nc, boxsize, a, ps, seed)

fs.pm.init(nc * pm_nc_factor, pm_nc_factor, boxsize)

filename = 'particles_%d.h5' % fs.comm.n_nodes()

particles.save_hdf5(filename, 'ix')

np = nc * nc * nc


def assert_almost_equal(x, y):
    eps = 1.0e-15
    assert (abs(x - y) < eps)


if fs.comm.this_node() == 0: