parameter_example.yml 46.1 KB
Newer Older
1
2
# Define some meta-data about the simulation
MetaData:
3
  run_name:   Name of the sim in less than 256 characters.  # The name of the simulation. This is written into the snapshot headers.
4

5
# Define the system of units to use internally.
6
InternalUnitSystem:
7
8
9
10
11
  UnitMass_in_cgs:     1   # Grams
  UnitLength_in_cgs:   1   # Centimeters
  UnitVelocity_in_cgs: 1   # Centimeters per second
  UnitCurrent_in_cgs:  1   # Amperes
  UnitTemp_in_cgs:     1   # Kelvin
Matthieu Schaller's avatar
Matthieu Schaller committed
12

13
14
15
16
# Values of some physical constants
PhysicalConstants:
  G:            6.67408e-8 # (Optional) Overwrite the value of Newton's constant used internally by the code.

17
18
19
20
21
22
23
# Cosmological parameters
Cosmology:
  h:              0.6777        # Reduced Hubble constant
  a_begin:        0.0078125     # Initial scale-factor of the simulation
  a_end:          1.0           # Final scale factor of the simulation
  Omega_m:        0.307         # Matter density parameter
  Omega_lambda:   0.693         # Dark-energy density parameter
24
  Omega_b:        0.0482519     # Baryon density parameter
25
26
27
28
  Omega_r:        0.            # (Optional) Radiation density parameter
  w_0:            -1.0          # (Optional) Dark-energy equation-of-state parameter at z=0.
  w_a:            0.            # (Optional) Dark-energy equation-of-state time evolution parameter.

29
30
# Parameters for the hydrodynamics scheme
SPH:
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
  resolution_eta:                    1.2348   # Target smoothing length in units of the mean inter-particle separation (1.2348 == 48Ngbs with the cubic spline kernel).
  CFL_condition:                     0.1      # Courant-Friedrich-Levy condition for time integration.
  use_mass_weighted_num_ngb:         0        # (Optional) Are we using the mass-weighted definition of the number of neighbours?
  h_tolerance:                       1e-4     # (Optional) Relative accuracy of the Netwon-Raphson scheme for the smoothing lengths.
  h_max:                             10.      # (Optional) Maximal allowed smoothing length in internal units. Defaults to FLT_MAX if unspecified.
  h_min_ratio:                       0.       # (Optional) Minimal allowed smoothing length in units of the softening. Defaults to 0 if unspecified.
  max_volume_change:                 1.4      # (Optional) Maximal allowed change of kernel volume over one time-step.
  max_ghost_iterations:              30       # (Optional) Maximal number of iterations allowed to converge towards the smoothing length.
  particle_splitting:                1        # (Optional) Are we splitting particles that are too massive (default: 0)
  particle_splitting_mass_threshold: 7e-4     # (Optional) Mass threshold for particle splitting (in internal units)
  initial_temperature:               0        # (Optional) Initial temperature (in internal units) to set the gas particles at start-up. Value is ignored if set to 0.
  minimal_temperature:               0        # (Optional) Minimal temperature (in internal units) allowed for the gas particles. Value is ignored if set to 0.
  H_mass_fraction:                   0.755    # (Optional) Hydrogen mass fraction used for initial conversion from temp to internal energy. Default value is derived from the physical constants.
  H_ionization_temperature:          1e4      # (Optional) Temperature of the transition from neutral to ionized Hydrogen for primoridal gas.
  viscosity_alpha:                   0.8      # (Optional) Override for the initial value of the artificial viscosity. In schemes that have a fixed AV, this remains as alpha throughout the run.
  viscosity_alpha_max:               2.0      # (Optional) Maximal value for the artificial viscosity in schemes that allow alpha to vary.
  viscosity_alpha_min:               0.1      # (Optional) Minimal value for the artificial viscosity in schemes that allow alpha to vary.
  viscosity_length:                  0.1      # (Optional) Decay length for the artificial viscosity in schemes that allow alpha to vary.
  diffusion_alpha:                   0.0      # (Optional) Override the initial value for the thermal diffusion coefficient in schemes with thermal diffusion.
  diffusion_beta:                    0.01     # (Optional) Override the decay/rise rate tuning parameter for the thermal diffusion.
  diffusion_alpha_max:               1.0      # (Optional) Override the maximal thermal diffusion coefficient that is allowed for a given particle.
  diffusion_alpha_min:               0.0      # (Optional) Override the minimal thermal diffusion coefficient that is allowed for a given particle.
Josh Borrow's avatar
Josh Borrow committed
53

54
55
56
57
58
59
# Parameters of the stars neighbour search
Stars:
  resolution_eta:       1.2348   # (Optional) Target smoothing length in units of the mean inter-particle separation (1.2348 == 48Ngbs with the cubic spline kernel). Defaults to the SPH value.
  h_tolerance:          1e-4     # (Optional) Relative accuracy of the Netwon-Raphson scheme for the smoothing lengths. Defaults to the SPH value.
  max_ghost_iterations: 30       # (Optional) Maximal number of iterations allowed to converge towards the smoothing length. Defaults to the SPH value.
  max_volume_change:    1.4      # (Optional) Maximal allowed change of kernel volume over one time-step. Defaults to the SPH value.
60
61
  overwrite_birth_time:  0       # (Optional) Do we want to overwrite the birth time of the stars read from the ICs? (default: 0).
  birth_time:           -1       # (Optional) Initial birth times of *all* the stars to be used if we are overwriting them. (-1 means the stars remain inactive feedback-wise througout the run).
62

63
64
# Parameters for the self-gravity scheme
Gravity:
65
66
67
  mesh_side_length:              128       # Number of cells along each axis for the periodic gravity mesh.
  eta:                           0.025     # Constant dimensionless multiplier for time integration.
  MAC:                           adaptive  # Choice of mulitpole acceptance criterion: 'adaptive' OR 'geometric'.
68
  epsilon_fmm:                   0.001     # Tolerance parameter for the adaptive multipole acceptance criterion.
69
  theta_cr:                      0.7       # Opening angle for the purely gemoetric criterion.
70
71
  use_tree_below_softening:      0         # (Optional) Can the gravity code use the multipole interactions below the softening scale?
  allow_truncation_in_MAC:       0         # (Optional) Can the Multipole acceptance criterion use the truncated force estimator?
72
73
74
75
76
77
78
79
80
  comoving_DM_softening:         0.0026994 # Comoving Plummer-equivalent softening length for DM particles (in internal units).
  max_physical_DM_softening:     0.0007    # Maximal Plummer-equivalent softening length in physical coordinates for DM particles (in internal units).
  comoving_baryon_softening:     0.0026994 # Comoving Plummer-equivalent softening length for baryon particles (in internal units).
  max_physical_baryon_softening: 0.0007    # Maximal Plummer-equivalent softening length in physical coordinates for baryon particles (in internal units).
  softening_ratio_background:    0.04      # Fraction of the mean inter-particle separation to use as Plummer-equivalent softening for the background DM particles.
  rebuild_frequency:             0.01      # (Optional) Frequency of the gravity-tree rebuild in units of the number of g-particles (this is the default value).
  a_smooth:                      1.25      # (Optional) Smoothing scale in top-level cell sizes to smooth the long-range forces over (this is the default value).
  r_cut_max:                     4.5       # (Optional) Cut-off in number of top-level cells beyond which no FMM forces are computed (this is the default value).
  r_cut_min:                     0.1       # (Optional) Cut-off in number of top-level cells below which no truncation of FMM forces are performed (this is the default value).
81
  dithering:                     0         # (Optional) Activate the dithering of the gravity mesh at every rebuild (this is the default value).
82
  dithering_ratio:               1.0       # (Optional) Magnitude of each component of the dithering vector in units of the top-level cell sizes (this is the default value).
83

84
85
86
87
88
# Parameters when running with SWIFT_GRAVITY_FORCE_CHECKS 
ForceChecks:
  only_when_all_active: 1  # (Optional) Only compute exact forces during timesteps when all gparts are active (default: 0).
  only_at_snapshots:    1  # (Optional) Only compute exact forces during timesteps when a snapshot is being dumped (default: 0).

89
FOF:
90
91
92
93
  basename:                        fof_output  # Filename for the FOF outputs (Unused when FoF is only run to seed BHs).
  scale_factor_first:              0.91        # Scale-factor of first FoF black hole seeding calls (needed for cosmological runs).
  time_first:                      0.2         # Time of first FoF black hole seeding calls (needed for non-cosmological runs).	
  delta_time:                      1.005       # Time between consecutive FoF black hole seeding calls.
94
95
96
  min_group_size:                  256         # The minimum no. of particles required for a group.
  linking_length_ratio:            0.2         # Linking length in units of the main inter-particle separation.
  black_hole_seed_halo_mass_Msun:  1.5e10      # Minimal halo mass in which to seed a black hole (in solar masses).
97
  absolute_linking_length:         -1.         # (Optional) Absolute linking length (in internal units). When not set to -1, this will overwrite the linking length computed from 'linking_length_ratio'.
98
99
100
  group_id_default:                2147483647  # (Optional) Sets the group ID of particles in groups below the minimum size. Defaults to 2^31 - 1 if unspecified. Has to be positive.
  group_id_offset:                 1           # (Optional) Sets the offset of group ID labeling. Defaults to 1 if unspecified.

101
# Parameters for the task scheduling
Matthieu Schaller's avatar
Matthieu Schaller committed
102
Scheduler:
103
104
  nr_queues:                 0         # (Optional) The number of task queues to use. Use 0  to let the system decide.
  cell_max_size:             8000000   # (Optional) Maximal number of interactions per task if we force the split (this is the default value).
105
106
107
108
  cell_sub_size_pair_hydro:  256000000 # (Optional) Maximal number of hydro-hydro interactions per sub-pair hydro/star task (this is the default value).
  cell_sub_size_self_hydro:  32000     # (Optional) Maximal number of hydro-hydro interactions per sub-self hydro/star task (this is the default value).
  cell_sub_size_pair_stars:  256000000 # (Optional) Maximal number of hydro-star interactions per sub-pair hydro/star task (this is the default value).
  cell_sub_size_self_stars:  32000     # (Optional) Maximal number of hydro-star interactions per sub-self hydro/star task (this is the default value).
109
110
111
  cell_sub_size_pair_grav:   256000000 # (Optional) Maximal number of interactions per sub-pair gravity task  (this is the default value).
  cell_sub_size_self_grav:   32000     # (Optional) Maximal number of interactions per sub-self gravity task  (this is the default value).
  cell_split_size:           400       # (Optional) Maximal number of particles per cell (this is the default value).
112
  cell_subdepth_diff_grav:   4         # (Optional) Maximal depth difference between leaves and a cell that gravity tasks can be pushed down to (this is the default value).
113
114
  cell_extra_parts:          0         # (Optional) Number of spare parts per top-level allocated at rebuild time for on-the-fly creation.
  cell_extra_gparts:         0         # (Optional) Number of spare gparts per top-level allocated at rebuild time for on-the-fly creation.
115
  cell_extra_sparts:         100       # (Optional) Number of spare sparts per top-level allocated at rebuild time for on-the-fly creation.
116
  max_top_level_cells:       12        # (Optional) Maximal number of top-level cells in any dimension. The number of top-level cells will be the cube of this (this is the default value).
117
  tasks_per_cell:            0.0       # (Optional) The average number of tasks per cell. If not large enough the simulation will fail (means guess...).
118
  links_per_tasks:           25        # (Optional) The average number of links per tasks (before adding the communication tasks). If not large enough the simulation will fail (means guess...). Defaults to 10.
119
  mpi_message_limit:         4096      # (Optional) Maximum MPI task message size to send non-buffered, KB.
120
121
  engine_max_parts_per_ghost:   1000   # (Optional) Maximum number of parts per ghost.
  engine_max_sparts_per_ghost:  1000   # (Optional) Maximum number of sparts per ghost.
122
  engine_max_parts_per_cooling:  200   # (Optional) Maximum number of parts per cooling task.
Matthieu Schaller's avatar
Matthieu Schaller committed
123
  engine_max_parts_per_kick:  10000    # (Optional) Maximum number of parts per cooling task.
Matthieu Schaller's avatar
Matthieu Schaller committed
124

125
# Parameters governing the time integration (Set dt_min and dt_max to the same value for a fixed time-step run.)
Matthieu Schaller's avatar
Matthieu Schaller committed
126
TimeIntegration:
127
128
129
130
131
  time_begin:        0.    # The starting time of the simulation (in internal units).
  time_end:          1.    # The end time of the simulation (in internal units).
  dt_min:            1e-6  # The minimal time-step size of the simulation (in internal units).
  dt_max:            1e-2  # The maximal time-step size of the simulation (in internal units).
  max_dt_RMS_factor: 0.25  # (Optional) Dimensionless factor for the maximal displacement allowed based on the RMS velocities.
132

133
134
# Parameters governing the snapshots
Snapshots:
135
136
  basename:   output      # Common part of the name of output files.
  subdir:     dir         # (Optional) Sub-directory in which to write the snapshots. Defaults to "" (i.e. the directory where SWIFT is run).
137
138
  scale_factor_first: 0.1 # (Optional) Scale-factor of the first snapshot if cosmological time-integration.
  time_first: 0.          # (Optional) Time of the first output if non-cosmological time-integration (in internal units)
139
  delta_time: 0.01        # Time difference between consecutive outputs (in internal units)
140
  invoke_stf: 0           # (Optional) Call VELOCIraptor every time a snapshot is written irrespective of the VELOCIraptor output strategy.
141
  compression: 0          # (Optional) Set the level of GZIP compression of the HDF5 datasets [0-9]. 0 does no compression. The lossless compression is applied to *all* the fields.
142
  distributed: 0          # (Optional) When running over MPI, should each rank write a partial snapshot or do we want a single file? 1 implies one file per MPI rank.
143
  int_time_label_on:   0  # (Optional) Enable to label the snapshots using the time rounded to an integer (in internal units)
144
145
146
147
148
  UnitMass_in_cgs:     1  # (Optional) Unit system for the outputs (Grams)
  UnitLength_in_cgs:   1  # (Optional) Unit system for the outputs (Centimeters)
  UnitVelocity_in_cgs: 1  # (Optional) Unit system for the outputs (Centimeters per second)
  UnitCurrent_in_cgs:  1  # (Optional) Unit system for the outputs (Amperes)
  UnitTemp_in_cgs:     1  # (Optional) Unit system for the outputs (Kelvin)
149
150
  output_list_on:      0  # (Optional) Enable the output list
  output_list:         snaplist.txt # (Optional) File containing the output times (see documentation in "Parameter File" section)
151
152
  select_output_on:    0  # (Optional) Enable the output selection behaviour
  select_output:       selectoutput.yml # (Optional) File containing information to select outputs with (see documentation in the "Output Selection" section)
lhausamm's avatar
lhausamm committed
153
154
155

# Parameters governing the logger snapshot system
Logger:
156
157
  delta_step:           10     # Update the particle log every this many updates
  basename:             index  # Common part of the filenames
158
159
  initial_buffer_size:  1      # (Optional) Buffer size in GB
  buffer_scale:	        10     # (Optional) When buffer size is too small, update it with required memory times buffer_scale
160
  
161
162
# Parameters governing the conserved quantities statistics
Statistics:
163
164
165
  delta_time:           1e-2     # Time between statistics output
  scale_factor_first:     0.1    # (Optional) Scale-factor of the first statistics dump if cosmological time-integration.
  time_first:             0.     # (Optional) Time of the first stats output if non-cosmological time-integration (in internal units)
Matthieu Schaller's avatar
Matthieu Schaller committed
166
  energy_file_name:    energy    # (Optional) File name for energy output
167
  timestep_file_name:  timesteps # (Optional) File name for timing information output. Note: No underscores "_" allowed in file name
168
169
  output_list_on:      0   	 # (Optional) Enable the output list
  output_list:         statlist.txt # (Optional) File containing the output times (see documentation in "Parameter File" section)
170

171
# Parameters related to the initial conditions
Matthieu Schaller's avatar
Matthieu Schaller committed
172
InitialConditions:
173
  file_name:  SedovBlast/sedov.hdf5 # The file to read
Peter W. Draper's avatar
typo    
Peter W. Draper committed
174
  periodic:                    1    # Are we running with periodic ICs?
175
  generate_gas_in_ics:         0    # (Optional) Generate gas particles from the DM-only ICs (e.g. from panphasia).
176
  cleanup_h_factors:           0    # (Optional) Clean up the h-factors used in the ICs (e.g. in Gadget files).
177
  cleanup_velocity_factors:    0    # (Optional) Clean up the scale-factors used in the definition of the velocity variable in the ICs (e.g. in Gadget files).
178
179
  cleanup_smoothing_lengths:   0    # (Optional) Clean the values of the smoothing lengths that are read in to remove stupid values. Set to 1 to activate.
  smoothing_length_scaling:    1.   # (Optional) A scaling factor to apply to all smoothing lengths in the ICs.
180
  shift:      [0.0,0.0,0.0]         # (Optional) A shift to apply to all particles read from the ICs (in internal units).
181
  replicate:  2                     # (Optional) Replicate all particles along each axis a given integer number of times. Default 1.
Matthieu Schaller's avatar
Matthieu Schaller committed
182

183
184
# Parameters controlling restarts
Restarts:
185
186
187
188
189
  enable:             1          # (Optional) whether to enable dumping restarts at fixed intervals.
  save:               1          # (Optional) whether to save copies of the previous set of restart files (named .prev)
  onexit:             0          # (Optional) whether to dump restarts on exit (*needs enable*)
  subdir:             restart    # (Optional) name of subdirectory for restart files.
  basename:           swift      # (Optional) prefix used in naming restart files.
190
  delta_hours:        5.0        # (Optional) decimal hours between dumps of restart files.
191
192
193
  stop_steps:         100        # (Optional) how many steps to process before checking if the <subdir>/stop file exists. When present the application will attempt to exit early, dumping restart files first.
  max_run_time:       24.0       # (optional) Maximal wall-clock time in hours. The application will exit when this limit is reached.
  resubmit_on_exit:   0          # (Optional) whether to run a command when exiting after the time limit has been reached.
194
  resubmit_command:   ./resub.sh # (Optional) Command to run when time limit is reached. Compulsory if resubmit_on_exit is switched on. Note potentially unsafe.
195

196
# Parameters governing domain decomposition
Matthieu Schaller's avatar
Matthieu Schaller committed
197
DomainDecomposition:
198
199
200
  initial_type:     memory    # (Optional) The initial decomposition strategy: "grid",
                              #            "region", "memory", or "vectorized".
  initial_grid: [10,10,10]    # (Optional) Grid sizes if the "grid" strategy is chosen.
201

202
  synchronous:      0         # (Optional) Use synchronous MPI requests to redistribute, uses less system memory, but slower.
203
204
205
206
207
208
209
210
211
212
213
  repartition_type: fullcosts # (Optional) The re-decomposition strategy, one of:
                              # "none", "fullcosts", "edgecosts", "memory" or
                              # "timecosts".
  trigger:          0.05      # (Optional) Fractional (<1) CPU time difference between MPI ranks required to trigger a
                              # new decomposition, or number of steps (>1) between decompositions
  minfrac:          0.9       # (Optional) Fractional of all particles that should be updated in previous step when
                              # using CPU time trigger
  usemetis:         0         # Use serial METIS when ParMETIS is also available.
  adaptive:         1         # Use adaptive repartition when ParMETIS is available, otherwise simple refinement.
  itr:              100       # When adaptive defines the ratio of inter node communication time to data redistribution time, in the range 0.00001 to 10000000.0.
                              # Lower values give less data movement during redistributions, at the cost of global balance which may require more communication.
214
  use_fixed_costs:  0         # If 1 then use any compiled in fixed costs for
215
216
                              # task weights in first repartition, if 0 only use task timings, if > 1 only use
                              # fixed costs, unless none are available.
217

218
219
220
# Structure finding options (requires velociraptor)
StructureFinding:
  config_file_name:     stf_input.cfg # Name of the STF config file.
221
222
  basename:             haloes        # Common part of the name of output files.
  subdir_per_output:    stf           # (Optional) Sub-directory (within Snapshots:subdir) to use for each invocation of STF. Defaults to "" (i.e. no sub-directory) 
223
  scale_factor_first:   0.92          # (Optional) Scale-factor of the first structure finding (cosmological run)
224
225
  time_first:           0.01          # (Optional) Time of the first structure finding output (in internal units).
  delta_time:           1.10          # (Optional) Time difference between consecutive structure finding outputs (in internal units) in simulation time intervals.
226
  output_list_on:       0   	      # (Optional) Enable the use of an output list
227
  output_list:          stflist.txt   # (Optional) File containing the output times (see documentation in "Parameter File" section)
228

229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
# Parameters related to the Line-Of-Sight (SpecWizard) outputs
LineOfSight:
  basename:            los     # Basename of the files
  scale_factor_first:  0.02    # (Optional) Scale-factor of the first line-of-sight (cosmological run)
  time_first:          0.01    # (Optional) Time of the first line-of-sight output (in internal units).
  delta_time:          1.02    # (Optional) Time difference between consecutive line-of-sight outputs (in internal units) in simulation time intervals.
  output_list_on:       0      # (Optional) Enable the use of an output list
  num_along_x:         0       # Number of sight-lines along the x-axis
  num_along_y:         0       # Number of sight-lines along the y-axis
  num_along_z:         100     # Number of sight-lines along the z-axis
  allowed_los_range_x: [0, 100.]   # (Optional) Range along the x-axis where LoS along Y or Z are allowed (Defaults to the box size).
  allowed_los_range_y: [0, 100.]   # (Optional) Range along the y-axis where LoS along X or Z are allowed (Defaults to the box size).
  allowed_los_range_z: [0, 100.]   # (Optional) Range along the z-axis where LoS along X or Y are allowed (Defaults to the box size).
  range_when_shooting_down_x: 100. # (Optional) Range along the x-axis of LoS along x (Defaults to the box size).
  range_when_shooting_down_y: 100. # (Optional) Range along the y-axis of LoS along y (Defaults to the box size).
  range_when_shooting_down_z: 100. # (Optional) Range along the z-axis of LoS along z (Defaults to the box size).

246
247
248
# Parameters related to the equation of state ------------------------------------------

EoS:
249
250
  isothermal_internal_energy: 20.26784  # Thermal energy per unit mass for the case of isothermal equation of state (in internal units).

251
252
253
254
  planetary_use_Til:    1   # (Optional) Whether to prepare the Tillotson EOS
  planetary_use_HM80:   0   # (Optional) Whether to prepare the Hubbard & MacFarlane (1980) EOS
  planetary_use_ANEOS:  0   # (Optional) Whether to prepare the ANEOS EOS
  planetary_use_SESAME: 0   # (Optional) Whether to prepare the SESAME EOS
255
                            # (Optional) Table file paths
Jacob Kegerreis's avatar
Jacob Kegerreis committed
256
257
258
259
260
261
262
  planetary_HM80_HHe_table_file:        ./EoSTables/planetary_HM80_HHe.txt
  planetary_HM80_ice_table_file:        ./EoSTables/planetary_HM80_ice.txt
  planetary_HM80_rock_table_file:       ./EoSTables/planetary_HM80_rock.txt
  planetary_SESAME_iron_table_file:     ./EoSTables/planetary_SESAME_iron_2140.txt
  planetary_SESAME_basalt_table_file:   ./EoSTables/planetary_SESAME_basalt_7530.txt
  planetary_SESAME_water_table_file:    ./EoSTables/planetary_SESAME_water_7154.txt
  planetary_SS08_water_table_file:      ./EoSTables/planetary_SS08_water.txt
263

264
# Parameters related to external potentials --------------------------------------------
265

266
# Point mass external potentials
267
PointMassPotential:
268
  useabspos:       0                   # 0 -> positions based on centre, 1 -> absolute positions 
269
270
271
272
  position:        [50.,50.0,50.]      # location of external point mass (internal units)
  mass:            1e10                # mass of external point mass (internal units)
  timestep_mult:   0.03                # Dimensionless pre-factor for the time-step condition
  softening:       0.05                # For point-mass-softened option
273

274
# Isothermal potential parameters
275
IsothermalPotential:
276
  useabspos:       0                   # 0 -> positions based on centre, 1 -> absolute positions 
277
  position:        [100.,100.,100.]    # Location of centre of isothermal potential with respect to centre of the box (internal units)
278
279
280
  vrot:            200.                # Rotation speed of isothermal potential (internal units)
  timestep_mult:   0.03                # Dimensionless pre-factor for the time-step condition
  epsilon:         0.1                 # Softening size (internal units)
281
282
283
284
  
# Hernquist potential parameters
HernquistPotential:
  useabspos:       0        # 0 -> positions based on centre, 1 -> absolute positions 
285
  position:        [100.,100.,100.]    # Location of centre of Henrquist potential with respect to centre of the box (if 0) otherwise absolute (if 1) (internal units)
286
287
288
  idealizeddisk:   0        # (Optional) Whether to run with idealizeddisk or without, 0 used the mass and scalelength as mandatory parameters, while 1 uses more advanced disk dependent paramters
  mass:            1e10     # (Optional 0) default parameter, Mass of the Hernquist potential
  scalelength:     10.0     # (Optional 0) default parameter, Scale length of the potential
289
                            # If multiple X200 values are given, only one is used, in the order M200 > V200 > R200.
290
  M200:            3e11     # (Optional 1a) M200 of the galaxy+halo (when used V200 and R200 are not used)
Folkert Nobels's avatar
Folkert Nobels committed
291
292
  V200:            100.     # (Optional 1b) V200 of the galaxy+halo (when used M200 and R200 are not used, if M200 is given M200 is used)
  R200:            10.      # (Optional 1c) R200 of the galaxy+halo (when used M200 and V200 are not used, if M200 or V200 are given they are used)
293
294
  h:               0.704    # (Optional 1) reduced Hubble constant
  concentration:   7.1      # (Optional 1) concentration of the Halo
295
296
  diskfraction:              0.0434370991372   # (Optional 1) Disk mass fraction (equal to MD in MakeNewDisk and GalIC)
  bulgefraction:              0.00705852860979  # (Optional 1) Bulge mass fraction (equal to MB in MakeNewDisk and GalIC)
297
298
299
  timestep_mult:   0.01     # Dimensionless pre-factor for the time-step condition, basically determines the fraction of the orbital time we use to do the time integration
  epsilon:         0.1      # Softening size (internal units)
 
300
# NFW potential parameters
301
NFWPotential:
302
303
304
305
306
307
  useabspos:          0             # 0 -> positions based on centre, 1 -> absolute positions 
  position:           [0.0,0.0,0.0] # Location of centre of the NFW potential with respect to centre of the box (internal units) if useabspos=0 otherwise with respect to the 0,0,0, coordinates.
  concentration:      8.            # Concentration of the halo
  M_200:              2.0e+12       # Mass of the halo (M_200 in internal units)
  critical_density:   127.4         # Critical density (internal units).
  timestep_mult:      0.01          # Dimensionless pre-factor for the time-step condition, basically determines fraction of orbital time we need to do an integration step
308

309
# Disk-patch potential parameters. The potential is along the x-axis.
310
311
312
DiscPatchPotential:
  surface_density: 10.      # Surface density of the disc (internal units)
  scale_height:    100.     # Scale height of the disc (internal units)
313
314
315
  x_disc:          400.     # Position of the disc along the z-axis (internal units)
  x_trunc:         300.     # (Optional) Distance from the disc along z-axis above which the potential gets truncated.
  x_max:           380.     # (Optional) Distance from the disc along z-axis above which the potential is set to 0.
316
  timestep_mult:   0.03     # Dimensionless pre-factor for the time-step condition
317
  growth_time:     5.       # (Optional) Time for the disc to grow to its final size (multiple of the dynamical time)
318

319
320
321
322
323
# Sine Wave potential
SineWavePotential:
  amplitude:        10.     # Amplitude of the sine wave (internal units)
  timestep_limit:   1.      # Time-step dimensionless pre-factor.
  growth_time:      0.      # (Optional) Time for the potential to grow to its final size.
324

Matthieu Schaller's avatar
Matthieu Schaller committed
325

326
327
328
329
330
331
332
# Parameters related to entropy floors    ----------------------------------------------

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
333
334
335
336
  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
Matthieu Schaller's avatar
Matthieu Schaller committed
337

338
339
340
341
342
343
# Parameters for the Quick Lyman-alpha floor
QLAEntropyFloor:
  density_threshold_H_p_cm3: 0.1       # Physical density above which the entropy floor kicks in expressed in Hydrogen atoms per cm^3.
  over_density_threshold:    10.       # Overdensity above which the entropy floor can kick in.
  temperature_norm_K:        8000      # Temperature of the entropy floor at the density threshold expressed in Kelvin.

Matthieu Schaller's avatar
Matthieu Schaller committed
344

Loic Hausammann's avatar
Loic Hausammann committed
345
346
347
# Parameters related to pressure floors    ----------------------------------------------

GEARPressureFloor:
Loic Hausammann's avatar
Gear    
Loic Hausammann committed
348
  jeans_factor: 10.       # Number of particles required to suppose a resolved clump and avoid the pressure floor.
Loic Hausammann's avatar
Loic Hausammann committed
349

Matthieu Schaller's avatar
Matthieu Schaller committed
350

351
352
353
354
355
356
357
358
359
360
# Parameters related to cooling function  ----------------------------------------------

# Constant du/dt cooling function
ConstCooling:
  cooling_rate: 1.          # Cooling rate (du/dt) (internal units)
  min_energy:   1.          # Minimal internal energy per unit mass (internal units)
  cooling_tstep_mult: 1.    # Dimensionless pre-factor for the time-step condition

# Constant lambda cooling function
LambdaCooling:
361
  lambda_nH2_cgs:              1e-22 # Cooling rate divided by square Hydrogen number density (in cgs units [erg * s^-1 * cm^3])
362
  cooling_tstep_mult:          1.0   # (Optional) Dimensionless pre-factor for the time-step condition.
363

364
# Parameters of the EAGLE cooling model (Wiersma+08 cooling tables).
365
EAGLECooling:
366
  dir_name:                  ./coolingtables/  # Location of the Wiersma+08 cooling tables
367
  H_reion_z:                 8.5               # Redshift of Hydrogen re-ionization
Matthieu Schaller's avatar
Matthieu Schaller committed
368
  H_reion_eV_p_H:            2.0               # Energy inject by Hydrogen re-ionization in electron-volt per Hydrogen atom
369
370
  He_reion_z_centre:         3.5               # Redshift of the centre of the Helium re-ionization Gaussian
  He_reion_z_sigma:          0.5               # Spread in redshift of the  Helium re-ionization Gaussian
371
372
373
  He_reion_eV_p_H:           2.0               # Energy inject by Helium re-ionization in electron-volt per Hydrogen atom
  Ca_over_Si_in_solar:       1.                # (Optional) Ratio of Ca/Si to use in units of solar. If set to 1, the code uses [Ca/Si] = 0, i.e. Ca/Si = 0.0941736.
  S_over_Si_in_solar:        1.                # (Optional) Ratio of S/Si to use in units of solar. If set to 1, the code uses [S/Si] = 0, i.e. S/Si = 0.6054160.
374
375
376
377
378
379
380
381
382

# Quick Lyman-alpha cooling (EAGLE with fixed primoridal Z)
QLACooling:
  dir_name:                ./coolingtables/   # Location of the Wiersma+08 cooling tables
  H_reion_z:               7.5                # Redshift of Hydrogen re-ionization
  H_reion_eV_p_H:          2.0                # Energy inject by Hydrogen re-ionization in electron-volt per Hydrogen atom
  He_reion_z_centre:       3.5                # Redshift of the centre of the Helium re-ionization Gaussian
  He_reion_z_sigma:        0.5                # Spread in redshift of the  Helium re-ionization Gaussian
  He_reion_eV_p_H:         2.0                # Energy inject by Helium re-ionization in electron-volt per Hydrogen atom
383
  
384
# Cooling with Grackle 3.0
lhausamm's avatar
lhausamm committed
385
GrackleCooling:
Loic Hausammann's avatar
Gear    
Loic Hausammann committed
386
  cloudy_table: CloudyData_UVB=HM2012.h5       # Name of the Cloudy Table (available on the grackle bitbucket repository)
Matthieu Schaller's avatar
Matthieu Schaller committed
387
388
389
390
391
  with_UV_background: 1                        # Enable or not the UV background
  redshift: 0                                  # Redshift to use (-1 means time based redshift)
  with_metal_cooling: 1                        # Enable or not the metal cooling
  provide_volumetric_heating_rates: 0          # (optional) User provide volumetric heating rates
  provide_specific_heating_rates: 0            # (optional) User provide specific heating rates
Loic Hausammann's avatar
Gear    
Loic Hausammann committed
392
393
394
  max_steps: 10000                             # (optional) Max number of step when computing the initial composition
  convergence_limit: 1e-2                      # (optional) Convergence threshold (relative) for initial composition
  thermal_time_myr: 5                          # (optional) Time (in Myr) for adiabatic cooling after a feedback event.
Matthieu Schaller's avatar
Matthieu Schaller committed
395
396
397
  self_shielding_method: -1                    # (optional) Grackle (1->3 for Grackle's ones, 0 for none and -1 for GEAR)
  self_shielding_threshold_atom_per_cm3: 0.007 # Required only with GEAR's self shielding. Density threshold of the self shielding

398
399
400
401
402

# Parameters related to chemistry models  -----------------------------------------------

# EAGLE model
EAGLEChemistry:
403
404
405
406
407
408
409
410
411
412
  init_abundance_metal:     0.           # Inital fraction of particle mass in *all* metals
  init_abundance_Hydrogen:  0.752        # Inital fraction of particle mass in Hydrogen
  init_abundance_Helium:    0.248        # Inital fraction of particle mass in Helium
  init_abundance_Carbon:    0.000        # Inital fraction of particle mass in Carbon
  init_abundance_Nitrogen:  0.000        # Inital fraction of particle mass in Nitrogen
  init_abundance_Oxygen:    0.000        # Inital fraction of particle mass in Oxygen
  init_abundance_Neon:      0.000        # Inital fraction of particle mass in Neon
  init_abundance_Magnesium: 0.000        # Inital fraction of particle mass in Magnesium
  init_abundance_Silicon:   0.000        # Inital fraction of particle mass in Silicon
  init_abundance_Iron:      0.000        # Inital fraction of particle mass in Iron
413

Loic Hausammann's avatar
Gear    
Loic Hausammann committed
414
415
416
# GEAR chemistry model (Revaz and Jablonka 2018)
GEARChemistry:
  initial_metallicity: 1         # Initial metallicity of the gas (mass fraction)
Matthieu Schaller's avatar
Matthieu Schaller committed
417
  scale_initial_metallicity: 1   # Should we scale the initial metallicity with the solar one?
Loic Hausammann's avatar
Gear    
Loic Hausammann committed
418
419


420
421
# Parameters related to star formation models  -----------------------------------------------

422
423
424
425
426
427
# EAGLE star formation model (Schaye and Dalla Vecchia 2008)
EAGLEStarFormation:
  EOS_density_norm_H_p_cm3:          0.1       # Physical density used for the normalisation of the EOS assumed for the star-forming gas in Hydrogen atoms per cm^3.
  EOS_temperature_norm_K:            8000      # Temperature om the polytropic EOS assumed for star-forming gas at the density normalisation in Kelvin.
  EOS_gamma_effective:               1.3333333 # Slope the of the polytropic EOS assumed for the star-forming gas.
  gas_fraction:                      0.25      # (Optional) The gas fraction used internally by the model (Defaults to 1).
428
429
430
  KS_normalisation:                  1.515e-4  # Normalization of the Kennicutt-Schmidt law in Msun / kpc^2 / yr.
  KS_exponent:                       1.4       # Exponent of the Kennicutt-Schmidt law.
  min_over_density:                  57.7      # Over-density above which star-formation is allowed.
431
432
433
  KS_high_density_threshold_H_p_cm3: 1e3       # Hydrogen number density above which the Kennicut-Schmidt law changes slope in Hydrogen atoms per cm^3.
  KS_high_density_exponent:          2.0       # Slope of the Kennicut-Schmidt law above the high-density threshold.
  KS_max_density_threshold_H_p_cm3:  1e5       # (Optional) Density above which a gas particle gets automatically turned into a star in Hydrogen atoms per cm^3 (Defaults to FLT_MAX).
434
  EOS_entropy_margin_dex:            0.5       # (Optional) Logarithm base 10 of the maximal entropy above the EOS at which stars can form.
435
436
437
438
  threshold_norm_H_p_cm3:            0.1       # Normalisation of the metal-dependant density threshold for star formation in Hydrogen atoms per cm^3.
  threshold_Z0:                      0.002     # Reference metallicity (metal mass fraction) for the metal-dependant threshold for star formation.
  threshold_slope:                   -0.64     # Slope of the metal-dependant star formation threshold
  threshold_max_density_H_p_cm3:     10.0      # Maximal density of the metal-dependant density threshold for star formation in Hydrogen atoms per cm^3.  
Matthieu Schaller's avatar
Matthieu Schaller committed
439

440
441
442
443
# Quick Lyman-alpha star formation parameters
QLAStarFormation:
  over_density:              1000      # The over-density above which gas particles turn into stars.

Matthieu Schaller's avatar
Matthieu Schaller committed
444
445
446
447
# GEAR star formation model (Revaz and Jablonka 2018)
GEARStarFormation:
  star_formation_efficiency: 0.01   # star formation efficiency (c_*)
  maximal_temperature:  3e4         # Upper limit to the temperature of a star forming particle
Loic Hausammann's avatar
Loic Hausammann committed
448
449
  n_stars_per_particle: 4           # Number of stars that an hydro particle can generate
  min_mass_frac: 0.5                # Minimal mass for a stellar particle as a fraction of the average mass for the stellar particles.
Matthieu Schaller's avatar
Matthieu Schaller committed
450
451


452
453
454
455
# Parameters related to feedback models  -----------------------------------------------

# EAGLE feedback model
EAGLEFeedback:
456
457
  use_SNII_feedback:                1               # Global switch for SNII thermal (stochastic) feedback.
  use_SNIa_feedback:                1               # Global switch for SNIa thermal (continuous) feedback.
458
459
460
461
462
463
  use_AGB_enrichment:               1               # Global switch for enrichement from AGB stars.
  use_SNII_enrichment:              1               # Global switch for enrichement from SNII stars.
  use_SNIa_enrichment:              1               # Global switch for enrichement from SNIa stars.
  filename:                         ./yieldtables/  # Path to the directory containing the EAGLE yield tables.
  IMF_min_mass_Msun:                0.1             # Minimal stellar mass considered for the Chabrier IMF in solar masses.
  IMF_max_mass_Msun:              100.0             # Maximal stellar mass considered for the Chabrier IMF in solar masses.
464
465
466
467
  SNII_min_mass_Msun:               6.0             # Minimal mass considered for SNII stars in solar masses.
  SNII_max_mass_Msun:             100.0             # Maximal mass considered for SNII stars in solar masses.
  SNII_sampled_delay:               1               # Sample the SNII lifetimes to do feedback.
  SNII_wind_delay_Gyr:              0.03            # Time in Gyr between a star's birth and the SNII thermal feedback event when not sampling.
468
  SNII_delta_T_K:                   3.16228e7       # Change in temperature to apply to the gas particle in a SNII thermal feedback event in Kelvin.
469
  SNII_energy_erg:                  1.0e51          # Energy of one SNII explosion in ergs.
470
471
  SNII_energy_fraction_min:         0.3             # Maximal fraction of energy applied in a SNII feedback event.
  SNII_energy_fraction_max:         3.0             # Minimal fraction of energy applied in a SNII feedback event.
472
473
474
475
  SNII_energy_fraction_Z_0:         0.0012663729    # Pivot point for the metallicity dependance of the SNII energy fraction (metal mass fraction).
  SNII_energy_fraction_n_0_H_p_cm3: 0.67            # Pivot point for the birth density dependance of the SNII energy fraction in cm^-3.
  SNII_energy_fraction_n_Z:         0.8686          # Power-law for the metallicity dependance of the SNII energy fraction.
  SNII_energy_fraction_n_n:         0.8686          # Power-law for the birth density dependance of the SNII energy fraction.
476
477
478
479
480
  SNIa_DTD:                         PowerLaw        # Functional form of the SNIa delay time distribution Two choices: 'PowerLaw' or 'Exponential'.
  SNIa_DTD_delay_Gyr:               0.04            # Stellar age after which SNIa start in Gyr (40 Myr corresponds to stars ~ 8 Msun).
  SNIa_DTD_power_law_norm_p_Msun:   0.0012          # Normalization of the SNIa delay time distribution in the power-law DTD case (in Msun^-1).
  SNIa_DTD_exp_norm_p_Msun:         0.002           # Normalization of the SNIa delay time distribution in the exponential DTD case (in Msun^-1).
  SNIa_DTD_exp_timescale_Gyr:       2.0             # Time-scale of the SNIa delay time distribution in the exponential DTD case (in Gyr).
481
  SNIa_energy_erg:                 1.0e51           # Energy of one SNIa explosion in ergs.
482
  AGB_ejecta_velocity_km_p_s:      10.0             # Velocity of the AGB ejectas in km/s.
Matthieu Schaller's avatar
Matthieu Schaller committed
483
484
  stellar_evolution_age_cut_Gyr:    0.1             # Stellar age in Gyr above which the enrichment is down-sampled.
  stellar_evolution_sampling_rate:   10             # Number of time-steps in-between two enrichment events for a star above the age threshold.
485
486
487
488
489
490
491
492
493
  SNII_yield_factor_Hydrogen:       1.0             # (Optional) Correction factor to apply to the Hydrogen yield from the SNII channel.
  SNII_yield_factor_Helium:         1.0             # (Optional) Correction factor to apply to the Helium yield from the SNII channel.
  SNII_yield_factor_Carbon:         0.5             # (Optional) Correction factor to apply to the Carbon yield from the SNII channel.
  SNII_yield_factor_Nitrogen:       1.0             # (Optional) Correction factor to apply to the Nitrogen yield from the SNII channel.
  SNII_yield_factor_Oxygen:         1.0             # (Optional) Correction factor to apply to the Oxygen yield from the SNII channel.
  SNII_yield_factor_Neon:           1.0             # (Optional) Correction factor to apply to the Neon yield from the SNII channel.
  SNII_yield_factor_Magnesium:      2.0             # (Optional) Correction factor to apply to the Magnesium yield from the SNII channel.
  SNII_yield_factor_Silicon:        1.0             # (Optional) Correction factor to apply to the Silicon yield from the SNII channel.
  SNII_yield_factor_Iron:           0.5             # (Optional) Correction factor to apply to the Iron yield from the SNII channel.
494

Loic Hausammann's avatar
Gear    
Loic Hausammann committed
495
496
# GEAR feedback model
GEARFeedback:
Matthieu Schaller's avatar
Matthieu Schaller committed
497
  supernovae_energy_erg: 0.1e51                            # Energy released by a single supernovae.
Loic Hausammann's avatar
Gear    
Loic Hausammann committed
498
  yields_table: chemistry-AGB+OMgSFeZnSrYBaEu-16072013.h5  # Table containing the yields.
Matthieu Schaller's avatar
Matthieu Schaller committed
499
500
  discrete_yields: 0                                       # Should we use discrete yields or the IMF integrated one?

Loic Hausammann's avatar
Gear    
Loic Hausammann committed
501

502
503
# Parameters related to AGN models  -----------------------------------------------
  
504
505
# EAGLE AGN model
EAGLEAGN:
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
  subgrid_seed_mass_Msun:             1.5e5      # Black hole subgrid mass at creation time in solar masses.
  use_subgrid_mass_from_ics:          1          # (Optional) Use subgrid masses specified in ICs [1, default], or initialise them to particle masses [0]?
  with_subgrid_mass_check:            1          # (Optional) Verify that initial black hole subgrid masses are positive [1, default]. Only used if use_subgrid_mass_from_ics is 1.
  multi_phase_bondi:                  0          # Compute Bondi rates per neighbour particle?
  with_angmom_limiter:                1          # Are we applying the Rosas-Guevara et al. (2015) viscous time-scale reduction term?
  viscous_alpha:                      1e6        # Normalisation constant of the viscous time-scale in the accretion reduction term
  radiative_efficiency:               0.1        # Fraction of the accreted mass that gets radiated.
  max_eddington_fraction:             1.         # Maximal allowed accretion rate in units of the Eddington rate.
  eddington_fraction_for_recording:   0.1        # Record the last time BHs reached an Eddington ratio above this threshold.
  coupling_efficiency:                0.15       # Fraction of the radiated energy that couples to the gas in feedback events.
  AGN_delta_T_K:                      3.16228e8  # Change in temperature to apply to the gas particle in an AGN feedback event in Kelvin.
  AGN_num_ngb_to_heat:                1.         # Target number of gas neighbours to heat in an AGN feedback event.
  max_reposition_mass:                2e8        # Maximal BH mass considered for BH repositioning in solar masses.
  max_reposition_distance_ratio:      3.0        # Maximal distance a BH can be repositioned, in units of the softening length.
  with_reposition_velocity_threshold: 1          # Should we only reposition to particles that move slowly w.r.t. the black hole?
  max_reposition_velocity_ratio:      0.5        # Maximal velocity offset of a particle to reposition a BH to, in units of the ambient sound speed of the BH. Only meaningful if with_reposition_velocity_ratio is 1.
  min_reposition_velocity_threshold: -1.0        # Minimal value of the velocity threshold for repositioning [km/s], set to < 0 for no effect. Only meaningful if with_reposition_velocity_ratio is 1.
  set_reposition_speed:               0          # Should we reposition black holes with (at most) a prescribed speed towards the potential minimum?
  reposition_coefficient_upsilon:     0.0001     # Repositioning speed normalisation [km/s/M_sun]. Only meaningful if set_reposition_speed is 1.
  reposition_exponent_xi:             1.0        # (Optional) Scaling of repositioning velocity with BH subgrid mass (default: 1.0, linear). Only meaningful if set_reposition_speed is 1.
  threshold_major_merger:             0.333      # Mass ratio threshold to consider a BH merger as 'major'
  threshold_minor_merger:             0.1        # Mass ratio threshold to consider a BH merger as 'minor'
  merger_threshold_type:              2          # Type of velocity threshold for BH mergers (0: v_circ at kernel edge, 1: v_esc at actual distance, with softening, 2: v_esc at actual distance, no softening).
  merger_max_distance_ratio:          3.0        # Maximal distance over which two BHs can merge, in units of the softening length.