Visual Aids

This section is dedicated to tools that facilitate the generation of visual aids for the different aspects of AiiDA (such as provenance graphs).

Graph Easy

This software might be useful for producing simple provenance graphs in ascii format (or some other formats as well). The code can be downloaded from this site and can be installed by untaring and following the instructions in the INSTALL file. The manual for the code is also available here, but it is a little difficult to follow. For simple cases uses, it sufices to write and input file such as this:

 [ DI ] - incall -> [ C0 ]
 [ C0 ] - create -> [ DO ]
 [ DI ] - inwork -> [ W1 ]
 [ W1 ] - return -> [ DO ]
 [ DI ] - inwork -> [ W2 ]
 [ W2 ] - return -> [ DO ]
 [ W1 ] - cawork -> [ W2 ]
 [ W2 ] - cacall -> [ C0 ]

And then process it by running:

graph-easy input.txt

which will in turn produce the following output (that can be easily redirectioned to a file if you prefer):


                   +--------------------------------------------------+
                   |                                                  |
                   |    inwork                                        |
  +----------------+----------------+                                 | return
  |                |                v                                 v
+----+  inwork   +----+  cawork   +----+  cacall   +----+  create   +---------+
| DI | --------> | W1 | --------> | W2 | --------> | C0 | --------> |   DO    |
+----+           +----+           +----+           +----+           +---------+
  |                                 |    incall      ^                ^
  +---------------------------------+----------------+                | return
                                    |                                 |
                                    |                                 |
                                    +---------------------------------+

Although this graph is not as ordered as one should want, it might be easier to generate it that way and then re-arrange it a bit:


        inwork     +----+     return
  +--------------> | W2 | ---------------+
  |                +----+                |
  |                  |                   |
  |                  | call_work         |
  |                  |                   |
  |                  v                   |
  |      inwork    +----+    return      |
  |  +-----------> | W1 | ------------+  |
  |  |             +----+             |  |
  |  |               |                |  |
  |  |               | call_calc      |  |
  |  |               |                |  |
  |  |               v                v  v
+------+  incall   +----+  create   +------+
|  DI  | --------> | C0 | --------> |  DO  |
+------+           +----+           +------+