Appendix E: Changelog

This is a list of changes made to DustPy since version v1.0.0 including discussions of their influence on the simulations.

v1.0.5

Release date: 3rd December 2023

Using Meson as build system

Due to the deprecation of numpy.distutils, DustPy is now using Meson as build system.

Bugfix to velocity distribution

For zero relative collision velocities a not-a-number error could have been triggered.

Bugfix to plotting script

A bug in the plotting script has been fixed causing lines not to be updated. May not be fixed for all Matplotlib version. Please use the most recent one.

Preparation for the addition of multiple gas species

In order to add multiple gas species in future versions, the Jacobian of the gas surface density has been modified. All previous models that have not specifically customized the gas Jacobian should be compatible with this version.

v1.0.4

Release date: 17th June 2023

Bugfix to boundary conditions

A bug prevented the boundaries to be set correctly for the boundary conditions "val", "grad", and "pow". The boundary conditions "const_val", "const_grad", and "const_pow" were not affected by this bug.

v1.0.3

Release date: 7th February 2023

Correction to inital particle size distribution

If the parameter Simulation.ini.dust.allowDriftingParticles is set to False before Simulation.initialize(), DustPy is removing particles in the outer disk that are initially close to the drift barrier. An error has been corrected in the conversion of Stokes number to particles size, in which the particle bulk density Simulation.dust.rhos has been in the numerator instead of the denominator. The effect of this correction on simulations is negligible, since Simulation.dust.rhos ~ 1.

Removal of non-ASCII characters

Due to potential incompabilities all non-ASCII character have been removed from the docstrings in the Fortran files.

v1.0.2

Release date: 18th November 2022

Change in default temperature profile

A factor of \(\frac{1}{2}\) was added to the luminosisty in the standard update function of the gas temperature Simulation.gas.T, when calculating the midplane equilibrium temperature in accordance with e.g. Chiang & Goldreich (1997) or Dullemond et al. (2001):

\(T\left( r \right) = \sqrt[4]{\frac{1}{2}\frac{0.05\,L_*}{4\,\pi\,r^2\,\sigma_\mathrm{SB}}}\)

Compared to previous versions the midplane temperature is therefore reduced by a factor of \(\sqrt[4]{\frac{1}{2}}\approx0.84\). For a comparison with radiative transfer calculation with RADMC-3D please have a look at this example in the dustpylib documentation.

v1.0.1

Release date: 21st July 2022
This version has been used in the code paper (Stammler & Birnstiel, 2022).

Change to Collision Kernel

A factor was added to the standard update function of Simulation.dust.kernel, that reduces the collision rates of equal size collisions by a factor of \(\frac{1}{2}\):

\(K_{ij} = \frac{1}{1+\delta_{ij}} \frac{\pi\left( a_i + a_j \right)^2}{\sqrt{2\pi\left( H_i^2 + H_j^2 \right)}} v_\mathrm{rel}\)

Collisions between particles of two separate reservoirs \(i\) and \(j\) occur at a rate \(\propto N_i N_j\), since every particle in one reservoir can collide with every particle in the other reservoir. Collisions of particles in the same reservoir occur at reduces rates: the first particle can collide with \(N_i-1\) other particles, the second particle with \(N_i-2\) particles, and so on, to avoid double counting of collisions. In that case the collision rates are \(\propto \frac{1}{2}N_i\left(N_i-1\right)\), which is \(\frac{1}{2}N_i^2\) in the limit of large \(N_i\).

This change has no noticable effect on simulations performed with previous versions, since it is only reducing the collision rate for a single type of collisions.

v1.0.0

Release date: 3rd July 2022