Enzo 2.1 documentation

Active Particles: Stars, BH, and Sinks

There are many different subgrid models of star formation and feedback in the astrophysical literature, and we have included several of them in Enzo. There are also methods that include routines for black hole, sink, and Pop III stellar tracer formation. Here we give the details of each implementation and the parameters that control them.

Method 0: Cen & Ostriker

Source: star_maker2.F

This routine uses the algorithm from Cen & Ostriker (1992, ApJL 399, 113) that creates star particles when the following six criteria are met

  1. The gas density is greater than the threshold set in the parameter StarMakerOverDensityThreshold. This parameter is in code units (i.e. overdensity with respect to the mean matter density)
  2. The divergence is negative
  3. The dynamical time is less than the cooling time or the temperature is less than 11,000 K. The minimum dynamical time considered is given by the parameter StarMakerMinimumDynamicalTime in units of years.
  4. The cell is Jeans unstable.
  5. The star particle mass is greater than StarMakerMinimumMass, which is in units of solar masses.
  6. The cell does not have finer refinement underneath it.

These particles add thermal and momentum feedback to the grid cell that contains it until 12 dynamical times after its creation. In each timestep,

M_{\rm form} &= M_0 [ (1+x_1) \exp(-x_1) - (1+x_2) \exp(-x_2) ]\\
x_1 &= (t - t_0) / t_{\rm dyn}\\
x_2 &= (t + dt - t_0) / t_{\rm dyn}

of stars are formed, where M0 and t0 are the initial star particle mass and creation time, respectively.

  • Mej = Mform * StarMakerEjectionFraction of gas are returned to the grid and removed from the particle.
  • Mej * vparticle of momentum are added to the cell.
  • Mform * c2 * StarMakerEnergyToThermalFeedback of energy is deposited into the cell.
  • Mform * ((1 - Zstar) * StarMetalYield + Mej * Zstar) of metals are added to the cell, where Zstar is the star particle metallicity. This formulation accounts for gas recycling back into the stars.

Method 1: Cen & Ostriker with Stochastic Star Formation

Source: star_maker3.F

This method is suitable for unigrid calculations. It behaves in the same manner as Method 1 except

  • No Jeans unstable check
  • Stochastic star formation: Keeps a global sum of “unfulfilled” star formation that were not previously formed because the star particle masses were under StarMakerMinimumMass. When this running sum exceeds the minimum mass, it forms a star particle.
  • Initial star particle velocities are zero instead of the gas velocity as in Method 1.
  • Support for multiple metal fields.

Method 2: Global Schmidt Law

Source: star_maker4.F

This method is based on the Kratsov (2003, ApJL 590, 1) paper that forms star particles that result in a global Schmidt law. This generally occurs when the gas consumption time depends on the local dynamical time.

A star particle is created if a cell has an overdensity greater than StarMakerOverDensityThreshold. The fraction of gas that is deposited into the star particle is dt/StarMakerMinimumDynamicalTime up to a maximum of 90% of the gas mass. Here the dynamical time is in units of years.

Stellar feedback is accomplished in the same way as Method 1 (Cen & Ostriker) but Mform = StarMakerEjectionFraction * (star particle mass).

Method 3: Population III Stars

Source: pop3_maker.F

This method is based on the Abel et al. (2007, ApJL 659, 87) paper that forms star particles that represents single metal-free stars. The criteria for star formation are the same as Method 1 (Cen & Ostriker) with the expection of the Jeans unstable check. It makes two additional checks,

  1. The H2 fraction exceeds the parameter PopIIIH2CriticalFraction. This is necessary because the cooling and collapse is dependent on molecular hydrogen and local radiative feedback in the Lyman-Werner bands may prevent this collapse.
  2. If the simulation tracks metal species, the gas metallicity in an absolute fraction must be below PopIIIMetalCriticalFraction.

Stellar radiative feedback is handled by the Radiative Transfer module. By default, only hydrogen ionizing radiation is considered. To include helium ionizing radiation, set PopIIIHeliumIonization to 1. Supernova feedback through thermal energy injection is done by the Star Particle Class. The explosion energy is computed from the stellar mass and is deposited in a sphere with radius PopIIISupernovaRadius in units of pc. To track metal enrichment, turn on the parameter PopIIISupernovaUseColour.

Method 4: Sink particles

Source: sink_maker.C

Method 5: Radiative Stellar Clusters

Source: cluster_maker.F

This method is based on method 1 (Cen & Ostriker) with the Jeans unstable requirement relaxed. It is described in Wise & Cen (2009, ApJ 693, 984). The star particles created with this method use the adaptive ray tracing to model stellar radiative feedback. It considers both cases of Jeans-resolved and Jeans unresolved simulations. The additional criteria are

  • The cell must have a minimum temperature of 10,000 K if the 6-species chemistry model (MultiSpecies == 1) is used and 1,000 K if the 9-species chemistry model is used.
  • The metallicity must be above a critical metallicity (PopIIIMetalCriticalFraction) in absolute fraction.

When the simulation is Jeans resolved, the stellar mass is instantaneously created and returns its luminosity for 20 Myr. In the case when it’s Jeans unresolved, the stellar mass follows the Cen & Ostriker prescription.

Method 6: Cen & Ostriker with no delay in formation

Source: star_maker7.F

This method relaxes the following criteria from the original Cen & Ostriker prescription. See Kim et al. (2011, ApJ 738, 54) for more details. It can be used to represent single molecular clouds.

  • No Jeans unstable check
  • No Stochastic star formation prescription that is implemented in Method 1.
  • If there is a massive black hole particle in the same cell, the star particle will not be created.

The StarMakerOverDensity is in units of particles/cm3 and not in overdensity like the other methods.

Method 7: Springel & Hernquist

Source: star_maker5.F

This method is based on the Springel & Hernquist method of star formation described in MNRAS, 339, 289, 2003. A star may be formed from a cell of gas if all of the following conditions are met:

  1. The cell is the most-refined cell at that point in space.
  2. The density of the cell is above a threshold.
  3. The cell of gas is in the region of refinement. For unigrid, or AMR-everywhere simulations, this corresponds to the whole volume. But for zoom-in simulations, this prevents star particles from forming in areas that are not being simulated at high resolution.

If a cell has met these conditions, then these quantities are calculated for the cell:

  • Cell star formation timescale (Eqn 21 from Springel & Hernquist).

    t_0^{\ast} and \rho_{\mathrm{th}} are inputs to the model, and are the star formation time scale and density scaling value, respectively. Note that \rho_{\mathrm{th}} is not the same as the critical density for star formation listed above. \rho is the gas density of the cell.


  • Mass fraction in cold clouds, x (see Eqns. 16 and 18).

    y is a dimensionless quantity calculated as part of the formulation; u_{\textrm{SN}}\equiv(1-\beta)\beta^{-1}\epsilon_{\textrm{SN}} is the energy released from supernovae back into the gas (note that whether or not the energy is actually returned to the gas depends on if StarFormationFeedback is turned on or not); \beta is the fraction of stars that go supernova soon after formation; \epsilon_{\textrm{SN}} is the energy released from a nominal supernova and is set to 4e48 ergs; and finally \Lambda(\rho, T, z) is the cooling rate of the cell of gas.

    y\equiv\frac{t_{\ast}\Lambda(\rho,T,z)}{\rho[\beta u_{\mathrm{SN}}-(1-\beta)u_{\mathrm{SN}}]}


Finally, a star particle of mass m_{\ast} is created with probability p_{\ast} (see Eqn. 39). For a cell, the quantity p_{\ast} is calculated (below) and compared to a random number p drawn evenly from [0, 1). If p_{\ast} > p, a star is created. m_{\ast} is a parameter of the model and is the minimum and only star mass allowed; m is the mass of gas in the cell; \Delta t is the size of the simulation time step that is operative for the cell (which changes over AMR levels, of course).

p_{\ast}=\frac{m}{m_{\ast}}\left\{1-\exp\left[-\frac{(1-\beta)x\Delta t}{t_{\ast}}\right]\right\}

If this star formula is used with AMR, some caution is required. Primarily, the AMR refinement can not be too aggressive. Values of OverDensityThreshold below 8 are not recommended. This is because if refinement is more aggressive than 8 (i.e. smaller), the most-refined cells, where star formation should happen, can have less mass than a root-grid cell, and for a deep AMR hierarchy the most refined cells can have mass below m_{\ast}. Put another way, with aggressive refinement the densest cells where stars should form may be prevented from forming stars simply because their total mass is too low. Keeping OverDensityThreshold at 8 or above ensures that refined cells have at least a mass similar to a root-grid cell.

Another reason for concern is in AMR, \Delta t changes with AMR level. Adding a level of AMR generally halves the value of \Delta t, which affects the probability of making a star. In a similar way, a small value of CourantSafetyFactor can also negatively affect the function of this star formula.

Method 8: Massive Black Holes

Source: mbh_maker.C

Method 9: Population III stellar tracers

Source: pop3_color_maker.F

Distributed Stellar Feedback

The following applies to Methods 0 (Cen & Ostriker) and 1 (+ stochastic star formation).

The stellar feedback can be evenly distributed over the neighboring cells if StarFeedbackDistRadius > 0. The cells are within a cube with a side StarFeedbackDistRadius+1. This cube can be cropped to the cells that are StarFeedbackDistCellStep cells away from the center cell, counted only in steps in Cartesian directions. Below we show a couple of two-dimensional examples. The number on the cells indicates the number cell steps each is from the central cell.

  • StarFeedbackDistRadius = 1
Distributed feedback with radius 1

Only cells with a step number <= StarFeedbackDistCellStep have feedback applied to them. So, StarFeedbackDistCellStep = 1 would result in only the cells marked with a “1” receiving energy. In three-dimensions, the eight corner cells in a 3x3x3 cube would be removed by setting StarFeebackDistCellStep = 2.

  • StarFeedbackDistRadius = 2
Distributed feedback with radius 2

Same as the figure above but with a radius of 2.

Feedback regions cannot extend past the host grid boundaries. If the region specified will extend beyond the edge of the grid, it is recentered to lie within the grid’s active dimensions. This conserves the energy injected during feedback but results in the feedback sphere no longer being centered on the star particle it originates from. Due to the finite size of each grid, we do not recommend using a StarFeedbackDistRadius of more than a few cells.

Also see Star Formation and Feedback Parameters.


The routines included in star_maker1.F are obsolete and not compiled into the executable. For a more stable version of the algorithm, use Method 1.