Skip to content
Snippets Groups Projects
Commit 81f88fa1 authored by Josh Borrow's avatar Josh Borrow
Browse files

Added example with snipshots

parent 10d7d5b3
No related branches found
No related tags found
1 merge request!1088Io selection changes
Small LCDM cosmological simulation generated by C. Power. Cosmology
is WMAP9 and the box is 100Mpc/h in size with 64^3 particles.
We use a softening length of 1/25th of the mean inter-particle separation.
The ICs have been generated to run with Gadget-2 so we need to switch
on the options to cancel the h-factors and a-factors at reading time.
We generate gas from the ICs using SWIFT's internal mechanism and set the
temperature to the expected gas temperature at this redshift.
The 'plotTempEvolution.py' plots the temperature evolution of the gas
in the simulated volume.
This version uses an output list that has 'snapshots' and 'snipshots'
as a useful example for this functionality.
MD5 checksum of the ICs:
08736c3101fd738e22f5159f78e6022b small_cosmo_volume.hdf5
#!/bin/bash
wget http://virgodb.cosma.dur.ac.uk/swift-webstorage/ICs/small_cosmo_volume.hdf5
################################################################################
# This file is part of SWIFT.
# Copyright (c) 2018 Matthieu Schaller (matthieu.schaller@durham.ac.uk)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
# Computes the temperature evolution of the gas in a cosmological box
# Physical constants needed for internal energy to temperature conversion
k_in_J_K = 1.38064852e-23
mH_in_kg = 1.6737236e-27
# Number of snapshots generated
n_snapshots = 200
import matplotlib
matplotlib.use("Agg")
from pylab import *
import h5py
import os.path
# Plot parameters
params = {'axes.labelsize': 10,
'axes.titlesize': 10,
'font.size': 9,
'legend.fontsize': 9,
'xtick.labelsize': 10,
'ytick.labelsize': 10,
'text.usetex': True,
'figure.figsize' : (3.15,3.15),
'figure.subplot.left' : 0.14,
'figure.subplot.right' : 0.99,
'figure.subplot.bottom' : 0.12,
'figure.subplot.top' : 0.99,
'figure.subplot.wspace' : 0.15,
'figure.subplot.hspace' : 0.12,
'lines.markersize' : 6,
'lines.linewidth' : 2.,
'text.latex.unicode': True
}
rcParams.update(params)
rc('font',**{'family':'sans-serif','sans-serif':['Times']})
# Read the simulation data
sim = h5py.File("snap_0000.hdf5", "r")
boxSize = sim["/Header"].attrs["BoxSize"][0]
time = sim["/Header"].attrs["Time"][0]
scheme = sim["/HydroScheme"].attrs["Scheme"][0]
kernel = sim["/HydroScheme"].attrs["Kernel function"][0]
neighbours = sim["/HydroScheme"].attrs["Kernel target N_ngb"][0]
eta = sim["/HydroScheme"].attrs["Kernel eta"][0]
alpha = sim["/HydroScheme"].attrs["Alpha viscosity"][0]
H_mass_fraction = sim["/HydroScheme"].attrs["Hydrogen mass fraction"][0]
H_transition_temp = sim["/HydroScheme"].attrs["Hydrogen ionization transition temperature"][0]
T_initial = sim["/HydroScheme"].attrs["Initial temperature"][0]
T_minimal = sim["/HydroScheme"].attrs["Minimal temperature"][0]
git = sim["Code"].attrs["Git Revision"]
# Cosmological parameters
H_0 = sim["/Cosmology"].attrs["H0 [internal units]"][0]
gas_gamma = sim["/HydroScheme"].attrs["Adiabatic index"][0]
unit_length_in_cgs = sim["/Units"].attrs["Unit length in cgs (U_L)"]
unit_mass_in_cgs = sim["/Units"].attrs["Unit mass in cgs (U_M)"]
unit_time_in_cgs = sim["/Units"].attrs["Unit time in cgs (U_t)"]
unit_length_in_si = 0.01 * unit_length_in_cgs
unit_mass_in_si = 0.001 * unit_mass_in_cgs
unit_time_in_si = unit_time_in_cgs
# Primoridal ean molecular weight as a function of temperature
def mu(T, H_frac=H_mass_fraction, T_trans=H_transition_temp):
if T > T_trans:
return 4. / (8. - 5. * (1. - H_frac))
else:
return 4. / (1. + 3. * H_frac)
# Temperature of some primoridal gas with a given internal energy
def T(u, H_frac=H_mass_fraction, T_trans=H_transition_temp):
T_over_mu = (gas_gamma - 1.) * u * mH_in_kg / k_in_J_K
ret = np.ones(np.size(u)) * T_trans
# Enough energy to be ionized?
mask_ionized = (T_over_mu > (T_trans+1) / mu(T_trans+1, H_frac, T_trans))
if np.sum(mask_ionized) > 0:
ret[mask_ionized] = T_over_mu[mask_ionized] * mu(T_trans*10, H_frac, T_trans)
# Neutral gas?
mask_neutral = (T_over_mu < (T_trans-1) / mu((T_trans-1), H_frac, T_trans))
if np.sum(mask_neutral) > 0:
ret[mask_neutral] = T_over_mu[mask_neutral] * mu(0, H_frac, T_trans)
return ret
z = np.zeros(n_snapshots)
a = np.zeros(n_snapshots)
T_mean = np.zeros(n_snapshots)
T_std = np.zeros(n_snapshots)
T_log_mean = np.zeros(n_snapshots)
T_log_std = np.zeros(n_snapshots)
T_median = np.zeros(n_snapshots)
T_min = np.zeros(n_snapshots)
T_max = np.zeros(n_snapshots)
# Loop over all the snapshots
for i in range(n_snapshots):
sim = h5py.File("snap_%04d.hdf5"%i, "r")
z[i] = sim["/Cosmology"].attrs["Redshift"][0]
a[i] = sim["/Cosmology"].attrs["Scale-factor"][0]
u = sim["/PartType0/InternalEnergies"][:]
# Compute the temperature
u *= (unit_length_in_si**2 / unit_time_in_si**2)
u /= a[i]**(3 * (gas_gamma - 1.))
Temp = T(u)
# Gather statistics
T_median[i] = np.median(Temp)
T_mean[i] = Temp.mean()
T_std[i] = Temp.std()
T_log_mean[i] = np.log10(Temp).mean()
T_log_std[i] = np.log10(Temp).std()
T_min[i] = Temp.min()
T_max[i] = Temp.max()
# CMB evolution
a_evol = np.logspace(-3, 0, 60)
T_cmb = (1. / a_evol)**2 * 2.72
# Plot the interesting quantities
figure()
subplot(111, xscale="log", yscale="log")
fill_between(a, T_mean-T_std, T_mean+T_std, color='C0', alpha=0.1)
plot(a, T_max, ls='-.', color='C0', lw=1., label="${\\rm max}~T$")
plot(a, T_min, ls=':', color='C0', lw=1., label="${\\rm min}~T$")
plot(a, T_mean, color='C0', label="${\\rm mean}~T$", lw=1.5)
fill_between(a, 10**(T_log_mean-T_log_std), 10**(T_log_mean+T_log_std), color='C1', alpha=0.1)
plot(a, 10**T_log_mean, color='C1', label="${\\rm mean}~{\\rm log} T$", lw=1.5)
plot(a, T_median, color='C2', label="${\\rm median}~T$", lw=1.5)
legend(loc="upper left", frameon=False, handlelength=1.5)
# Expected lines
plot([1e-10, 1e10], [H_transition_temp, H_transition_temp], 'k--', lw=0.5, alpha=0.7)
text(2.5e-2, H_transition_temp*1.07, "$T_{\\rm HII\\rightarrow HI}$", va="bottom", alpha=0.7, fontsize=8)
plot([1e-10, 1e10], [T_minimal, T_minimal], 'k--', lw=0.5, alpha=0.7)
text(1e-2, T_minimal*0.8, "$T_{\\rm min}$", va="top", alpha=0.7, fontsize=8)
plot(a_evol, T_cmb, 'k--', lw=0.5, alpha=0.7)
text(a_evol[20], T_cmb[20]*0.55, "$(1+z)^2\\times T_{\\rm CMB,0}$", rotation=-34, alpha=0.7, fontsize=8, va="top", bbox=dict(facecolor='w', edgecolor='none', pad=1.0, alpha=0.9))
redshift_ticks = np.array([0., 1., 2., 5., 10., 20., 50., 100.])
redshift_labels = ["$0$", "$1$", "$2$", "$5$", "$10$", "$20$", "$50$", "$100$"]
a_ticks = 1. / (redshift_ticks + 1.)
xticks(a_ticks, redshift_labels)
minorticks_off()
xlabel("${\\rm Redshift}~z$", labelpad=0)
ylabel("${\\rm Temperature}~T~[{\\rm K}]$", labelpad=0)
xlim(9e-3, 1.1)
ylim(20, 2.5e7)
savefig("Temperature_evolution.png", dpi=200)
#!/bin/bash
# Generate the initial conditions if they are not present.
if [ ! -e small_cosmo_volume.hdf5 ]
then
echo "Fetching initial conditions for the small cosmological volume example..."
./getIC.sh
fi
# Run SWIFT
../../swift --cosmology --hydro --self-gravity --threads=8 small_cosmo_volume.yml 2>&1 | tee output.log
# Plot the temperature evolution
python plotTempEvolution.py
Snapshot:
# Particle Type Gas
Coordinates_Gas: on # Co-moving positions of the particles : a U_L [ cm ]
Velocities_Gas: on # Peculiar velocities of the stars. This is (a * dx/dt) where x is the co-moving positions of the particles : U_L U_t^-1 [ cm s^-1 ]
Masses_Gas: on # Masses of the particles : U_M [ g ]
SmoothingLengths_Gas: on # Co-moving smoothing lengths (FWHM of the kernel) of the particles : a U_L [ cm ]
Entropies_Gas: on # Co-moving entropies per unit mass of the particles : U_M^-1.6667 U_L^4 U_t^-2 [ g^-1.6667 cm^4 s^-2 ]
ParticleIDs_Gas: on # Unique IDs of the particles : [ - ]
Densities_Gas: on # Co-moving mass densities of the particles : a^-3 U_M U_L^-3 [ g cm^-3 ]
InternalEnergies_Gas: on # Co-moving thermal energies per unit mass of the particles : a^-2 U_L^2 U_t^-2 [ cm^2 s^-2 ]
Pressures_Gas: on # Co-moving pressures of the particles : a^-5 U_M U_L^-1 U_t^-2 [ g cm^-1 s^-2 ]
Potentials_Gas: on # Co-moving gravitational potential at position of the particles : a^-1 U_L^2 U_t^-2 [ cm^2 s^-2 ]
Temperatures_Gas: on # Temperature of the particles : U_T [ K ]
VELOCIraptorGroupIDs_Gas: on # Group IDs of the particles in the VELOCIraptor catalogue : [ - ]
# Particle Type DM
Coordinates_DM: on # Co-moving position of the particles : a U_L [ cm ]
Velocities_DM: on # Peculiar velocities of the stars. This is a * dx/dt where x is the co-moving position of the particles. : U_L U_t^-1 [ cm s^-1 ]
Masses_DM: on # Masses of the particles : U_M [ g ]
ParticleIDs_DM: on # Unique ID of the particles : [ - ]
Softenings_DM: on # Co-moving Plummer-equivalent softening lengths of the particles. : a U_L [ cm ]
VELOCIraptorGroupIDs_DM: on # Group IDs of the particles in the VELOCIraptor catalogue : [ - ]
Snipshot:
# Particle Type Gas
Coordinates_Gas: on # Co-moving positions of the particles : a U_L [ cm ]
Velocities_Gas: on # Peculiar velocities of the stars. This is (a * dx/dt) where x is the co-moving positions of the particles : U_L U_t^-1 [ cm s^-1 ]
Masses_Gas: on # Masses of the particles : U_M [ g ]
SmoothingLengths_Gas: on # Co-moving smoothing lengths (FWHM of the kernel) of the particles : a U_L [ cm ]
Entropies_Gas: off # Co-moving entropies per unit mass of the particles : U_M^-1.6667 U_L^4 U_t^-2 [ g^-1.6667 cm^4 s^-2 ]
ParticleIDs_Gas: on # Unique IDs of the particles : [ - ]
Densities_Gas: off # Co-moving mass densities of the particles : a^-3 U_M U_L^-3 [ g cm^-3 ]
InternalEnergies_Gas: off # Co-moving thermal energies per unit mass of the particles : a^-2 U_L^2 U_t^-2 [ cm^2 s^-2 ]
Pressures_Gas: off # Co-moving pressures of the particles : a^-5 U_M U_L^-1 U_t^-2 [ g cm^-1 s^-2 ]
Potentials_Gas: off # Co-moving gravitational potential at position of the particles : a^-1 U_L^2 U_t^-2 [ cm^2 s^-2 ]
Temperatures_Gas: off # Temperature of the particles : U_T [ K ]
VELOCIraptorGroupIDs_Gas: off # Group IDs of the particles in the VELOCIraptor catalogue : [ - ]
# Particle Type DM
Coordinates_DM: on # Co-moving position of the particles : a U_L [ cm ]
Velocities_DM: on # Peculiar velocities of the stars. This is a * dx/dt where x is the co-moving position of the particles. : U_L U_t^-1 [ cm s^-1 ]
Masses_DM: off # Masses of the particles : U_M [ g ]
ParticleIDs_DM: on # Unique ID of the particles : [ - ]
Softenings_DM: off # Co-moving Plummer-equivalent softening lengths of the particles. : a U_L [ cm ]
VELOCIraptorGroupIDs_DM: off # Group IDs of the particles in the VELOCIraptor catalogue : [ - ]
# Define the system of units to use internally.
InternalUnitSystem:
UnitMass_in_cgs: 1.98841e43 # 10^10 M_sun
UnitLength_in_cgs: 3.08567758e24 # 1 Mpc
UnitVelocity_in_cgs: 1e5 # 1 km/s
UnitCurrent_in_cgs: 1 # Amperes
UnitTemp_in_cgs: 1 # Kelvin
Cosmology: # WMAP9 cosmology
Omega_m: 0.276
Omega_lambda: 0.724
Omega_b: 0.0455
h: 0.703
a_begin: 0.019607843 # z_ini = 50.
a_end: 1.0 # z_end = 0.
# Parameters governing the time integration
TimeIntegration:
dt_min: 1e-6
dt_max: 1e-2
# Parameters for the self-gravity scheme
Gravity:
eta: 0.025
theta: 0.5
comoving_DM_softening: 0.0889 # 1/25th of the mean inter-particle separation: 88.9 kpc
max_physical_DM_softening: 0.0889 # 1/25th of the mean inter-particle separation: 88.9 kpc
comoving_baryon_softening: 0.0889 # 1/25th of the mean inter-particle separation: 88.9 kpc
max_physical_baryon_softening: 0.0889 # 1/25th of the mean inter-particle separation: 88.9 kpc
mesh_side_length: 64
# Parameters of the hydro scheme
SPH:
resolution_eta: 1.2348 # "48 Ngb" with the cubic spline kernel
h_min_ratio: 0.1
CFL_condition: 0.1
initial_temperature: 7075. # (1 + z_ini)^2 * 2.72K
minimal_temperature: 100.
# Parameters governing the snapshots
Snapshots:
basename: snap
delta_time: 1.05
scale_factor_first: 0.05
compression: 4
select_output_on: 1
select_output: select_output.yml
output_list_on: 1
output_list: output_list.txt
# Parameters governing the conserved quantities statistics
Statistics:
delta_time: 1.02
scale_factor_first: 0.02
Scheduler:
max_top_level_cells: 8
cell_split_size: 50
# Parameters related to the initial conditions
InitialConditions:
file_name: small_cosmo_volume.hdf5
periodic: 1
cleanup_h_factors: 1
cleanup_velocity_factors: 1
generate_gas_in_ics: 1 # Generate gas particles from the DM-only ICs
cleanup_smoothing_lengths: 1 # Since we generate gas, make use of the (expensive) cleaning-up procedure.
# Parameters for the EAGLE "equation of state"
EAGLEEntropyFloor:
Jeans_density_threshold_H_p_cm3: 0.1 # Physical density above which the EAGLE Jeans limiter entropy floor kicks in expressed in Hydrogen atoms per cm^3.
Jeans_over_density_threshold: 10. # Overdensity above which the EAGLE Jeans limiter entropy floor can kick in.
Jeans_temperature_norm_K: 8000 # Temperature of the EAGLE Jeans limiter entropy floor at the density threshold expressed in Kelvin.
Jeans_gamma_effective: 1.3333333 # Slope the of the EAGLE Jeans limiter entropy floor
Cool_density_threshold_H_p_cm3: 1e-5 # Physical density above which the EAGLE Cool limiter entropy floor kicks in expressed in Hydrogen atoms per cm^3.
Cool_over_density_threshold: 10. # Overdensity above which the EAGLE Cool limiter entropy floor can kick in.
Cool_temperature_norm_K: 8000 # Temperature of the EAGLE Cool limiter entropy floor at the density threshold expressed in Kelvin.
Cool_gamma_effective: 1. # Slope the of the EAGLE Cool limiter entropy floor
#Configuration file for analysing Hydro
#runs 3DFOF + substructure algorithm, demands subhalos and FOF halos be self-bound, calculates many properties
#Units currently set to take in as input, Mpc, 1e10 solar masses, km/s, output in same units
#To set temporally unique halo ids, alter Snapshot_value=SNAP to appropriate value. Ie: for snapshot 12, change SNAP to 12
################################
#input options
#set up to use SWIFT HDF input, load gas, star, bh and dark matter
################################
HDF_name_convention=6 #HDF SWIFT naming convention
Input_includes_dm_particle=1 #include dark matter particles in hydro input
Input_includes_gas_particle=1 #include gas particles in hydro input
Input_includes_star_particle=1 #include star particles in hydro input
Input_includes_bh_particle=1 #include bh particles in hydro input
Input_includes_wind_particle=0 #include wind particles in hydro input (used by Illustris and moves particle type 0 to particle type 3 when decoupled from hydro forces). Here shown as example
Input_includes_tracer_particle=0 #include tracer particles in hydro input (used by Illustris). Here shown as example
Input_includes_extradm_particle=0 #include extra dm particles stored in particle type 2 and type 3, useful for zooms
Halo_core_phase_merge_dist=0.25 #merge substructures if difference in dispersion normalised distance is < this value
Apply_phase_merge_to_host=1 #merge substructures with background if centrally located and phase-distance is small
#units conversion from input input to desired internal unit
Length_input_unit_conversion_to_output_unit=1.0 #default code unit,
Velocity_input_unit_conversion_to_output_unit=1.0 #default velocity unit,
Mass_input_unit_conversion_to_output_unit=1.0 #default mass unit,
#assumes input is in 1e10 msun, Mpc and km/s and output units are the same
Gravity=43.0211349 #for 1e10 Msun, km/s and Mpc
Hubble_unit=100.0 # assuming units are km/s and Mpc, then value of Hubble in km/s/Mpc
#converting hydro quantities
Stellar_age_input_is_cosmological_scalefactor=1
Metallicity_input_unit_conversion_to_output_unit=1.0
Stellar_age_input_unit_conversion_to_output_unit=1.0
Star_formation_rate_input_unit_conversion_to_output_unit=1.0
#set the units of the output by providing conversion to a defined unit
#conversion of output length units to kpc
Length_unit_to_kpc=1000.0
#conversion of output velocity units to km/s
Velocity_to_kms=1.0
#conversion of output mass units to solar masses
Mass_to_solarmass=1.0e10
#1 / 0.012
Metallicity_to_solarmetallicity=83.33
Star_formation_rate_to_solarmassperyear=97.78
Stellar_age_to_yr=1.0
#ensures that output is physical and not comoving distances per little h
Comoving_units=0
#sets the total buffer size in bytes used to store temporary particle information
#of mpi read threads before they are broadcast to the appropriate waiting non-read threads
#if not set, default value is equivalent to 1e6 particles per mpi process, quite large
#but significantly minimises the number of send/receives
#in this example the buffer size is roughly that for a send/receive of 10000 particles
#for 100 mpi processes
MPI_particle_total_buf_size=100000000
################################
#search related options
################################
#how to search a simulation
Particle_search_type=1 #search dark matter particles only
#for baryon search
Baryon_searchflag=2 #if 1 search for baryons separately using phase-space search when identifying substructures, 2 allows special treatment in field FOF linking and phase-space substructure search, 0 treat the same as dark matter particles
#for search for substruture
Search_for_substructure=1 #if 0, end search once field objects are found
#also useful for zoom simulations or simulations of individual objects, setting this flag means no field structure search is run
Singlehalo_search=0 #if file is single halo in which one wishes to search for substructure. Here disabled.
#additional option for field haloes
Keep_FOF=0 #if field 6DFOF search is done, allows to keep structures found in 3DFOF (can be interpreted as the inter halo stellar mass when only stellar search is used).\n
#minimum size for structures
Minimum_size=20 #min 20 particles
Minimum_halo_size=32 #if field halos have different minimum sizes, otherwise set to -1.
#for field fof halo search
FoF_Field_search_type=5 #5 3DFOF search for field halos, 4 for 6DFOF clean up of field halos, 3 for 6DFOF with velocity scale distinct for each initial 3D FOF candidate
Halo_3D_linking_length=0.20
#for mean field estimates and local velocity density distribution funciton estimator related quantiites, rarely need to change this
Local_velocity_density_approximate_calculation=1 #calculates velocity density using approximative (and quicker) near neighbour search
Cell_fraction = 0.01 #fraction of field fof halo used to determine mean velocity distribution function. Typical values are ~0.005-0.02
Grid_type=1 #normal entropy based grid, shouldn't have to change
Nsearch_velocity=32 #number of velocity neighbours used to calculate local velocity distribution function. Typial values are ~32
Nsearch_physical=256 #numerof physical neighbours from which the nearest velocity neighbour set is based. Typical values are 128-512
#for substructure search, rarely ever need to change this
FoF_search_type=1 #default phase-space FOF search. Don't really need to change
Iterative_searchflag=1 #iterative substructure search, for substructure find initial candidate substructures with smaller linking lengths then expand search region
Outlier_threshold=2.5 #outlier threshold for a particle to be considered residing in substructure, that is how dynamically distinct a particle is. Typical values are >2
Substructure_physical_linking_length=0.10
Velocity_ratio=2.0 #ratio of speeds used in phase-space FOF
Velocity_opening_angle=0.10 #angle between velocities. 18 degrees here, typical values are ~10-30
Velocity_linking_length=0.20 #where scaled by structure dispersion
Significance_level=1.0 #how significant a substructure is relative to Poisson noise. Values >= 1 are fine.
#for iterative substructure search, rarely ever need to change this
Iterative_threshold_factor=1.0 #change in threshold value when using iterative search. Here no increase in threshold if iterative or not
Iterative_linking_length_factor=2.0 #increase in final linking final iterative substructure search
Iterative_Vratio_factor=1.0 #change in Vratio when using iterative search. no change in vratio
Iterative_ThetaOp_factor=1.0 #change in velocity opening angle. no change in velocity opening angle
#for checking for halo merger remnants, which are defined as large, well separated phase-space density maxima
Halo_core_search=2 # searches for separate 6dfof cores in field haloes, and then more than just flags halo as merging, assigns particles to each merging "halo". 2 is full separation, 1 is flagging, 0 is off
#if searching for cores, linking lengths. likely does not need to change much
Use_adaptive_core_search=0 #calculate dispersions in configuration & vel space to determine linking lengths
Use_phase_tensor_core_growth=2 #use full stepped phase-space tensor assignment
Halo_core_ellx_fac=0.7 #how linking lengths are changed when searching for local 6DFOF cores,
Halo_core_ellv_fac=2.0 #how velocity lengths based on dispersions are changed when searching for local 6DFOF cores
Halo_core_ncellfac=0.005 #fraction of total halo particle number setting min size of a local 6DFOF core
Halo_core_num_loops=8 #number of loops to iteratively search for cores
Halo_core_loop_ellx_fac=0.75 #how much to change the configuration space linking per iteration
Halo_core_loop_ellv_fac=1.0 #how much to change the velocity space linking per iteration
Halo_core_loop_elln_fac=1.2 #how much to change the min number of particles per iteration
Halo_core_phase_significance=2.0 #how significant a core must be in terms of dispersions (sigma) significance
################################
#Unbinding options (VELOCIraptor is able to accurately identify tidal debris so particles need not be bound to a structure)
################################
#unbinding related items
Unbind_flag=1 #run unbinding
#objects must have particles that meet the allowed kinetic to potential ratio AND also have some total fraction that are completely bound.
Unbinding_type=0
#alpha factor used to determine whether particle is "bound" alaph*T+W<0. For standard subhalo catalogues use >0.9 but if interested in tidal debris 0.2-0.5
Allowed_kinetic_potential_ratio=0.95
Min_bound_mass_frac=0.65 #minimum bound mass fraction
#run unbinding of field structures, aka halos. This is useful for sams and 6DFOF halos but may not be useful if interested in 3DFOF mass functions.
Bound_halos=0
#don't keep background potential when unbinding
Keep_background_potential=1
#use all particles to determine velocity frame for unbinding
Frac_pot_ref=1.0
Min_npot_ref=20
#reference frame only meaningful if calculating velocity frame using subset of particles in object. Can use radially sorted fraction of particles about minimum potential or centre of mass
Kinetic_reference_frame_type=0
Unbinding_max_unbound_removal_fraction_per_iteration=0.5
Unbinding_max_unbound_fraction=0.95
Unbinding_max_unbound_fraction_allowed=0.005
################################
#Calculation of properties related options
################################
Virial_density=500 #user defined virial overdensity. Note that 200 rho_c, 200 rho_m and BN98 are already calculated.
#when calculating properties, for field objects calculate inclusive masses
Inclusive_halo_masses=3 #calculate inclusive masses for halos using full Spherical overdensity apertures
#ensures that output is physical and not comoving distances per little h
Comoving_units=0
#calculate more (sub)halo properties (like angular momentum in spherical overdensity apertures, both inclusive and exclusive)
Extensive_halo_properties_output=1
Extensive_gas_properties_output=1
Extensive_star_properties_output=1
#calculate aperture masses
Calculate_aperture_quantities=1
Number_of_apertures=5
Aperture_values_in_kpc=5,10,30,50,100,
Number_of_projected_apertures=5
Projected_aperture_values_in_kpc=5,10,30,50,100,
#calculate radial profiles
Calculate_radial_profiles=1
Number_of_radial_profile_bin_edges=20
#default radial normalisation log rad bins, normed by R200crit, Integer flag of 0 is log bins and R200crit norm.
Radial_profile_norm=0
Radial_profile_bin_edges=-2.,-1.87379263,-1.74758526,-1.62137789,-1.49517052,-1.36896316,-1.24275579,-1.11654842,-0.99034105,-0.86413368,-0.73792631,-0.61171894,-0.48551157,-0.3593042,-0.23309684,-0.10688947,0.0193179,0.14552527,0.27173264,0.39794001,
Iterate_cm_flag=0 #do not interate to determine centre-of-mass
Sort_by_binding_energy=1 #sort particles by binding energy
Reference_frame_for_properties=2 #use the minimum potential as reference frame about which to calculate properties
################################
#output related
################################
Write_group_array_file=0 #do not write a group array file
Separate_output_files=0 #do not separate output into field and substructure files similar to subfind
Binary_output=2 #Use HDF5 output (binary output 1, ascii 0, and HDF 2)
#output particles residing in the spherical overdensity apertures of halos, only the particles exclusively belonging to halos
Spherical_overdensity_halo_particle_list_output=1
#halo ids are adjusted by this value * 1000000000000 (or 1000000 if code compiled with the LONGINTS option turned off)
#to ensure that halo ids are temporally unique. So if you had 100 snapshots, for snap 100 set this to 100 and 100*1000000000000 will
#be added to the halo id as set for this snapshot, so halo 1 becomes halo 100*1000000000000+1 and halo 1 of snap 0 would just have ID=1
#ALTER THIS as part of a script to get temporally unique ids
Snapshot_value=SNAP
################################
#other options
################################
Verbose=0 #how talkative do you want the code to be, 0 not much, 1 a lot, 2 chatterbox
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment