187 lines
7.8 KiB
TeX
187 lines
7.8 KiB
TeX
\begin{frame}{Moteur chimique}
|
|
|
|
\begin{columns}
|
|
\column{.7\textwidth}\centering
|
|
\begin{itemize}
|
|
\item \structure{Modèle}
|
|
\begin{itemize}
|
|
\item Réaction-Diffusion-Évaporation à la Turing
|
|
\medskip
|
|
\item EDP couplées
|
|
\begin{equation*}
|
|
\frac{\partial\orr\varphi}{\partial t} =
|
|
\orr{\text{X}}(\orr\varphi) +
|
|
\orr{\text{D}} \cdot
|
|
\nabla^2\orr\varphi
|
|
- \orr{\text{E}} \cdot \orr\varphi
|
|
\end{equation*}
|
|
\end{itemize}
|
|
\item \structure{Simulation}
|
|
\begin{itemize}
|
|
\item Discrétisation de type différences finies sur un automate
|
|
cellulaire 2D
|
|
\medskip
|
|
\item Algorithme Propagation Parallèle à la Margolus (PPM)
|
|
\begin{itemize}
|
|
\item Simuler un automate cellulaire sur un support SIMD
|
|
\item Faire correspondre la segmentation de l'espace aux processus
|
|
\item Éviter les accès concurrents à la même zone mémoire
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{itemize}
|
|
|
|
\column{.2\textwidth}
|
|
\moteurs[structure!30]
|
|
\end{columns}
|
|
|
|
% Animation du «calque» de démonstration de PPM
|
|
\uncover<2->{
|
|
\tikz[overlay,opacity=.95,transform canvas={scale around=.8:(current page.center)}]
|
|
\draw[black,fill=white,rounded corners,ultra thick]
|
|
(current page.south west) rectangle (current page.north east);
|
|
\only<2-7>{
|
|
\tikz[overlay] \node[anchor=center] at (current page.center) {
|
|
\begin{tikzpicture}[
|
|
cell/.style={black,size=1.5mm,circle,inner sep=0pt,font=\TINY},
|
|
neighbor cell/.style={black,size=1.5mm,circle,inner sep=0pt,font=\small},
|
|
center cell/.style={cell,white,fill=black},
|
|
spy using outlines={circle,red,size=58mm,magnification=4,connect spies}]
|
|
\begin{scope}[scale=.5]
|
|
\clip (-27mm,-27mm) rectangle (27mm,27mm);
|
|
|
|
% Background
|
|
\only<2,4-6>{%
|
|
\fill[blue!50,shift={(5mm,5mm)}] (-1cm,-1cm) rectangle (1cm,1cm);
|
|
\fill[red!50,shift={(-5mm,-5mm)}] (-1cm,-1cm) rectangle (1cm,1cm);
|
|
}
|
|
\only<3,6->{%
|
|
\fill[red!50,shift={(-5mm,-5mm)}] (-1cm,-1cm) rectangle (1cm,1cm);
|
|
\fill[blue!50,shift={(5mm,5mm)}] (-1cm,-1cm) rectangle (1cm,1cm);
|
|
}
|
|
|
|
\only<4-7>{
|
|
\begin{scope}
|
|
\clip (-3mm,-3mm) rectangle (3mm,3mm);
|
|
\draw[very thin] (-5mm,-5mm) grid (5mm,5mm);
|
|
\end{scope}
|
|
}
|
|
\only<4-6>{
|
|
\begin{scope}[shift={(-1cm,0)}]
|
|
\clip (-3mm,-3mm) rectangle (3mm,3mm);
|
|
\draw[very thin] (-5mm,-5mm) grid (5mm,5mm);
|
|
\end{scope}
|
|
\begin{scope}[shift={(-1cm,-1cm)}]
|
|
\clip (-3mm,-3mm) rectangle (3mm,3mm);
|
|
\draw[very thin] (-5mm,-5mm) grid (5mm,5mm);
|
|
\end{scope}
|
|
\begin{scope}[shift={(0cm,-1cm)}]
|
|
\clip (-3mm,-3mm) rectangle (3mm,3mm);
|
|
\draw[very thin] (-5mm,-5mm) grid (5mm,5mm);
|
|
\end{scope}
|
|
}
|
|
\only<2,3>{
|
|
\node[center cell,font=\small] at ( -0mm, -0mm) {$A$};
|
|
\node[cell,font=\small] at (-10mm, -0mm) {$B$};
|
|
\node[cell,font=\small] at (-10mm,-10mm) {$C$};
|
|
\node[cell,font=\small] at ( -0mm,-10mm) {$D$};
|
|
}
|
|
\only<2,3,4>{
|
|
% Voisins
|
|
\node[neighbor cell] at ( 1cm, 0cm) {$v_{A,1}$};
|
|
\node[neighbor cell] at ( 1cm, 1cm) {$v_{A,2}$};
|
|
\node[neighbor cell] at ( 0cm, 1cm) {$v_{A,3}$};
|
|
\node[neighbor cell] at (-1cm, 1cm) {$v_{B,1}$};
|
|
\node[neighbor cell] at (-2cm, 1cm) {$v_{B,2}$};
|
|
\node[neighbor cell] at (-2cm, 0cm) {$v_{B,3}$};
|
|
\node[neighbor cell] at (-2cm,-1cm) {$v_{C,1}$};
|
|
\node[neighbor cell] at (-2cm,-2cm) {$v_{C,2}$};
|
|
\node[neighbor cell] at (-1cm,-2cm) {$v_{C,3}$};
|
|
\node[neighbor cell] at ( 0cm,-2cm) {$v_{D,1}$};
|
|
\node[neighbor cell] at ( 1cm,-2cm) {$v_{D,2}$};
|
|
\node[neighbor cell] at ( 1cm,-1cm) {$v_{D,3}$};
|
|
}
|
|
\only<4>{
|
|
\begin{scope}[scale=0.5,shift={(-5mm,-5mm)}]
|
|
\node[center cell] at ( -0mm, -0mm) {$A$};
|
|
\node[cell] at (-10mm, -0mm) {$B$};
|
|
\node[cell] at (-10mm,-10mm) {$C$};
|
|
\node[cell] at ( -0mm,-10mm) {$D$};
|
|
|
|
\node[cell] at ( 1cm, 0cm) {$v_{A,1}$};
|
|
\node[cell] at ( 1cm, 1cm) {$v_{A,2}$};
|
|
\node[cell] at ( 0cm, 1cm) {$v_{A,3}$};
|
|
\node[cell] at (-1cm, 1cm) {$v_{B,1}$};
|
|
\node[cell] at (-2cm, 1cm) {$v_{B,2}$};
|
|
\node[cell] at (-2cm, 0cm) {$v_{B,3}$};
|
|
\node[cell] at (-2cm,-1cm) {$v_{C,1}$};
|
|
\node[cell] at (-2cm,-2cm) {$v_{C,2}$};
|
|
\node[cell] at (-1cm,-2cm) {$v_{C,3}$};
|
|
\node[cell] at ( 0cm,-2cm) {$v_{D,1}$};
|
|
\node[cell] at ( 1cm,-2cm) {$v_{D,2}$};
|
|
\node[cell] at ( 1cm,-1cm) {$v_{D,3}$};
|
|
\end{scope}
|
|
}
|
|
\only<5>{
|
|
\begin{scope}[scale=0.5,shift={(-5mm,-5mm)}]
|
|
\node[center cell] at ( -0mm, -0mm) {$A'$};
|
|
\node[cell] at (-10mm, -0mm) {$B'$};
|
|
\node[cell] at (-10mm,-10mm) {$C'$};
|
|
\node[cell] at ( -0mm,-10mm) {$D'$};
|
|
\end{scope}
|
|
}
|
|
\only<6>{
|
|
\begin{scope}[scale=0.5,shift={(5mm,5mm)}]
|
|
\node[center cell] at ( -0mm, -0mm) {$A'$};
|
|
\node[cell] at (-10mm, -0mm) {$B'$};
|
|
\node[cell] at (-10mm,-10mm) {$C'$};
|
|
\node[cell] at ( -0mm,-10mm) {$D'$};
|
|
\end{scope}
|
|
\begin{scope}[scale=0.5,shift={(-15mm,5mm)}]
|
|
\node[cell] at ( -0mm, -0mm) {$A'$};
|
|
\node[cell] at (-10mm, -0mm) {$B'$};
|
|
\node[cell] at (-10mm,-10mm) {$C'$};
|
|
\node[cell] at ( -0mm,-10mm) {$D'$};
|
|
\end{scope}
|
|
\begin{scope}[scale=0.5,shift={(-15mm,-15mm)}]
|
|
\node[cell] at ( -0mm, -0mm) {$A'$};
|
|
\node[cell] at (-10mm, -0mm) {$B'$};
|
|
\node[cell] at (-10mm,-10mm) {$C'$};
|
|
\node[cell] at ( -0mm,-10mm) {$D'$};
|
|
\end{scope}
|
|
\begin{scope}[scale=0.5,shift={(5mm,-15mm)}]
|
|
\node[cell] at ( -0mm, -0mm) {$A'$};
|
|
\node[cell] at (-10mm, -0mm) {$B'$};
|
|
\node[cell] at (-10mm,-10mm) {$C'$};
|
|
\node[cell] at ( -0mm,-10mm) {$D'$};
|
|
\end{scope}
|
|
}
|
|
\only<7>{
|
|
\begin{scope}[scale=0.5,shift={(5mm,5mm)}]
|
|
\node[center cell] at ( -0mm, -0mm) {$A'$};
|
|
\node[cell] at (-10mm, -0mm) {$B'$};
|
|
\node[cell] at (-10mm,-10mm) {$C'$};
|
|
\node[cell] at ( -0mm,-10mm) {$D'$};
|
|
\end{scope}
|
|
}
|
|
|
|
% Grilles:
|
|
\draw[xshift=5mm,yshift=5mm,thin] ( -5cm, -5cm) grid ( 5cm, 5cm);
|
|
\only<2,4-6>{\draw[xshift=5mm,yshift=5mm, step=2cm, thick]%
|
|
( -5cm, -5cm) grid ( 5cm, 5cm);}
|
|
\only<3,7>{\draw[xshift=-5mm,yshift=-5mm, step=2cm, thick]%
|
|
( -5cm, -5cm) grid ( 5cm, 5cm);}
|
|
|
|
\only<2,4-6>{
|
|
\coordinate (spyhook) at (-5mm,-5mm);
|
|
}
|
|
\only<3,7>{
|
|
\coordinate (spyhook) at (5mm,5mm);
|
|
}
|
|
\end{scope}
|
|
|
|
\spy on (spyhook) in node (zoom) at (5cm,0);
|
|
\end{tikzpicture}
|
|
};
|
|
}
|
|
}
|
|
\end{frame}
|