Micro and Nano Mechanics Group

This page lists the current known bugs in the different ParaDiS public releases.

Contents

General bugs

Bug 1. Cell ownership

As the numbers of cells and numbers of processors are changed, ownership or nodes/segments can alter which may result in segments changing the cells into which they are accounted... and hence alter results. So for a small test case, forces may be perfectly correct in serial but slightly off in parallel using cells (option FULL_N2Forces turned off).

On a large simulation the results should be insignificant, but on small simulations with very few dislocations, differences are more noticable.

Bug 2. Segfault with X-window

Not really a bug, but a suggestion. When an X-window cannot be opened sucessfully the code exits with a segmentation fault. Should be able to add a descriptive message and a break instead.

Bug 3. Input files created in DOS system

When ParaDiS input files (control and data files) are created in a DOS system (MS-DOS or Windows), the input files sometimes cannot be executed even though the files look okay in your editor of your linux system. For example, when you create input files using 'create_dislocation.f' in your DOS (or Windows) system, the hidden character, which is ^M, is embedded at the end of each line in your files. This character is sometimes shown or not shown in your editor. If it is shown, the input files look as the following.

### ParaDis nodal file (create_dislocation.f)^M
### S.A. (10/29/07)###^M
^M
#File version number^M
2^M
^M
#Number of data file segments^M
1^M
#Minimum coordinate values (x, y, z)^M
  -18348.6238532110       -18348.6238532110       -18348.6238532110^M     
#Maximum coordinate values (x, y, z)^M
   18348.6238532110        18348.6238532110        18348.6238532110^M     
^M
#Node count^M
          54^M
#Domain geometry (x, y, z)^M
1 1 1^M
...
...

When the character ^M is not shown, it is frustrating because the input files look perfect, ParaDiS canot execute these inputs with ^Ms and shows the errors such as

...
Error: Expected '=' in parameter assignment 
Fatal: Error obtaining values for parameter ) is produced.
...

We can remove this hidden character ^Ms simply using the command "dos2unix". This command erase all ^Ms in your files. Just run dos2unix (your-input-file-name), Then, the input files can be executed.

Bug 4. White space in makefile.setup

Make sure there is no white space after your specification of the 'SYS' variable, e.g.

SYS = gcc

If there is a white space following gcc then the code won't compile.

ParaDiS v2.5.1

Bug 1. FCC_0 Mobility law with useLabFrame

A bug in ParaDiS v2.5.1 is known to prevent dislocation motion when the mobility FCC_0 is used and the crystal is rotated using option useLabFrame = 1 (Note: there is no bug when the crystal is not rotated).

To fix this bug, lines 111-112 in file src/MobilityLaw_FCC_0.c

if ( (fabs(fabs(node->nx[i]) - fabs(node->ny[i])) > FFACTOR_NORMAL) ||
     (fabs(fabs(node->ny[i]) - fabs(node->nz[i])) > FFACTOR_NORMAL) )

need to be replaced by the following lines:

if ( (fabs(fabs(normX[i]) - fabs(normY[i])) > FFACTOR_NORMAL) ||
     (fabs(fabs(normY[i]) - fabs(normZ[i])) > FFACTOR_NORMAL) )

Bug 2. Cross-slip in FCC

A bug in ParaDiS v2.5.1 affects the cross-slip procedure in FCC crystals when cross-slip is enabled (default). The bug arises from the fact that the shearModulus parameter controlling the threshold for noise level is not initialized within the CrossSlipFCC function.

To fix this bug, the following line must be added after line 78 in file src/CrossSlipFCC.c

shearModulus = param->shearModulus;

Once corrected, lines 74-79 in file src/CrossSlipFCC.c should look like

eps = 1.0e-06;
thetacrit = 2.0 / 180.0 * M_PI;
sthetacrit = sin(thetacrit);
s2thetacrit = sthetacrit * sthetacrit;
areamin = param->remeshAreaMin;
shearModulus = param->shearModulus;

ParaDiS v2.3.5

Bug 1. Gcc with v2.3.5

Segmentation fault occurs with v2.3.5s and v.2.3.5.1 when compiling with GCC on Ubuntu and running codes with FMM. The error when compiling using -03 optimization in serial or parallel (cc -O3 or mpicc -03). Appears to be specific to -03 and doesn't occur for -02 or -g, for example. -03 works properly when using Rijm tables.

This doesn't occur with the older version of ParaDiS in the subversion (~2.2.3 or 2.2.6?).

Details of error:

Initialize: Control file parsing complete
Generating uniform domain decomposition.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff732896d in ?? () from /lib/libc.so.6
(gdb) backtrace
#0  0x00007ffff732896d in ?? () from /lib/libc.so.6
#1  0x00007ffff732b424 in calloc () from /lib/libc.so.6
#2  0x0000000000448911 in ReadNodeDataFile ()
#3  0x000000000042dcd4 in Initialize ()
#4  0x000000000040e321 in ParadisInit ()
#5  0x000000000040185a in main ()


ParaDiS v2.0

Bug 1. Serial mode in v2.0

If you download the standard distribution of ParaDiS pub-dd3d.v2.0.tar.gz, you will not be able to compile and run it in SERIAL mode. The fix to this problem is described below.

You need to download these three files (available on ParaDiS download site):

makefile.sys
makefile.setup
ReadConfig.c

This will allow you to use SYS = i386 or SYS = cygwin and MODE = SERIAL in makefile.setup.

The SYS = i386 option requires intel compiler icc. If you do not have this compiler, you can modify the makefile.sys file to use a different compiler.

We are working to enable the SYS = mac option. Please come back soon.

If your computer does not allow opening of X-window, then you need to set enable_window = 0 in your win.script file. This is also necessary if you submit your job to a queue in a cluster, because you won't be able to open an interactive window there.