Skip to content
Snippets Groups Projects
Forked from agnumpde / dune-tectonic
156 commits ahead of the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
3d-velocity-contours.tikz 6.09 KiB
\def\fname{generated/3d-velocity-contours:rtol=1e-5_diam=1e-2}
\pgfplotstableread[col sep=comma]{\fname:times.csv}\myloadedtable

\pgfplotsarraynew\contourlevels{%
  1\\2\\3\\5\\%
  10\\20\\30\\50\\%
  100\\200\\300\\500\\%
  1000\\
}

\begin{tikzpicture}[trim axis group left, trim axis group right]
  \begin{groupplot}[
    group style={
      y descriptions at = edge left,
      group size=6 by 1,
      horizontal sep=0cm
    },
    ymin=-0.30, ymax= 0.30,
    enlarge x limits=false,
    colormap/jet,
    y tick label style={
      /pgf/number format/.cd,
      fixed, fixed zerofill, precision=2,
      /tikz/.cd
    },
    ytick = {-0.30,-0.20,-0.10,0.00,0.10,0.20,0.30},
    tick label style={font=\footnotesize},
    label style={font=\small},
    width = 3.5cm, height = 6cm,
    enlargelimits=false,
    contour/labels=false,
    %
    groupplot xlabel={distance from trench [\si{\meter}]},
    ]

    \nextgroupplot[semithick, xlabel = {
      \pgfplotstablegetelem{0}{times}\of\myloadedtable%
      $t_0 \approx
      \SI[round-mode=places,round-precision=0]{\pgfplotsretval}{\second}$
    },
    ylabel = width, y unit = m]
    \draw[color=gray!20] (0.162533,-0.30) -- (0.162533,+0.30);           % X
    \draw[color=gray!20] (0.362533+0.05,-0.30) -- (0.362533-0.05,+0.30); % Y
    \pgfplotsinvokeforeach{0,...,12} {
      \pgfplotscolormapaccess[0:14]{#1}{jet}
      \def\TEMP{\definecolor{mycolor#1}{rgb}}
      \expandafter\TEMP\expandafter{\pgfmathresult}

      \pgfplotstablegetelem{0}{timeSteps}\of\myloadedtable
      \edef\fnameX{\fname:%
        step:\pgfplotsretval:%
        level:\pgfplotsarrayvalueofelem#1\of\contourlevels.tex}
      \addplot[contour prepared={draw color=mycolor#1}] table \fnameX;
    };

    \nextgroupplot[semithick, xlabel = {
      \pgfplotstablegetelem{1}{timeOffsets}\of\myloadedtable%
      $t_0 +
      \SI[round-mode=places,round-precision=2]{\pgfplotsretval}{\second}$
    }]
    \draw[color=gray!20] (0.162533,-0.30) -- (0.162533,+0.30);           % X
    \draw[color=gray!20] (0.362533+0.05,-0.30) -- (0.362533-0.05,+0.30); % Y
    \pgfplotsinvokeforeach{0,...,12} { % level 13 and 14 are empty
      \pgfplotscolormapaccess[0:14]{#1}{jet}
      \def\TEMP{\definecolor{mycolor#1}{rgb}}
      \expandafter\TEMP\expandafter{\pgfmathresult}
      \pgfplotstablegetelem{1}{timeSteps}\of\myloadedtable
      \edef\fnameX{\fname:%
        step:\pgfplotsretval:%
        level:\pgfplotsarrayvalueofelem#1\of\contourlevels.tex}
      \addplot[contour prepared={draw color=mycolor#1}] table \fnameX;
    };

    \nextgroupplot[semithick, xlabel = {
      \pgfplotstablegetelem{2}{timeOffsets}\of\myloadedtable%
      $t_0 +
      \SI[round-mode=places,round-precision=2]{\pgfplotsretval}{\second}$
    }]
    \draw[color=gray!20] (0.162533,-0.30) -- (0.162533,+0.30);           % X
    \draw[color=gray!20] (0.362533+0.05,-0.30) -- (0.362533-0.05,+0.30); % Y
    \pgfplotsinvokeforeach{0,...,12} { % level 13 and 14 are empty
      \pgfplotscolormapaccess[0:14]{#1}{jet}
      \def\TEMP{\definecolor{mycolor#1}{rgb}}
      \expandafter\TEMP\expandafter{\pgfmathresult}
      \pgfplotstablegetelem{2}{timeSteps}\of\myloadedtable
      \edef\fnameX{\fname:%
        step:\pgfplotsretval:%
        level:\pgfplotsarrayvalueofelem#1\of\contourlevels.tex}
      \addplot[contour prepared={draw color=mycolor#1}] table \fnameX;
    };

    \nextgroupplot[semithick, xlabel = {
      \pgfplotstablegetelem{3}{timeOffsets}\of\myloadedtable%
      $t_0 +
      \SI[round-mode=places,round-precision=2]{\pgfplotsretval}{\second}$
    },
    legend columns=4,
    legend cell align=right,
    legend style={font=\small,
                  at={(0,1.05)},
                  anchor=south,
                  fill=none},
    ]
    \draw[color=gray!20] (0.162533,-0.30) -- (0.162533,+0.30);           % X
    \draw[color=gray!20] (0.362533+0.05,-0.30) -- (0.362533-0.05,+0.30); % Y
    \pgfplotsinvokeforeach{0,...,12} { % level 13 and 14 are empty
      \pgfplotscolormapaccess[0:14]{#1}{jet}
      \def\TEMP{\definecolor{mycolor#1}{rgb}}
      \expandafter\TEMP\expandafter{\pgfmathresult}
      \pgfplotstablegetelem{3}{timeSteps}\of\myloadedtable
      \edef\fnameX{\fname:%
        step:\pgfplotsretval:%
        level:\pgfplotsarrayvalueofelem#1\of\contourlevels.tex}
      \addplot[contour prepared={draw color=mycolor#1}, forget plot] table \fnameX;
      \addlegendimage{line legend,color=mycolor#1}
      \addlegendentry{%
        \SI{\pgfplotsarrayvalueofelem#1\of\contourlevels}{\micro\meter/\second}}
    };

    \nextgroupplot[semithick, xlabel = {
      \pgfplotstablegetelem{4}{timeOffsets}\of\myloadedtable%
      $t_0 +
      \SI[round-mode=places,round-precision=2]{\pgfplotsretval}{\second}$
    }]
    \draw[color=gray!20] (0.162533,-0.30) -- (0.162533,+0.30);           % X
    \draw[color=gray!20] (0.362533+0.05,-0.30) -- (0.362533-0.05,+0.30); % Y
    \pgfplotsinvokeforeach{0,...,12} { % level 13 and 14 are empty
      \pgfplotscolormapaccess[0:14]{#1}{jet}
      \def\TEMP{\definecolor{mycolor#1}{rgb}}
      \expandafter\TEMP\expandafter{\pgfmathresult}
      \pgfplotstablegetelem{4}{timeSteps}\of\myloadedtable
      \edef\fnameX{\fname:%
        step:\pgfplotsretval:%
        level:\pgfplotsarrayvalueofelem#1\of\contourlevels.tex}
      \addplot[contour prepared={draw color=mycolor#1}] table \fnameX;
    };

    \nextgroupplot[semithick, xlabel = {
      \pgfplotstablegetelem{5}{timeOffsets}\of\myloadedtable%
      $t_0 +
      \SI[round-mode=places,round-precision=2]{\pgfplotsretval}{\second}$
    }]
    \draw[color=gray!20] (0.162533,-0.30) -- (0.162533,+0.30);           % X
    \draw[color=gray!20] (0.362533+0.05,-0.30) -- (0.362533-0.05,+0.30); % Y
    \pgfplotsinvokeforeach{0,...,12} { % level 13 and 14 are empty
      \pgfplotscolormapaccess[0:14]{#1}{jet}
      \def\TEMP{\definecolor{mycolor#1}{rgb}}
      \expandafter\TEMP\expandafter{\pgfmathresult}
      \pgfplotstablegetelem{5}{timeSteps}\of\myloadedtable
      \edef\fnameX{\fname:%
        step:\pgfplotsretval:%
        level:\pgfplotsarrayvalueofelem#1\of\contourlevels.tex}
      \addplot[contour prepared={draw color=mycolor#1}] table \fnameX;
    };
  \end{groupplot}
\end{tikzpicture}