Skip to content
Snippets Groups Projects
Commit 3f4fa041 authored by Matthieu Schaller's avatar Matthieu Schaller
Browse files

Small updates to the Zel'dovich pancake example.

parent 6d1e59da
No related branches found
No related tags found
No related merge requests found
......@@ -28,29 +28,34 @@ z_c = 1. # Redshift of caustic formation (non-linear collapse)
z_i = 100. # Initial redshift
gamma = 5./3. # Gas adiabatic index
numPart_1D = 32 # Number of particles along each dimension
fileName = "zeldovichPancake.hdf5"
# Some units
Mpc_in_m = 3.085678e22
Msol_in_kg = 1.989e30
Gyr_in_s = 3.085678e19
Mpc_in_m = 3.08567758e22
Msol_in_kg = 1.98848e30
Gyr_in_s = 3.08567758e19
mH_in_kg = 1.6737236e-27
k_in_J_K = 1.38064852e-23
# Parameters
rho_0 = 1.8788e-26 # h^2 kg m^-3
H_0 = 1. / Mpc_in_m * 10**5 # s^-1
# Some constants
kB_in_SI = 1.38064852e-23
G_in_SI = 6.67408e-11
# Some useful variables in h-full units
H_0 = 1. / Mpc_in_m * 10**5 # h s^-1
rho_0 = 3. * H_0**2 / (8* math.pi * G_in_SI) # h^2 kg m^-3
lambda_i = 64. / H_0 * 10**5 # h^-1 m (= 64 h^-1 Mpc)
x_min = -0.5 * lambda_i
x_max = 0.5 * lambda_i
fileName = "zeldovichPancake.hdf5"
# SI system of units
unit_l_in_si = Mpc_in_m
unit_m_in_si = Msol_in_kg * 1.e10
unit_t_in_si = Gyr_in_s
unit_v_in_si = unit_l_in_si / unit_t_in_si
unit_u_in_si = unit_v_in_si**2
# Total number of particles
numPart = numPart_1D**3
#---------------------------------------------------
......@@ -87,7 +92,7 @@ for i in range(numPart_1D):
coords[index,1] = (j + 0.5) * delta_x
coords[index,2] = (k + 0.5) * delta_x
T = T_i * (1. / (1. - zfac * cos(k_i * q)))**(2. / 3.)
u[index] = k_in_J_K * T / (gamma - 1.) / mH_in_kg
u[index] = kB_in_SI * T / (gamma - 1.) / mH_in_kg
h[index] = 1.2348 * delta_x
m[index] = m_i
v[index,0] = -H_0 * (1. + z_c) / sqrt(1. + z_i) * sin(k_i * q) / k_i
......
......@@ -138,8 +138,8 @@ if np.size(x_g) > 1:
plot(x_g, v_g, 's', color='g', alpha=0.8, lw=1.2, ms=4)
plot(x, v, '.', color='r', ms=4.0)
plot(x_s, v_s, '--', color='k', alpha=0.8, lw=1.2)
xlabel("${\\rm{Comoving Position}}~x$", labelpad=0)
ylabel("${\\rm{Peculiar Velocity}}~v_x$", labelpad=0)
xlabel("${\\rm{Comoving~position}}~x$", labelpad=0)
ylabel("${\\rm{Peculiar~velocity}}~v_x$", labelpad=0)
# Density profile --------------------------------
......@@ -148,7 +148,7 @@ if np.size(x_g) > 1:
plot(x_g, rho_g/rho_0, 's', color='g', alpha=0.8, lw=1.2, ms=4)
plot(x, rho/rho_0, '.', color='r', ms=4.0)
plot(x_s, rho_s/rho_0, '--', color='k', alpha=0.8, lw=1.2)
xlabel("${\\rm{Comoving Position}}~x$", labelpad=0)
xlabel("${\\rm{Comoving~position}}~x$", labelpad=0)
ylabel("${\\rm{Density}}~\\rho / \\rho_0$", labelpad=0)
# Potential profile --------------------------------
......@@ -156,7 +156,7 @@ subplot(233)
if np.size(x_g) > 1:
plot(x_g, phi_g, 's', color='g', alpha=0.8, lw=1.2, ms=4)
plot(x, phi, '.', color='r', ms=4.0)
xlabel("${\\rm{Comoving Position}}~x$", labelpad=0)
xlabel("${\\rm{Comoving~position}}~x$", labelpad=0)
ylabel("${\\rm{Potential}}~\\phi$", labelpad=0)
# Temperature profile -------------------------
......@@ -172,7 +172,7 @@ if np.size(x_g) > 1:
plot(x_g, T_g, 's', color='g', alpha=0.8, lw=1.2, ms=4)
plot(x, T, '.', color='r', ms=4.0)
plot(x_s, T_s, '--', color='k', alpha=0.8, lw=1.2)
xlabel("${\\rm{Comoving Position}}~x$", labelpad=0)
xlabel("${\\rm{Comoving~position}}~x$", labelpad=0)
ylabel("${\\rm{Temperature}}~T$", labelpad=0)
# Information -------------------------------------
......
......@@ -8,7 +8,7 @@ then
fi
# Run SWIFT
../swift -a -s -c -G -t 8 zeldovichPancake.yml 2>&1 | tee output.log
../swift -s -c -G -t 8 zeldovichPancake.yml 2>&1 | tee output.log
# Plot the result
for i in {0..119}
......
......@@ -17,7 +17,7 @@ Cosmology:
# Parameters governing the time integration
TimeIntegration:
dt_min: 1e-7 # The minimal time-step size of the simulation (in internal units).
dt_max: 1e-3 # The maximal time-step size of the simulation (in internal units).
dt_max: 4e-3 # The maximal time-step size of the simulation (in internal units).
# Parameters governing the snapshots
Snapshots:
......@@ -42,10 +42,9 @@ InitialConditions:
Scheduler:
max_top_level_cells: 8
cell_split_size: 50
tasks_per_cell: 125
Gravity:
mesh_side_length: 16
mesh_side_length: 32
eta: 0.025
theta: 0.3
r_cut_max: 5.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment