\listfiles
\documentclass[a4paper]{article}%  Herbert Voss 2004-10-06
\usepackage{pstricks}
\usepackage{pstricks-add}
\usepackage{multido}
\def\func{%
    const0 x sin dup mul 3 mul div neg /p exch def
    p abs sqrt neg /r exch def
    const1 2.0 div neg /q exch def
    p 0 lt {
      p dup mul p mul q dup mul add 0 le {
        q r 3 exp div arccos 
        3 div cos r dup add neg mul
      }{
        q r 3 exp div arch
        3 div cosh r dup add neg mul
      } ifelse
    }{
      q r 3 exp div arsh
      3 div sinh r dup add neg mul      
    } ifelse
}
\begin{document}
\textbf{Dynamical flow around a cylinder}
\[
\left(r^2-\frac{c_1}{r}\right)\sin^2\theta=c_0
\]

which is the same as

\[
r^3-\frac{c_0}{\sin^2\theta}\cdot r-c_1=0
\]

which can be solved by the formula of Cardano:

\[
r^3+3pr+2q=0
\]

\bigskip
\begin{pspicture*}(-5,-2.5)(5,2.5)
  \pstVerb{
    /e 2.718281828459045 def
    /arccos { dup dup mul neg 1.0 add sqrt exch atan } def
    /sinh { dup e exch exp exch neg e exch exp sub 2 div } def
    /cosh { dup e exch exp exch neg e exch exp add 2 div } def
    /arsh { dup dup mul 1 add sqrt add ln } def
    /arch { dup dup mul 1 sub sqrt add ln } def
  }
  \psaxes(0,0)(-5,-2.5)(5,2.5)
  \pscircle[linecolor=red]{1}
  \psset{plotpoints=100,linewidth=0.05pt,polarplot=true,linecolor=blue}
  \multido{\rA=0.005+0.05}{5}{
    \psplot{1}{179}{%
      /const0 \rA\space def 
      /const1 1.0 def % cylinder radius
      \func
    }
    \psplot{181}{359}{%
      /const0 \rA\space def 
      /const1 1.0 def % cylinder radius
      \func
    }%
  }
  \multido{\rA=0.03+0.25}{20}{
    \psplot{1}{179}{%
      /const0 \rA\space def 
      /const1 1.0 def % cylinder radius
      \func
    }
    \psplot{181}{359}{%
      /const0 \rA\space def 
      /const1 1.0 def % cylinder radius
      \func
    }%
  }
\end{pspicture*}

\end{document}

