OptiDis

a parallel large scale Dislocation Dynamics simulation code.

Home Gallery Videos Poster Contacts

Overview

OptiDis is an initiative to build a code for large scale Dislocation Dynamics (DD) simulations over manycore architectures. Its aim is to simulate real life dislocation densities (up until 5e22 dislocations / m3 ) in order to understand plastic deformation and study strain hardening. The main application is to observe and understand plastic deformation on irradiated zirconium. Zirconium alloys is the first containment barrier against the dissemination of radioactive elements. More precisely, with neutron irradiated zirconium alloys we are talking of channeling mechanism, which mean that in order to remain close to reality one needs to simulate more than tens of thousands of induced loops, i.e. about 100 million degrees of freedom.

The code is based on Numodis code (developed at CEA Saclay) and the ScalFMM library developed in our Inria project. The code is written in C++ language and using the last features of C++11. One of the main aspects is the hybrid parallelism MPI/OpenMP that gives the software the ability to scale on large clusters while the computation load rise. In order to achieve that, we use different level of parallelism. First of all, the simulation box is spread over MPI process, we then use a thinner level for threads, dividing the domain using an Octree representation. All theses parts are driven by the ScalFMM library. On the last level our data are stored in an adaptive structure absorbing dynamic of this kind of simulation and handling well task parallelism. ScalFMM is a software library to simulate N-body interactions using the Fast Multipole Method. This is a kernel independent fast multipole method based on interpolation (Chebyshev or Lagrange).

Fundings

The project is partially funded by the ANR cosinus program, grant number ANR-10-COSI-0011.

junction in
             big run

Illustration of an advanced DD simulation performed by OptiDis.

The force field is represented at a junction between four arms.