PLUTO
4.4-patch2
|
Set boundary conditions on particles. More...
#include "pluto.h"
Functions | |
void | Particles_Boundary (Data *d, Grid *grid) |
void | Particles_BoundaryExchange (Data *d, Grid *grid) |
void | Particles_ListToArray (Data *d) |
int | Particles_BoundaryCheck (Particle *p, Grid *grid) |
Set boundary conditions at physical boundaries and exchange particles between neighbour processors.
The function Particles_Boundary() sets boundary conditions at physical boundaries only. The function Particles_BoundaryExchange() exchanges particles between adjacent processors.
Sets physical boundary conditions on particles.
[in] | d | Pointer to PLUTO data structure. |
[in] | grid | Pointer to PLUTO grid structure. |
int Particles_BoundaryCheck | ( | Particle * | p, |
Grid * | grid | ||
) |
Check if a particle is in the ghost zones or outside the whole computational domain.
<---------> <---------> | last | | .... Active Domain .... | | last |
xb2 xb1 xb0 xe0 xe1 xe2
Here 'last' marks the very last (or first) ghost zones. If a particle lies here, then deposition may not be done correctly.
In parallel mode, exchange/duplicate particles between neighbour processor. The function is done direction-wise: if a particle escapes from the left (right) boundary it is sent to the left (right) processor. The exchange is repeated direction by direction.
[in] | d | Pointer to PLUTO data structure. |
[in] | grid | Pointer to the PLUTO grid structure. |
void Particles_ListToArray | ( | Data * | d | ) |
Convert a linked list into an array of pointers. This function must be called only after particles have been redistributed.