NUMODIS: a nodal DD code
NUMODIS is a nodal dislocation dynamics code. It is jointly developed by the SRMA-CEA (Commissariat à l’Energie Atomique), the SIMaP (Grenoble INP) and the INRIA (Bordeaux I). This code is written using an Object-oriented C++ language and runs on Linux platforms. The general algorithm used in this code is illustrated in Figure (2.2). The steps listed in this figure are repeated at each time step until the end of the simulation.
1. Nodal discretization of curvilinear dislocations present in the simulation box. Each two nodes are connected by a segment. Dislocation segments are assigned a Burgers vector, glide plane and tangential vector. Each node has a fixed number of degrees of freedom.
2. Stress calculation at the nodes of the dislocation configuration.
3. Force calculation on each dislocation segment with the help of the Peach-Koehler form. The complexity of the interaction is of order O(N2). This is because each segment in the N-body system interacts with all the other segments.
4. Velocity calculation at the nodes based on the force calculation made in step (3). Velocity depends on the form of mobility laws. In NUMODIS, in the simplest case of a linear mobility law, a set of linear equations with the form KV = F are solved to find the nodes velocity, where K is the viscosity matrix, V and F are the nodal velocity and force vectors respectively. Each node is then displaced to its new position in the simulated volume.
5. Discrete events are then treated. Such events include interaction between dislocations 53 2.1. NUMODIS: a nodal DD code or collisions of dislocations with different obstacles (other dislocations, precipitates, grain boundaries, etc.).
At each time step, the concept of power dissipation, following the concept of virtual work (see [10, 11]), is used. When a dislocation-dislocation reaction takes place, the selected reaction pace is that with the maximum power dissipation. NUMODIS 1.0 is a sequential code that runs on one processor of a computer. There is another parallel version of the code called NUMODIS 2.0. It runs on several processors using hybrid OpenMP / MPI implementation. As a result, it can simulate larger spatial and temporal scales within substantially shorter simulation time. The parallel version (NUMODIS 2.0) is however still under development and does not include all the physical models today developed in NUMODIS 1.0. This is why, in this PhD, NUMODIS 1.0 was preferred. Some details of the general algorithm are presented in sections (2.1.1-2.1.7).
Discretization of dislocation line
Dislocation lines in NUMODIS are discretized into nodes connected by segments. Two types of nodes, physical and topological nodes are considered. Physical nodes are those connecting more than two segments, or at the intersection of two segments in differentgliding planes. These nodes have a physical meaning. On the other hand, topological nodes are introduced to discretize the geometry and curvature of dislocation lines between physical nodes. Each topological node is therefore connected to two segments sharing the same Burgers vector and glide plane. Line discretization is made as follows. Straight segments are connected through a set of nodes. Each segment is assigned a Burgers vector b, a unit vector tangent to its length and a normal to the glide plane n. These vectors are essential to determine the force acting on the corresponding segment as well as the velocity of the nodes. the tangent unit vector and the normal to the glide plane n are indicated. Physical nodes are red and topological nodes are blue (after Shi 2015) . To ensure a non-redundant discretization, a pair of nodes is connected only by one segment. Furthermore, the summation of Burgers vector at physical nodes must equal zero in agreement with the Frank’s Rule . In general, the Burgers vector of segments is kept unchanged during the simulation, but it can be modified in certain cases when the segment undergoes specific reactions. This is explained in detail in section 2.2.2.
A fine discretization of a dislocation line is achieved by decreasing the distance between nodes and therefore by increasing the number of topological nodes. As the CPU calculation time increases with the number of segments, it is of importance to optimize the line discretization in simulations. In particular, regions with high stress gradients need more nodes, as certain reactions may be hindered if the dislocation curvature is not well captured while using coarse segments.
Nodal force calculation
Nodal forces are calculated to find the response of a dislocation to an external applied stress or due to its own self-stress. Nodal forces are expressed as the negative gradient of the total energy of the dislocation with respect to the segment position (cf. Equation 2.1). fi = − @Etot(ri, bij) @ri (2.1). It is convenient to split the total energy into two separate terms. The first term represents the long range elastic field and the other is the core energy. Etotal = Eelastic + Ecore (2.2).
The elastic strain energy has the dominant contribution in comparison with the core energy. In case of isotropic elasticity, the self-energy per unit length of a dislocation of an infinite straight dislocation takes the form (2.3): Eelastic() = μb2 4(1 − )(1 − cos2 ) ln(R0 r0 ).
Topological changes and operations
In DD simulation, dislocation segments interact with one another or with other radiation-induced defects. During this reactions, the length and curvature of dislocation lines evolve. Consequently to ensure a better representation of the dislocation line, the number of discretization (topological) nodes need to be modified on-the-fly.1
The key point in topological changes is the conservation of the Burgers vector. It is also important to ensure that each pair of nodes is connected by only one segment.
Topological operations in NUMODIS, as in other nodal DD codes, can be summarized into two main algorithms, merge and split algorithm. The former is used to delete an existing node. The two neighboring segments are then merged. In this process, the number of degrees of freedom is reduced. The latter is responsible for adding a node in the middle of a segment. Thus, the number of degrees of freedom is increased. All other complex topological changes (i.e., in case of junction formation) are discussed in section (2.2.2). To ensure an adequate representation of the dislocation lines in DD simulations, discretization nodes are added or deleted on-the-fly. Introduction and elimination of nodes are subjected to a simple and robust criterion. Such criterion depends on the length of the segment. Whenever the segment is longer than (Lmax), a node is added along the line
in the middle of the segment. The initial segment is therefore cut into two segments. On the other hand, if it is shorter than (Lmin) a node is deleted. If Lmin and Lmax are not carefully chosen, repetitive discretization may happen during a simulation. This is why, it is recommended to set the values of the lower and upper boundaries of the segment’s length as Lmax>2Lmin. The two discretization operations are illustrated in Figure (2.5).
Recent developments of NUMODIS
During this PhD, original developments have been made in the NUMODIS code. The aim of such development is to cope with different physical phenomena and to reproduce MD simulation conditions. In this section we present such developments.
Nodal mobility laws
In section (2.1.3), we showed earlier that Arsenlis et al. introduced a term of tangential viscosity for topological nodes to prevent spurious motion along the segments to which there are connected. Alternatively, no specific viscosity is attributed to the physical nodes. Unlike topological nodes, physical nodes are not virtual and cannot be replaced. We should remind here that physical nodes are nodes at the intersection of two or more segments of different Burgers vector or glide planes. In some reactions we observed in DD simulations, physical nodes tend to propagate rapidly. Such behavior is thought to have two origins; i) a real specific viscosity exists on physical nodes, which is not implemented in NUMODIS (this possibility is discussed in chapter 4), ii) it is the result of an ill-conditioned matrix when two dislocation segments connected by a physical node are quasi collinear. Hence, to prevent the rapid propagation of physical nodes, we proposed to assign a specific viscosity term to the physical nodes. This is analogous to the tangential viscosity added in Equation (2.15) for the topological nodes. B(l) = Bg(l)(m m) + Bc(l)(n n) + BI t I(l)( ) + BIp I(l).
Periodic boundary conditions
Periodic boundary conditions are used in most of the MD simulations to which we want to compare our DD simulations. PBC in DD are described by the existence of image replicas of the original simulation cell in the periodic direction. It also implies the ability of nodes along the dislocation line to cross the boundary and reappear from the other side. Such boundary conditions were implemented in NUMODIS code during this PhD to enable better comparison with MD simulations. Additionally, we added the possibility to go beyond the minimum-image convention for the stress field calculation and choose the number of replicas in all three directions in the input files. For example, a node on the dislocation line can interact with one or two layers of replicas of the segments in the reference volume (see Figure 3.1). Using multidimensional replicas substantially increases the simulation time, as well as the precision of the calculated stresses. In the following chapter, the minimum image convention is used by default for all simulation results.
Table of contents :
List of tables
Organization of manuscript
Chapter 1 : State of the art
1.1 Steel in the nuclear industry
1.2 Generalities on the RPV steel
1.2.1 RPV as a primary component in nuclear reactors
1.2.2 Chemical composition and heat treatment
1.2.3 Microstructure of the RPV
1.3 Mechanical behavior of RPV
1.4 Dislocations and plastic deformation
1.4.1 Dislocations in general
1.4.2 Cross-slip mechanism
1.4.3 Twinning and anti-twinning directions
1.5 Radiation-induced defects
1.5.1 Copper-rich precipitates
1.5.3 Solute Cluster
1.5.4 Radiation-induced loops
Chapter 2 : Methodology
2.1 NUMODIS: a nodal DD code
2.1.1 Discretization of dislocation line
2.1.2 Nodal force calculation
2.1.3 Nodal mobility laws
2.1.4 Time integration
2.1.5 Topological changes and operations
2.1.6 Periodic boundary conditions
2.1.7 Control modes in NUMODIS
2.2 Recent developments of NUMODIS
2.2.1 Nodal mobility laws
2.2.2 Core reactions in NUMODIS
Chapter 3 : Identification of DD model parameters
3.1 Periodic boundary conditions
3.2 Thermally activated glide
3.2.1 Double-kink model in DD simulations
3.2.2 Implementation in NUMODIS
3.2.3 Validation of the model
3.3 Line tension calibration
3.3.2 Theoretical background
3.3.3 Simulation technique
3.3.4 Simulation results
3.3.5 Discussion and concluding remarks
Chapter 4 : Confrontation of MD and DD simulations
4.1 Interaction of screw dislocation with h1 0 0i loops
4.1.1 Reactions ending with the restoration of the original loop
4.1.2 Reactions ending in a helical turn formation
4.2 Interaction of screw dislocation with 1/2[1¯11] loop
4.2.1 Reactions ending with the planarization of the original loop
4.2.2 Reactions ending with a helical turn formation
4.3 Molecular dynamics investigation
4.3.1 About the existence of viscosity on physical nodes
4.3.2 Cross-slip and twinning mechanisms in -iron