Parameters¶
This section describes all of the parameters that can be set in the input parameter file. This file is actually parsed by a Python interpreter, so any valid Python expression can be used to construct the parameter values.
During normal “simulation mode”, the code will check all variables that were set in the parameter files, and if it encounters one that it doesn’t recognise, then it will issue and error and abort the program. This is to catch misspelled parameters.
If you need to use intermediate variables to calculate parameter values, then prefix them with an underscore; the code ignores any variables that start with an underscore.
Gravity, Domains, Trees¶
Parameters in this section are used to override the gravitational softening \(\epsilon\), control the tree memory layout, as well as to control how often domain decomposition and tree building occur.
- dSoft (default 0.0)float
This sets the gravitational softening length globally for all particles in code units. Normally the softening is read from the input file, and can be different for each particle (for example for different masses).
- dSoftMax (default 0.0)float
maximum comoving gravitational softening length (abs or multiplier)
- bPhysicalSoft (default False)Boolean
Physical gravitational softening length
- bSoftMaxMul (default True)Boolean
Use maximum comoving gravitational softening length as a multiplier
- bDoGravity (default True)Boolean
By setting this to false, accelerations due to gravitational forces are not applied. This is useful for hydrodyamical simulations.
- nGridLin (default 0)integer
Grid size for linear species 0=disabled
- bDoLinPkOutput (default False)Boolean
enable power spectrum output for linear species
- dFracNoDomainDecomp (default 0.1)float
Fraction of Active Particles for no DD
- dFracNoDomainRootFind (default 0.1)float
Fraction of Active Particles for no DD root finding
- dFracNoDomainDimChoice (default 0.1)float
Fraction of Active Particles for no DD dimension choice
- iMaxRungDomainDecomp (default 2147483648)integer
Rung above which no domain decomposition is performed.
Analysis¶
- dDeltakRedshift (default 0.0)float
starting redshift to output delta(k) field
Power Spectrum Measurement¶
The code provides a built-in tool for measuring the power spectrum P(k) of a simulation. These parameters control the configuration.
- nGridPk (default 0)integer
This size of the 3D grid for measuring the power spectrum. This feature is disabled if the grid size is zero which is the default. A reasonable value is to set this to the same size as the IC grid, plus or minus a factor of two.
- nBinsPk (default \(\frac{\text{nGridPk}}{2}\))integer
Specifies the number of P(k) bins (in log space) when measuring the power spectrum. The default is half of the grid size (nGridPk).
- nFoldPk (default none)
Normally the power spectrum measurement is done on a fixed size grid. This parameter allows the measurement to be done multiple times by folding the particles allowing high k values to be reached with a smaller grid.
- bPkInterlace (default True)Boolean
If enabled, the power spectrum measurement tool creates two mass assignment grids. The second contains the mass with the particles offset by half a grid cell. The results of the two mass assignment grids are combined to reduce grid aliasing effects. See Hockney and Eastwood [1], section 7-8 “Interlacing” for details..
- iPkOrder (default 3)IPKORDER
Selects the mass assignment order. The models should be imported with:
from PKDGRAV import ASSIGNMENT_ORDER
Possible values are: -
ASSIGNMENT_ORDER.NGP: Nearest Grid Point -ASSIGNMENT_ORDER.CIC: Cloud in Cell -ASSIGNMENT_ORDER.TSC: Triangular Shaped Cloud -ASSIGNMENT_ORDER.PCS: Piecewise Cubic SplineThe recommended method is PCS. See Sefusatti et al. [9] for details.
Light Cone¶
- bLightCone (default False)Boolean
Enable or disable light cone output.
- dRedshiftLCP (default 0.0)float
starting redshift to output light cone
- nSideHealpix (default 0)integer
Sets the “nSide” parameter for healpix, and if non-zero enables the output of the healpix maps.
- bLightConeParticles (default False)Boolean
output light cone particles
- bBowtie (default False)Boolean
output +++ and — octants of the cone; a bowtie
- lstLightConeOctants (default all)
Normally when a light cone sphere is output, all octants are written to the same set of files. This is a list of octants to output. The default filename is contructed by appending “.lcp.{octant}.{i}”. Examples:
lstLightConeOctants = [0,1,2] # Output octants 0,1 and 2 lstLightConeOctants = range(3) # same thing
- The octants are numbered as follows:
0: x>=0, y>=0, z>=01: x>=0, y>=0, z<02: x>=0, y<0, z>=03: x>=0, y<0, z<04: x<0, y>=0, z>=05: x<0, y>=0, z<06: x<0, y<0, z>=07: x<0, y<0, z<0
- sqdegLCP (default 50.0)float
square degrees of lightcone (if (<0 || >41253) then all sky)
- hLCP (default [0.749, 0.454, 1.0])
lightcone direction vector
Group Finding¶
Several group finding schemes are available. The following parameters apply to all schemes.
- nMinMembers (default 10)integer
After groups have been identified, and that have fewer than this many particles are removed.
- dEnvironment0 (default disabled)float
first radius for density environment about a group
- dEnvironment1 (default disabled)float
second radius for density environment about a group
Friends of Friends¶
This provides a classic Friends-of-Friends group finder where particles are linked together if they are within a certain distance \(\tau\).
- bFindGroups (default False)Boolean
The Friends-of-friends group finder is enabled when this is true.
- dTau (default 0.0)float
The linking length \(\tau\). This is normally set to one fifth of the mean particle separation. For example, if you use the built-in IC generator you could set this parameter with:
dTau = 0.2 / nGrid
Grasshopper¶
This halo finder is not currently available.
- bFindHopGroups (default False)Boolean
enable density-gradient group finder
- dHopTau (default -4.0)float
linking length for Gasshopper (negative for multiples of softening)
I/O Parameters¶
- achInFile (default none)
When starting a simulation from an input file or files, this parameter will be the name of the file, or a list of files to read. If multiple files are specified then all particles from all files are read and treated as a single set of particles. For example:
achInFile = 'tipsy.std' achInFile = [f'gadget.{i}' for i in range(10)]
- achOutName (default “pkdgrav3”)string
This parameter sets the base name for output files and should be a simple string such as “simulation” or “galaxy1”. It will be substituted into the output path. For details see achOutPath.
- achOutPath (default “{name}.{step:05d}{type}”)string
This parameter specifies the full name and possibly the path for output files. This includes tipsy outputs, checkpoints, and analysis files, but see also achIoPath and achCheckpointPath. This string must include the format specifiers
{name},{step}and{type}as in the default. It may also include a directory path, for example “output/{name}.{step:05d}{type}”. The following field names are allowed:name – simulation name (same as achOutName)
step – current simulation step (or zero for intial conditions)
type – file type (e.g., “.log”, “.fof” or empty for outputs)
kind – extension name without leading dot or “output” for outputs
- achIoPath (default same as achOutPath)string
If specified, this will override the path for Tipsy outputs. It otherwise behaves exactly like achOutPath. This is useful if you want outputs to be stored in a different directory for example. It is also possible to include
{i}which is used when parallel writing, and causes parallel Tipsy files to be written to separate files instead of a single file. Like achOutPath you must specify all fields, for example:{name}.{step:05d}{type}.{i}
- achCheckpointPath (default same as achOutPath)string
If specified, this will override the path for checkpoint outputs. It otherwise behaves exactly like achOutPath. This is useful if you want checkpoints to be stored in a different directory for example.
- achDataSubPath (default none)string
sub-path for data
- bInFileLC (default False)Boolean
input light cone data
- bParaRead (default True)Boolean
enable parallel reading of files
- bParaWrite (default False)Boolean
disable parallel writing of files
- nParaRead (default 0)integer
number of threads to read with during parallel read (0=unlimited)
- nParaWrite (default 0)integer
number of threads to write with during parallel write (0=unlimited)
- iOutInterval (default 0)integer
number of timesteps between snapshots
- iCheckInterval (default 0)integer
number of timesteps between checkpoints
- iLogInterval (default 1)integer
number of timesteps between logfile outputs
- iPkInterval (default 1)integer
number of timesteps between pk outputs
- iDeltakInterval (default 0)integer
number of timesteps between DeltaK outputs
- bHDF5 (default False)Boolean
output in HDF5 format
- bDoublePos (default False)Boolean
input/output double precision positions (standard format only)
- bDoubleVel (default False)Boolean
input/output double precision velocities (standard format only)
- bDoSoftOutput (default False)Boolean
enable soft outputs
- bDoDensity (default False)Boolean
enable density outputs
- bDoAccOutput (default False)Boolean
enable acceleration outputs
- bDoPotOutput (default False)Boolean
enable potential outputs
- bDoRungOutput (default False)Boolean
enable rung outputs
- bDoRungDestOutput (default False)Boolean
enable rung destination outputs
- bStandard (default True)Boolean
output in standard TIPSY binary format
- iCompress (default 0)integer
compression format, 0=none, 1=gzip, 2=bzip2
- iWallRunTime (default 0)integer
Maximum Wallclock time (in minutes) to run
- iSignalSeconds (default 0)integer
Time (in seconds) that USR1 is sent before termination
- lstOrbits (default none)
List of particle IDs of particle to write to orbit file
Time Stepping¶
- iStartStep (default 0)integer
Simulations always start at step zero and steps increment by one as the simulation progresses. This parameter is intended to restart from an output which is not recommended. Instead you should use the checkpoint/restore mechanism.
- nSteps (default none)
This parameter specifies the number of steps in the simulation. It can also be a list in which case dRedTo or dDelta must be a list of the same length.
- dRedTo (default none)
This specifies the ending redshift for comsological simulations. It has no meaning for non-cosmological simulations. It can also be a list of redshifts in which case nSteps must be a list of the same length.
- dDelta (default none)
This specifies the time step \(\Delta t\) for each step in the simulation. This can be a list of values in which case nSteps must be a list of the same length.
- dEta (default 0.2)float
time step criterion
- bGravStep (default False)Boolean
Gravity timestepping according to iTimeStep Criterion
- time_step (default 1)integer
Which timestep scheme to use
- bAccelStep (default False)Boolean
Acceleration timestepping
- bEpsAccStep (default False)Boolean
Sqrt(Epsilon on a) timestepping
- bDensityStep (default False)Boolean
Sqrt(1/Rho) timestepping
- iTimeStepCrit (default 0)integer
Criteria for dynamical time-stepping
- nPartRhoLoc (default 32)integer
Number of particles for local density in dynamical time-stepping
- dPreFacRhoLoc (default \(\frac{4}{3}\pi\))float
Pre-factor for local density in dynamical time-stepping
- dEccFacMax (default 3000.0)float
Maximum correction factor for eccentricity correction
- nPartColl (default 0)integer
Number of particles in collisional regime
- iMaxRung (default 63)integer
maximum timestep rung
- bNewKDK (default False)Boolean
Use new implementation of KDK time stepping=no
- nTruncateRung (default 0)integer
number of MaxRung particles to delete MaxRung
Force Accuracy¶
Parameters in this section control force accuracy and in turn control RMS error in calculated accelerations.
Barnes/Hut Opening Angle¶
Opening angle control.
- dTheta (default 0.7)float
The Barns/Hut opening criterion \(\theta\). A value of 0.7 gives an RMS error of approximately \(0.1\%\) which is normally adequate. At very high redshift, when the particle distribution is very uniform and thus the force on each particle is nearly zero then decreasing this to 0.4 is recommended. Theta should be relaxed at lower redshift by using accuracy.classic_theta_switch().
Ewald¶
- bEwald (default True)Boolean
If this is true then the Ewald correction to forces is applied for periodic volumes. This has no effect if the simulation is not periodic.
- nReplicas (default 1)integer
This sets the number of box replicas that will be considered for tree-based force calculations. When periodic boundary conditions are disabled this parameter is ignored. For cosmological simulations it is recommended to switch between 1 and 2 replicas depending on \(\theta\) by using accuracy.classic_replicas_switch().
- dEwCut (default 2.6)float
dEwCut
- dEwhCut (default 2.8)float
dEwhCut
Periodic Boundaries¶
- bPeriodic (default False)Boolean
This turns on periodic boundary conditions. If you have gravity turned on (which is the usual case) then you also want to enable Ewald correction.
- dPeriod (default [1.0, 1.0, 1.0])
Length of the periodic box in code units. This can be scalar float in which case all three dimensions have the same length, or it can be a list of three numbers for the x, y and z period.
Cosmology¶
- bComove (default False)Boolean
Enables comoving coordinate system and cosmology.
- dBoxSize (default 1.0)float
The size of the simulation box in \(h^{-1}~\text{Mpc}\). This is used when generating an initial condition and to normalize the power spectrum measurement. It is also required to normalize \(\theta\) and \(\delta\) if the CLASS interface is used. For pure dark matter simulations it is not technically necessary to specify this, but it is recommended.
- dHubble0 (default \(\sqrt{\frac{8}{3}\pi}\))float
The Hubble parameter \(H_0\) in code units. It is very unlikely that you will need to change this.
Normalization¶
Input transfer functions need to be normalized.
- dSpectral (default none)float
This sets the spectral index \(n_{\text{s}}\).
- dNormalization (default none)float
This set the normalization \(A_{\text{s}}\) of the transfer function. This is normally used for the CLASS/CONCEPT interface.
- dSigma8 (default none)float
Alternatively, the normalization of the transfer function can be specified by supplying \(\sigma_8\), an observable. This is more commonly used when specifying a transfer function.
Transfer Function¶
The cosmology can be specified using a tabulated transfer function and by setting the cosmological parameters. If you instead use the CONCEPT/CLASS interface then none of these parameters should be specified as they will be read from the HDF5 input file.
- achTfFile (default none)string
A tabulated transfer function in CMBFAST format. The first column is k and the second column is T(k). Units are \(h^{-1}~\text{Mpc}\). This can be omitted if you are not using the built-in IC generator (i.e., you are supplying your own input file), but the other parameters need to be specified for cosmological runs.
- h (default 0.0)float
hubble parameter h
- dOmega0 (default 1.0)float
The matter density of the universe \(\Omega_m\).
- dLambda (default 0.0)float
The dark energy density of the universe \(\Omega_\Lambda\).
- dOmegaDE (default 0.0)float
Omega for Dark Energy using w0 and wa parameters: <dOmegaDE
- w0 (default -1.0)float
w0 parameter for Dark Energy <w0
- wa (default 0.0)float
wa parameter for Dark Energy <wa
- dOmegaRad (default 0.0)float
dOmegaRad
- dOmegab (default 0.0)float
dOmegab
CONCEPT/CLASS¶
The code can use HDF5 files created by CONCEPT by tabulating CLASS data for cosmology.
- bClass (default False)Boolean
Enable/disable the use of CLASS
- achClassFilename (default none)string
Name of hdf5 file containing the CLASS data
- achLinSpecies (default none)string
Plus-separated string of linear species, e.g.
"g+ncdm[0]+metric"- achPkSpecies (default none)string
Plus-separated string of linear species for linear P(k)
- dRunning (default 0.0)float
Primordial tilt running: <dRunning
- dPivot (default 0.05)float
Primordial pivot scale in 1/Mpc (not h/Mpc): <dPivot
Initial Conditions¶
The code contains an Initial Condition (IC) generator that supports first order (Zeldovich), second order and third order Lagrangian perturbation theory. It is important that the cosmological parameters be properly set, so refer to that section for details.
- dRedFrom (default none)float
specifies initial redshift for the simulation
- nGrid (default none)integer
This sets the grid size and hence the number of particles in the IC. For a grid size of \(N\) there will be \(N^3\) particles.
- iSeed (default 0)integer
Random seed for IC
- iLPT (default 2)integer
LPT order for IC
- bWriteIC (default False)Boolean
Write IC after generating
- bFixedAmpIC (default False)Boolean
Use fixed amplitude of 1 for ICs
- dFixedAmpPhasePI (default 0.0)float
Phase shift for fixed amplitude in units of PI
- bICgas (default False)Boolean
Enable/disable gas in the ICs
- dInitialT (default 100.0)float
Initial temperature of the gas generated ICs
Memory Model and Control¶
- nBucket (default 16)integer
Classic tree codes build the tree down to nodes that contain a single particle. This parameter specifies the largest “bucket” size; when a tree cell has this many or fewer particles, the node is no longer split.
In theory, single particle buckets allow for improved performance as cells can be the exact size that the opening criteria requires. In practice this introduces two complications. First, the amount of memory required for the tree grows exponentially and will eventually take more memory than the particles. The other complication is that the tree walking time increases and even though less work is done calculating the forces, the extra time walking the tree can end up taking longer.
A value between 8 and 32 is a reasonable compromise. Larger bucket sizes result in less memory usage.
- nGroup (default 64 or 256 if GPU enabled)integer
When a tree node with this many particles or fewer is reached during the tree walk, the walk is stopped and all of these particles receive the same set of interactions. Increasing this parameters moves work from tree walking to force calculations. The default values are usually optimally tuned. This parameter must be greater or equal to nBucket.
- dExtraStore (default 0.1)float
The code allocates exactly enough space to store the particles if they are evenly distributed between all of the threads, plus this fraction. For example, if this parameter is set to 0.1 then it increases the size of the particle storage by 10%. This uses additional memory, but makes it easier to balance work.
- dExtraDecoratorStore (default 0.2)float
The code allocates exactly enough space to store the decorators if they are evenly distributed between all of the threads, plus this fraction. This uses additional memory, but makes it easier to balance work.
- nTreeBitsLo (default 14)integer
number of low bits for tree
- nTreeBitsHi (default 18)integer
number of high bits for tree
- nMemEphemeral (default 0)integer
minimum size of ephemeral (in bytes)
- bMemIntegerPosition (default False)Boolean
By default particle positions are stored as double precision floating point numbers. Enabling this feature changes positions to 32-bit integers. This can only be used with periodical boxes, and will save 12 bytes of memory per particle.
- bMemUnordered (default False)Boolean
This feature removes the particle ID (particle number) and will save 4 bytes per particle. It is not possible to track particles between snapshots as there is no way to sort them, unless bMemParticleID is enable.
- bMemNewRung (default False)Boolean
This enables a 8 bit rung field in the particle information that stores the proposed new rung (i.e., timestep) of the particle.
- bMemParticleID (default False)Boolean
This enables a 64-bit integer particle id that can be used to track particles between snapshots. This feature is only available with file formats that support this additional field. Currently this field can be read from GADGET2 format files and read and written to the HDF5 format.
- bMemAcceleration (default False)Boolean
Particles have acceleration
- bMemVelocity (default False)Boolean
Particles have velocity
- bMemPotential (default False)Boolean
Particles have potential
- bMemGroups (default False)Boolean
Particles support group finding
- bMemGlobalGid (default False)Boolean
Particles support global group ids
- bMemMass (default False)Boolean
Particles have individual masses
- bMemSoft (default False)Boolean
Particles have individual softening
- bMemVelSmooth (default False)Boolean
Particles support velocity smoothing
- bMemNodeMoment (default False)Boolean
Tree nodes support multipole moments
- bMemNodeAcceleration (default False)Boolean
Tree nodes support acceleration (for bGravStep)
- bMemNodeVelocity (default False)Boolean
Tree nodes support velocity (for iTimeStepCrit = 1)
- bMemNodeSphBounds (default False)Boolean
Tree nodes support fast-gas bounds
- bMemNodeBnd (default True)Boolean
Tree nodes support 3D bounds
- bMemNodeVBnd (default False)Boolean
Tree nodes support velocity bounds
- bMemBall (default False)Boolean
Particles have ball
Gas¶
- hydro_model (default NONE)HYDRO_MODEL
Specifies which Hydro model to use. The models should be imported with:
from PKDGRAV import HYDRO_MODEL
- Possible values are:
HYDRO_MODEL.NONE: Do not use hydrodynamicsHYDRO_MODEL.SPH: Smoothed-Particle Hydrodynamics (SPH)HYDRO_MODEL.MFM: Meshless Finite-Mass Hydrodynamics (MFM)HYDRO_MODEL.MFV: Meshless Finite-Volume Hydrodynamics (MFV)HYDRO_MODEL.SSDEM: Soft Sphere Discrete Element Method (not hydrodynamics) (SSDEM)
- nSmooth (default 64)integer
The number of particles to smooth over.
If hydro_model is not HYDRO_MODEL.SPH, this is the exact number of particles to smooth over.
In the case of HYDRO_MODEL.SPH this is the target value of particles to smooth over, while the actual number can be smaller or larger depending on the local particle density. The kernel size of each particle is set such that \(\frac{4}{3}\pi R_{kernel}^3(h)\rho =\) nSmooth.
- bGasIsentropic (default True)Boolean
This uses the equation of state to force isentropic evolution of the gas in the absence of shocks. Only for HYDRO_MODEL.SPH, ignored otherwise.
- dEtaCourant (default 0.4)float
Courant criterion
- dEtauDot (default -1.0)float
Timestepping criterion for internal energy. If active, time step is limited to \(dT <= dEtauDot\left|\frac{u}{\dot{u}}\right|\). If dEtauDot is negative, this is disabled.
- dEtaSdot (default -1.0)float
Timestepping criterion for deviatoric stress. If active, time step is limited to \(dT <= dEtaSdot\left|\frac{S_{xx}}{\dot{S}_{xx}}\right|\). If dEtaSdot is negative, this is disabled.
- dTimeStepSmin (default 0.0)float
Minimum S value used in the timestepping criterion for deviatoric stress. Modifies the above formula to \(dT <= dEtaSdot\frac{\left|S_{xx}\right|+dTimeStepSmin}{\left|\dot{S}_{xx}\right|}\).
- dCFLacc (default 0.01)float
Timestep criterion for the acceleration
- dConstAlpha (default 1.0)float
Alpha constant in viscosity
- dConstBeta (default 2.0)float
Beta constant in viscosity
- dConstGamma (default \(\frac{5}{3}\))float
Ratio of specific heats
- dMeanMolWeight (default 1.0)float
Mean molecular weight in amu
- dGasConst (default 1.0)float
Gas Constant
- dKBoltzUnit (default 1.0)float
Boltzmann Constant in System Units
- dhMinOverSoft (default 0.0)float
Minimum h as a fraction of Softening
- dFastGasFraction (default 0.01)float
Fraction of active particles below which FastGas is active for HYDRO_MODEL.SPH. In FastGas, instead of calculating density for all particles, density is only calculated for potential neighbors of active particles (or potential neighbors of potential neighbors of active particles if bGasInterfaceCorrection is active).
- dMsolUnit (default 1.0)float
This is the number of solar masses (\(M_\odot\)) per system mass unit. If you measure a mass of 1 in system units, it is this many solar masses.
- dKpcUnit (default 1000.0)float
This is the number of kiloparsecs per system unit length. If you measure a distance of 1 in system units, it is this many kiloparsecs.
- bAddDelete (default False)Boolean
Add Delete Particles
- dVelocityDamper (default 0.0)float
Velocity damper that is applied before each opening kick:
\(v\rightarrow v\cdot exp(-2/\Delta t \cdot \Delta t(rung)\cdot VelocityDamper)\)
This means the value of dVelocityDamper is the number of e-foldings the velocity experiences per full step, i.e. the time given by the global time step size dDelta.
- dVelocityDamperEnd (default 0.0)float
Velocity damper end value. A constant velocity damper is not always helpful. Together with dVelocityDamperEndTime, this allows to apply the velocity damper in a ramp. The value used in the formula of dVelocityDamper is modified in each substep to use the value:
\(VelocityDamper = 10.0^{\log10(dVDE/dVD)/dVDET\cdot dTime + \log10(dVD)}\)
After dVelocityDamperEndTime, the value is then set to zero to allow for undamped relaxation at the end.
- dVelocityDamperEndTime (default 0.0)float
Velocity Damper End Time
- dBallSizeLimit (default 10.0)float
Ball size limit. For HYDRO_MODEL.SPH, the kernel size is not allowed to grow to arbitrarily large values. It is limited to this value, resulting in an effective minimum density that depends on the particle mass and the ball size limit, as well as the kernel type.
- iKernelType (default 0)integer
- For HYDRO_MODEL.SPH, the kernel type can be chosen between these values:
0: M3 cubic spline kernel. Recommended nSmooth = 32 - 64.
1: Wendland C2 kernel. Recommended nSmooth = 100.
2: Wendland C4 kernel. Recommended nSmooth = 200.
3: Wendland C6 kernel. Recommended nSmooth = 400.
- bGasBuiltinIdeal (default False)Boolean
For HYDRO_MODEL.SPH, this uses the builtin ideal gas formulation instead of the one provided by EOSlib.
- bGasOnTheFlyPrediction (default False)Boolean
For HYDRO_MODEL.SPH, the gas values are predicted on the fly. This means enormous amounts of calls to the equation of state. This is only sensible if using bGasBuiltinIdeal. It has a whole host of problems, so it is not recomended to be used. It is incompatible with bGasConsistentPrediction.
- bGasConsistentPrediction (default False)Boolean
For HYDRO_MODEL.SPH, the velocities are predicted before the force evaluation starts. Also, gas values are not updated after the closing kick. This massively improves conservation of linear and angular momenta. If using HYDRO_MODEL.SPH, this is the recomended prediction method. Incompatible with bGasOnTheFlyPrediction.
- bGasInterfaceCorrection (default False)Boolean
Enables interface correction for HYDRO_MODEL.SPH. This uses an additional pass to correct densities at interfaces (material and vacuum).
- dGasInterfaceCorrectionCutoffFactor (default 0.0)float
Below an unfixed density times this factor, interface correction is not done. Set to zero to always do interface correction.
- bGasEvolveDensity (default False)Boolean
Evolves the density with \(\frac{D\rho}{D t} = -\rho \nabla\cdot \vec{v}\) instead of using a smooth to calculate the density. This is not compatible with bGasInterfaceCorrection or bDoDensity. If bGasEvolveDensity is active together with either one of them, the program halts.
- bCentrifugal (default False)Boolean
This enables the centrifugal force. It allows for the application of a centrifucal force around the z-axis. The centrifucal force starts at dCentrifT0 with a value of 0.0 and ramps up linearly to the value dCentrifOmega0 at time dCentrifT1, after which this value is held constant until the end of the simulation.
- dCentrifT0 (default 0.0)float
Start time for centrifugal ramp
- dCentrifT1 (default 0.0)float
End time for centrifugal ramp
- dCentrifOmega0 (default 0.0)float
Maximum omega for centrifugal ramp
- bShearStrengthModel (default False)Boolean
Enables the shear strength model for HYDRO_MODEL.SPH.
- bDisableStressAtInterface (default False)Boolean
Disables stress interactions at interfaces between materials for the shear strength model for HYDRO_MODEL.SPH.
- bSymmetrizedVelocityGradients (default True)Boolean
Use symmetrized expressions for the velocity gradient and the correction tensor the shear strength model of HYDRO_MODEL.SPH.
- bDisableShockHeatingWithVelocityDamper (default True)Boolean
When velocity damper is active (or >0 if dynamic velocity damper is used), shock heating for HYDRO_MODEL.SPH is disabled.
- bTrackPeakPressure (default False)Boolean
Track the peak pressure and the density, temperature and time at preak pressure. This only works with HYDRO_MODEL.SPH.
- bMeshlessHydro (default False)Boolean
Use the new implementation of the hydrodynamics
- bGlobalDt (default False)Boolean
Force all particles to the same rung
- bIterativeSmoothingLength (default True)Boolean
Use an iterative scheme to obtain h
- bConditionedBarthJespersen (default True)Boolean
Take into account the condition number around the particle to use a less restrictive Barth-Jespersen limiter for quasi-regular geometries
- bStricterSlopeLimiter (default False)Boolean
Use a stricter slope limiter for meshless-hydro gradients
- bWakeUpParticles (default False)Boolean
Wake the particles when there is a big rung difference
- dNeighborsStd (default 1.0)float
Maximum deviation from desired number of neighbors
- bOutFineStatistics (default False)Boolean
Save high cadence information on the rung distribution and star formation
- ddHonHLimit (default 0.1)float
\(\frac{|dH|}{H}\) limiter
- dMaxPhysicalSoft (default 0.0)float
maximum softening in physical coordinates
- dExternalAcceleration (default [0.0, 0.0, 0.0])
External acceleration that is applied to all particles in every step. Only active if HYDRO_MODEL.SPH is used.
- iLowerGroupSizeThreshold (default 0)integer
If size of the interaction list is below this value, dynamic maximum group size is increased. Only relevant if HYDRO_MODEL.SPH is active
- iUpperGroupSizeThreshold (default 2147483648)integer
If size of the interaction list is above this value, dynamic maximum group size is decreased. Only relevant if HYDRO_MODEL.SPH is active
Cooling¶
- bDoCooling (default False)Boolean
Do radiative cooling for the meshless hydrodynamics
- achCoolingTables (default none)string
Path to the cooling tables
- fH_reion_z (default 11.5)float
Redshift of Hydrogen reionization
- fH_reion_eV_p_H (default 2.0)float
Energy injected per proton during H reionization, eV
- fHe_reion_eV_p_H (default 2.0)float
Energy injected per proton during He reionization, eV
- fHe_reion_z_centre (default 3.5)float
Mean redshift of Helium reionization
- fHe_reion_z_sigma (default 0.5)float
Redshift interval for Helium reionzation
- fT_CMB_0 (default 2.725)float
Temperature of the CMB at z=0
- dCoolingMinTemp (default 100.0)float
Minimum allowed temperature, K
Effective equation of state¶
- bDoEOS (default False)Boolean
Pressurize the gas at high densities following a polytropic effective EOS
- dEOSFloornH (default \(10^{-5}\))float
Minimum density at which the internal energy floor will be applied, n_H cm-3
- dEOSFloorMinOD (default 10)integer
Minimum baryonic overdensity at which the internal energy floor will be applied
- dEOSFloorTemp (default 10000.0)float
Temperature at the internal energy floor, K
- dEOSPolyFloornH (default 0.1)float
Density threshold beyond which the polytropic effective EOS will be applied, nH cm-3)
- dEOSPolyFloorMinOD (default 10)integer
Minimum baryonic overdensity at which the polytropic effective EOS will be applied
- dEOSPolyFloorIndex (default \(\frac{4}{3}\))float
Index of the polytropic effective EOS
- dEOSPolyFloorTemp (default 10000.0)float
Temperature at the density threshold for the effective EOS, K
- dEOSNJeans (default 8.75)float
Number of elements to resolve the Jeans length
SSDEM¶
- Kn (default 0.0)float
Normal spring constant
- MuS (default 0.0)float
Sliding fricition coefficient
- MuR (default 0.0)float
Rolling fricition coefficient
- MuT (default 0.0)float
Twisting fricition coefficient
- EpsN (default 0.0)float
Coefficient of restitution in the normal direction
- EpsT (default 0.0)float
Coefficient of restitution in the tangential direction
- betaShape (default 0.0)float
Shape parameter for direcitonal-constant rolling friction
Star formation¶
- bStars (default False)Boolean
Allow stellar particles in the simulation
- bDoStarFormation (default False)Boolean
Convert gas particles to stellar particles in dense, cold regions
- dSFThresholdDen (default 0.1)float
Minimum density at which the star formation can happen, nH cm-3
- bSFThresholdDenSchaye2004 (default False)Boolean
Use the metallicity-dependent star-formation density threshold of Schaye (2004)
- dSFThresholdT (default 100000.0)float
Maximum temperature at which the star formation can happen, K
- dSFMinOverDensity (default 57.7)float
Minimum overdensity for allowing star formation
- dSFGasFraction (default 0.3)float
Gas fraction assumed for the star formation
- dSFindexKS (default 1.4)float
Index of the Kennicutt-Schmidt star-formation law
- dSFnormalizationKS (default \(1.515\times 10^{-4}\))float
Normalization of the Kennicutt-Schmidt star-formation law. Value must be consistent with the chosen IMF
- dSFEfficiency (default 0.0)float
Star formation efficiency per free-fall time; set >0 to use density-based SFR
Supernova feedback¶
- bCCSNFeedback (default False)Boolean
Activate energy feedback from CCSN events
- bSNIaFeedback (default False)Boolean
Activate energy feedback from SNIa events
- dSNFBEfficiency (default 1.0)float
Efficiency of SN feedback. Asymptotic minimum efficiency if dSNFBMaxEff is provided
- dSNFBMaxEff (default 0.0)float
Asymptotic maximum efficiency of SN feedback
- dSNFBEffIndex (default 0.87)float
Metallicity and density index for the feedback efficiency
- dSNFBEffnH0 (default 0.67)float
Hydrogen number density normalization of the feedback efficiency, nH cm-3
- dSNFBDT (default \(10^{7.5}\))float
Gas-particle temperature increment per SN feedback event, K
- dCCSNFBDelay (default \(3\times 10^7\))float
Time between star formation and injection of CCSN energy, yr
- dCCSNEnergy (default \(10^{51}\))float
CCSN event energy, erg
- dSNIaFBDelay (default \(2\times 10^8\))float
Time between star formation and injection of SNIa energy, yr
- dSNIaEnergy (default \(10^{51}\))float
SNIa event energy, erg
Blackholes¶
- bBlackholes (default False)Boolean
Allow blackhole particles in the simulation
- bBHPin (default True)Boolean
Pin light blackhole particles to the center of the potential well
- bBHMerger (default True)Boolean
Activate mergers of blackhole particles
- bBHAccretion (default True)Boolean
Activate the accretion of gas particles into blackholes
- bBHFeedback (default True)Boolean
Activate the BH feedback
- dBHAccretionAlpha (default 1.0)float
Accretion boost parameter
- dBHAccretionCvisc (default 0.0)float
Accretion viscosity parameter
- dBHRadiativeEff (default 0.1)float
AGN radiative efficiency
- dBHFBEff (default 0.1)float
AGN coupling efficiency with its surroundings
- dBHFBDT (default \(10^8\))float
Gas-particle temperature increment per AGN feedback event, K
- dBHAccretionEddFac (default \(\frac{4\pi\times m_p}{\sigma_t\times c} = 1.05391277\times 10^{-6}\))float
4pi * m_p / sigma_T / c , kg m^-3 s
- bBHPlaceSeed (default True)Boolean
Place BH seeds in FOF groups
- dBHSeedMass (default 1.0)float
Mass of the BH seed, in code units
- dBHMhaloMin (default 1.0)float
Minimum mass required to place a BH in a FOF group, in code units
Chemistry¶
- dInitialH (default 0.75)float
Initial Hydrogen abundance
- dInitialHe (default 0.25)float
Initial Helium abundance
- dInitialC (default 0.0)float
Initial Carbon abundance
- dInitialN (default 0.0)float
Initial Nitrogen abundance
- dInitialO (default 0.0)float
Initial Oxygen abundance
- dInitialNe (default 0.0)float
Initial Neon abundance
- dInitialMg (default 0.0)float
Initial Magnesium abundance
- dInitialSi (default 0.0)float
Initial Silicon abundance
- dInitialFe (default 0.0)float
Initial Iron abundance
- dInitialMetallicity (default 0.0)float
Initial metallicity
Stellar Initial-Mass Function (IMF)¶
- achIMFType (default “chabrier”)string
Type of IMF
- dIMFMinMass (default 0.1)float
Lower-mass limit of the IMF, Msol
- dIMFMaxMass (default 100.0)float
Upper-mass limit of the IMF, Msol
- dCCSNMinMass (default 6.0)float
Minimum mass for a star to end its life as a Core Collapse Supernova, Msol
- dCCSNMaxMass (default 100.0)float
Maximum mass for a star to end its life as a Core Collapse Supernova, Msol
Stellar evolution¶
- achStelEvolPath (default none)string
Path to stellar evolution tables
- achSNIaDTDType (default “exponential”)string
Type of Delay-Time Distribution function for SNIa events
- bChemEnrich (default True)Boolean
Activate chemical enrichment of gas particles surrounding a star particle
- dSNIaExpScale (default \(2\times 10^9\))float
Time scale of the exponential Delay-Time Distribution function, yr
- dSNIaPLScale (default -1.1)float
Index of the power-law Delay-Time Distribution function
- dSNIaPLInitTime (default \(40\times 10^6\))float
Initial time for the normalization of the power-law Delay-Time Distribution function, yr
- dSNIaPLFinalTime (default \(13.7\times 10^9\))float
Final time for the normalization of the power-law Delay-Time Distribution function, yr
- dSNIaNumPerMass (default 0.002)float
Number of SNIa events per stellar mass, 1/Msol
- dSNIaMaxMass (default 8.0)float
Maximum mass for the likely progenitors of SNIa events, Msol
- dStellarWindSpeed (default 10.0)float
Stellar wind speed, km/s
Debugging/Testing/Diagnostics¶
- bOverwrite (default False)Boolean
When a simulation is run, a special file named “.lockfile” is created. If The program exits normally (after a checkpoint or output) then the file is removed. If the file is present when the code is run and this parameter is false, then the code will immediately exit with an error. Setting this to true disables this behaviour.
- bVWarnings (default True)Boolean
Prints a warning when unusual (but valid) conditions are encountered, for example if a .lockfile exists and bOverwrite is true, or the maximum rung is set to zero (forcing single stepping).
- bVStart (default True)Boolean
Causes additional progress updates to be printed during the start of a simulation, for example which file is being read, or that an initial condition is being generated.
- bVStep (default True)Boolean
Provides verbose information on what calculations and analysis is being performed during the base steps.
- bVRungStat (default True)Boolean
Provides rung related information, such as the distribution of particles by rung, as well as details on the load balancer calculations.
- bVDetails (default False)Boolean
Provides verbose tracing information which is normally not useful except to a developer debugging an issue with the code.
- iCacheSize (default 0)integer
size of the MDL cache (0=default)
- iCacheMaxInflight (default 0)integer
maximum number of inflight cache message to each rank (0=no limit)
- iWorkQueueSize (default 0)integer
size of the MDL work queue
- bGPU (default True)Boolean
If compiled with GPU support, the code will try to use a GPU to accelerate some phases of the calculation. If no GPU is present, the CPU alone will be used. The use of the GPU can be disabled by setting this to False.