/
tensorfield_structure_tikz.tex
120 lines (111 loc) · 4.03 KB
/
tensorfield_structure_tikz.tex
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
109
110
111
112
113
114
115
116
117
118
119
120
\begin{tikzpicture}[font=\footnotesize, remember picture,
node distance=0.5em, minimum height=0.5em, auto]
\node[tens, align=center](tensorfield)
{\code{TensorField}\\ \normalsize $T$};
% Restrictions
\node[dict, below=of tensorfield](restrictions){
\begin{tikzpicture}
\node[empty, align=left](description)
{\bf dictionary \textcolor{red}{\code{TensorField.\_restrictions}}};
\node[empty, below left=of description](domain1)
{domain 1:\\ {\normalsize $U_1$}};
\node[tens, right=0em of domain1](tensorfield1)
{\code{TensorFieldParal}\\
{\normalsize $T|_{U_1}=T^a_{\ \, b} e_a\otimes
e^b=T^{\hat{a}}_{\ \, \hat{b}}\varepsilon_{\hat{a}}\otimes
\varepsilon^{\hat{b}}=\dots$}};
\node[empty, right=of tensorfield1](domain2)
{domain 2:\\ {\normalsize $U_2$}};
\node[tens, align=center, right=0em of domain2](tensorfield2)
{\code{TensorFieldParal}\\ {\normalsize $T|_{U_2}$}};
\node[empty, right=of tensorfield2](more)
{\large $\dots$};
\end{tikzpicture}
};
% Components
\node[dict, below=of restrictions](components){
\begin{tikzpicture}
\node[empty, align=left](description)
{\bf dictionary
\textcolor{red}{\code{TensorFieldParal.\_components}}};
\node[empty, below left=of description](frame1)
{frame 1:\\ {\normalsize $(e_a)$}};
\node[tens, right=0em of frame1](components1)
{\code{Components}\\
{\normalsize $(T^a_{\ \, b})_{1\le a,\,b\,\le n}$}};
\node[empty, right=of components1](frame2)
{frame 2:\\ {\normalsize $(\varepsilon_{\hat{a}})$}};
\node[tens, right=0em of frame2](components2)
{\code{Components}\\
{\normalsize $(T^{\hat{a}}_{\ \, \hat{b}})_{1\le
\hat{a},\,\hat{b}\,\le n}$}};
\node[empty, right=of components2](more)
{\large $\dots$};
\end{tikzpicture}
};
% comp Scalarfields
\node[dict, below=of components](comp){
\begin{tikzpicture}
\node[empty, align=left](description)
{\bf dictionary \textcolor{red}{\code{Components.\_comp}}};
\node[empty, below left=of description](comp1)
{\normalsize $(1,1):$};
\node[tens, align=center, right=0em of comp1](scalarfield1)
{\code{DiffScalarField}\\
{\normalsize $T^1_{\ \, 1}$}};
\node[empty, right=of scalarfield1](comp2)
{\normalsize $(1,2):$};
\node[tens, align=center, right=0em of comp2](scalarfield2)
{\code{DiffScalarField}\\
{\normalsize $T^1_{\ \, 2}$}};
\node[empty, right=of scalarfield2](more)
{\large $\dots$};
\end{tikzpicture}
};
% Scalarfield express
\node[dict, below=of comp](express){
\begin{tikzpicture}
\node[empty, align=left](description)
{\bf dictionary \textcolor{red}{\code{DiffScalarField.\_express}}};
\node[empty, below left=of description](chart1)
{chart 1:\\
{\normalsize $\left(x^a\right)$}};
\node[tens, right=0em of chart1](functionchart1)
{\code{ChartFunction}\\
{\normalsize $T^1_{\ \, 1}\left(x^1,\dots,x^n\right)$}};
\node[empty, right=of functionchart1](chart2)
{chart 2:\\
{\normalsize $\left(y^a\right)$}};
\node[tens, right=0em of chart2](functionchart2)
{\code{ChartFunction}\\
{\normalsize $T^1_{\ \, 1}\left(y^1,\dots,y^n\right)$}};
\node[empty, right=of functionchart2](more)
{\large $\dots$};
\end{tikzpicture}
};
% expressions
\node[dict, below=0.3cm of functionchart1](chartfexpress){
\begin{tikzpicture}
\node[empty, align=left](description)
{\bf dictionary \textcolor{red}{\code{ChartFunction.\_express}}};
\node[empty, below left=of description](methSR)
{SR:};
\node[tens, right=0em of methSR](exprSR)
{\code{Expression}\\
{\normalsize $x^1\cos x^2$}};
\node[empty, right=of exprSR](methSymPy)
{SymPy:};
\node[tens, right=0em of methSymPy](exprSymPy)
{\code{Basic}\\
{\normalsize $x^1\cos x^2$}};
\node[empty, right=of exprSymPy](more)
{\large $\dots$};
\end{tikzpicture}
};
% lines
\draw[thick, line width=0.2em, black!60,-] (restrictions) -- (tensorfield);
\draw[thick, line width=0.2em, black!60,-] (components) -- (tensorfield1);
\draw[thick, line width=0.2em, black!60,-] (comp) -- (components1);
\draw[thick, line width=0.2em, black!60,-] (express) -- (scalarfield1);
\draw[thick, line width=0.2em, black!60,-] (chartfexpress) -- (functionchart1);
\end{tikzpicture}