Spaces:
Running
Running
%%% Preamble Requirements %%% | |
% \usepackage{geometry} | |
% \usepackage{amsfonts} | |
% \usepackage{amsmath} | |
% \usepackage{amssymb} | |
% \usepackage{tikz} | |
% Optional packages such as sfmath set through python interface | |
% \usepackage{sfmath} | |
% \usetikzlibrary{arrows,chains,positioning,scopes,shapes.geometric,shapes.misc,shadows} | |
%%% End Preamble Requirements %%% | |
\input{"/home/jav/.local/lib/python3.8/site-packages/pyxdsm/diagram_styles"} | |
\begin{tikzpicture} | |
\matrix[MatrixSetup]{ | |
%Row 0 | |
\node [DataIO] (output_track) {$\begin{array}{c}\text{tracking settings}\end{array}$};& | |
& | |
& | |
& | |
& | |
& | |
& | |
& | |
\\ | |
%Row 1 | |
\node [Function] (track) {$\begin{array}{c}\text{Tracking}\end{array}$};& | |
\node [DataInter] (track-ordering) {$\begin{array}{c}\text{clustered data}$$(\vec{\beta}),$$ \\ \text{ordering settings}\end{array}$};& | |
& | |
& | |
& | |
& | |
& | |
& | |
\\ | |
%Row 2 | |
& | |
\node [Function,stack] (ordering) {$\begin{array}{c}\text{ordering}$$\,(\vec{\beta})$$\end{array}$};& | |
\node [DataInter] (ordering-cost_A) {$\begin{array}{c}\text{ord}$$_O\,(\vec{\beta})$$ \end{array}$};& | |
& | |
& | |
& | |
& | |
& | |
\node [DataIO] (right_output_ordering) {$\begin{array}{c}\text{save: trajectories,} \\ \text{plots}\end{array}$};\\ | |
%Row 3 | |
& | |
& | |
\node [Function] (cost_A) {$\begin{array}{c}\text{calc. } $$A\, (\vec{\beta})$$\end{array}$};& | |
\node [DataInter] (cost_A-path) {$\begin{array}{c}$$A\,(\vec{\beta})$$ \end{array}$};& | |
& | |
& | |
& | |
& | |
\\ | |
%Row 4 | |
& | |
& | |
& | |
\node [Function] (path) {$\begin{array}{c}\text{best path} $$\,(\vec{\beta})$$\end{array}$};& | |
\node [DataInter] (path-validity) {$\begin{array}{c}\text{path}$$_O\,(\vec{\beta})$$ \end{array}$};& | |
& | |
& | |
& | |
\\ | |
%Row 5 | |
& | |
& | |
& | |
& | |
\node [Function] (validity) {$\begin{array}{c}\text{validity} \\ \text{check}\end{array}$};& | |
\node [DataInter] (validity-final) {$\begin{array}{c}\text{outcome} \end{array}$};& | |
& | |
& | |
\\ | |
%Row 6 | |
& | |
& | |
& | |
& | |
& | |
\node [Function] (final) {$\begin{array}{c}\text{truncate,} \\ \text{final path}\end{array}$};& | |
\node [DataInter] (final-transform) {$\begin{array}{c}\text{final path}$$_O$$ \end{array}$};& | |
& | |
\\ | |
%Row 7 | |
& | |
& | |
& | |
& | |
& | |
& | |
\node [Function,stack] (transform) {$\begin{array}{c}\text{transform}\end{array}$};& | |
& | |
\node [DataIO] (right_output_transform) {$\begin{array}{c}\text{save: trajectories,} \\ \text{plots}\end{array}$};\\ | |
%Row 8 | |
& | |
& | |
& | |
& | |
& | |
& | |
& | |
& | |
\\ | |
}; | |
% XDSM process chains | |
{ [start chain=process] | |
\begin{pgfonlayer}{process} | |
\chainin (track); | |
\chainin (ordering) [join=by ProcessHVA]; | |
\chainin (cost_A) [join=by ProcessHVA]; | |
\chainin (path) [join=by ProcessHVA]; | |
\chainin (validity) [join=by ProcessHVA]; | |
\chainin (final) [join=by ProcessHVA]; | |
\chainin (transform) [join=by ProcessHVA]; | |
\end{pgfonlayer} | |
} | |
\begin{pgfonlayer}{data} | |
\path | |
% Horizontal edges | |
(track) edge [DataLine] (track-ordering) | |
(ordering) edge [DataLine] (ordering-cost_A) | |
(cost_A) edge [DataLine] (cost_A-path) | |
(path) edge [DataLine] (path-validity) | |
(validity) edge [DataLine] (validity-final) | |
(final) edge [DataLine] (final-transform) | |
(ordering) edge [DataLine] (right_output_ordering) | |
(transform) edge [DataLine] (right_output_transform) | |
% Vertical edges | |
(track-ordering) edge [DataLine] (ordering) | |
(ordering-cost_A) edge [DataLine] (cost_A) | |
(cost_A-path) edge [DataLine] (path) | |
(path-validity) edge [DataLine] (validity) | |
(validity-final) edge [DataLine] (final) | |
(final-transform) edge [DataLine] (transform) | |
(track) edge [DataLine] (output_track); | |
\end{pgfonlayer} | |
\end{tikzpicture} | |