PARADISCYL:Test-Run: Difference between revisions

From Micro and Nano Mechanics Group
Jump to navigation Jump to search
No edit summary
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<H1 ALIGN="CENTER"><FONT SIZE="-1">Manual 02 for ParaDiS Cylinder Codes</FONT>
<H1 ALIGN="CENTER"><FONT SIZE="-1">Manual 02 for ParaDiS Cylinder Codes</FONT>
<BR>
<br><br>
How to run test simulations</H1>
How to run test simulations</H1>
<DIV>
<DIV>


This document describes the extension of the ParaDiS program that implements the cylindrical free surface boundary condition. This extension is based on Weinberger and Cai, J. Mech. Phys. Solids, 55, 2027 (2007)([http://micro.stanford.edu/~caiwei/papers/Weinberger07jmps-image.pdf PDF]). The code is written by Chris Weinberger and Wei Cai and is not included in the standard distribution of ParaDiS. Keonwook Kang wrote the first draft of this document, which was later revised by Chris Weinberger and Wei Cai. Questions on this document should be addressed to [[Chris Weinberger]]. Please read the manual of ParaDiS before reading this document.
<P ALIGN="CENTER"><STRONG>Keonwook Kang and Wei Cai</STRONG></P>
</DIV>
<P ALIGN="CENTER">Original date : [[ Oct 2 ]], [[2008]]</P>
<P ALIGN="CENTER">Latest update on [[ Oct 2 ]], [[2008]]</P>
<P>
<BR><HR>
<!--Table of Child-Links-->


== Run a Test Case ==


The command line to run the ParaDiS Cylinder code is the same as that of the original ParaDiS code. See [[Overview of ParaDiS 2.2#Executing ParaDiS|ParaDiS manual]] for details. The command line format is:

== Run command ==

The ParaDis Cylinder command line format is exactly same with that of the original ParaDiS codes. Refer the [[Overview of ParaDiS 2.2#Executing ParaDiS|ParaDiS manual]] for detail.
The line format is:


paradiscyl [-r <numCycles>] [-d dataFile] <controlFile>
paradiscyl [-r <numCycles>] [-d dataFile] <controlFile>
Line 46: Line 37:
</TR>
</TR>
</TABLE>
</TABLE>

=== Examples ===


Run the following control file, which simulates a dislocation loop inside a cylinder. You will need two input files: one is control file ('''concentric_loop_test.ctrl''') and the other is data file ('''concentric_loop_test.data'''). Both files are shown below. See [[Overview of ParaDiS 2.2#Inputs|here]] for details about input files.
Run the following control file, which simulates a dislocation loop inside a cylinder. You will need two input files: one is control file ('''concentric_loop_test.ctrl''') and the other is data file ('''concentric_loop_test.data'''). Both files are shown below. See [[Overview of ParaDiS 2.2#Inputs|here]] for details about input files.
Line 53: Line 42:
$ bin/paradiscyl runs/concentric_loop_test.ctrl
$ bin/paradiscyl runs/concentric_loop_test.ctrl


This run requires the following two input files.
If you see a new pop-up window shown in Fig.1, you are ready to exploit this tool.

[[media:concentric_loop_test.ctrl.txt‎ | concentric_loop_test.ctrl]]
[[media:concentric_loop_test.data‎.txt | concentric_loop_test.data]]

If your run is successful, you should see a pop-up window as shown below.


<gallery widths="300px" heights="300px" perrow="1">
<gallery widths="300px" heights="300px" perrow="1">
Image:Paradis-cyl-testrun.jpg |Fig.1 ParaDiS Cylinder Codes Test Run
Image:Paradis-cyl-testrun.jpg |Fig.1 ParaDiS Cylinder Codes Test Run. A dislocation loop in a cylinder
</gallery>
</gallery>


--------
concentric_loop_test.ctrl
<pre>
### DD3d configuration file (use -*-shell-script-*- format)
#
# input file to be used in conjunction with
# the concentric_loop_test.data file.
#


== X Window Control ==
#Directory to write output files
dirname = "outputs/concentric_loop_test"


Default X Window '''control parameters''' are given in the file '''inputs/paradis.xdefaults'''.
#Input files for PBC image stresses
You can change window size, line width, rotation of angles, ''etc'' by modifying this file.
Rijmfile = "inputs/Rijm.cube.out"
RijmPBCfile = "inputs/RijmPBC.cube.out"


The '''3D View''' in the X Window can be manipulated by both mouse and keyboard. For example, press r (default) and then move mouse to rotate the object, press s and then move mouse to scale the object. A complete list of hot keys are given below.
#Total simulation steps
maxstep = 100

#The total number of CPUs should be numXdoms * numYdoms * numZdoms
numXdoms = 1
numYdoms = 1
numZdoms = 1

#Cells for dislocation grouping (cannot be less than 3)
numXcells = 3
numYcells = 3
numZcells = 3

#Fast multipole method specs.
fmEnabled = 0 #disable fast multipole
fmMPOrder = 2
fmTaylorOrder = 4
fmCorrectionTbl = "inputs/fm-ctab.m2.t4.dat"

timestepIntegrator = "backward-euler"

# This is necessary! not really repeated from data file!
xBoundMin = -3.0e0
xBoundMax = 3.0e0
yBoundMin = -3.0e0
yBoundMax = 3.0e0
zBoundMin = -3.0e0
zBoundMax = 3.0e0

#Boundary Conditions
xBoundType = 1 #Free
yBoundType = 1 #Free
zBoundType = 1 #Free

#fundamental length unit
#burgMag = 2.725e-10 #(in m)
burgMag = 1.0e0

#Elastic constants
shearModulus = 1.0e+0
pois = 3.050000e-01

#Mobility Law Function
mobilityLaw = "BCC_0a"
MobScrew = 1e0
MobEdge = 1e1
MobClimb = 1e-8
CheckScrew = 0.95

#Remesh Rule
remeshRule = 2

#Discretization
minSeg = 3.000000e-03
maxSeg = 1.000000e-01

maxDT = 1.000000e+02

#Maximum nodal displacement at each time step
rmax = 1e0

#Core cut-off radius
rc = 1.0e-3

#Core energy
Ecore = 0.0e+0

#Turn on elastic interaction
elasticinteraction = 1

#Applied stress in Pa (xx,yy,zz,yz,zx,xy)
#appliedStress = [ 0. 0. -9e+0 0. 0. 0. ]
#appliedStress = [ 0 0 0 0 -3e0 0 ]
appliedStress = [ 0 0 0 0 0 0 ]

loadType = 0
indxErate = 2
edotdir = [ 0 0 1 ]
eRate = 150

#Output specs.
savecn = 1
savecnfreq = 10
savecndt = -1.000000e+00
savecntime = 0.000000e+00
savecncounter = 0

saveprop = 1
savepropfreq = 10
savepropdetail = 100
savepropdt = -1.000000e+00
saveproptime = 0.000000e+00

armfile = 1
armfiledt = 1e-3
#Binary restart files
binrestart = 0 #write text instead of binary restart file
binfile = ""
</pre>

concentric_loop_test.data
<pre>
#
# ParaDiS nodal data file (by create_loop_data.tcl)
#
#
# File version number
#
2
#
# Number of data file segments
#
1
#
# Minimum coordinate values (x, y, z)
#

-3 -3 -3
#
# Maximum coordinate values (x, y, z)
#
3 3 3
#
# Node count
#
50
#
# Domain geometry (x, y, z)
#
1 1 1
#
# Domain boundaries (x, y, z)
#
-3
-3
-3
3
3
3
#
# Primary lines: node_tag, x, y, z, num_arms, constraint
# Secondary lines: arm_tag, burgx, burgy, burgz, nx, ny, nz
#
# length in unit of burgMag
10,0 7.9369176105158235e-01 1.0026658685144341e-01 0 2 0
10,1 1 0 0
0 0 1
10,49 -1 0 0
0 0 1
10,1 7.7486652890290486e-01 1.9895190973188384e-01 0 2 0
10,2 1 0 0
0 0 1
10,0 -1 0 0
0 0 1
10,2 7.4382118871060121e-01 2.9449964214774232e-01 0 2 0
10,3 1 0 0
0 0 1
10,1 -1 0 0
0 0 1
10,3 7.0104534403509089e-01 3.8540293928137226e-01 0 2 0
10,4 1 0 0
0 0 1
10,2 -1 0 0
0 0 1
10,4 6.4721359549995805e-01 4.7022820183397851e-01 0 2 0
10,5 1 0 0
0 0 1
10,3 -1 0 0
0 0 1
10,5 5.8317490193712929e-01 5.4763768474295094e-01 0 2 0
10,6 1 0 0
0 0 1
10,4 -1 0 0
0 0 1
10,6 5.0993919179895186e-01 6.1641059422063149e-01 0 2 0
10,7 1 0 0
0 0 1
10,5 -1 0 0
0 0 1
10,7 4.2866143598319728e-01 6.7546234040161213e-01 0 2 0
10,8 1 0 0
0 0 1
10,6 -1 0 0
0 0 1
10,8 3.4062343325205813e-01 7.2386164197281566e-01 0 2 0
10,9 1 0 0
0 0 1
10,7 -1 0 0
0 0 1
10,9 2.4721359549995797e-01 7.6084521303612285e-01 0 2 0
10,10 1 0 0
0 0 1
10,8 -1 0 0
0 0 1
10,10 1.4990505166857981e-01 7.8582980058295093e-01 0 2 0
10,11 1 0 0
0 0 1
10,9 -1 0 0
0 0 1
10,11 5.0232415623450821e-02 7.9842138274261731e-01 0 2 0
10,12 1 0 0
0 0 1
10,10 -1 0 0
0 0 1
10,12 -5.0232415623450724e-02 7.9842138274261731e-01 0 2 0
10,13 1 0 0
0 0 1
10,11 -1 0 0
0 0 1
10,13 -1.4990505166857970e-01 7.8582980058295104e-01 0 2 0
10,14 1 0 0
0 0 1
10,12 -1 0 0
0 0 1
10,14 -2.4721359549995769e-01 7.6084521303612296e-01 0 2 0
10,15 1 0 0
0 0 1
10,13 -1 0 0
0 0 1
10,15 -3.4062343325205818e-01 7.2386164197281566e-01 0 2 0
10,16 1 0 0
0 0 1
10,14 -1 0 0
0 0 1
10,16 -4.2866143598319750e-01 6.7546234040161202e-01 0 2 0
10,17 1 0 0
0 0 1
10,15 -1 0 0
0 0 1
10,17 -5.0993919179895186e-01 6.1641059422063149e-01 0 2 0
10,18 1 0 0
0 0 1
10,16 -1 0 0
0 0 1
10,18 -5.8317490193712906e-01 5.4763768474295105e-01 0 2 0
10,19 1 0 0
0 0 1
10,17 -1 0 0
0 0 1
10,19 -6.4721359549995794e-01 4.7022820183397862e-01 0 2 0
10,20 1 0 0
0 0 1
10,18 -1 0 0
0 0 1
10,20 -7.0104534403509089e-01 3.8540293928137220e-01 0 2 0
10,21 1 0 0
0 0 1
10,19 -1 0 0
0 0 1
10,21 -7.4382118871060110e-01 2.9449964214774255e-01 0 2 0
10,22 1 0 0
0 0 1
10,20 -1 0 0
0 0 1
10,22 -7.7486652890290486e-01 1.9895190973188420e-01 0 2 0
10,23 1 0 0
0 0 1
10,21 -1 0 0
0 0 1
10,23 -7.9369176105158223e-01 1.0026658685144363e-01 0 2 0
10,24 1 0 0
0 0 1
10,22 -1 0 0
0 0 1
10,24 -8.0000000000000004e-01 9.7968508305790183e-17 0 2 0
10,25 1 0 0
0 0 1
10,23 -1 0 0
0 0 1
10,25 -7.9369176105158235e-01 -1.0026658685144343e-01 0 2 0
10,26 1 0 0
0 0 1
10,24 -1 0 0
0 0 1
10,26 -7.7486652890290497e-01 -1.9895190973188367e-01 0 2 0
10,27 1 0 0
0 0 1
10,25 -1 0 0
0 0 1
10,27 -7.4382118871060121e-01 -2.9449964214774232e-01 0 2 0
10,28 1 0 0
0 0 1
10,26 -1 0 0
0 0 1
10,28 -7.0104534403509078e-01 -3.8540293928137231e-01 0 2 0
10,29 1 0 0
0 0 1
10,27 -1 0 0
0 0 1
10,29 -6.4721359549995827e-01 -4.7022820183397818e-01 0 2 0
10,30 1 0 0
0 0 1
10,28 -1 0 0
0 0 1
10,30 -5.8317490193712940e-01 -5.4763768474295071e-01 0 2 0
10,31 1 0 0
0 0 1
10,29 -1 0 0
0 0 1
10,31 -5.0993919179895164e-01 -6.1641059422063149e-01 0 2 0
10,32 1 0 0
0 0 1
10,30 -1 0 0
0 0 1
10,32 -4.2866143598319706e-01 -6.7546234040161224e-01 0 2 0
10,33 1 0 0
0 0 1
10,31 -1 0 0
0 0 1
10,33 -3.4062343325205774e-01 -7.2386164197281588e-01 0 2 0
10,34 1 0 0
0 0 1
10,32 -1 0 0
0 0 1
10,34 -2.4721359549995806e-01 -7.6084521303612285e-01 0 2 0
10,35 1 0 0
0 0 1
10,33 -1 0 0
0 0 1
10,35 -1.4990505166857970e-01 -7.8582980058295104e-01 0 2 0
10,36 1 0 0
0 0 1
10,34 -1 0 0
0 0 1
10,36 -5.0232415623450571e-02 -7.9842138274261731e-01 0 2 0
10,37 1 0 0
0 0 1
10,35 -1 0 0
0 0 1
10,37 5.0232415623450266e-02 -7.9842138274261731e-01 0 2 0
10,38 1 0 0
0 0 1
10,36 -1 0 0
0 0 1
10,38 1.4990505166857943e-01 -7.8582980058295104e-01 0 2 0
10,39 1 0 0
0 0 1
10,37 -1 0 0
0 0 1
10,39 2.4721359549995781e-01 -7.6084521303612296e-01 0 2 0
10,40 1 0 0
0 0 1
10,38 -1 0 0
0 0 1
10,40 3.4062343325205746e-01 -7.2386164197281599e-01 0 2 0
10,41 1 0 0
0 0 1
10,39 -1 0 0
0 0 1
10,41 4.2866143598319745e-01 -6.7546234040161202e-01 0 2 0
10,42 1 0 0
0 0 1
10,40 -1 0 0
0 0 1
10,42 5.0993919179895142e-01 -6.1641059422063171e-01 0 2 0
10,43 1 0 0
0 0 1
10,41 -1 0 0
0 0 1
10,43 5.8317490193712895e-01 -5.4763768474295116e-01 0 2 0
10,44 1 0 0
0 0 1
10,42 -1 0 0
0 0 1
10,44 6.4721359549995794e-01 -4.7022820183397873e-01 0 2 0
10,45 1 0 0
0 0 1
10,43 -1 0 0
0 0 1
10,45 7.0104534403509056e-01 -3.8540293928137292e-01 0 2 0
10,46 1 0 0
0 0 1
10,44 -1 0 0
0 0 1
10,46 7.4382118871060121e-01 -2.9449964214774232e-01 0 2 0
10,47 1 0 0
0 0 1
10,45 -1 0 0
0 0 1
10,47 7.7486652890290486e-01 -1.9895190973188429e-01 0 2 0
10,48 1 0 0
0 0 1
10,46 -1 0 0
0 0 1
10,48 7.9369176105158223e-01 -1.0026658685144373e-01 0 2 0
10,49 1 0 0
0 0 1
10,47 -1 0 0
0 0 1
10,49 8.0000000000000004e-01 -1.9593701661158037e-16 0 2 0
10,0 1 0 0
0 0 1
10,48 -1 0 0
0 0 1
</pre>
--------


== Visualization Window control ==
Hot keys to manipulate the object displayed in the X window in Fig.1. For example, press r and then use arrow keys to rotate the object.
<pre>
<pre>
YWindow: yview:
YWindow: yview:
Line 517: Line 92:
----
----


== Tcl script to generate data file ==
== Tcl script to generate input data ==


In ParaDiS/tools directory, there is a tcl script '''create_loop_data.tcl'''. By typing the following commnad,
The input data file '''concentric_loop_test.data''' is generated by the tcl script[[media:create_loop_data.tcl.txt | create_loop_data.tcl]] in the ParaDiS/tools directory, which can run by typing


$ tools/create_loop_data.tcl
$ tools/create_loop_data.tcl


You can easily modify this tcl script to change the resulting input dislocation structure, such as the radius of the dislocation loop.
you will get the data file '''concentric_loop_test.data''' automatically.
By manipulating this tcl script, you can easily create a data file for your own ParaDiS simulation.


----
create_loop_data.tcl


== Problems and solutions ==
<pre>
#!/usr/bin/tclsh


=== Cannot open shared library libgsl ===
#Read status variable from the first argument (if any)
if { $argc == 0 } {
set status 0
} elseif { $argc > 0 } {
set status [lindex $argv 0]
}
puts "status = $status"


Sometimes the code may compile successfully but throws the following error message when you try to run it.
set datafile "runs/concentric_loop_test.data"
./bin/paradiscyl: error while loading shared libraries: libgsl.so.0: cannot open
set version_number 2
shared object file: No such file or directory
set filesegments_number 1
This means you need to specify the path to the GSL libraries, which are dynamically linked to the executable. For example, if your GSL library files are located in /usr/local/lib, then you can add the following line in your '''~/.bash_profile''' file


LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/
set L 6
set cylinder_radius [expr $L/6]
set loop_rel_radius 0.8
set loop_radius [expr $cylinder_radius * $loop_rel_radius]


and then type
set xBoundMin [expr -$L/2]
set yBoundMin [expr -$L/2]
set zBoundMin [expr -$L/2]
set xBoundMax [expr $L/2]
set yBoundMax [expr $L/2]
set zBoundMax [expr $L/2]


source ~/.bash_profile
set nodes_number 50


=== Error in opening input file ===
set burg_x 1
set burg_y 0
set burg_z 0


When ParaDiS can not locate input files, it shows the following error message.
set normal_x 0
Fatal: ReadControlFile: Error 2 opening file XXXX
set normal_y 0
Check whether you gave the correct path for your input file.
set normal_z 1


<!--
set domainID 10
=== Overflow error ===


Currently, if you declare '''DEFS += -D_CYLMETHOD1''' in '''makefile''', ParaDiS issues the following error message.
set fileID [open $datafile w]
gsl: bessel_In.c:202: ERROR: overflow
Default GSL error handler invoked.
Aborted
Do not use method 1 temporarily.
THIS ISSUE IS RESOLVED.
-->


=== Underflow error ===
puts $fileID "#"
puts $fileID "# ParaDiS nodal data file (by create_loop_data.tcl) "
puts $fileID "#"
puts $fileID " "
puts $fileID "#"
puts $fileID "# File version number"
puts $fileID "#"
puts $fileID " "
puts $fileID "$version_number"
puts $fileID " "
puts $fileID "#"
puts $fileID "# Number of data file segments"
puts $fileID "#"
puts $fileID " "
puts $fileID "$filesegments_number"
puts $fileID " "
puts $fileID "#"
puts $fileID "# Minimum coordinate values (x, y, z)"
puts $fileID "#"
puts $fileID ""
puts $fileID "$xBoundMin $yBoundMin $zBoundMin "
puts $fileID " "
puts $fileID "#"
puts $fileID "# Maximum coordinate values (x, y, z)"
puts $fileID "#"
puts $fileID " "
puts $fileID "$xBoundMax $yBoundMax $zBoundMax "
puts $fileID " "
puts $fileID "#"
puts $fileID "# Node count"
puts $fileID "#"
puts $fileID " "
puts $fileID "$nodes_number "
puts $fileID " "
puts $fileID "#"
puts $fileID "# Domain geometry (x, y, z)"
puts $fileID "#"
puts $fileID " "
puts $fileID "1 1 1 "
puts $fileID " "
puts $fileID "#"
puts $fileID "# Domain boundaries (x, y, z)"
puts $fileID "#"
puts $fileID " "
puts $fileID " $xBoundMin"
puts $fileID " $yBoundMin"
puts $fileID " $zBoundMin"
puts $fileID " $zBoundMax"
puts $fileID " $yBoundMax"
puts $fileID " $xBoundMax"
puts $fileID "#"
puts $fileID "# Primary lines: node_tag, x, y, z, num_arms, constraint"
puts $fileID "# Secondary lines: arm_tag, burgx, burgy, burgz, nx, ny, nz"
puts $fileID "#"
puts $fileID "# length in unit of burgMag"
puts $fileID " "


In the old version of Cylinder code, you may get an underflow error message. This can be avoided by downloading the latest version or by inserting the following line into '''cylinder/gridstress.c'''


gsl_set_error_handler_off();
set minus_burg_x [expr -$burg_x]
set minus_burg_y [expr -$burg_y]
set minus_burg_z [expr -$burg_z]


You also need to include the following header file at the beginning of '''gridstress.c'''.
set Pi 3.1415926535897931


#include <gsl/gsl_errno.h>
for {set n 0} {$n < $nodes_number} {incr n 1} {
set x [format %22.16e [expr $loop_radius*cos(2*$Pi*($n+1.0)/$nodes_number)]]
set y [format %22.16e [expr $loop_radius*sin(2*$Pi*($n+1.0)/$nodes_number)]]
set z 0
set arms_number 2
set flag 0
set n1 [expr $n+1]
set n2 [expr $n-1]
if { $n1 == $nodes_number } { set n1 0 }
if { $n2 == -1 } { set n2 [expr $nodes_number - 1 ] }

puts $fileID " $domainID,$n $x $y $z $arms_number $flag"
puts $fileID " $domainID,$n1 $burg_x $burg_y $burg_z "
puts $fileID " $normal_x $normal_y $normal_z"
puts $fileID " $domainID,$n2 $minus_burg_x $minus_burg_y $minus_burg_z "
puts $fileID " $normal_x $normal_y $normal_z"
}

close $fileID

puts "$datafile created."
puts "bye."

</pre>
----

== Problems and solutions ==

./bin/paradiscyl: error while loading shared libraries: libgsl.so.0: cannot open
shared object file: No such file or directory

Fatal: ReadControlFile: Error 2 opening file XXXX

gsl: bessel_In.c:202: ERROR: overflow
Default GSL error handler invoked.
Aborted


== Notes ==
== Notes ==

Latest revision as of 17:02, 27 October 2008

Manual 02 for ParaDiS Cylinder Codes

How to run test simulations

This document describes the extension of the ParaDiS program that implements the cylindrical free surface boundary condition. This extension is based on Weinberger and Cai, J. Mech. Phys. Solids, 55, 2027 (2007)(PDF). The code is written by Chris Weinberger and Wei Cai and is not included in the standard distribution of ParaDiS. Keonwook Kang wrote the first draft of this document, which was later revised by Chris Weinberger and Wei Cai. Questions on this document should be addressed to Chris Weinberger. Please read the manual of ParaDiS before reading this document.

Run a Test Case

The command line to run the ParaDiS Cylinder code is the same as that of the original ParaDiS code. See ParaDiS manual for details. The command line format is:

paradiscyl [-r <numCycles>] [-d dataFile] <controlFile>

where:

      <ctrlFile>       Specifies the name of the ParaDiS control parameter file
      -d <dataFile>       Specifies the base name of the file(s) containing the nodal data for the run. If this file name is not supplied, the code looks for a data file named the same as the control file with the file name suffix (if any) replaced with ".data"
      -r  <numCycles>       Causes the code to execute a series of <numCycles> cycles during which no force calculations or dislocation movement will occur. These cycles will be used strictly for load-balancing purposes and will be done before the normal cycles. This can be useful when a simulation is started with a uniform domain decomposition and needs time to converge on an optimal decomposition as would occur when restarting a simulation on a different number of cpus

Run the following control file, which simulates a dislocation loop inside a cylinder. You will need two input files: one is control file (concentric_loop_test.ctrl) and the other is data file (concentric_loop_test.data). Both files are shown below. See here for details about input files.

$ bin/paradiscyl runs/concentric_loop_test.ctrl

This run requires the following two input files.

concentric_loop_test.ctrl concentric_loop_test.data

If your run is successful, you should see a pop-up window as shown below.


X Window Control

Default X Window control parameters are given in the file inputs/paradis.xdefaults. You can change window size, line width, rotation of angles, etc by modifying this file.

The 3D View in the X Window can be manipulated by both mouse and keyboard. For example, press r (default) and then move mouse to rotate the object, press s and then move mouse to scale the object. A complete list of hot keys are given below.

YWindow: yview:
Mouse drag to rotate
Hot Keys:
F1        : display this message
Up        : rotate up
Down      : rotate down
Left      : rotate left
Right     : rotate right
PgUp      : rotate counterclockwise
PgDn      : rotate clockwise
Home      : back to initial viewpoint
Space     : stop rotate
p         : toggle pause
t         : translation
s         : scaling
d         : move projection infinity point
r         : rotation
f         : toggle pbc enableness
m         : toggle drawframe
g         : pbc glide
x         : pbc shift in x
y         : pbc shift in y
z         : pbc shift in z
w         : print window specification
F9        : output gif
F10       : output postscript

Tcl script to generate input data

The input data file concentric_loop_test.data is generated by the tcl script create_loop_data.tcl in the ParaDiS/tools directory, which can run by typing

$ tools/create_loop_data.tcl

You can easily modify this tcl script to change the resulting input dislocation structure, such as the radius of the dislocation loop.


Problems and solutions

Cannot open shared library libgsl

Sometimes the code may compile successfully but throws the following error message when you try to run it.

./bin/paradiscyl: error while loading shared libraries: libgsl.so.0: cannot open
shared object file: No such file or directory

This means you need to specify the path to the GSL libraries, which are dynamically linked to the executable. For example, if your GSL library files are located in /usr/local/lib, then you can add the following line in your ~/.bash_profile file

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/

and then type

source ~/.bash_profile

Error in opening input file

When ParaDiS can not locate input files, it shows the following error message.

Fatal: ReadControlFile: Error 2 opening file XXXX

Check whether you gave the correct path for your input file.


Underflow error

In the old version of Cylinder code, you may get an underflow error message. This can be avoided by downloading the latest version or by inserting the following line into cylinder/gridstress.c

gsl_set_error_handler_off();

You also need to include the following header file at the beginning of gridstress.c.

#include <gsl/gsl_errno.h>

Notes