diff --git a/agora/README.md b/agora/README.md index c8dca09..80a45b1 100644 --- a/agora/README.md +++ b/agora/README.md @@ -17,5 +17,5 @@ Created with musIC-panphasia, - version: [94e73ee944d84782601c87e490b7fb96420bb68f](https://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/tree/94e73ee944d84782601c87e490b7fb96420bb68f) - configure: `./configure --with-gsl=$(gsl-config --prefix) --enable-fof --with-metis=/opt/sw/spack-0.12.1/opt/spack/linux-centos7-x86_64/gcc-9.1.0/metis-5.1.0-gvmpssik7izg6ds4gdioiyq7ajvcxnvh --enable-compiler-warnings=yes --with-numa --with-tbbmalloc --enable-mpi-mesh-gravity` - execute: `mpirun -np 8 /gpfs/data/fs71636/fglatter/swiftsim/examples/swift_mpi --cosmology --self-gravity --fof --limiter --threads=24 --pin /gpfs/data/fs71636/fglatter/swiftsim/examples/agora/1024/agora_1024.yml` -- output times: snap_times_agora1024.txt -- example job script: agora_job.sh +- output times: `snap_times_agora1024.txt` +- example job script: `agora_job.sh` diff --git a/auriga6/README.md b/auriga6/README.md index d31b53e..87018bd 100644 --- a/auriga6/README.md +++ b/auriga6/README.md @@ -15,7 +15,7 @@ Trying to create a zoom-in simulation of a specific halo from https://virgodb.du - Swift version: [d7e001621e4de4a277407179ec2137037d1f4927](https://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/tree/d7e001621e4de4a277407179ec2137037d1f4927) - configure: `./configure --enable-fof --enable-compiler-warnings=yes --enable-stand-alone-fof --with-numa` - execute: `./swift --cosmology --self-gravity --fof --limiter --threads=8 Auriga6_halo7_8_10.yml` -- output times: auriga_zoom_snap_times.txt +- output times: `auriga_zoom_snap_times.txt` ## Simulation-Runs (levelmin, levelmin_TF, levelmax) diff --git a/monofonic_tests/README.md b/monofonic_tests/README.md index f85008e..4e1bc6e 100644 --- a/monofonic_tests/README.md +++ b/monofonic_tests/README.md @@ -11,12 +11,12 @@ To change the Daubechies wavelet in question, go to line 146 of /src/plugins/ran ## MonofonIC code at the VSC - version: [981c093447fe1860297e8cf2337f24f280181ec5](https://bitbucket.org/ohahn/monofonic-experimental/src/981c093447fe1860297e8cf2337f24f280181ec5) -- configuration: shannon_512_100.conf +- configuration: `shannon_512_100.conf` ## Swift code at the VSC - version: [94e73ee944d84782601c87e490b7fb96420bb68f](https://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/tree/94e73ee944d84782601c87e490b7fb96420bb68f) - configure: `./configure --with-gsl=$(gsl-config --prefix) --enable-fof --with-metis=/opt/sw/spack-0.12.1/opt/spack/linux-centos7-x86_64/gcc-9.1.0/metis-5.1.0-gvmpssik7izg6ds4gdioiyq7ajvcxnvh --enable-compiler-warnings=yes ` - execute: `/gpfs/data/fs71636/fglatter/swiftsim/examples/swift --cosmology --self-gravity --fof --threads=$SLURM_NPROCS /gpfs/data/fs71636/fglatter/swiftsim/monofonic_tests/output/shannon_512_100/shannon_512_100_param.yml` -- output times: monofonic_snap_times.txt -- example job file: shannon_job.sh +- output times: `monofonic_snap_times.txt` +- example job file: `shannon_job.sh` diff --git a/velociraptor/README.md b/velociraptor/README.md new file mode 100644 index 0000000..bd9ed93 --- /dev/null +++ b/velociraptor/README.md @@ -0,0 +1,10 @@ +# Finding Substructure with Velociraptor + +We use Velociraptor for finding substructure. Unfortunately, it doesn't work on-the-fly with Swift due to a disrupting error as soon as there are more than 0 structures found, but we can use the standalone version of Vr. + + +## Code + +- version: [dc6d330eef60b7ca10e029d9a9af434454575daa](https://github.com/ICRAR/VELOCIraptor-STF/tree/dc6d330eef60b7ca10e029d9a9af434454575daa) +- cmake parameters: `-DNBODY_OPENMP=1 -DVR_HDF5=1 -DCMAKE_BUILD_TYPE=Release -DVR_MPI=OFF` +- configuration file: `standalone_vr.cfg` diff --git a/velociraptor/standalone_vr.cfg b/velociraptor/standalone_vr.cfg new file mode 100644 index 0000000..c78e73a --- /dev/null +++ b/velociraptor/standalone_vr.cfg @@ -0,0 +1,211 @@ +#suggested configuration file for cosmological dm and subhalo catalog +#Configuration file for analysing all particles +#runs 3DFOF algorithm, 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 +#Script calculates several aperture quantities, also several spherical overensity. Currently does NOT +#write all the particles within the lowest spherical density. + +################################ +#input options +#set up to use SWIFT HDF input, load dark matter only +################################ +HDF_name_convention=6 #HDF SWIFT naming convention +Input_includes_dm_particle=1 #include dark matter particles in hydro input +Input_includes_gas_particle=0 #include gas particles in hydro input +Input_includes_star_particle=0 #include star particles in hydro input +Input_includes_bh_particle=0 #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 + +#cosmological run +Cosmological_input=1 + +################################ +#unit options, should always be provided +################################ + +#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 +#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 +Metallicity_to_solarmetallicity=1.0 +Star_formation_rate_to_solarmassperyear=1.0 +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=2 #search all particles, see allvars for other types +#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 +#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=35 #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 halo +Halo_3D_linking_length=0.20 #3DFOF linking length in interparticle spacing + +#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 +Local_velocity_density_approximate_calculation=2 #approximative and mpi local calculation of density, less accurate much faster. + +#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 #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_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 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 + +#merge substructures if the overlap in phase-space by some fraction of their dispersion +#here distance has to be less than 0.25 sigma +Structure_phase_merge_dist=0.25 +#also merge structures with background if overlap heavily in phase-space based on dispersions. +Apply_phase_merge_to_host=1 + +################################ +#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 + +################################ +#Cosmological parameters +#this is typically overwritten by information in the gadget/hdf header if those input file types are read +################################ +h_val=1.0 +Omega_m=0.3 +Omega_Lambda=0.7 +Critical_density=1.0 +Virial_density=200 #so-called virial overdensity value +Omega_b=0. #no baryons + +################################ +#Calculation of properties related options +################################ +Inclusive_halo_masses=3 #calculate inclusive masses for halos using full Spherical overdensity apertures once all substructures have been found (if substructures are searched for). +#when calculating properties, for field objects calculate inclusive masses +Iterate_cm_flag=0 #do not interatively find the centre-of-mass, giving bulk centre of mass and centre of mass velocity. +Sort_by_binding_energy=1 #sort by binding energy +Reference_frame_for_properties=2 #use the position of the particle with the minimum potential as the point about which properties should be calculated. +#calculate more (sub)halo properties (like angular momentum in spherical overdensity apertures, both inclusive and exclusive) +Extensive_halo_properties_output=1 + +#aperture related (list must be in increasing order and terminates with , ie: 1,2,3, ) +#calculate aperture masses +Calculate_aperture_quantities=1 +Number_of_apertures=6 +Aperture_values_in_kpc=3,5,10,30,50,100, +Number_of_projected_apertures=3 +Projected_aperture_values_in_kpc=10,50,100, + +#spherical overdensity related quantities +Virial_density=500 #user defined virial overdensity. Note that 200 rho_c, 200 rho_m and BN98 are already calculated. +#number of spherical overdensity thresholds +Number_of_overdensities=5 +Overdensity_values_in_critical_density=25,100,500,1000,2500, + +#calculate radial profiles +Calculate_radial_profiles=1 +Number_of_radial_profile_bin_edges=20 +#default radial normalisation log rad bins, in proper kpc +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, + +################################ +#output related +################################ + +Write_group_array_file=0 #write a group array file +Separate_output_files=0 #separate output into field and substructure files similar to subfind +Binary_output=2 #binary output 1, ascii 0, and HDF 2 +#do not output particles residing in the spherical overdensity apertures of halos, only the particles exclusively belonging to halos +Spherical_overdensity_halo_particle_list_output=0 + +#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