%% Filename: pst-pad-docDE.tex
%% 
%% Author: Patrick Drechsler
%% 
%% Created: Fri Mar  21 13:05:37 2008
%% 
%% Version: $Id: pst-pad-docDE.tex 333 2008-03-22 00:21:39Z patrick $
%% 
\listfiles
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\input{pst-pad-doc-header}
\newcommand{\summary}{Ein PSTricks Packet zum Zeichnen von Haftmodellen}
\newcommand{\zB}{z.\,B.~}

\begin{document}
%% Anführungszeichen aktivieren:
\EnableQuotes

\title{\texttt{pst-pad}\\\summary\\\normalsize ver. \verPstPad}
\author{\AuthorName\thanks{\AuthorEmail}} \date{\today}
\maketitle

\begin{abstract}
\PadPackage{}: \summary.
\end{abstract}

\setlength{\columnseprule}{0.6pt}
\begin{multicols}{2}
{\parskip 0pt \tableofcontents}
\end{multicols}

\section{Einleitung}
\label{sec:introduction}

Das Packet \PadPackage{} ist eine kleine Sammlung von PSTricks Makros um
Adhäsions- und Reibungssysteme darzustellen (\zB JKR- oder Hertz-Theorie,
Grenzflächenreibung, (elasto-)hydrodynamische Reibung). Die zur Verfügung
gestellten Makros erlauben den zwei beteiligten Körpern unterschiedliche Formen
zu geben (planar, kugelförmig, elastisch) sowie einen optionalen
Flüssigkeitsfilm zwischen diese Körper zu platzieren. Der Name \PadPackage{}
kommt vom englischen Begriff für Haftorgane bei Tieren ("attachment pads"),
meinem früheren Forschungsgebiet.

\section{Parameter}
\label{sec:parameters}

Die folgenden Parameter stehen zur Verfügung.

\let\HLTTc\textsf
%\begin{multicols}{2}
\begin{description}
\item[\HLTTc{fluid} (boolean):] (\emph{default:~true})
\item[\HLTTc{WallThickness} (dimension):] (\emph{default:~1})
\item[\HLTTc{WallString} (string):] (\emph{default:~})
\item[\HLTTc{WallAngle} (PSTricks color):] (\emph{default:~0})
\item[\HLTTc{WallLineWidth} (dimension):] (\emph{default:~1pt})
\item[\HLTTc{WallLineColor} (PSTricks color):] (\emph{default:~black})
\item[\HLTTc{SphereStartAngle} (dimension):] (\emph{default:~180})
\item[\HLTTc{SphereEndAngle} (boolean):] (\emph{default:~360})
\item[\HLTTc{SphereRadius} (dimension):] (\emph{default:~1})
\item[\HLTTc{ShpereString} (string):] (\emph{default:~})
\item[\HLTTc{SphereOffset} (dimension):] (\emph{default:~0})
\item[\HLTTc{SphereFillColor} (PSTricks color):] (\emph{default:~white})
\item[\HLTTc{SphereLineWidth} (dimension):] (\emph{default:~1pt})
\item[\HLTTc{SphereLineColor} (PSTricks color):] (\emph{default:~black})
\item[\HLTTc{FSphereHeight} (dimension):] (\emph{default:~2})
\item[\HLTTc{FSphereFillColor} (PSTricks color):] (\emph{default:~lightgray})
\item[\HLTTc{FSphereString} (string):] (\emph{default:~})
\item[\HLTTc{FSphereLineWidth} (dimension):] (\emph{default:~1pt})
\item[\HLTTc{FSphereLineColor} (PSTricks color):] (\emph{default:~black})
\item[\HLTTc{FluidMaxRadius} (dimension):] (\emph{default:~1})
\item[\HLTTc{FluidMinRadius} (dimension):] (\emph{default:~.5})
\item[\HLTTc{FluidHeight} (dimension):] (\emph{default:~.5})
\item[\HLTTc{FluidFillColor} (PSTricks color):] (\emph{default:~yellow})
\item[\HLTTc{FluidString} (string):] (\emph{default:~})
\item[\HLTTc{FluidShearOffsetX} (dimension):] (\emph{default:~0})
\item[\HLTTc{FluidShearOffsetY} (dimension):] (\emph{default:~0})
\item[\HLTTc{FluidLineWidth} (dimension):] (\emph{default:~1pt})
\item[\HLTTc{FluidLineColor} (PSTricks color):] (\emph{default:~black})
\item[\HLTTc{StringA} (string):] (\emph{default:~})
\item[\HLTTc{StringB} (string):] (\emph{default:~})
\item[\HLTTc{TotalAngle} (angle):] (\emph{default:~0})
\end{description}

\clearpage

\section{High-level Makros ("Objekte")}
\label{sec:high-level-macros}

Es gibt drei "high-level" Makros: \macro{PstWallToWall},
\macro{PstSphereToWall} and \macro{PstPad}.

\subsection{\macro{PstWallToWall}}
\label{sec:macropstwalltowall}

\begin{LTXexample}[width=5cm]
\begin{pspicture}(4,4)\psgrid
  \PstWallToWall(2,2)
\end{pspicture}
\end{LTXexample}

\subsection{\macro{PstSphereToWall}}
\label{sec:macropstspheretowall}

\begin{LTXexample}[width=5cm]
\begin{pspicture}(4,4)\psgrid
  \PstSphereToWall[fluid=false](2,2)
\end{pspicture}
\end{LTXexample}


\subsection{\macro{PstPad}}
\label{sec:macropstpad}

\begin{LTXexample}[width=5cm]
\begin{pspicture}(4,4)\psgrid
  \PstPad(2,2)
\end{pspicture}
\end{LTXexample}

\clearpage

\subsection{Anwendung}
\label{sec:basic-usage}

Die folgende Abbildung zeigt die Verwendung des Makros \macro{PstPad} und
einiger Parameter. Grün und braun gefärbte Werte in Klammern zeigen die
voreingestellten und im Beispiel verwendeten Werte.

\begin{pspicture}(-5,-4)(7.5,4)%\psgrid
  \PstPad[%
  FluidMaxRadius=4,%
  FluidMinRadius=3,%
  FluidHeight=1,%
  FSphereHeight=2,%
  FSphereFillColor=green!20!white,%
  FluidFillColor=blue!10!white,%
  FluidLineWidth=1.5pt,%
  FSphereLineWidth=0.1pt,%
  WallLineWidth=3pt,%
  WallLineColor=blue,%
  FSphereLineColor=magenta,%
  FluidLineColor=green!50!black%
  ](0,0)
  %%
  \sffamily\footnotesize%
  \psset{linecolor=gray, linewidth=0.2pt}
  %% "Crosshair" for orientation:
  \psline[linestyle=dashed](-5,0)(5,0)
  \psline[linestyle=dashed](0,-3)(0,1.5)
  %% Node definitions:
  \pnode(0,0){center}
  \pnode(-4,-2.25){maxradiusLeft}
  \pnode(0,-2.25){maxradiusRight}
  \pnode(-3,0){minradiusLeft}
  \pnode(3,0){minradiusRight}
  \pnode([nodesep=4.5]center){fluidheightCenter}
  \pnode([nodesep=4.5,offset=-1]center){fluidheightBottom}
  \pnode([offset=-1]fluidheightBottom){wallThicknessBottom}
  \pnode([nodesep=5.2,offset=1]center){fsphereheightBottom}
  \pnode([offset=1]fsphereheightBottom){fsphereheightTop}
  %%
  \psset{arrows=|<->|,linewidth=0.8pt,linecolor=red,arrowscale=1.5}
  %% Center:
  \rput[l]([nodesep=.2,offset=.2]center){\textbf{(0,0)}}
  %% Label FluidMinRadius:
  \ncline{minradiusLeft}{center}
  \nbput{\ParCol{FluidMinRadius}{0.5}{3}}
  %% Label FluidMaxRadius:
  \ncline{maxradiusLeft}{maxradiusRight}
  \nbput{\ParCol{FluidMaxRadius}{1}{4}}
  %% Label FluidHeight:
  \ncline{fluidheightCenter}{fluidheightBottom}
  \naput{\ParCol{FluidHeight}{.5}{1}}
  %% Label WallThickness:
  \ncline{fluidheightBottom}{wallThicknessBottom}
  \naput{\ParCol{WallThickness}{1}{1}}
  %% Label FSpereHeight:
  \ncline{fsphereheightBottom}{fsphereheightTop}
  \nbput{\ParCol{FSphereHeight/2}{2}{2}}
  %% Label FSphereFillColor:
  \psline{->}(-.1,2.2)(-.3,1.6)
  \rput(-.1,2.6){\ParCol{FSphereFillColor}{"lightgray"}{"green!20!white"}}
  %% Label FluidFillColor:
  \psline{->}(4,2.2)(2.5,.6)
  \rput(4,2.6){\ParCol{FluidFillColor}{"yellow"}{"blue!10!white"}}
  %% Label FluidLineWidth:
  \psline{->}([offset=.5,nodesep=3]minradiusRight)(minradiusRight)
  \rput[l]([offset=-.1,nodesep=3.2]minradiusRight){\ParCol{FluidLineWidth}{1pt}{1.5pt}}
  \rput[l]([offset=.8,nodesep=3.2]minradiusRight){\ParCol{FluidLineColor}{"black"}{"green!50!black"}}
  %% Label FSphereLineWidth:
  \psline{->}(-4.3,2.2)(-3.5,1)
  \rput(-4.3,2.6){\ParCol{FSphereLineWidth}{1pt}{0.1pt}}
  \rput(-4.3,3.4){\ParCol{FSphereLineColor}{"black"}{"magenta"}}
  %% Label WallLineWidth:
  \psline{->}(1.5,-2.25)(1.5,-1)
  \rput[t](1.5,-2.5){\ParCol{WallLineWidth}{1pt}{3pt}}
  \rput[t](1.5,-3.4){\ParCol{WallLineColor}{"black"}{"blue"}}
\end{pspicture}

\subsection{Scherender Flüssigkeitsfilm}
\label{sec:liquid-shearing}

Flüssigkeitsfilme zwischen zwei Oberflächen können auch mit einer Scherung
dargestellt werden. Die folgenden Abbildungen zeigt die Verwendung der
Parameter \parameter{FluidShearOffsetX} und \parameter{FluidShearOffsetY}. Grün
und braun gefärbte Werte in Klammern zeigen wieder die Voreinstellung und die
Beispielwerte.

\subsubsection[\parameter{FluidShearOffsetX}]{Parameter \parameter{FluidShearOffsetX}}
\label{sec:param-offsetx}

\parameter{FluidShearOffsetX}\ beschreibt den Offset vom Wert des
Parameters \parameter{FluidMaxRadius} in x Richtung.

\begin{center}
  \begin{pspicture}[showgrid=false](-5,-2)(4.5,2)%
    \PstPad[%
    FluidHeight=1,%
    FluidShearOffsetX=0.6%
    ](0,0)
    %% Labeling:
    \sffamily\footnotesize%
    \psset{linecolor=black, linewidth=0.2pt}
    \psline[linestyle=dotted](-2.5,0)(1.5,0)
    \psline[linestyle=dotted](0,-1)(0,1.5)
    
    %% Node definitions:
    \pnode(0,0){center}
    \pnode(-1,-2.25){maxradiusLeft}
    \pnode(0,-2.25){maxradiusRight}
    
    \pnode(-1,0){maxradiusLeftZero}
    \pnode(0,0){maxradiusRightZero}
    
    \pnode([nodesep=-0.6]maxradiusLeft){Xoffset}
    \pnode([nodesep=-0.6]maxradiusLeftZero){XoffsetZero}
    
    \psline[linestyle=dotted]([offset=-1]maxradiusLeftZero)([offset=.5]maxradiusLeftZero)
    \psline[linestyle=dotted]([offset=-1]XoffsetZero)([offset=.5]XoffsetZero)
    %% 
    %% 
    \psset{arrowscale=2,arrows=|<->|}
    %% Label FluidMaxRadiusLeft:
    \ncline{maxradiusLeft}{maxradiusRight}
    \nbput[npos=0.5]{\ParCol{FluidMaxRadius}{1}{1}}
    %% Label FluidShearOffsetX:
    \ncline[linecolor=red]{maxradiusLeftZero}{XoffsetZero}
    \nbput[npos=1.6]{\ParCol{FluidShearOffsetX}{0}{.6}}
  \end{pspicture}
\end{center}

\subsubsection[\parameter{FluidShearOffsetY}]{Parameter \parameter{FluidShearOffsetY}}
\label{sec:param-offsety}

Mit dem Parameter \parameter{FluidShearOffsetY}\ kann der Krümmungsradius des
Flüssigkeitmeniskus beeinflußt werden. Der Parameter beschreibt den Offset von
Null in y Richtung.

\begin{center}
  \begin{pspicture}[showgrid=false](-4.5,-2)(4.5,2)%
    \PstPad[%
    FluidHeight=1,%
    FluidShearOffsetY=0.4%
    ](0,0)
    %% Labeling:
    \sffamily\footnotesize%
    \psset{linecolor=black, linewidth=0.2pt}
    \psline[linestyle=dotted](-2.5,0)(1.5,0)
    \psline[linestyle=dotted](0,-1)(0,1.5)
    %% Node definitions:
    \pnode(0,0){center}
    \pnode([nodesep=1.5]center){fluidheightCenterRight}
    \pnode([nodesep=-1.5]center){fluidheightCenterLeft}
    \pnode([nodesep=-1.5,offset=1]center){fluidheightTop}
    \pnode([offset=-0.4]fluidheightCenterRight){Yoffset}
    %% 
    \psline[linestyle=dotted](0,-.4)(1.7,-.4)
    %% 
    \psset{arrowscale=2,arrows=|<->|}
    %% Label FluidHeight:
    \ncline{fluidheightCenterLeft}{fluidheightTop}
    \naput{\ParCol{FluidHeight}{.5}{1}}
    %% Label FluidShearOffsetY:
    \ncline[linecolor=red]{fluidheightCenterRight}{Yoffset}
    \naput{\ParCol{FluidShearOffsetY}{0}{.4}}
  \end{pspicture}
\end{center}


\subsection{Drehwinkel}
\label{sec:tilting-parameters}

Die folgende Abbildung demonstriert die Verwendung des
Parameters \parameter{TotalAngle} um die Abbildung zu drehen. Der
voreingestellte Drehwinkel beträgt 0 Grad. Grün und braun gefärbte Werte in
Klammern zeigen wieder die Voreinstellung und die Beispielwerte.

\begin{center}
\begin{pspicture}(-2.5,-2)(4,2.5)%
  %%
  \PstPad[TotalAngle=30](0,0)
  %% Labeling:
  \sffamily\footnotesize%
  \psset{linecolor=black, linewidth=0.2pt}
  \psline[linestyle=dotted](-2.5,0)(2.5,0)
  \psline[linestyle=dotted](0,-1)(0,1.5)
  \rput{30}{%
    \psline[linestyle=dashed](-2.5,0)(2.5,0)
    \psline[linestyle=dashed](0,-1)(0,1.5)
  }
  \pnode(0,0){center}
  \psset{linecolor=red}
  \psarc[arrowscale=2]{<->}(center){2.25}{0}{30}
  \rput[l]([nodesep=2.5,angle=15]center){%
    \ParCol{TotalAngle}{0}{30}}%
\end{pspicture}
\end{center}

\section{Beispiele}
\label{sec:example-usage}

\begin{LTXexample}[width=5cm]
\begin{pspicture}(4,4)\psgrid
  \PstWallToWall[%
  FluidFillColor=red,%
  TotalAngle=10%
  ](2,2)
\end{pspicture}
\end{LTXexample}


\begin{LTXexample}[width=5cm]
\begin{pspicture}(4,4)\psgrid
  \tiny\sffamily%
  \PstPad[%
  FluidFillColor=blue!30!white,%
  FluidLineColor=blue!70!black,%
  FSphereFillColor=yellow!40!white,%
  FSphereLineColor=red!70!black,%
  FluidString={fluid A},%
  FluidShearOffsetX=0.1,%
  FluidShearOffsetY=0.2,%
  WallThickness=0.4,%
  FSphereHeight=1,%
  StringA={sliding insect pad}%
  ](2,2)
\end{pspicture}
\end{LTXexample}


\begin{LTXexample}[width=5cm]
\begin{pspicture}(4,4)\psgrid
  \PstSphereToWall[%
  fluid=false,%
  SphereRadius=1.5,%
  SphereStartAngle=190,%
  SphereEndAngle=350,%
  SphereOffset=0.1,%
  StringA={string a},%
  StringB={string b}%
  ](2,2)
\end{pspicture}
\end{LTXexample}

\section{Low-level Makros}
\label{sec:low-level-macros}

Es gibt vier "low-level" Makros: \macro{PstWall}, \macro{PstFluid},
\macro{PstSphere} und \macro{PstFlattenedSphere}.

\subsection{\macro{PstWall}}
\label{sec:macropstwall}

\begin{LTXexample}[width=5cm]
  \begin{pspicture}[showgrid=true](4,2)
    \PstWall(2,1.5)
  \end{pspicture}
\end{LTXexample}

\subsection{\macro{PstFluid}}
\label{sec:macropstfluid}

\begin{LTXexample}[width=5cm]
  \begin{pspicture}[showgrid=true](4,2)
    \rput(2,1){\PstFluid[unit=1pt](0,0)}
  \end{pspicture}
\end{LTXexample}


\clearpage

\subsection{\macro{PstSphere}}
\label{sec:macropstsphere}

\begin{LTXexample}[width=5cm]
  \begin{pspicture}[showgrid=true](4,2)
    \PstSphere(2,.5)
  \end{pspicture}
\end{LTXexample}

\subsection{\macro{PstFlattenedSphere}}
\label{sec:macr}

\begin{LTXexample}[width=5cm]
  \begin{pspicture}[showgrid=true](4,2)
    \PstFlattenedSphere(2,.5)
  \end{pspicture}
\end{LTXexample}


\section{TODO}
\label{sec:todo}

\begin{itemize}
\item Interne Berechnungen und Einheitenumwandlungen verbessern.
\item Oberflächenrauigkeit implementieren.
\item Flüssigkeitskontaktwinkeloption implementieren.
\end{itemize}


\section{Danksagung}
\label{sec:acknowledgements}

Ich danke Herbert Voß und Alan Ristow für ihre Hilfe mir die Grundzüge von
PSTricks Makros und das Rechnen mit PostScript und \TeX\ nähergebracht zu
haben.

\end{document}

%%% Local Variables: 
%%% TeX-command-default: "Make"
%%% mode: latex
%%% TeX-master: t
%%% End: 
