---
title: 'DustPy: Protoplanetary Dust Evolution Code'
url: https://www.emergentmind.com/topics/dustpy
type: topic
---

# DustPy: Protoplanetary Dust Evolution Code

Searching arXiv for recent and foundational DustPy papers to support the article.
Searching arXiv for DustPy foundations, applications, and code-comparison papers.
DustPy is a Python package for simulating dust evolution in protoplanetary disks. In its standard usage, it operates in a one-dimensional, radially resolved, vertically integrated framework and solves gas and dust transport together with collisional dust evolution, including viscous advection, diffusion, radial drift, coagulation, and fragmentation [2207.00322]. Across the recent literature, DustPy functions both as a general-purpose dust-evolution code and as a forward model that links microphysical assumptions about grain growth and transport to observables such as continuum radial profiles, spectral indices, disk sizes, and inferred pebble fluxes [2311.07775]. Its modular structure has made it a common numerical backbone for studies of turbulence constraints, pressure-trap leakage, compact disks, photoevaporative dispersal, planetesimal formation, and code-comparison benchmarks [2207.00322].

## 1. Definition and scope

DustPy is designed to evolve the dust size distribution in protoplanetary disks while coupling that evolution to the gas disk and to aerodynamic transport processes [2207.00322]. In the usage documented across the cited studies, its core role is to compute the spatiotemporal evolution of $\Sigma_{\rm g}(r,t)$ and $\Sigma_{\rm d}(r,a,t)$ under viscous gas evolution, dust advection, turbulent diffusion, vertical settling, and the Smoluchowski coagulation–fragmentation equation [2311.07775].

The code is routinely described as a “full physics” baseline for one-dimensional dust-evolution calculations because it evolves a polydisperse dust population directly rather than reducing the solids to a small number of representative sizes [2603.22550]. This has made it a standard reference in comparisons with reduced models such as two-pop-py and TriPoD, especially in regimes where the size distribution departs strongly from a truncated power law or becomes bimodal [2603.22550], [2409.03816].

A recurring theme in the literature is that DustPy is not merely a grain-growth calculator. It is used as a forward model that connects assumptions about fragmentation thresholds, turbulent transport, trapping, and disk thermodynamics to quantities inferred from ALMA, VLA, and synthetic radiative-transfer analyses, including maximum grain sizes, continuum radii, spectral indices, and radial brightness profiles [2311.07775], [2506.10740].

## 2. Core equations and physical model

DustPy solves the coupled radial evolution of gas and dust in a viscously evolving disk while tracking the dust size distribution via the Smoluchowski coagulation equation [2311.07775]. In the studies summarized here, the gas is commonly evolved with an $\alpha$-viscosity prescription, $\nu=\alpha c_s H$, and the dust is transported with a size-dependent advection–diffusion equation that includes both drag-driven drift and turbulent diffusion [2311.07775], [2506.10740].

The dust radial velocity is typically written in the Nakagawa–Takeuchi–Lin form,
$$
v_{r,d} \;=\; \frac{v_{r,g}}{1+\mathrm{St}^2} \;-\; \frac{2\,\mathrm{St}}{1+\mathrm{St}^2}\,\eta\,v_K,
$$
with $\eta$ set by the local pressure gradient and $\mathrm{St}$ the Stokes number [2311.07775], [2506.10740]. In the Epstein regime, many of the applications use
$$
\mathrm{St} \;=\; \frac{\pi}{2}\,\frac{a\,\rho_\bullet}{\Sigma_g},
$$
or an equivalent piecewise Epstein/Stokes expression when larger particles are present [2311.07775], [2506.10740].

Turbulent diffusion is generally modeled as
$$
D_d \;=\; \frac{\delta\,c_s H}{1+\mathrm{St}^2},
$$
with several studies setting the radial and vertical dust diffusivities equal to the adopted turbulence parameter, while others explicitly decouple dust diffusivity from the gas accretion viscosity [2311.07775], [2604.11925]. Vertical settling is usually represented through an equilibrium dust scale height such as
$$
H_d \;\approx\; H_g\sqrt{\frac{\alpha}{\alpha+\mathrm{St}}},
$$
or a closely related closure [2603.22550], [2509.24818].

Collisional evolution is solved with the Smoluchowski equation on a logarithmic mass grid, with relative velocities assembled from Brownian motion, turbulence, radial drift, azimuthal drift, and settling [2311.07775], [2603.22550]. Standard analytic barriers are repeatedly used to interpret DustPy outputs. For fragmentation-limited growth,
$$
\mathrm{St}_{\rm frag}\;\approx\;\frac{1}{3}\,\frac{v_{\rm frag}^2}{\alpha\,c_s^2},
$$
and
$$
a_{\rm frag}\;\approx\;\frac{2}{3\pi}\,\frac{\Sigma_g}{\rho_\bullet}\,\frac{v_{\rm frag}^2}{\alpha\,c_s^2},
$$
while drift-limited estimates are used to diagnose when radial drift rather than fragmentation truncates the size distribution [2311.07775], [2604.11925].

This framework makes DustPy especially suitable for problems in which observables depend sensitively on the full dust size spectrum rather than on a single representative grain size. A plausible implication is that its strongest advantage over reduced models emerges when fragmentation-fed small grains, re-coagulation, or multi-modal size distributions control transport or emission.

## 3. Numerical architecture and configurability

The published applications consistently use DustPy in a one-dimensional radial configuration with logarithmic radial grids and logarithmic mass or size binning [2311.07775], [2603.22550]. However, the exact numerical setup varies substantially by problem. Examples include radial domains from 1 to $10^3$ au or beyond, grid sizes from 100 to 500 radial cells, and mass grids spanning from sub-micron grains to decimeter- or meter-scale solids [2502.04452], [2604.26794], [2601.18112].

The code’s modularity is a central theme in both the package description and the application literature [2207.00322]. Studies modify or extend DustPy in several ways:

- by imposing pressure traps through local viscosity modulations or prescribed gap profiles [2311.07775], [2506.10740];
- by coupling it to radiative-transfer post-processing through RADMC-3D and, in some cases, DustPyLib [2502.04452], [2509.24818];
- by adding external photoevaporation modules or stellar X-ray photoevaporation source terms [2602.07528], [2601.18112];
- by introducing porosity or fractal-dimension prescriptions as custom mappings from mass to size, bulk density, and cross section [2604.26794];
- by implementing a bouncing barrier through custom collision-outcome probabilities [2312.06000];
- by adding infall source terms, thermal solvers, and gravitoturbulent transport for embedded Class 0/I disks [2504.13246].

The literature also shows that DustPy is frequently embedded in larger workflows rather than used in isolation. In observationally oriented studies it is combined with FRANK-derived radial profiles, opacity models such as DSHARP or Ricci et al. (2010), and synthetic imaging pipelines that produce Band 3, 6, or 7 continuum predictions [2603.02065], [2506.10740], [2509.24818]. In planet-formation studies it is further coupled to parameterized prescriptions for streaming-instability planetesimal formation or to pebble-accretion calculations that use the evolved size distribution as input [2603.22550], [2601.18112].

## 4. Collision physics, growth barriers, and extensions beyond the default model

A large fraction of DustPy-based work concerns how collision microphysics modifies disk evolution. In many studies, collisions fragment when the relative speed exceeds a prescribed threshold velocity $v_{\rm frag}$, with commonly explored values including $1$, $3$, $5$, and $10~{\rm m\,s^{-1}}$ depending on the assumed material properties [2311.07775], [2502.04452], [2601.18112]. This parameter controls whether growth remains fragmentation-limited, whether pebbles survive in pressure maxima, and how much small dust is replenished by destructive collisions.

The literature shows that DustPy has been used extensively to explore fragile-aggregate scenarios. In ringed disks, runs with $v_{\rm frag}=1~{\rm m\,s^{-1}}$ and low turbulence naturally produce radially smooth maximum grain-size profiles and favor fragmentation-limited growth even inside pressure maxima [2311.07775]. In compact-disk models, moderate turbulence beyond a dead zone plus fragile dust prevents mm grains from surviving in the active outer disk, confining mm emission to radii set by the dead-zone edge [2502.04452].

Bouncing is not part of the simplest sticking–fragmentation interpretation used in many papers, but it has been implemented explicitly in DustPy. The bouncing extension adds a third collision outcome between sticking and fragmentation, using a Maxwell–Boltzmann distribution of relative velocities and a rolling-force-based threshold [2312.06000]. In those models, bouncing drives the dust population toward a narrow, almost mono-disperse distribution, removes most micrometer-sized grains, modifies settling, and changes the conditions for both streaming instability and pebble accretion [2312.06000]. A common misconception is that adding bouncing merely lowers the maximum grain size. The DustPy results indicate a stronger effect: the entire shape of the size distribution changes, with consequences for midplane concentration and observables [2312.06000].

Porosity and fractal growth have also been incorporated as custom DustPy extensions. One study prescribes the fractal dimension $D_f$ as a free parameter and modifies the mapping between particle mass, radius, filling factor, and aerodynamic area while keeping the collision thresholds independent of porosity [2604.26794]. Under those assumptions, lower $D_f$ yields larger masses but does not raise the maximum Stokes number in fragmentation-limited growth; in bouncing-limited growth it lowers the maximum $\mathrm{St}$, making streaming instability less favorable [2604.26794]. This suggests that DustPy can be used to isolate dynamical consequences of porosity even when the collision kernel itself remains simplified.

## 5. Pressure traps, leakage, and substructured disks

Pressure maxima are among the most common DustPy use cases. They are imposed in multiple ways: via localized depressions or enhancements in $\alpha$, via analytic gap profiles based on Kanagawa et al. fits, or through torque-injection schemes designed to enforce target gap structures [2311.07775], [2301.05505], [2602.07528]. In all cases, the purpose is similar: modify the local pressure gradient so that large drifting pebbles are trapped while smaller, more gas-coupled grains may continue to cross the gap.

DustPy has been used to show that such traps are often leaky. In a solar-nebula context, simulations of an early Jupiter-induced gap found that particles trapped at the pressure bump fragment into smaller grains that diffuse through the gap, contaminating the inner disk on timescales inconsistent with the meteoritic CC/NC dichotomy [2301.05505]. Even a $1\,M_{\rm Jup}$ gap leaked a large fraction of the outer-disk dust mass in those runs, and low turbulent diffusivity reduced but did not eliminate the problem in time-dependent proto-Jupiter growth scenarios [2301.05505].

A later large parameter study generalized this result and argued that most outer traps are leakier than previously thought when the full size distribution is evolved with DustPy [2604.11925]. Leakage is quantified by comparing the cumulative mass crossing the gap in simulations with and without a planet-induced trap. Across much of the explored parameter space, especially for $\alpha_{\rm visc}\gtrsim 3\times10^{-3}$ or $\delta_{\rm turb}\gtrsim 10^{-3}$, the blocking efficiency remains low, because trapped pebbles continually fragment into small grains that diffuse and advect across the gap [2604.11925]. Highly blocking traps occur only under low viscosity and weak turbulence, and in that regime the strongest suppression of the inner pebble flux comes primarily from planetesimal formation in the trap rather than from the trap alone [2604.11925].

DustPy has also been used to investigate more global consequences of substructures. In the AGE-PRO modeling, weak or strong traps are favored over smooth disks for reproducing the observed 1.3 mm fluxes, effective radii, and spectral-index distribution, while smooth disks drift-deplete too rapidly [2506.10740]. In a separate photoevaporation study, primordial substructures retained enough dust to keep dispersing disks millimeter-bright, whereas initially smooth disks evolved toward the millimeter-faint transition-disk population [2309.08752].

## 6. Applications to turbulence, photoevaporation, and planetesimal formation

DustPy has become a major tool for inferring turbulence and testing planetesimal-formation pathways. One direct inversion method uses observed maximum grain sizes in rings, together with the assumption that fragmentation rather than drift limits growth inside pressure maxima, to estimate the midplane turbulence coefficient $\alpha(r)$ [2311.07775]. Applied to seven disks, this framework found low turbulence coefficients, typically $\alpha\sim10^{-4}$ in five systems when $v_{\rm frag}=1~{\rm m\,s^{-1}}$, with IM Lup standing out at $\sim10^{-3}$ and HL Tau showing an increasing $\alpha(r)$ toward larger radii [2311.07775].

In broader model grids, DustPy also links turbulence and dust fragility to multi-wavelength ALMA observables. One study found that only two families of parameter combinations reproduce the targeted ring morphologies: fragile dust with $v_{\rm frag}=1$–$2~{\rm m\,s^{-1}}$ in disks with $\alpha=10^{-4}$, or more resilient dust with $v_{\rm frag}=6$–$10~{\rm m\,s^{-1}}$ in disks with $\alpha=10^{-3}$ [2509.24818]. In those models, successful cases required the observed rings to be optically thick at both 1.3 and 3 mm, and the inferred maximum grain sizes in the emitting layer were smaller than the true midplane maximum sizes because only small grains were lifted to the emitting surface [2509.24818].

Photoevaporation is another major application area. DustPy has been coupled to XEUV or X-ray photoevaporation to study how clearing fronts, cavity edges, and associated pressure maxima affect the solids [2309.08752], [2601.18112]. In the transition-disk context, the simulations indicate that dust trapping determines the millimeter flux while photoevaporation controls cavity opening and expansion, effectively decoupling brightness from cavity size [2309.08752]. In a late-stage planetesimal-formation context, X-ray photoevaporation creates an expanding pressure maximum at the cavity edge that can trigger streaming-instability-driven planetesimal formation [2601.18112]. The fiducial model in that study formed $31.4\,M_\oplus$ of planetesimals with a dust-to-planetesimal conversion efficiency of $20.4\%$, and larger disks, higher metallicities, lower viscosities, higher fragmentation thresholds, and stronger X-ray luminosities all increased the final planetesimal mass [2601.18112].

DustPy has also been extended to embedded Class 0/I disks with infall, heating and cooling, and snowline-dependent fragmentation thresholds [2504.13246]. Those calculations recover outward advection of grains and a water-snowline “advection-condensation-drift” loop, but under $\alpha=10^{-3}$ the midplane dust-to-gas ratio remains at least an order of magnitude below the streaming-instability threshold, even after including recent external-turbulence criteria [2504.13246]. This suggests that early planetesimal formation in such disks may require low-turbulence angular-momentum transport, such as winds, or a mechanism other than standard streaming instability.

## 7. Position within the dust-evolution ecosystem

DustPy occupies an important reference position among open-source dust-evolution codes. In recent code-comparison work, it serves as the benchmark “full coagulation–fragmentation” model against which reduced 1D and 2D approaches are calibrated [2603.22550], [2409.03816]. Compared with TriPoD, DustPy generally agrees well on dust masses and observables except when the true size distribution becomes strongly non-power-law [2603.22550]. Compared with two-pop-py, DustPy usually predicts less extreme gap-edge trapping and slower dust depletion, because it does not collapse the solids into two representative populations with analytic barrier prescriptions [2603.22550].

The comparison literature also clarifies where DustPy is strongest. It is most reliable as a reference solver for one-dimensional, radially integrated dust evolution with a realistic polydisperse distribution, especially when the target quantity depends on fragmentation-fed small grains, leakage across traps, or the distinction between peak, average, and full-distribution Stokes numbers [2603.22550]. At the same time, the same studies emphasize standard limitations: one-dimensional geometry, vertically integrated gas dynamics, no fully self-consistent gas–dust backreaction in many applications, and frequent reliance on prescribed pressure bumps rather than self-generated substructures [2603.22550], [2506.10740].

The broader DustPy literature therefore presents a coherent picture. DustPy is not a universal disk simulator, but a modular and comparatively high-fidelity framework for one-dimensional dust evolution that is especially valuable when the research question turns on the full evolving size distribution. Its extensive application to turbulence constraints, leakage problems, compact disks, photoevaporative clearing, and planetesimal formation shows that it has become a central numerical instrument in connecting dust microphysics to disk observables and early planet formation [2207.00322], [2311.07775].

Source: https://www.emergentmind.com/topics/dustpy