The terms in square braces are the "correction factors" that result from the linearization of the temperature update equation. A derivation is given in our code paper (Klassen et al. 2015).
A sign error in the irradiation component, $\nabla \cdot F_*$, of the correction factor for the emission term (right hand side of the above equation) resulted in strong cooling near the sink particle. This was not discovered until recently. I had misinterpreted the cooling as a problem with how FLASH's diffusion solver was handling the correction factors. In comparing to the FLASH user guide, the coupled energy equations were written with an explicit temperature term, that is, the temperature at time index n, whereas we were using a linearized temperature updated to time index n+1. Moreover, the matter-radiation coupling test was failing and, concerned about this, I set the correction factors equal to 1.0 and ran further tests.
Meanwhile, at the FLASH Center at the University of Chicago, Klaus Weide has become convinced that our correction factors are indeed the way to go and should be fully compatible with FLASH's diffusion routines. After closer inspection, I discovered the sign error. Moreover, we are able to run the energy-coupling test without problems, likely because other bugs were tracked down and corrected.
Appendix A in Klassen et al. 2015 explains how we forcibly had to equilibrate the two matter species so that we could have a single quasineutral fluid.
With the new EOS, this is a moot point. The "electrons" are now our only matter species. Their mean molecular weight is set with a runtime parameter. The fluid behaves just as we want it to.
where $$ x = \frac{\Delta T}{T} = \frac{T_{new}-T_{old}}{T_{old}} $$
where $\alpha \equiv \kappa_P^n \rho c \Delta t$.
Keeping higher-order terms would mean a root-solve operation would need to be performed at every cell for every timestep in order to update the temperature.
The second order term, $\mathcal{O}2 = 6(\Delta T/T)^2$, becomes an appreciable fraction (0.1) of the first order term, $\mathcal{O}1 = 4(\Delta T/T)$ for temperature changes as small as 6.7%.
I have modified the FLASH timestep limiter to check for temperature changes that exceed this criterion and reduce the timestep appropriately. What I found was that the timestep was often made unrealistically small. In particular, with strong irradiation by the accreting source, timesteps can be reduced below even $10^6$ seconds.
Some of the latest tests have been run using fixed timesteps above the "safety" criterion, at timestep sizes ranging between $10^7$ and $5 \times 10^7$ seconds.
Under these conditions, we find temperatures in some cells can exceed 10^4 K.
There are several relevant physical timescales:
where $c_s$ is the sound speed.
In practice, the first two are the most relevant. In high-density regions, $t_{exch}$ tends to be much shorter than other timescales. In these regions, I have implemented temperature update subcycling. I have FLASH check whether the temperature update will be outside of a "safe" limit for our linearization. Then I check whether $t_{exch}$ is much shorter than the other timescales. Then I calcualate a safe timestep size and repeatedly apply the temperature update equation with the subcycling timestep until either I reach the global timestep or the temperature changes less than 1% between iterations.
This subcycling approach helps partially circumvent the problem of FLASH not having adaptive timestepping (i.e. where different parts of the grid can be updated with different timestep sizes).
The problem is that with dust evaporation, the diffusion timestep can become comparably short relative to the energy coupling timestep. In this regime, it may not be physically accurate to apply subcycling because you are not accounting for radiation energy diffusing into or out of a cell. It is in these cells that we are seeing temperatures exceed $10^4$ K.
Shown below are the Planck & Rosseland mean opacities with contours of optical depth $\tau$.