File size: 2,686 Bytes
a67ae61
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108

%%% 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_cnm) {$\begin{array}{c}\text{tracked state}$$\,(\beta)$$\end{array}$};&
&
&
&
&
&
\\
%Row 1
\node [Function,stack] (cnm) {$\begin{array}{c}\text{CNM}$$ \, (\beta)  $$\end{array}$};&
\node [DataInter] (cnm-transform) {$\begin{array}{c}\text{dicts: }$$ \boldsymbol{Q} / \boldsymbol{T} \, (\beta) $$ \end{array}$};&
&
&
&
&
\node [DataIO] (right_output_cnm) {$\begin{array}{c}\text{save}\end{array}$};\\
%Row 2
&
\node [Function,stack] (transform) {$\begin{array}{c}\text{transform}\end{array}$};&
\node [DataInter] (transform-stack) {$\begin{array}{c}$$ \boldsymbol{Q} / \boldsymbol{T} \, (\beta) $$\end{array}$};&
&
&
&
\\
%Row 3
&
&
\node [Function] (stack) {$\begin{array}{c}\text{stacking}\end{array}$};&
\node [DataInter] (stack-decomp) {$\begin{array}{c}$$\boldsymbol{Q} / \boldsymbol{T}_{stack} \, (\beta) $$\end{array}$};&
&
&
\\
%Row 4
&
&
&
\node [Function] (decomp) {$\begin{array}{c}\text{decomposition}\end{array}$};&
\node [DataInter] (decomp-regr) {$\begin{array}{c}\text{modes}\end{array}$};&
&
\node [DataIO] (right_output_decomp) {$\begin{array}{c}\text{save, plots}\end{array}$};\\
%Row 5
&
&
&
&
\node [Function,stack] (regr) {$\begin{array}{c}\text{regression}\end{array}$};&
&
\node [DataIO] (right_output_regr) {$\begin{array}{c}\text{save, plots}\end{array}$};\\
%Row 6
&
&
&
&
&
&
\\
};

% XDSM process chains
{ [start chain=process]
 \begin{pgfonlayer}{process} 
\chainin (cnm);
\chainin (transform) [join=by ProcessHVA];
\chainin (stack) [join=by ProcessHVA];
\chainin (decomp) [join=by ProcessHVA];
\chainin (regr) [join=by ProcessHVA];
\end{pgfonlayer}
}

\begin{pgfonlayer}{data}
\path
% Horizontal edges
(cnm) edge [DataLine] (cnm-transform)
(transform) edge [DataLine] (transform-stack)
(stack) edge [DataLine] (stack-decomp)
(decomp) edge [DataLine] (decomp-regr)
(cnm) edge [DataLine] (right_output_cnm)
(decomp) edge [DataLine] (right_output_decomp)
(regr) edge [DataLine] (right_output_regr)
% Vertical edges
(cnm-transform) edge [DataLine] (transform)
(transform-stack) edge [DataLine] (stack)
(stack-decomp) edge [DataLine] (decomp)
(decomp-regr) edge [DataLine] (regr)
(cnm) edge [DataLine] (output_cnm);
\end{pgfonlayer}

\end{tikzpicture}