Micro and Nano Mechanics Group

In ParaDiS, the following length parameters are important to control the discretization and tolerance of the DD simulation:

minSeg, maxSeg, rc, rTol, rmax, rann

The rann parameter can be set as an input in DDLab, but not in ParaDiS.

Default values

rc = -1.0 
maxSeg = -1.0

These are not valid values and force you to choose your own numbers for these three parameters.

After you set acceptable values for rc, the default values for rTol and rann are set as follows.

rTol = 0.25 * rc
rann = 2 * rTol

If you do not specifiy minSeg, it will be assigned a default value based on maxSeg and rTol. You can overwrite the value of rTol in the input file. But you cannot change rann.

rTol is the error tolerance in the time integrator (trapezoid method). The time step will be automatically reduced if we are making an error larger than rTol. A larger value of rTol will lead to a larger time step, but may make the simulation unstable. The default value for rTol (above) is reasonable but you may need to reduce it even further.

The acceptable value of rTol (the largest value that does not lead to instability) may depend on your choice of minSeg and maxSeg. Smaller discretization lengths will usually require a smaller rTol which will lead to a smaller time step. You are advised to conduct a convergence study of both rTol and minSeg before you trust your simulation results.

Input Checks

In Initialize.c, ParaDiS performs the following checks on the input parameters. If your input parameters do not pass these checks, Fatal error or Warning messages will be appear. If only Warning messages appears, the simulation will still continue, but you'd better know what you are doing. At the same time, passing these checks does not guarantee that your simulation will not blow up. The checks are only meant to assist you. The moral is: you'd better know what you are doing.

These are the conditions that will lead to Fatal error if violated.

maxSeg > rTol * 32 / sqrt(3)
minSeg <= 0.5 * maxSeg
maxSeg <= minCellSize * 0.49

Here are more conditions that will lead to Warning messages if violated.

rc >= 0.1
rann <= 0.5 * rc
rann <= 2.0 * rTol

If rc < 0.1, then you must specify the core energy Ecore. Otherwise, the default value for Ecore will be negative and a warning message will be printed.

rann <= 0.5 * rc is a reasonable condition, although it is not absolutely necessary. Both rann and rc represent the "thickness" of the dislocation line. If the distance between two dislocations is smaller than rann, they will be merged into one dislocation. If the distance between two dislocations is smaller than rc, their interactions will be significantly different from what is predited by singular linear elasticity theory.

The condition rann <= 0.5 * rc can be violated (if you know what you are doing), but it will be very strange if your rann value is too big. Then all your dislocations will be merged together into a single node.

A reasonable choice of rc is between 0.1 b and 1 b. If you set the length unit burgMag to be the same as b, then your value of rc is usually between 0.1 and 1.

The condition rann <= 2.0 * rTol is useless because rann is set to 2 * rTol, see above.