#SURFS (Elahi+ 2018) config file. #Configuration file for analysing DM particles (in either DM only simulation or in full Hydro) #runs 6DFOF + substructure algorithm, demands subhalos and FOF halos be self-bound #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 ################################ #unit options, should always be provided ################################ #EDIT THIS SECTION!!!! #units conversion from input input to desired internal unit Length_unit=1.0 #default code unit, Velocity_unit=1.0 #default velocity unit, Mass_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 #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 ################################ #input related ################################ #input is from a cosmological so can use parameters like box size, h, Omega_m to calculate length and density scales Cosmological_input=1 #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=2 #search dark matter particles only #for baryon search Baryon_searchflag=0 #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=-1 #if field halos have different minimum sizes, otherwise set to -1. #for field fof halo search FoF_Field_search_type=3 #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_linking_length_factor=2.0 #factor by which Physical_linking_length is changed when searching for field halos. Typical values are ~2 when using iterative substructure search. #for mean field estimates and local velocity density distribution funciton estimator related quantiites, rarely need to change this 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 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 Physical_linking_length=0.10 #physical linking length. IF reading periodic volumes in gadget/hdf/ramses, in units of the effective inter-particle spacing. Otherwise in user defined code units. Here set to 0.10 as iterative flag one, values of 0.1-0.3 are typical. 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 will be sqrt(2.25)*this factor 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 #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=0 #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 ################################ #Calculation of properties related options ################################ Inclusive_halo_masses=1 #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 ################################ #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) #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