Home Documentation HowTo OpenDX Visualization of the strong rings analysis

Visualization of the strong rings analysis

E-mail Print
Article Index
Visualization of the strong rings analysis
Example
OpenDX the editor mode
Starting the visualization
3D view of he strong rings analysis
All Pages

The R.I.N.G.S. code allows the user to visualize the strong ring analysis:
ie. the different steps of the algorithm implemented to look for strong rings in a material.

In order to visualize each step of the search of the strong rings in the network a simple procedure has to be followed:

  1. Edit and modify the "extra.f90" file located in the "rings-code/src" directory
  2. Build and install the serial version of the so-modified R.I.N.G.S. code
  3. Activate the primitive and the strong rings analysis in the "options" file and run the modified R.I.N.G.S. code
  4. Edit the file named "MY_ATOM_LABEL-MY_ATOM-s-MY_SIZE.dx" in the "dx/debug" directory
  5. Download the "StrongDX" OpenDX module
  6. Using OpenDX open the "StrongDX" module
  7. Browse and open the file named "MY_WORKING_DIRECTORY/dx/debug/MY_ATOM_LABEL-MY_ATOM-s-MY_SIZE.dx"

 

  1. Edit and modify the "extra.f90" file located in the "rings-code/src" directory:
    • This file contains miscellaneous variables used to prepare the OpenDX input files.
    • Locate the following lines:
      68 !******************* Strong rings *******************
      69 ! Visualize the results of the strong rings analysis
      70 ! using the OpenDX format
      71 DEBUGST=.false.
      72
      73 ! If DEBUGST=.true. choose an atom=DEBUGAT
      74 ! and a size for ring=2*DEBUGDIM / 2*DEBUGDIM+1
      75
      76 ! Fullerene C60
      77 INTEGER :: DEBUGAT=0
      78 INTEGER :: DEBUGDIM=0
      Considering the number of possibilities explored by the algorithm for an entire network it would be almost impossible to print the complete strong rings analysis of the system.
      Nevertheless the R.I.N.G.S. code allows to visualize the different steps followed by the algorithm for one considered atom and one considered size of ring.
      Furthermore this allows to reduce the CPU time accordingly, the analysis being performed only for the considered atom and the considered size of ring.

    • Locate in your network the atom/node and the size of ring which have to be studied and modify the lines:
      68 !******************* Strong rings *******************
      69 ! Visualize the results of the strong rings analysis
      70 ! using the OpenDX format
      71 DEBUGST=.false.
      72
      73 ! If DEBUGST=.true. choose an atom=DEBUGAT
      74 ! and a size for ring=2*DEBUGDIM / 2*DEBUGDIM+1
      75
      76 ! Fullerene C60
      77 INTEGER :: DEBUGAT=0
      78 INTEGER :: DEBUGDIM=0
      in
      68 !******************* Strong rings *******************
      69 ! Visualize the results of the strong rings analysis
      70 ! using the OpenDX format
      71 DEBUGST=.true.
      72
      73 ! If DEBUGST=.true. choose an atom=DEBUGAT
      74 ! and a size for ring=2*DEBUGDIM / 2*DEBUGDIM+1
      75
      76 ! Fullerene C60
      77 INTEGER :: DEBUGAT=MY_ATOM
      78 INTEGER :: DEBUGDIM=MY_DIM
      Where MY_ATOM represents the index of the atom to be studied.
      Where MY_DIM is related to size of ring MY_SIZE to be studied by:

      MY_DIM = INT(MY_SIZE / 2)
      Therefore:
      MY_SIZE = 2 x MY_DIM or MY_SIZE = 2 x MY_DIM + 1

      For the considered atom MY_ATOM the primitive rings algorithm looks for primitive rings of size MY_SIZE by associating paths of sizes MY_DIM.
      Then if a primitive ring is found and if the strong analysis is activated then the strong rings algorithm will check is this new primitive ring is also a strong ring.
      => Please note that this procedure can not be executed using the MPI version of the R.I.N.G.S. code
      => Please note that this procedure can not be executed for more than a single configuration of atoms
  2. Build and install the serial version of the so-modified R.I.N.G.S. code ex:
    ]$ ./configure FC=ifort FCFLAGS="-O3 -mtune=core2"
    ]$ make
    ]$ make install
  3. Activate the primitive and the strong rings analysis in the "options" file and run the modified R.I.N.G.S. code:
    ]$ cd MY_WORKING_DIRECTORY
    ]$
    rings my-input
  4. Edit the file named "MY_ATOM_LABEL-MY_ATOM-s-MY_SIZE.dx" in the "dx/debug" directory:
    1. Since it is not possible to evaluate the number of steps need by the algorithm before the calculation it is mandatory to add this information to the file which will be opened using OpenDX:
      ]$ cd dx/debug
      ]$ vi
      MY_ATOM_LABEL-MY_ATOM-s-MY_SIZE.dx
      ...
      19 Object "nstep" class array type int rank 0 items 1 data follows
      20 1



      in




      19 Object "nstep" class array type int rank 0 items 1 data follows
      20 MY_NUMBER_OF_STEPS
      To obtain the value "MY_NUMBER_OF_STEPS" it is mandatory to have a look to the end of the file named 'groups' which has also been created in the "dx/debug" directory:
      ]$ tail --lines=1 groups
      member ???? value "liaison_clones_field?-?-
      MY_NUMBER_OF_STEPS"
    2. The file named "groups" contains the global organization, also needed by OpenDX, of the file " MY_ATOM_LABEL-MY_ATOM-s-MY_SIZE.dx" . Nevertheless as for the number of steps the global organization can not be outputted during the search (items are added in both files almost at the same time when entering a new step of the algorithm). Therefore it is mandatory to append the "groups" file at the end of the "*.dx" file:
      ]$ cat groups >> MY_ATOM_LABEL-MY_ATOM-s-MY_SIZE.dx
  5. Download the "StrongDX" OpenDX module
  6. Using OpenDX open the "StrongDX" module
  7. Browse and open the file named "MY_WORKING_DIRECTORY/dx/debug/MY_ATOM_LABEL-MY_ATOM-s-MY_DIM.dx"

General considerations:

The parameterization of visualization of the strong rings analysis (the values of "DEBUGAT" and "DEBUGDIM") must be considered very carefully depending on the system studied.
The number of step of the algorithm in such analysis can be very important and thus the size of the file "MY_ATOM_LABEL-MY_ATOM-s-MY_SIZE.dx" can easily become a problem.
That is why we decided to separate data in the file "MY_ATOM_LABEL-MY_ATOM-s-MY_SIZE.dx" and organization of the data in the file "groups".
Since both files are written by appending information at the same time it is possible to stop the search at any time by stopping the code and to visualize the results of the analysis.

Furthermore it is not possible to distinguish a specific ring which has to be studied such as the atom and the size of ring, ie. if "DEBUGDIM" is equal to 4 the program will output the algorithm steps for all the primitive rings having a size of 8 or 9 atoms and constructed using "DEBUGAT" as origin.

For simple cases like the one of the C60 molecule proposed afterwards it is easy to see the result of the analysis for the desired triplet atom/size of ring/ring, nevertheless this can be more complicated depending on the material which is studied.

Example: application to a C60 buckminster fullerene molecule



Last Updated on Monday, 16 November 2009 18:07  

 Latest version

RINGS Last version logo
A new version of the RINGS code has been released !

 Mailing List

Mailing list
Join the RINGS code mailing list !

 Hosted by

Get rings-code at SourceForge.net. Fast, secure and Free Open Source software downloads