Mixing in Chemistry

Since revision 407ae376, ProDiMo allows to solve the chemistry with vertical diffusive mixing as

dn/dt = P - L - dPhi/dz

where n [cm-3] is the particle density of a chemical species, P and L [cm-3 s-1] are the respective chemical production and loss rates, and the diffusive flux [cm-2 s-1] is given by

Phi = - K ntot d/dz(n/ntot)

where ntot = Sum{n} is the total particle density and the eddy-diffusion coefficient [cm2/s] is

K = alpha_mix cs Hscale .

The model works by automatically adding "MI" (mix-in) and "MO" (mix-out) reactions for every species sp as

  MI:       -->  sp     ("production" via diffusive in-fluxes from below & above)
  MO:   sp  -->         ("loss" via diffusive out-fluxes to below & above)

For more details, see [~/ProDiMo/man/mixing.pdf]. To determine the in-flux rates, the concentrations n/ntot of the respective molecules above and below the considered point are required, which introduces a vertical coupling between the chemical results in every column. ProDiMo solves this system of reaction-diffusion equations in an iterative way. During each iteration, (n/ntot){iz+1} and (n/ntot){iz-1} are considered as fixed while determining all n at height index iz.


1) In order to activate vertical mixing just set alpha_mix>0 in Parameter.in:

0.01      ! tol_convergence
99        ! maxit
0.01      ! alpha_mix

The very first iteration (with restart=.false.) will be computed without mixing, then ProDiMo will continue to iterate globally, until the results are converging to better than 1% (checking the total amounts of all chemicals in the disk), or when the number of global iterations exceeds 99 in this case.

In order to accelerate the global iterations, consider to run the model in two steps

----- initial run ------      ----- subsequent run -----
.false.   ! restart           ->    .true.
0.01      ! alpha_mix         ->    0.01
0.01      ! tol_convergence   ->    0.01
1         ! maxit             ->    99
.false.   ! freeze_RT         ->    .true.
.true.    ! calcSED           ->    .false.
.true.    ! line_transfer     ->    .false.

The downward diffusive transport naturally follows ProDiMo's downward sweep of the chemistry and, therefore, seems to converge quite rapidly. However, for the upward diffusive transport, it apparently takes more iterations (about one iteration per layer) to make it to the top. So if you have a 100x100 model, be prepared to give it 100 global iterations.


2) The effects of the vertical mixing can be quite significant, we need to study this in more detail. There seems to be an active molecule production "factory" in the intermediate warm layers, from where molecules diffuse upward and downward while they are photo-dissociated into atoms and ions in the higher layers and freeze out in the deeper layers. Molecules and even some atoms make it deeper into the disk. As a result, we get a richer chemistry in all areas, which also affects the heating & cooling. For example, H-atoms are mixed upward where they are ionised by X-rays which adds more heating. H-atoms are mixed deeper into the disk where they stimulate H2 formation and associated heating processes. We generally get a richer, more active, and warmer chemistry with shorter chemical relaxation timescales.

MixingSketch.png

Below, left panels show control model without mixing, right panels with alpha_mix=0.01. Vertical cuts at 5 au.

before_after_H2.png

before_after_oxygen.png