ddplot

This simple program visualizes relative displacements in dislocated crystals using differential displacement maps. In this projection, the displacements are depicted as arrows whose lengths correspond to the relative displacements of the neighboring atoms. The output is given as a Postscript figure, animation, .XYZ file for JMol or standard .CFG for AtomEye.

Main features:

  • plotting of atomic structure
  • visualization of screw and edge components around a dislocation line
  • projection of relative displacements into an arbitrary direction
  • scaling of arrows (for the plotting of edge components)
  • automatic finding of the first to fifth nearest neighbors
  • unrelaxed/relaxed configuration
  • coordinate transformations
  • output to Postscript, .XYZ (JMol), standard .CFG (AtomEye)
  • group loading of a set of plot files
  • internal .DD format containing the coordinate system, position of the dislocation, lattice parameter, etc.
  • creating a .GIF animation from the uploaded blocks
  • changing colors, line thickness and radii of atoms and arrows
  • distinguishing atomic layers or atomic types
  • user-defined settings can be stored in ~/.ddplot or loaded at the start


  • Screenshots:


    Download:

    Sources:

    ddplot-2.5-src.tar.gz (released on October 28, 2005)
  • no error about MAX_NEIGHBOR occurs when NeighRCut is too large - instead ddplot asks user to input a smaller cut-off radius for the plot to be displayed
  • ddplot can display a coordinate system of the block (Ctrl+C)
  • several bugs related to the transformation of coordinates corrected
  • when started in the verbose mode 'ddplot -v', ddplot will show where in the code an error has occurred (the line starts with an exclamation mark '!')

  • ddplot-2.4-src.tar.gz
  • it is possible to select particular Z-layer(s) for which the differential displacements are to be plotted
  • magnitudes of differential displacements are printed also for edge dislocations
  • flipping the picture about X, Y or Z axis
  • neighbors are now searched using the linked neighbor list. The same holds for the RDF => the time to plot the structure decreased tremendously for large blocks.
  • fixed wrong plotting of the atomic numbers (used to be numbered from 0, now from 1)
  • calculation of the RDF has been fixed - it is now fully 3-D
  • bounding box fixed - it is read using gs and replaced in the generated PS file
  • correct identification of the same layer if the Z-coordinate for two atoms is not exactly the same number - the tolerance is 1e-4 - e.g. atoms with Z-coordinates 0.4999 and 0.5 are taken to pertain to the same layer. This makes sure that the plot does not contain a bunch of differently colored atoms.
  • plotting of grain boundaries - automatically recognized that the .PLT file contains a grain boundary data and shows the grain boundary as a line
  • can read directly the block of BOP (e.g. block.out) - just change the wildcard at the bottom of the Open file dialog and find the block(s) you wish to display
  • information about the relaxation of the block which is inserted at the end of the .PLT file can now be displayed directly in ddplot (no editing allowed)

  • ddplot-2.3-src.tar.gz
    ddplot-2.2-src.tar.gz


    Installation:

    To install and compile ddplot from the sources above, you will first need to download the Qt library (version 3.3+ strongly recommended). You can either get the pre-compiled libraries (in case you find them for your platform somewhere on the web) or you can always download sources from the link above and compile the Qt library yourself. If you plan to do the latter on your Linux computer, you will also need the X11 development package XFree86-devel (Redhat 9) or x11-dev (Fedora Core). Mac users need to install the Apple Developer's Toolkit that comes with your MacOS X system CDs. I haven't yet figured out how to compile ddplot on Windows (ask me later or let me know if you succeed).

    In case you want to compile the Qt library, I advise you to do a static build. This can be done by going into the Qt home directory (presumably /usr/local/qt*). Become the root by su root and run the following commands:
    ./configure -static
    make
    make install
    List the contents of the bin subdirectory - you should see a lot of executable files, among them also qmake. At this point, you have successfully finished compiling the Qt library from sources.

    Proceed by downloading the newest source of ddplot from above and unpack it:
    tar -xzvf ddplot-*-src.tar.gz
    where the asterisk (*) replaces the version number. Go to the directory ddplot where you will find many .cpp files, ddplot.pro, INSTALL and HISTORY files. You will first need to create a Makefile for your platform which will be based on the information in ddplot.pro. This is simply done by running:
    qmake
    If no error message appears, Makefile is successfuly created. However, if there is some error, you probably don't have gmake. This executable usually lives in the directory /usr/lib/qt/bin. If not, you have probably installed Qt from some basic binary; this time you will have to download the Qt library again (it is free for noncommercial purposes) and compile it manually as explained above. If you are the lucky one and the Makefile has been smoothly created, compile the sources by running
    make
    This will now take a while. The compiled ddplot executable for your platform will be stored in the same directory.

    Feel free to make any changes to suit the code to your needs and feels. If you do some major change that you think may be of interest also for other users, send me your sources and I will prepare a new release involving your modifications and additions.

    Also, review the supplied .ddplot file (it is in the ddplot directory) containing the user settings and copy it into your home directory. During the start of ddplot, the program first looks for .ddplot in your home directory and then in the current directory. If it does not find the file, the default settings will be used. You may find useful to use different settings for different plots, e.g. one .ddplot for plotting TiAl structures, another for simple bcc metals. In that case, create more .ddplot files and start ddplot as:
    ddplot -f .ddplot-tial
    for example. The comments in .ddplot are rather insufficient - in some later release, I shall put in all commands together with their complete description.


    Contact:

    xalbert76@gmail.com (Roman Gröger)

    To keep you updated about new versions of ddplot, send me your e-mail and I will add you into the ddplot mailing list. I will be glad to hear about your experience with ddplot, your suggestions but also criticism. If you have some nice figures from ddplot, please, send me .JPG or .GIF to put them here as screenshots.