0

I am using the Trace Determinant Diagram provided in this answer.

Note that each phase portrait is created as follows,

\newinlay\saddle{saddle}%
  {\begin{tikzpicture}[scale=\inlayscale]
     \foreach \sx in {+,-}
      {\draw[flow] (\sx4,0) -- (0,0);
       \draw[flow] (0,0) -- (0,\sx4);
       \foreach \sy in {+,-}
         \foreach \a/\b/\c/\d in {2.8/0.3/0.7/0.6,3.9/0.4/1.3/1.1}
           \draw[flow] (\sx\a,\sy\b)
              .. controls (\sx\c,\sy\d) and (\sx\d,\sy\c)
              .. (\sx\b,\sy\a);
      }

The complete code is

% Poincaré Diagram: Classification of Phase Portaits in the (det A,Tr A)-plane
% Author: Gernot Salzer
% Based on a drawing by Douglas R. Hundley, people.whitman.edu/~hundledr/courses/M244/Poincare.pdf
\documentclass[border=1mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.markings,arrows}

\tikzset {every pin/.style={pin edge={<-}} ,>=stealth ,flow/.style= {decoration= {markings ,mark=at position #1 with {\arrow{>}} } ,postaction={decorate} } ,flow/.default=0.5 } \newcommand\inlayscale{} \newcommand\inlaycaption[1]{{\sffamily\scriptsize#1}} \newcommand\newinlay[4][0.18]% {\renewcommand\inlayscale{#1}% \newsavebox#2% \savebox#2% {\begin{tabular}{@{}c@{}} #4\[-1ex] \inlaycaption{#3}\[-1ex] \end{tabular}% }% } \newcommand\inlay[1]{\usebox{#1}} \newcommand\Tr{\mathop{\mathrm{Tr}}}

\newinlay\saddle{saddle}% {\begin{tikzpicture}[scale=\inlayscale] \foreach \sx in {+,-} {\draw[flow] (\sx4,0) -- (0,0); \draw[flow] (0,0) -- (0,\sx4); \foreach \sy in {+,-} \foreach \a/\b/\c/\d in {2.8/0.3/0.7/0.6,3.9/0.4/1.3/1.1} \draw[flow] (\sx\a,\sy\b) .. controls (\sx\c,\sy\d) and (\sx\d,\sy\c) .. (\sx\b,\sy\a); } \end{tikzpicture}% }

\newinlay\sink{sink}% {\begin{tikzpicture}[scale=\inlayscale] \foreach \sx in {+,-} {\draw[flow] (\sx4,0) -- (0,0); \draw[flow] (0,\sx4) -- (0,0); \foreach \sy in {+,-} \foreach \a/\b in {2/1,3/0.44} \draw[flow,domain=\sx\a:0] plot (\x, {\sy\b\x\x}); } \end{tikzpicture}% }

\newinlay\source{source}% {\begin{tikzpicture}[scale=\inlayscale] \foreach \sx in {+,-} {\draw[flow] (0,0) -- (\sx4,0); \draw[flow] (0,0) -- (0,\sx4); \foreach \sy in {+,-} \foreach \a/\b in {2/1,3/0.44} \draw[flow,domain=0:\sx\a] plot (\x, {\sy\b\x\x}); } \end{tikzpicture}% }

\newinlay\stablefp{line of stable fixed points}% {\begin{tikzpicture}[scale=\inlayscale] \draw (-4,0) -- (4,0); \foreach \s in {+,-} {\draw[flow] (0,\s4) -- (0,0); \foreach \x in {-3,-2,-1,1,2,3} \draw[flow] (\x,\s3) -- (\x,0); } \end{tikzpicture}% }

\newinlay\unstablefp{line of unstable fixed points}% {\begin{tikzpicture}[scale=\inlayscale] \draw (-4,0) -- (4,0); \foreach \s in {+,-} {\draw[flow] (0,0) -- (0,\s4); \foreach \x in {-3,-2,-1,1,2,3} \draw[flow] (\x,0) -- (\x,\s3); } \end{tikzpicture}% }

\newinlay\spiralsink{spiral sink}% {\begin{tikzpicture}[scale=\inlayscale] \draw (-4,0) -- (4,0); \draw (0,-4) -- (0,4); \draw[samples=100,smooth,domain=27:7] plot ({\x r}: {0.005\x\x}); \draw[->] ({26 r}: {0.0052626}) -- +(0.01,-0.01); \end{tikzpicture}% }

\newinlay\spiralsource{spiral source}% {\begin{tikzpicture}[scale=\inlayscale] \draw (-4,0) -- (4,0); \draw (0,-4) -- (0,4); \draw [samples=100,smooth,domain=10:28] plot ({-\x r}: {0.005\x\x}); \draw[<-] ({-27.5 r}: {0.00527.527.5}) -- +(0.01,-0.008); \end{tikzpicture}% }

\newinlay[0.15]\centre{center}% {\begin{tikzpicture}[scale=\inlayscale] \draw (-4,0) -- (4,0); \draw (0,-4) -- (0,4); \foreach \r in {1,2,3} \draw[flow=0.63] (\r,0) arc (0:-360:\r cm); \end{tikzpicture}% }

\newinlay\degensink{degenerate sink}% {\begin{tikzpicture}[scale=\inlayscale] \draw (0,-4) -- (0,4); \draw[flow] (-4,0) -- (0,0); \draw[flow] (4,0) -- (0,0); \draw[flow] (-3.5,3.5) .. controls (4,1.5) and (4,1).. (0,0); \draw[flow] (3.5,-3.5) .. controls (-4,-1.5) and (-4,-1) .. (0,0); \draw[flow] (-3.5,2.5) .. controls (2,1) and (2,0.8).. (0,0); \draw[flow] (3.5,-2.5) .. controls (-2,-1) and (-2,-0.8) .. (0,0); \end{tikzpicture}% }

\newinlay\degensource{degenerate source}% {\begin{tikzpicture}[scale=\inlayscale] \draw (0,-4) -- (0,4); \draw[flow] (0,0) -- (-4,0); \draw[flow] (0,0) -- (4,0); \draw[flow] (0,0) .. controls (4,1.5) and (4,1).. (-3.5,3.5); \draw[flow] (0,0) .. controls (-4,-1.5) and (-4,-1) .. (3.5,-3.5); \draw[flow] (0,0) .. controls (2,1) and (2,0.8).. (-3.5,2.5); \draw[flow] (0,0) .. controls (-2,-1) and (-2,-0.8) .. (3.5,-2.5); \end{tikzpicture}% }

\begin{document} \begin{tikzpicture}[line cap=round,line join=round] % Main diagram \draw[line width=1pt,->] (0,-0.3) -- (0, 4.7) coordinate (+y); \draw[line width=1pt,->] (-5,0) -- ( 5,0) coordinate (+x); \draw[line width=1pt, domain=-4:4] plot (\x, {0.25\x\x}); \node at (+y) [label={[above,yshift=0.8cm]% {\sffamily\large Poincar'e Diagram: Classification of Phase Portaits in the $(\det A,\Tr A)$-plane}}] {}; \node at (+x) [label={[right,yshift=-0.5ex]$\scriptstyle\Tr A$}] {}; \node at (+y) [label={[above]$\scriptstyle\det A$}] {}; \node at (-4,4) [pin={[above]$\scriptstyle\Delta=0$}] {}; \node at ( 4,4) [pin={[above,align=left]{% $\scriptstyle\Delta=0$:\ $\scriptstyle\det A=\frac{1}{4}(\Tr A)^2$}}] {}; % inlays \node at (0,-1.4) {\inlay\saddle}; \node at (0,1.2) [pin={[draw,right,xshift=0.3cm]\inlay\centre}] {}; \node at (0,0) [pin={[draw,above left,align=center,xshift=-0.3cm]% \inlaycaption{uniform}\[-1ex]\inlaycaption{motion}}] {}; \node at (-4,1) {\inlay\sink}; \node at ( 4,1) {\inlay\source}; \node at (-3,0) [pin={[draw,below,yshift=-1cm]\inlay\stablefp}] {}; \node at (3,0) [pin={[draw,below,yshift=-1cm]\inlay\unstablefp}] {}; \node at (-1.8,3.7) {\inlay\spiralsink}; \node at ( 1.8,3.7) {\inlay\spiralsource}; \node at (-3.5,{0.253.53.5}) [pin={[draw,left,xshift=-1.15cm,yshift=-0.3cm]\inlay\degensink}] {}; \node at ( 3.5,{0.253.53.5}) [pin={[draw,right,xshift=0.9cm,yshift=-0.3cm]\inlay\degensource}] {}; \end{tikzpicture} \end{document}

I tried to edit the code to create two other distinct phase portrait, but I couldn't quite understand the code.

I was trying to create, for example, this phase portrait,

2 3

I would like to understand the code and how to create these examples.

Stefan Pinnow
  • 29,535
Mrcrg
  • 301
  • code fragments do not help -- do upload a MWE – js bibra Oct 29 '20 at 00:49
  • 1
    Understanding, hoe your MWE works is not so simple. It draw complex image composed by many tikzpicture. This (sub) images are stored in save boxes and than used in main picture. What is your problem? compose such complex image or only how to draw desired phase diagrams as stand alone pictures? – Zarko Oct 29 '20 at 02:03
  • @Zarko My question is related to the phase spaces of the pictures. In case, these diagrams are not represented in the code, I would like to know how I can generate them. – Mrcrg Oct 29 '20 at 02:35
  • Than please limit your question just them. Most of the provided code is for those diagrams irrelevant. You should start from solutions which you got on your previous question. BTW, see if my answer below help you. – Zarko Oct 29 '20 at 02:38

1 Answers1

1

Desired phase trajectories is simple to draw with use of the polar coordinates and in preamble defined styles in \tikzset:

\documentclass[tikz, margin=3.14159mm]{standalone}
\usetikzlibrary{decorations.markings}
\tikzset{
                   > = stealth,
    every pin/.style = {pin edge = {<-}},
         flow/.style = {decoration = {markings, mark=at position #1 with {\arrow{>}}},
                        postaction = {decorate}
                        },
       flow/.default = 0.5,
         main/.style = {color=#1, line width=1pt, line cap=round, line join=round},
       main/.default = black
                }

\begin{document} \begin{tikzpicture} % axis \draw [->] (0,-3) -- (0,3) node [above] {$y$}; \draw [->] (-3,0) -- (3,0) node [right] {$x$}; % phase trajectories \foreach \i in {0, 22.5,...,360} \draw[main=blue, flow] (0,0) -- (\i:2.5); \end{tikzpicture}

\begin{tikzpicture}

% axis \draw [->] (0,-3) -- (0,3) node [above] {$y$}; \draw [->] (-3,0) -- (3,0) node [right] {$x$}; % phase trajectories \foreach \i in {0, 22.5,...,360} \draw[main=blue, flow] (\i:2.5) -- (0,0); \end{tikzpicture}

\end{document}

enter image description here

In the your complex image of Poincare Diagram you can insert this images as are inserted other images: by store developed image code (from above MWE) in savebox with name of your choice:

\newinlay\XXX{XXX}% XXX name of savebox
  {
\begin{tikzpicture}[scale=\inlayscale]
% axis
\draw [->] (0,-3) -- (0,3) node [above]  {$y$};
\draw [->] (-3,0) -- (3,0) node [right]  {$x$};
% phase trajectories
\foreach \i in {0, 22.5,...,360}
    \draw[main=blue, flow]  (\i:2.5) -- (0,0);
\end{tikzpicture}
}

and insert in the main image as content of node placed on desired coordinate as:

\node at (<x-coordinate>,<y-coordinate>) {\inlay\XXX}; % XXX is name of your image save box

From above you can see a workflow in design of your final image:

  • First you develop code for sub image.
  • When code gives satisfactory result, you code of picture store in save box with selected name (as shown above).
  • use this save box as content of node in the main picture.

Is this helpful? For preamble in MWE is used preamble from (my answer) on your previous question.

Zarko
  • 296,517