Particle method

Particle methods is a widely used class of numerical algorithms in scientific computing.

Its application ranges from computational fluid dynamics (CFD) over molecular dynamics (MD) to discrete element methods.

[1] Libersky et al.[2] were the first to apply SPH in solid mechanics.

The main drawbacks of SPH are inaccurate results near boundaries and tension instability that was first investigated by Swegle.

[3] In the 1990s a new class of particle methods emerged.

The reproducing kernel particle method[4] (RKPM) emerged, the approximation motivated in part to correct the kernel estimate in SPH: to give accuracy near boundaries, in non-uniform discretizations, and higher-order accuracy in general.

Notably, in a parallel development, the Material point methods were developed around the same time[5] which offer similar capabilities.

During the 1990s and thereafter several other varieties were developed including those listed below.

The following numerical methods are generally considered to fall within the general class of "particle" methods.

The mathematical definition of particle methods captures the structural commonalities of all particle methods.

[6] It, therefore, allows for formal reasoning across application domains.

Second, the definition of a particle method instance.

A particle method instance describes a specific problem or setting, which can be solved or simulated using the particle method algorithm.

Third, the definition of the particle state transition function.

The state transition function describes how a particle method proceeds from the instance to the final state using the data structures and functions from the particle method algorithm.

[6] A particle method algorithm is a 7-tuple

{\displaystyle {\begin{aligned}&P:=A_{1}\times A_{2}\times ...\times A_{n}&&{\text{the particle space,}}\\&G:=B_{1}\times B_{2}\times ...\times B_{m}&&{\text{the global variable space,}}\end{aligned}}}

is the state space of the particle method, and five functions:

the evolve function of the global variable.

An initial state defines a particle method instance for a given particle method algorithm

The instance consists of an initial value for the global variable

In a specific particle method, the elements of the tuple

Given a specific starting point defined by an instance

Each iteration corresponds to one state transition step

that advances the current state of the particle method

generates a series of state transition steps until the stopping function

The state transition function is identical for every particle method.

The state transition function is defined as

The pseudo-code illustrates the particle method state transition function: The fat symbols are tuples,

is the concatenation of the particle tuples, e.g.