# Define the system of units to use internally. 
InternalUnitSystem:
  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

# Parameters for the task scheduling
Scheduler:
  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).
  cell_sub_size:         64000000 # (Optional) Maximal number of interactions per sub-task  (this is the default value).
  cell_split_size:       400      # (Optional) Maximal number of particles per cell (this is the default value).
  cell_max_count:        10000    # (Optional) Maximal number of particles per cell allowed before triggering a sanitizing (this is the default value).
  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).

# Parameters governing the time integration (Set dt_min and dt_max to the same value for a fixed time-step run.)
TimeIntegration:
  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).

# Parameters governing the snapshots
Snapshots:
  basename:   output      # Common part of the name of output files
  time_first: 0.          # Time of the first output (in internal units)
  delta_time: 0.01        # Time difference between consecutive outputs (in internal units)
  compression: 0          # (Optional) Set the level of compression of the HDF5 datasets [0-9]. 0 does no compression.
  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)

# Parameters governing the conserved quantities statistics
Statistics:
  delta_time:          1e-2      # Time between statistics output
  energy_file_name:    energy    # (Optional) File name for energy output
  timestep_file_name:  timesteps # (Optional) File name for timing information output. Note: No underscores "_" allowed in file name 

# Parameters for the hydrodynamics scheme
SPH:
  resolution_eta:        1.2348   # Target smoothing length in units of the mean inter-particle separation (1.2348 == 48Ngbs with the cubic spline kernel).
  delta_neighbours:      0.1      # The tolerance for the targetted number of neighbours.
  CFL_condition:         0.1      # Courant-Friedrich-Levy condition for time integration.
  max_ghost_iterations:  30       # (Optional) Maximal number of iterations allowed to converge towards the smoothing length.
  max_volume_change:     2.       # (Optional) Maximal allowed change of kernel volume over one time-step

# Parameters for the self-gravity scheme
Gravity:
  eta:                   0.025    # Constant dimensionless multiplier for time integration. 
  epsilon:               0.1      # Softening length (in internal units).
  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:                 4.5      # (Optional) Cut-off in number of top-level cells beyond which no FMM forces are computed (this is the default value).

  
# Parameters related to the initial conditions
InitialConditions:
  file_name:  SedovBlast/sedov.hdf5 # The file to read
  h_scaling:  1.                    # (Optional) A scaling factor to apply to all smoothing lengths in the ICs.
  shift_x:    0.                    # (Optional) A shift to apply to all particles read from the ICs (in internal units).
  shift_y:    0.
  shift_z:    0.
  replicate:  2                     # (Optional) Replicate all particles along each axis a given number of times. Default 1.

# Parameters governing domain decomposition
DomainDecomposition:
  initial_type:       m     # (Optional) The initial strategy ("g", "m", "w", or "v").
  initial_grid_x:    10     # (Optional) Grid size if the "g" strategy is chosen.
  initial_grid_y:    10
  initial_grid_z:    10
  repartition_type:   b     # (Optional) The re-decomposition strategy ("n", "b", "v", "e" or "x").
 
# Parameters related to external potentials --------------------------------------------
  
# Point mass external potentials
PointMassPotential:
  position_x:      50.      # location of external point mass (internal units)
  position_y:      50.
  position_z:      50.
  mass:            1e10     # mass of external point mass (internal units)
  timestep_mult:   0.03     # Dimensionless pre-factor for the time-step condition

# Isothermal potential parameters
IsothermalPotential:
  position_x:      100.     # Location of centre of isothermal potential with respect to centre of the box (internal units)
  position_y:      100.
  position_z:      100.
  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)
  
# Disk-patch potential parameters
DiscPatchPotential:
  surface_density: 10.      # Surface density of the disc (internal units)
  scale_height:    100.     # Scale height of the disc (internal units)
  z_disc:          200.     # Position of the disc along the z-axis (internal units)
  timestep_mult:   0.03     # Dimensionless pre-factor for the time-step condition
  growth_time:     5.       # (Optional) Time for the disc to grow to its final size (multiple of the dynamical time)

# 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:
  lambda:                      2.0   # Cooling rate (in cgs units)
  minimum_temperature:         1.0e4 # Minimal temperature (Kelvin)
  mean_molecular_weight:       0.59  # Mean molecular weight
  hydrogen_mass_abundance:     0.75  # Hydrogen mass abundance (dimensionless)
  cooling_tstep_mult:          1.0   # Dimensionless pre-factor for the time-step condition

