Move the PME GPU clearing to the end of the step
[gromacs.git] / docs / doxygen / lib / modulegraph.md
blob5467bedd3e229b2ba478fcd8b34faf2270738da9
1 Module dependency graph {#page_modulegraph}
2 =======================
4 The graph below shows the dependencies between the source code modules,
5 computed from include statements in the code.
6 For documented modules (those that do not have a gray background), clicking on
7 the module takes you to the module documentation.
8 Legend for the graph can be found below the graph.
10 \ifnot xml
11 \dotfile module-deps.dot
12 \endif
14 Legend
15 ======
17 The graph below annotates the colors and line styles used in the module
18 dependency graph above.  More detailed textual annotation is below the graph.
20 \dot
21 digraph legend {
22     node [fontname="FreeSans",fontsize=10,height=.2,shape=box]
23     edge [fontname="FreeSans",fontsize=10]
24     rankdir = "LR"
25     subgraph cluster_nodes {
26         label = "Nodes"
27         legacy    [label="undocumented", fillcolor=grey75, style="filled"]
28         analysis  [label="analysis", fillcolor="0 .2 1", style="filled"]
29         utility   [label="utility", fillcolor=".08 .2 1", style="filled"]
30         mdrun     [label="mdrun", fillcolor=".75 .2 1", style="filled"]
31         installed [label="installed", color=".66 .5 1", penwidth=3]
32     }
33     subgraph cluster_edges {
34         label = "Edges"
35         node [label="<any>"]
36         invalid1 -> invalid2 [label="invalid", color=red]
37         legacy1 -> legacy2 [label="legacy", color=grey75]
38         legacy2 [label="undoc"]
39         public1 -> public2 [label="public", color=black]
40         public1 [label="public"]
41         public2 [label="public"]
42         library1 -> library2 [label="library", color=".66 .8 .8"]
43         library1 [label="library"]
44         pubimpl1 -> pubimpl2 [color=black, style=dashed]
45         pubimpl1 [label="internal"]
46         pubimpl2 [label="public"]
47         libimpl1 -> libimpl2 [color=".66 .8 .8", style=dashed]
48         libimpl1 [label="internal"]
49         libimpl2 [label="library"]
50         test1 -> test2 [label="test", color=".33 .8 .8", style=dashed]
51         test1 [label="test"]
52     }
53     legacy -> invalid1 [style="invis"]
55 \enddot
57 Node colors:
58 <dl>
59 <dt>gray background</dt>
60 <dd>undocumented module</dd>
61 <dt>orange background</dt>
62 <dd>documented utility modules</dd>
63 <dt>red background</dt>
64 <dd>documented analysis modules</dd>
65 <dt>violet background</dt>
66 <dd>documented MD execution modules</dd>
67 <dt>light blue border</dt>
68 <dd>module contains public API (installed) headers</dd>
69 </dl>
71 Edge colors (an edge with a certain color indicates that types above it in the
72 list are not present):
73 <dl>
74 <dt>red</dt>
75 <dd>invalid dependency</dd>
76 <dt>gray</dt>
77 <dd>legacy dependency
78 (dependency on undocumented file, or to undocumented directories)</dd>
79 <dt>solid black</dt>
80 <dd>public header depends on the other module</dd>
81 <dt>solid blue</dt>
82 <dd>library header depends on the other module</dd>
83 <dt>dashed blue</dt>
84 <dd>source file depends on library header in the other module</dd>
85 <dt>dashed black</dt>
86 <dd>source file depends on public header in the other module</dd>
87 <dt>dashed green</dt>
88 <dd>test file depends on the other module</dd>
89 </dl>