Modern graphics cards offer enormous computational capabilities for scientific computing with minimal costs. We are using this technology for phase field and amplitude equations simulations on a regular basis, with a gain of efficiency by up to a factor 250 in comparison to a single core CPU computation. This tremendous speedup is extremely valuable, as it reduces the time for individual simulations to finish drastically and therefore leads to much shorter development cycles also for new codes and applications to new problems.
Phase field modeling
A challenging problem in materials science are problems like solidification, melting or the kinetics also of more general phase transformation processes. One of the major difficulties is the motion of phase boundaries, which separate domains with very different physical behavior like different diffusivities, heat transport, elastic response etc.. Furthermore, e.g. during solidification latent heat is released at the moving fronts, therefore heating up the system. As the arising interface morphologies are very complex (for example dendrites), the tracking of the interfaces during a numerical simulation is challenging.
Here, phase field methods are a convenient way to overcome this difficulty, as they avoid this tracking procedure. Instead, an order parameter discriminates between the different phases - it can for example be 1 in the solid and 0 in the liquid phase. At the interface, this quantity smoothly interpolates between these bulk values. The major advantage is now that the evolution of this order parameter can be described by partial differential equations, which are supplemented by other equations e.g. for the solute diffusion or elastic equilibria. A tracking of the interfaces is no longer needed. Nevertheless, the interface locations can a posteriori be reproduced from the phase field evolution.
On the computational level the phase field equations can efficiently be parallelized e.g. using the message passing interface (MPI). Alternatively, a numerical solution using graphic cards is possible. In contrast to CPU parallelization we typically use one thread per lattice point of the simulation, thus leading to a large number of parallel executions. For an efficient treatment it is important to keep all data entirely on the graphics card, in order to avoid time-consuming memory transfer to the CPU. This allows to perform simulations with reasonable system sizes on consumer graphics cards.
Amplitude equations modeling
Another application are amplitude equations simulations, which we use e.g. for the simulation of grain boundary dynamics. These methods are related to phase field simulations, but allow to reconstruct the atomic positions and therefore to intrinsically describe lattice defects, elastic deformations and misoriented crystals at grain boundaries. On the technical level, these models are described by higher order complex partial differential equations, which can be solved efficiently using pseudospectral methods. The underlying fast Fourier tranformations are performed on the graphics cards. We obtain here speedup factors up to 250 in comparison to single core CPU computations.