Procedia Computer Science

Cn^JJ^k Volume 51, 2015, Pages 1282-1291

ICCS 2015 International Conference On Computational Science

Simulations of several finite-sized objects in plasma

W. J. Miloch

Department of Physics, University of Oslo, Oslo, Norway w.j.miloch@fys.uio.no

Abstract

Interaction of plasma with finite-sized objects is one of central problems in the physics of plasmas. Since object charging is often nonlinear and involved, it is advisable to address this problem with numerical simulations. First-principle simulations allow studying trajectories of charged plasma particles in self-consistent force fields. One of such approaches is the particle-in-cell (PIC) method, where the use of spatial grid for the force calculation significantly reduces the computational complexity. Implementing finite-sized objects in PIC simulations is often a challenging task. In this work we present simulation results and discuss the numerical representation of objects in the DiP3D code, which enables studies of several independent objects in various plasma environments.

Keywords: particle-in-cell, plasma, object, dust, spacecraft charging

1 Introduction

Plasma refers to an ionized or partially ionized gas, and it contains electrons and ions which carry electric charges. It is often described as a conducting fluid which can support electric currents, and which dynamics is subject to the electro-magnetic forces [24]. This state of matter can be found both in nature and in man-made devices. Examples of naturally occurring plasmas are the Sun, interplanetary space, the Earth's ionosphere, or atmospheric lightning. Man-made devices include tokamaks, plasma processing devices, or electric discharges such as light tubes or neon lights [1]. For the gas to be ionized its temperature needs to be high enough, and plasma is therefore associated with large temperatures, T G (102, 109)K. Plasma is also characterized by collective phenomena, and it can support many types of waves and instabilities [24].

The problem of interaction between plasma and a finite-sized object is central in the physics of plasmas. Objects in plasmas can be naturally occurring, such as dust grains, asteroids or lunar objects, or artificial, such as probes, or satellites and other spacecrafts. Any object immersed in plasma will collect electric current to its surface. To a first approximation, this current will be due to collection of electrons and ions that constitute plasma, and the object will act as a sink for plasma particles [26]. In typical plasmas, the electrons are more mobile than ions and the object will acquire net negative charge. Other charging currents can also be present, such as photo-emission or the secondary electron-emission currents in space plasmas,

1282 Selection and peer-review under responsibility of the Scientific Programme Committee of ICCS 2015

© The Authors. Published by Elsevier B.V.

doi:10.1016/j.procs.2015.05.313

and they can significantly modify the charge on object's surface [30, 11]. An isolated object in plasma will thus be at floating potential at which all currents to its surface balance each other so that the net current vanishes.

Floating potential can be found analytically for simple geometries and plasma conditions [26, 30]. However, once the problem becomes more involved, by for instance complex geometry of the object, nontrivial flow conditions due to magnetic field, or presence of neighboring objects, the analysis is only treatable with first-principle numerical simulations. The implementation of objects in such simulations is often a major undertaking and requires special attention [9, 29, 12, 8]. In this paper the object representation in the DiP3D code, which allows studying several independent objects, is described and discussed.

2 Numerical code

The DiP3D1 code is a three dimensional particle-in-cell (PIC) code. In the PIC method the plasma particles (i.e., electrons and ions) interact with each other via computational grid that is used to calculate the force field. Instead of evaluating forces between each individual particle pairs, which is the operation of complexity O(N2), where N is the number of simulated particles, the use of grid usually reduces the complexity of the algorithm to O(NlogNg), where Ng is the number of grid points, Ng ^ N, making the large scale simulations feasible. The forces acting on each particle are projected from the nearby grid points. Such an approach is justified in plasma simulations: even though electrostatic forces between charged particles are long-ranged, the basic property of the plasma is that the potential originating from a single particle is exponentially shielded by other particles, with the characteristic screening length being the Debye length XD. Thus, the charge of a plasma particle is effectively screened over larger distances, and only the contribution from the neighboring particles need to be considered. However, while in the PIC method we usually simulate fewer particles than in a real system, so that each numerical particle represents many real particles (by maintaining the charge to mass ratio q/m, the dynamics of the system is preserved), we still need to maintain a large number of particles in the Debye cube, to have the plasma approximation valid. This means that the plasma number Np = nnX3D ^ 1, where nn is the number density of numerical particles. In practice it usually suffices that Np > 10.

The DiP3D code is an electrostatic PIC code that operates in Cartesian coordinates and uses a regular grid. The main computational cycle is standard [2, 7, 10], and consists of the following: i) weighting numerical particles to the nearest grid points, ii) solving the Poisson equation and finding forces on the grid, iii) projecting forces from grid points to particles, iv) advancing particle trajectories.

For the particle weighting to the grid, as well as for the force projection to particles, the first-order linear weighting is used [2]. With the charge density p found on the grid, the Poisson equation V2$ = -p/e0, where e0 is the electric permittivity of vacuum, is then solved for the electrostatic potential In DiP3D, the Poisson equation is solved with a flexible multigrid method. If the grid size is Ng = 2k + 1, where k G N, the standard full-multi-grid method is used [25]. Otherwise, the smallest possible subgrid is determined, on which the field is solved with the red-black ordered Gauss-Seidel method. The multigrid method is converging fast, but as it requires projection of the charge density to a subgrid, it also puts constraints on the representation of an object on the grid, and it is necessary to find the self-consistent charge distribution on the object surface.

1DiP3D was originally developed for studies of charging of Dust in Plasma, and hence the acronym.

The electric field E = -V$ is calculated with a difference scheme directly on the grid and then projected to the particles. Finally, the trajectories of simulated particles are advanced with the leap-frog method [2], which is characterized by a staggered time-mesh for velocities and positions:

xi(t + At) = xi(t)+ vi(t + At/2)At (1)

vi(t + At/2) = vi(t - At/2) + fi(t)At/mi ( )

where i refers to a plasma particle, fi = qiE is an electric force projected on the i-th particle from the nearest grid points, and At is the computational time step.

In case of an external static magnetic field, the particle mover is combined with the Boris algorithm [4] that accounts for the velocity rotation due to the Lorentz force f = q(E + v x B). It rotates velocity v_ in the plane perpendicular to the magnetic field B = mil/q, where ll is the gyrofrequency, to a new velocity v+:

w = v._ + v_ x f

v+ = v_ + w x f (2)

where: f =ltan ^^^, and f =2f/(1 + f2).

To combine the two methods, we first half-accelerate the particle due to the electric force (i.e., advance its velocity for a half-time step At/2), then rotate the velocity due to the magnetic field according to the Boris algorithm, and again half-accelerate the particle due the electric force using the leap-frog method. Thus, the mean particle velocity is used for the Lorentz force calculation.

The use of an explicit particle mover puts restrictions on the time step and grid spacing used in the simulations [10]. The numerical stability requires that the smallest time scales and spatial scales are resolved. Thus, in DiP3D the typical grid spacing is a fraction of XD and the electron Larmor radius, while with both electrons and ions represented in the simulations, the shortest electron scales (such as the electron plasma period and gyroperiod) are resolved. Note that because of following particle trajectories, the standard PIC method can in general be considered as an alternative approach to solving the Vlasov equation, which describes the dynamics of a distribution function for a collisionless plasma. Since equations of motions for the simulated particles are the characteristics of the Vlasov equation, the PIC method can be related to solving this problem with the method of characteristics. However, PIC simulations are in general much more noisy than the Vlasov simulations [2].

Initially, the computational plasma particles are introduced in the simulation box with the use of random number generators: with spatial positions related to the uniform distribution, and velocities according to the Maxwellian or shifted-Maxwellian distributions [5]. The boundaries of the box are open for the plasma particles, and particles can leave the box during the simulation. At each time step the particles are also introduced in the simulation box according to fluxes accounting for the relevant velocity distributions. Therefore, the number of particles in the system is not fixed, but since it is usually higher than 107, quasineutrality at large scales, which is the basic property of plasma [24], is maintained. In DiP3D, electrons and different ion species can be considered. There is no upper limit on the number of simulated plasma species, and each of the species can have different drift velocity. Thus, with DiP3D it is possible to simulate various physical scenarios, such as a beam propagating through a stationary plasma, or counter-streaming ion beams [21, 31].

We typically use the Dirichlet boundary conditions for the potential, and set the potential at the boundaries to $6 = 0 V. In the DiP3D code it is also possible to use periodic boundary conditions in all directions, but since these conditions introduce mirror images, unless one

wishes to simulate systems with infinite number of objects, such conditions are of limited use in studies of the object-plasma interaction. Moreover, object surface is a sink for plasma particles and this will lead to a drainage of plasma in a periodic system.

DiP3D can operate in the collisionless or collisional mode. In the collisional mode, at each time-step a given number of randomly chosen plasma particles collide with neutral atoms. These collisions are implemented with the null-collision method [27, 28], which is an efficient algorithm allowing for arbitrary collision cross-sections that can also be energy dependent. Elastic and charge exchange collisions are implemented for ions, and elastic collisions are used for electrons. Note, that due to a finite number of simulated particles, even in the collisionless case, we are not in the Vlasov limit, and there will be effective collisions between charged particles due to fluctuations in the electrostatic potential. This feature is characteristic for all PIC simulations.

While the code structure allows for a different box size in different directions, due to the performance the cubic box is usually used. The Message-Passing-Interface (MPI) approach is used for parallelization, where the particles are distributed over several computational nodes, and a master node is used for solving the grid equations.

Input parameters are given in real units, so it is easy to simulate real plasmas. However, for computational purposes all quantities and equations are normalized in the code. The equations of motion are normalized with: the inverse of the electron plasma frequency u— for time, electron Debye length XDe for length, giving together the electron thermal velocity vth for velocity. Potential is normalized by the unitary potential $0 = kTe/e, where k is Boltzmann constant, Te, e are the electron temperature and charge respectively. The density is normalized by the background density n0. Other normalizing quantities follow from the combination of the basic units.

3 Object representation

In PIC simulations, the shape of an object is usually restricted by the grid geometry, and the object surface forms internal boundary conditions for the Poisson equation. In DiP3D the major difference is that several objects can be simulated independent of the grid, and they can in addition move and rotate during the simulation. The current approach is a further development of the solutions from the two-dimensional version of the code: DiP2D [18, 19]. While in the previous two dimensional code, objects could have various shapes, such as irregular, elongated or circular [18, 20], in the present three-dimensional code, as the first approximation the spherical objects have been chosen. The choice of a spherical shape is related to research in complex plasmas, where the problem of charging of spherical dust grains in flowing plasmas has been a major scientific problem [6, 26]. In addition to spheres, the DiP3D code can handle irregular objects that are restricted to the grid geometry. Two limiting cases have been considered: perfectly insulating or perfectly conducting surface. For insulating objects, the condition is that a charged particle impacting the surface should leave the charge in the hitting position, and the charge will contribute to the local electric fields at all later times. For conducting objects, the charge left on the surface should be redistributed as to cancel internal electric fields.

3.1 Spherical objects.

A spherical object has the following input parameters: position of the center rc, radius d, initial velocity of the center vc and angular velocity u. To determine whether a simulation particle hits the object surface, it suffices to check whether the distance between the new position of the

Figure 1: (a) Scheme of weighting of the particle charge to the surface points. The hitting position is marked with rhit. The shaded area normalized to the triangle area gives the fraction of the particle charge assigned to surface point rl,i. (b) Illustration of the linear scaling for redistribution of charge to introduce a dipole moment. Shaded areas under line given by y = s(x — xc) correspond to charge increase or reduction for surface points at position x.

particle ri,2 and the sphere centre is smaller than the sphere radius \\rii2 — ?c\\ < d. In practice we can use ri,2 = ri,1 + vi,2At, which follows from Eq. 1. Thus, the condition can be rewritten as the quadratic equation for time of the hit At':

(ri,i — rc + ^,2 At')2 = d2, (3)

which can be solved with standard methods [25]. If the condition 0 < At' < At is met, the position of the particle impact is calculated and the charge is assigned to the surface. To assign the charge to the surface of the object, a large number of points are generated uniformly on the sphere [23]. The charge of the particle is distributed between three surface points that are located nearest to the hitting point, rhit. These surface points form a triangle containing the hitting point. With rl,i,rl,j, ri,k being positions of the nearest surface points, the weight for the charge assignment to surface point rlii is calculated as wl}i = 24\\(rl,j — rhit) x (rlkk — rhit)\\1/2, where A = 2\\(rl,j — rl,i) x (rl,k — ri^W1/2 is the area of the triangle with vertices given by surface points. Thus the triangle containing the hitting point is split into three smaller triangles where one of the vertices is given by rhit. The weight for the given surface point corresponds to the area of the triangle spanned by vectors determined by other surface points and the hitting point, as it is also illustrated in Fig. 1(a). This approach gives satisfactory results given the uniform distribution of a large numbers of surface points.

At each time step At, the charge is accumulated on the object surface, and the charging characteristics can be studied. For insulating objects, the charge is accumulated and fixed on the surface points, while for conductors it is redistributed on the surface. A simple redistribution with ql,i = 0 ql,j/Nl, where Nl is the total number of surface points and qi,i is the charge on i-th point will suffice for isotropic charging conditions, i.e., for stationary plasma and well isolated objects. For flowing plasmas the current to the surface is anisotropic, and the electric dipole moment p = J2 qi,i(fi,i —rc) can develop [6]. This dipole moment in the case of a conducting object will be the result of the wake formation and anisotropic potential distribution [18]. Thus, the surface charge distribution should compensate for this induced dipole so that internal electric fields vanish. One remedy is to introduce p in the redistribution of the charge. A simple approach is to use a linear scaling of the form s(xl,i — xc), where x is the direction of the flow, giving the resulting charge on the surface point ql,i = ^0 q^j/Nl + s(xlyi — xc), as illustrated in Fig. 1 (b). While for the large number of uniformly distributed surface points the total charge

will remain the same, the extreme points will have the largest deviation from the mean, and the points close to the center of the sphere in the x direction will be approximately equal to the mean. This charge redistribution is quick and simple, but at the same time it poses challenges with respect to accuracy. Furthermore, a good guess for p is needed, which can be adjusted either during the time simulation or chosen as an input parameter. With this numerical scheme it is also straightforward to fix the charge on the object during the simulation.

Spherical objects in DiP3D are independent of the grid and the charge accumulated on their surface is stored in an independent array. Surface points have their positions and translational velocity similarly to the center of the object; in addition the object can rotate. Thus it is relatively easy to calculate dynamics of spherical objects due to for example drag force [6]. While forces acting on the sphere can easily be evaluated, due to large inertia of the object, for most of practical purposes the object can be considered immobile during the timescale of simulations. However, since the DiP3D code can be stopped and restarted at a chosen time (using restart procedure), it is possible to move or rotate the object during the simulation.

The charge accumulated on the surface is weighted to the grid and it contributes to the total charge density. This enables using the multi-grid Poisson solver. It is however important to have a resolution good enough to resolve the shape of the object. While for the simulation particles, the object will always be seen as a sphere, the grid will smooth out the shape of the object, and due to weighting the smallest reasonable radius is the size of the grid cell.

3.1.1 Correction of particle trajectories

In the PIC method, the grid spacing determines the electric field resolution, while charge density is smoothed due to the weighting process. Thus, when objects are independent of the grid and their surface points do not coincide with the grid points, it is important to accurately resolve trajectories of plasma particles in the neighborhood of the object in order to ensure correct acceleration of the particles in the sheath, i.e., region in the vicinity of the object. In the DiP3D code this is done by correcting the force acting on such plasma particles by a direct force calculation,

Ei = EfIC - EPC + EMd. (4)

In this scheme, the electric field acting on the i-th particle calculated with the PIC algorithm is corrected by subtracting the field contribution due to the object Eflc calculated with the PIC scheme and adding the electric field originating from the object calculated with the molecular dynamics scheme E^0. Thus, plasma particles that are close to the surface are not decelerated due to force smoothing by the grid and the result is physically correct. In order to increase computational efficiency, only the particles that are in the vicinity of the object 4d) are considered. The method in Eq. 4 is sometimes referred to as P3M (particle-particle-particle-mesh) [12].

3.2 Non-spherical objects

The problem of plasma-object interaction often concerns non-spherical shapes. This is relevant for simulations of spacecrafts where the shape is often irregular and the object surface is conducting. In such cases, the surface charge redistribution can be a nontrivial task. In DiP3D we use the capacitance matrix approach to redistribute the charge on non-spherical conducting objects. This method has also been used in other numerical codes [22].

Non-spherical objects in DiP3D are build from small cubes and their shapes are restricted by the grid geometry with surface points being co-located with the grid points. The particles

hitting the surface are determined with the ray tracing algorithm, and the charge is assigned to the four nearest surface points. After solving for potential $ in the simulation box, the surface charge is redistributed with the use of a pre-computed capacitance matrix C. The desired equipotential on the surface is found with = ^i qi/ ^i j Ci,j, where the sum is over all surface points i and all matrix elements. The correction to the charge on surface points 5q = C($* — $), is used to compute the new potential in the whole box with the redistributed charge on the surface.

The capacitance matrix requires solving the Poisson equation twice per time step. However, it does not allow to simulate easily several non-spherical conducting objects in the same box. On the other hand one can place in the box different spherical objects as well as irregular insulating objects.

3.3 Photoemisson

In addition to object charging due to collection of plasma currents, other charging mechanisms are possible. In DiP3D we have implemented the photoemission current due to unidirectional photon flux. Photons are considered as rays at a given angle, and hence determination of photoelectic event is straightforward by using the ray-casting algorithm. When a photon hits the object, a photoelectron of energy E = Ehv —W, where W is the work function determined by the surface material, is produced at distance l = uvAt from the surface, where u is an uniform random number u G (0,1], and v is the photoelectron speed. Photoelectron velocity vectors are uniformly distributed over the hemisphere and directed away from the object surface, in accordance with the Lambert cosine law. The photon incidence angle as well as energy and intensity are given as input parameters.

4 Results and Conclusions

The DiP3D code allows for studies of object charging in various contexts, such as complex plasmas, spacecraft performance, or sheath formation around a biased probe [13, 17, 16, 31, 14]. Self consistent charging of the object reveals that under certain conditions, such as plasma flows typical for dusty plasma experiments, a negatively charged object can act as an electrostatic lens for plasma particles. It will focus positively charged plasma particles downstream and a wake will form in both potential and density. This situation is illustrated in Fig. 2, which shows results the flow of cold ions, where the electron to ion temperature ratio is Te/Ti = 100. Results for spherical grains can be directly compared to analytical theories, and there is a good agreement between theoretical models and DiP3D simulations [14, 15, 3].

The wake effects have implications for the performance of spacecraft instruments [31], as well as for charging of larger dust agglomerates. Both situations can easily be simulated by DiP3D. Examples of results from simulations of several objects are presented in Fig. 3, showing electrostatic potential distributions around a cluster of dust grains for subsonic and supersonic plasma flows. It can be inferred that the charge on the downstream grain is smaller than on the upstream grains, and that it influences the wake pattern. Thus, a self-consistent charging that can be simulated by DiP3D is important for calculating the interaction potentials and deducing the wake potential structure in systems comprising several finite-sized objects. Finally, including photoemission currents, that will modify floating potential of the object, can directly mimic the space conditions for the spacecraft performance [31]

For results shown in Figs. 2 and 3, the basic simulation parameters are Ng = 1293, number of simulation particles N = 107, number of nodes 16. The convergence of results is achieved

Figure 2: Electrostatic potential (a) and ion density (b) distributions for a spherical object of the size of d « 0.1ADe being charged in streaming plasma with supersonic velocity vd = 1.2Cs, where Cs is the speed of sound. The flow is in the positive x direction. A clear Mach cone forms behind the object in both potential and density. In (a) the object is surrounded by negative (red color), in the wake, the potential enhancement is formed (blue color), which is followed by the potential minimum (red color). In (b) the density enhancement (purple color) is formed behind the object, which is then followed by the density depletion (red color). The density extrema correspond to potential structure in the wake.

after a few ion plasma periods t,, which correspond to 10 000 -15 000At, with At ^ Te, where Te is the electron plasma period. The code is run until t « 15t and the data is taken at the saturation stage.

While the performance of the DiP3D code is good, the full-multi-grid method for the Poisson equation uses most of computational time for large grids. In the present version of the code, the particles are distributed over many nodes, but the field is solved on the master node. Both the memory requirement and speed of the solver put restrictions on the size of the simulation box, and for practical purposes we usually run the code with approximately 2 • 106 grid points. Thus, the future work will focus on parallelization of the Poisson solver, so that larger grid sizes can easily be considered.

To summarize, the DiP3D code is a flexible code that allows for studies of charging of several objects in non-trivial plasma environments. The objects can be spherical and independent of the grid, with the surface conditions representing either perfect insulators or conductors. There is no limit on the number of objects studied in the simulation domain (simulations without objects or with many objects are also straightforward). DiP3D also allows for studies of objects with complex geometry with the use of the capacitance matrix method. In addition to plasma currents, charging due to photoemission can be included. The code can study for example the self-consistent charging of dust clusters in flowing plasmas or the wake formation around a spacecraft.

Currently, the work on the further code development includes: introducing mixed boundary conditions (e.g., Dirichlet and periodic), study for parallelization of the Poisson solver to account for larger simulation domains, consideration of adaptive mesh for the field accuracy, and implicit particle solver to speed up the simulation.

Figure 3: Electrostatic potential distribution around a cluster of 10 dust grains of radius d «

0.1XDe in plasma flowing with subsonic (vd = 0.7CS) (a) and supersonic (vd = 1.2CS) (b)

velocities. The x-y plane is shown at z — Lz/2 with Lz being the size of the box in the

z-direction, thus only four grains are shown. The flow is in the positive x direction.

References

[1] W. Baumjohann and R. A. Treumann. Basic Space Plasma Physics. London: Imperial College Press, 1996.

[2] C. K. Birdsall and A. B. Langdon. Plasma Physics via Computer Simulation. Adam Hilger, Bristol, 1991.

[3] D. Block and W. J. Miloch. Charging of multiple grains in subsonic and supersonic plasma flows. Plasma Phys. Control. Fusion, 57:014019, 2015.

[4] J. P. Boris. Relativistic plasma simulation - optimization of a hybrid code. In J. P. Boris and R. A. Shanny, editors, Proc. 4th Conf. Numerical Simulation of Plasmas, page 3. Washington, DC: Naval Res. Lab., 1970.

[5] G. E. P. Box and M. E. Muller. A note on the generation of random number deviates. Annals Math. Stat, 29:610611, 1958.

[6] V. E. Fortov, A. V. Ivlev, S. A. Khrapak, A. G. Khrapak, and G. E. Morfill. Complex (dusty) plasmas: Current status, open issues, perspectives. Phys. Rep., 421:1-103, 2005.

[7] R. W. Hockney and J. W. Eastwood. Computer Simulation Using Particles. IOP Publishing, Bristol, 1988.

[8] I. H. Hutchinson. Ion collection by a sphere in a flowing plasma: 2. non-zero debye length. Plasma Phys. Contr. Fusion, 45:1477-1500, 2003.

[9] G. Lapenta. Simulation of charging and shielding of dust particles in drifting plasmas. Phys. Plasmas, 6:1442-1447, 1999.

[10] G. Lapenta. Particle simulations of space weather. J. Comp. Phys., 231:795821, 2012.

[11] R. Marchand, Y. Miyake, H. Usui, J. Deca, G. Lapenta, J. C. Mato-Vlez, R. E. Ergun, A. Sturner, V. Gnot, A. Hilgers, and S. Markidis. Cross-comparison of spacecraft-environment interaction model predictions applied to solar probe plus near perihelion. Phys. Plasmas, 21:062901, 2014.

[12] K. Matyash, R. Schneider, R. Ikkurthi, L. Lewerentz, and A. Melzer. P 3 m simulations of dusty plasmas. Plasma Phys. Control. Fusion, 52(12):124016, 2010.

[13] W. J. Miloch. Wake effects and mach cones behind objects. Plasma Phys. Control. Fusion, 52:124004, 2010.

[14] W. J. Miloch. Numerical simulations of dust charging and wakeeld effects. J. Plasma Phys.,

80:795-801, 2014.

[15] W. J. Miloch and D. Block. Dust grain charging in a wake of other grains. Phys. Plasmas, 19:123703, 2012.

[16] W. J. Miloch, N. Gulbrandsen, L. N. Mishra, and A. Fredriksen. Ion velocity distributions in the sheath and presheath of a biased object in plasma. Phys. Plasmas, 18:083502, 2011.

[17] W. J. Miloch, N. Gulbrandsen, L. N. Mishra, and A. Fredriksen. The role of acceptance angle in measurements with ion energy analyzers: Study by numerical simulations. Appl. Phys. Lett., 97:261501, 2011.

[18] W. J. Miloch, H. L. Pecseli, and J. Trulsen. Numerical simulations of the charging of dust particles by contact with hot plasmas. Nonlin. Processes Geophys, 14:575-586, 2007.

[19] W. J. Miloch, S. V. Vladimirov, H. L. Pecseli, and J. Trulsen. Charging of insulating and conducting grains by flowing plasma and photoemission. New J. Phys., 11:043005, 2009.

[20] W. J. Miloch, S. V. Vladimirov, H. L. Pecseli, and J. Trulsen. Interaction of two elongated dust grains in flowing plasmas studied by numerical sumulations. Phys. Plasmas, 16:023703, 2009.

[21] W. J. Miloch, S. V. Vladimirov, and V. V. Yaroshenko. Complex wakes behind objects in multi-species plasmas. EPL, 101:15001, 2013.

[22] Y. Miyake and H. Usui. New electromagnetic particle simulation code for the analysis of spacecraft-plasma interactions. Phys. Plasmas., 16:062904, 2009.

[23] J. O'Rourke. Internat. J. Comput. Geom. Appl., 7:379-382, 1997.

[24] H. L. Pecseli. Waves and Oscillations in Plasmas. Boca Raton: Taylor and Francis, 2012.

[25] W. H. e. a. Press. Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press, New York, 2002.

[26] P. K. Shukla and A. A. Mamun. Introduction to Dusty Plasmas. Institute of Physics Publishing, Bristol, 2002.

[27] H. R. Skullerud. The stochastic computer simulation of ion motion in a gas subjected to a constant electric field. J. Phys. D: Appl. Phys., 1:1567-1569, 1968.

[28] V. Vahedi and M. Surendra. A monte carlo collision model for the particle-in-cell method: Applications to argon and oxygen discharges. Comp. Phys. Comm., 87:179-198, 1995.

[29] S. V. Vladimirov, S. A. Maiorov, and O. Ishihara. Molecular dynamics simulation of plasma flow around two stationary dust grains. Phys. Plasmas, 10(10):3867, Oct 2003.

[30] E. C. Whipple. Potentials of surfaces in space. Rep. Prog. Phys., 44:1197, 1981.

[31] V. V. Yaroshenko, W. J. Miloch, H. M. Thomas, and G. E. Morfill. Cassini capturing of freshly-produced water-group ions in the enceladus torus. Geophys. Res. Lett., 39:L18108, 2012.