Radial particle weighting - vonkarmaninstitute/pantera-pic-dsmc GitHub Wiki

In axisymmetric simulations, cell volumes increases linearly with the radial position of the cell. Naturally, the number of particles will then be greatly reduced close to the axis of the simulation, causing large statistical noise and inaccurate simulations. One method to solve this is to adopt a particle weight that is different between cells. In this case, the particle weight $W_p$ of cells close to the axis will be smaller than for cells towards the outer boundary.

The volume of cell $i$ is computed as:

$V_i = \pi (y_{\text{max},i}^2-y_{\text{min},i}^2) \dfrac{\Delta z_i}{2 \pi} \Delta x_i = \dfrac{1}{2} (y_{\text{max},i}^2-y_{\text{min},i}^2) \Delta z_i \Delta x_i $

Where $y_{\text{max},i}$ and $y_{\text{min},i}$ are the upper and lower boundaries of the cell.

We choose to adapt the particle weight such that: i) For a uniform density distribution we obtain the same number of simulated particles in each cell. ii) We keep the same total number of particles that we would have in the uniformly weighted domain.

These conditions translate in the following constraints for the weights $W_{p,i}$ in a simulation with uniform density $n$:

i) $\dfrac{n V_i}{W_{p,i}} = \dfrac{n V_j}{W_{p,j}} \implies \dfrac{V_i}{W_{p,i}} = \dfrac{V_j}{W_{p,j}} = K$

Where $K$ is clearly a constant.

ii) $n \dfrac{V_\text{tot}}{W_p} = n \sum_i \dfrac{V_i}{W_{p,i}} \implies \dfrac{V_\text{tot}}{W_p} = \sum_i \dfrac{V_j}{W_{p,j}} = N_y K$

From these conditions, the cell weight that should be chosen is:

$W_{p,i} = \dfrac{V_i}{K} = \dfrac{V_i N_y W_p}{V_\text{tot}} = W_p N_y \dfrac{ (y_{\text{max},i}^2-y_{\text{min},i}^2)}{(y_{\text{max}}^2-y_{\text{min}}^2)}$