<graphviz dot> digraph cp2k {
node [shape=box];
prog [shape=diamond, label="PROGRAM_NAME ?", URL="http://manual.cp2k.org/trunk/CP2K_INPUT/GLOBAL.html#desc_PROGRAM_NAME"]; Start [shape=ellipse]; Start -> prog;
prog -> ATOM; prog -> MC_ANALYSIS; prog -> OPTIMIZE_BASIS; prog -> OPTIMIZE_INPUT; prog -> CP2K; prog -> SWARM; SWARM[URL="http://cp2k.org/code:run_swarm"]; prog -> TEST; prog -> TMC; prog -> FARMING; FARMING -> Start [constraint = false];
runtype [shape=diamond, label="RUN_TYPE?", URL="http://manual.cp2k.org/trunk/CP2K_INPUT/GLOBAL.html#desc_RUN_TYPE"]; create_force_env [label="create_force_env()"]; CP2K -> create_force_env create_force_env-> runtype;
runtype -> BSSE; runtype -> "GEO_OPT /\nCELL_OPT"; runtype -> DEBUG; runtype -> DRIVER; runtype -> EHRENFEST_DYN; runtype -> ENERGY_FORCE; ENERGY_FORCE[label="ENERGY /\nENERGY_FORCE", URL="http://cp2k.org/code:force_env_calc_energy_force"]; runtype -> LR; runtype -> MC; runtype -> MD; runtype -> NONE; runtype -> NORMAL_MODES; runtype -> "PINT /\nBAND"; runtype -> RT_PROPAGATION; runtype -> SPECTRA; runtype -> TAMC;
} </graphviz>