diff --git a/doc/dev/documentation.org b/doc/dev/documentation.org index 02c6ef213ec59f7328466856eeddfb91371addac..f078bbb75665097feb5aee65babd5549b43f0314 100644 --- a/doc/dev/documentation.org +++ b/doc/dev/documentation.org @@ -77,6 +77,47 @@ https://doc.qt.io/qt-5/model-view-programming.html (last access Pamhyr2 architecture is based on Qt Model/View programming[fn:qt-mv] architecture. +#+name: graph-pipeline +#+header: :results drawer +#+header: :exports results +#+header: :post attr_wrap(width="12cm", data=*this*, name="graph-pipeline", caption="Pamhyr2 solver execution pipeline architecture scheme", float="t") +#+begin_src dot :file "images/graph-pipeline.png" :cache no + digraph { + node[colorscheme=set19,shape=box,style="filled",fillcolor=9]; + + subgraph cluster0 { + label="Pamhyr2" + config[label="Config",fillcolor=5]; + model[label="Model",fillcolor=2]; + obj[label="Solver",fillcolor=6]; + results[label="Results",fillcolor=2]; + view[label="View",fillcolor=1]; + + results -> model[style="dotted"]; + results -> obj[style="dotted"]; + } + + config -> obj[label=""]; + obj -> model; + + subgraph cluster1{ + label="System"; + in[label="Solver input files",shape=note]; + out[label="Solver output files",shape=note]; + bin[label="Solver binary",shape=note]; + } + + obj -> in[label="Write"]; + bin -> in[label="Read"]; + obj -> bin[label="Execute"]; + bin -> out[label="Write"]; + obj -> results[label="Create"]; + results -> out[label="Read"]; + view -> model; + view -> results; + } +#+end_src + #+name: graph-architecture #+header: :results drawer #+header: :exports results