%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% I, the copyright holder of this work, release this work into the
%% public domain. This applies worldwide. In some countries this may
%% not be legally possible; if so: I grant anyone the right to use
%% this work for any purpose, without any conditions, unless such
%% conditions are required by law.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass{beamer}
%\usetheme[faculty=fi]{fibeamer} %include the default logo
%to include a custom logo, use this theme instead (comment the one above)
%\usetheme[...,logopath=./, logo=ufglogohorizontal.pdf]{fibeamer}
\usetheme[...,logopath=./, logo=ufg_logo3.png]{fibeamer}
%to remove any logo, uncomment the next 3 lines
% \makeatletter
% \renewcommand{\fibeamer@includeLogo}[1][]{}
% \makeatother
%size of the logo
\makeatletter
\setlength\fibeamer@lengths@logowidth{10em}
\setlength\fibeamer@lengths@logoheight{5em}
\makeatother
\usepackage{mathpazo}
\usepackage[brazil]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
% \usepackage[utf8]{inputenc}
% \usepackage[
% main=english,
% %main=portuguese, %% By using `czech` or `slovak` as the main locale
% %czech, slovak %% The additional keys allow foreign texts to be
% ]{babel} %% typeset as follows:
%% These macros specify information about the presentation
\title{Computação Científica e Mecânica Estatística: sistema de discos em duas dimensões} %% that will be typeset on the
%\subtitle{Presentation Subtitle} %% title page.
\author{AG França, HA Fernandes, PF Gomes (UFG-Jataí), RS Grisotto (Unicamp), BM Rocha e FAAMN Soares (UFG-Goiânia)}
%esse comando serve para deixar as equacoes mais curvadas, como no texto em latex
%\usefonttheme[onlymath]{serif}
% porem lendo na internet vi que equacoes curvadas sao piores para visualizar no projetor
%por isso o padrao das equacoes e nao curvada
%% These additional packages are used within the document:
\usepackage{ragged2e} % `\justifying` text
\usepackage{booktabs} % Tables
\usepackage{tabularx}
%\usepackage{tikz} % Diagrams
%\usetikzlibrary{calc, shapes, backgrounds}
\usepackage{amsmath, amssymb}
\usepackage{url} % `\url`s
\usepackage{listings} % Code listings
\frenchspacing
\usepackage{tabu} %tabela com cores
\usepackage{xcolor}
%habilita modo codigo dentro do texto
\usepackage{verbatim}
%%%%%%% formatacao para escrita de pseudocodigo
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\makeatletter
\def\BState{\State\hskip-\ALG@thistlm}
\makeatother
\begin{document}
\frame{\maketitle}
\AtBeginSection[]{% Print an outline at the beginning of sections
\begin{frame}<beamer>
\frametitle{Seção \thesection}
\tableofcontents[currentsection]
\end{frame}}
\begin{darkframes}
\section{Introdução}
%\begin{frame}{Transição de Fase}
%\begin{itemize}
%\item Em nosso dia dia, a água pode ser encontrada em {\color{red}3 fases: sólida (gelo), líquida (água) e gás (vapor)}.
%\item Transição de fase é um fenômeno muito comum na natureza: magnetismo, electricidade, óptica, etc...
%\item Estudo de transição de fase é uma área muito ativa na Física.
%\end{itemize}
%\end{frame}
\begin{frame}{Fases: sólido, líquido e gasoso}
\begin{figure}
\includegraphics[width=4.4 in]{figuras/Iceberg.jpg}
\end{figure}
Água nas 3 fases. Fonte: Wikipedia.
\end{frame}
\begin{frame}{Parâmetro de ordem}
\begin{itemize}
\item Cada fase é caracterizada por um {\color{red}parâmetro de ordem}.
\item Água: organização espacial das moléculas de H$_2$O.
\pause
\item Fase sólida: moléculas formam uma rede cristalina (hexagonal).
\item Líquida: não há rede cristalina mas aglomerados.
\item Gás: nem rede cristalina nem atração (uma molécula não sente interação da outra).
\end{itemize}
\end{frame}
\begin{frame}{Fase sólida}
\begin{figure}
\includegraphics[width=2.1 in]{figuras/snow_flake1.jpg}
\includegraphics[width=2.4 in]{figuras/snow_flake3.jpg}
\end{figure}
\url{http://www.snowcrystals.com/}.
\end{frame}
\begin{frame}{Transição de Fase}
\begin{itemize}
\item {\color{red}Parâmetro de controle}: determina a fase. Exemplo: temperatura para a água.
\pause
\item Outros fenômenos apresentam mais de uma fase: magnetismo, interações coletivas, eletricidade.
\item Algumas propiedades são observadas em diferentes sistemas.
\item A busca desses padrões é de grande relevância em Física.
\end{itemize}
\end{frame}
\begin{frame}{Fase hexática}
\begin{itemize}
\item Transições de fase em 2D: diferenças em relação ao caso 3D.
\item {\color{red}Exisência da fase hexática (e suas transições)}: é um tópico muito estudado em Mecânica Estatística.
\item É observado experimentalmente \cite{Deutschlander2014}!
\item Este trabalho: caracterização de um sistema 2D que apresenta a fase hexática.
\end{itemize}
\end{frame}
\section{Modelo Teórico}
\begin{frame}{Sistema}
\begin{itemize}
\item $N$ discos rígidos (não deformáveis) de raio $R$ em um espaço retangular de duas dimensões $L_x$ e $L_y$.
\item Superposição entre discos é proibida: distância mínima $2R$.
\end{itemize}
\begin{figure}
\includegraphics[width=2.5 in]{figuras/disks3b.pdf}
\end{figure}
\end{frame}
\begin{frame}{Discos rígidos em 2D}
\begin{itemize}
\item Parâmetro de controle: {\color{red}densidade}
\begin{equation}
\eta = \dfrac{N\pi R^2}{L_xL_y}. \nonumber
\end{equation}
\item Faz o mesmo papel que a temperatura no caso da água.
\end{itemize}
\begin{figure}
\includegraphics[width=4.2 in]{figuras/transicoes.pdf}
\end{figure}
\end{frame}
\begin{frame}{Orientação global}
\begin{itemize}
\item A {\color{red}orientação global $\Psi$} é a média da orientação local $\psi_k$:
\begin{eqnarray}
\Psi &=& \left\vert \dfrac{1}{N} \sum_{k=1}^N \psi_k \right\vert, \nonumber \\
\psi_k(x_k,y_k) &=& \dfrac{1}{6} \sum_{j=1}^6 e^{6i \theta_{j,k}}, \nonumber
\end{eqnarray}
onde $(x_k,y_k)$ é a posição do disco $k$, $i=\sqrt{-1}$ e $\theta_{kl}$ é o ângulo da reta que une os discos $k$ e $l$ com o eixo $x$.
\end{itemize}
\end{frame}
\begin{frame}{Orientação local}
\begin{figure}
\includegraphics[width=2.2 in]{figuras/angulo_vizinho.png}
\end{figure}
\end{frame}
\begin{frame}{Constante de tempo}
\begin{itemize}
\item Estudamos a dependência temporal: $\Psi = \Psi_0 e^{-t/\tau}$ onde $\tau$ é a constante de tempo \cite{Bernard2009}.
\item Para determinar $\tau$: linearização de $\Psi$ de forma que $y = a + bx$ onde
\begin{equation}
y = \ln \Psi, \qquad a = \ln \Psi_0, \qquad b = -\dfrac{1}{\tau}, \qquad x = \ln t. \nonumber
\end{equation}
\item Ajuste linear de $y$ vs. $x$: {\color{red}$\tau = -1/b$, onde $b$ é o coeficiente angular}.
\end{itemize}
\end{frame}
\begin{frame}{Objetivos}
\begin{itemize}
\item Nosso objetivo: {\color{red}avaliar o comportamento da constante de tempo $\tau$ em função do número de discos}.
\pause
\item Inédito para esse sistema.
\item Há várias sugestões teóricas para esse comportamento mas nenhuma numérica.
\end{itemize}
\end{frame}
\begin{frame}{Discos rígidos em 2D}
\begin{figure}
\includegraphics[width=4.5 in]{figuras/fases.pdf}
\end{figure}
Fonte: \cite{Bernard2009}.
\end{frame}
\begin{frame}{Fase hexática}
%\begin{itemize}
%\item A partir de $\phi_k$ pode-se definir um vetor.
%\item Na fase líquida a direção desse vetor é aleatória nos discos, enquanto que na fase hexática há uma certa uniformidade.
%\end{itemize}
\begin{figure}
\includegraphics[width=4.3 in]{figuras/orientacao_liq_hex.png}
\end{figure}
Fonte: \cite{Bernard2009}
\end{frame}
\section{Implementação computacional}
\begin{frame}{Evolução temporal}
\begin{itemize}
\item {\color{red}Dinâmica temporal}: evolução temporal do sistema.
\item O tempo é medido em iterações. Em cada iteração calculamos $\Psi$.
\item Estado final no equilíbrio ($t>t_e$): fase macroscópica observada.
\item Nosso trabalho: estudamos a dependência temporal de $\Psi$ antes do equilíbrio ($t<t_e$).
\end{itemize}
\end{frame}
\begin{frame}{Algoritmo 1}
\begin{itemize}
\item {\color{red}Monte Carlo com Cadeia de Eventos}.
\item Em cada iteração vários discos se movem em $+x$ ou $+y$, um por vez, até a distância total percorrida seja $\ell$.
\pause
\item Construimos uma implementação do zero em C$++$.
\item Cálculo de distâncias entre os discos: é a parte mais demorada do algoritmo.
\item Lista de células: mais rápido que força bruta.
\end{itemize}
\end{frame}
\end{darkframes}
%\begin{frame}{Lista de células}
%\begin{figure}
%\includegraphics[width=3.1 in]{figuras/celulas_matriz.pdf}
%\end{figure}
%\end{frame}
%\begin{frame}{Lista de células}
%\begin{figure}
%\includegraphics[width=3.0 in]{figuras/deslocamento.png}
%Fonte: \cite{Bernard2011thesis}.
%\end{figure}
%\end{frame}
\begin{darkframes}
\begin{frame}{Algoritmo 2}
\begin{itemize}
\item Monte Carlo com Cadeia de Markov: módulo HPMC \cite{Anderson2016} do pacote {\color{red}HOOMD-Blue} \cite{Anderson2008,Glaser2015, glotzer}.
\item Semelhante ao MCCE porém com apenas um disco se movendo por iteração.
\item Versão paralelizada com possibilidade de execução na GPU também.
\item Facilidade: funções implementadas em Python (Miniconda).
\end{itemize}
\end{frame}
\begin{frame}{HOOMD-Blue}
\begin{figure}
\includegraphics[width=4.4 in]{figuras/hoomd.png}
\end{figure}
\begin{small}
\url{http://glotzerlab.engin.umich.edu/hoomd-blue/index.html}
\end{small}
\end{frame}
%\begin{frame}{Publicações 2018}
%\begin{figure}
%\includegraphics[width=4.5 in]{figuras/hoomd_publications.png}
%\end{figure}
%\end{frame}
\section{Resultados}
%\begin{frame}{Parametros de entrada}
%\begin{enumerate}
%%\item Número de discos $N$: usamos de $N=64^2$ até $1024^2$.
%%\item Densidade: $\eta=0.695$ (L), $\eta=0.705$ (L$+$H) e $\eta=0.718$ (H).
%\item Número de iterações: usamos $Q=$ 25 000 e 30 000.
%\item Lado do quadrado: $L_x = 100$;
%\item Número de amostras: $S=5$.
%\item Distância total (ECMC): $\ell = \sqrt{N}$.
%\end{enumerate}
%Todo os gráficos apresentados aqui foram feitos no Python Matplotlib.
%\end{frame}
\begin{frame}{Procedimento}
\begin{enumerate}
\item Cálculo de $\Psi(t)$ em função do tempo para $t=0,1,2,...,Q$.
\item Gráfico loglog de $\Psi(t)$.
\item Ajuste linear de $\ln \Psi(t)$ vs $\ln t$ para obtenção de $\tau$.
\item Números de discos calculados $N=64^2,128^2,256^2,400^2,512^2,660^2,810^2,960^2$ e $1024^2$.
\item Densidades calculadas $\eta=0.695,0.705$ e $0.718$.
\end{enumerate}
\end{frame}
\subsection{Monte Carlo Cadeia de Eventos}
\begin{frame}{Algoritmo MCCE}
{\color{red}
\begin{algorithm}[H]
\caption{Evolução temporal com MCCE}
\begin{algorithmic}[1]
\begin{small}
\Procedure{MCCE}{}
\State \textbf{Input}: $N, \ell, \eta, S, Q, L_x$
\State listcell $\gets$ \Call{create\_list}{$N$}
\For{k $\in S$}
\State LxLy $\gets$ \Call{initial}{$N$, $\eta$, $L_x$}
\State \Call{add\_disks}{$N$, listcell}
\State seed $\gets k$
\For{t $\in Q$}
\State LxLy $\gets$ \Call{newL}{LxLy, $N, \eta, \ell$, seed, listcell}
\State $Psi(t) \gets$ \Call{abs\_Psi}{$\eta$, LxLy, listcell}
\EndFor
\EndFor
\State file $\gets$ \textit{time\_Psi.csv}
\State \textbf{write}(t,$Psi$,file)
\EndProcedure
\end{small}
\end{algorithmic}
\end{algorithm}}
\end{frame}
\end{darkframes}
\begin{frame}
\frametitle{Evolução Temporal}
\begin{figure}
\includegraphics<1>[width=4.0 in]{serie2/LxLy_t0.png}
\includegraphics<2>[width=4.0 in]{serie2/LxLy_t1.png}
\includegraphics<3>[width=4.0 in]{serie2/LxLy_t2.png}
\includegraphics<4>[width=4.0 in]{serie2/LxLy_t3.png}
\includegraphics<5>[width=4.0 in]{serie2/LxLy_t4.png}
\includegraphics<6>[width=4.0 in]{serie2/LxLy_t5.png}
\includegraphics<7>[width=4.0 in]{serie2/LxLy_t6.png}
\includegraphics<8>[width=4.0 in]{serie2/LxLy_t7.png}
\includegraphics<9>[width=4.0 in]{serie2/LxLy_t8.png}
\includegraphics<10>[width=4.0 in]{serie2/LxLy_t9.png}
\includegraphics<11>[width=4.0 in]{serie2/LxLy_t10.png}
\includegraphics<12>[width=4.0 in]{serie2/LxLy_t11.png}
\includegraphics<13>[width=4.0 in]{serie2/LxLy_t12.png}
%\includegraphics<14>[width=4.4 in]{serie2/LxLy_t13.png}
%\includegraphics<15>[width=4.4 in]{serie2/LxLy_t14.png}
%\includegraphics<16>[width=4.4 in]{serie2/LxLy_t15.png}
%\includegraphics<17>[width=4.4 in]{serie2/LxLy_t16.png}
%\includegraphics<18>[width=4.4 in]{serie2/LxLy_t17.png}
%\includegraphics<19>[width=4.4 in]{serie2/LxLy_t18.png}
%\includegraphics<20>[width=4.4 in]{serie2/LxLy_t19.png}
%\includegraphics<21>[width=4.4 in]{serie2/LxLy_t20.png}
\end{figure}
\end{frame}
\begin{frame}
\begin{figure}
\includegraphics[width=1.9 in]{figuras/liquido.pdf}
\quad
%\includegraphics[width=1.7 in]{figuras/quadrado.pdf}
%\quad
\includegraphics[width=1.9 in]{figuras/triangulo.pdf}
\end{figure}
\end{frame}
\begin{frame}{$N=128^2 = 16384$}
\begin{figure}
\includegraphics[width=4.1 in]{figuras/sim_inicial.png}
\end{figure}
\end{frame}
\begin{frame}{$N=128^2 = 16384$}
\begin{figure}
\includegraphics[width=4.1 in]{figuras/sim_final.png}
\end{figure}
\end{frame}
\begin{frame}{Força bruta vs. Lista de células}
\begin{figure}
\includegraphics[width=4.0 in]{figuras/time_cells_brute.pdf}
\end{figure}
\end{frame}
\begin{frame}{Monte Carlo Cadeia de Eventos}
\begin{figure}
\includegraphics[width=4.0 in]{figuras/fig_Psi_list.pdf}
\end{figure}
\end{frame}
\begin{darkframes}
\begin{frame}{Conclusões}
\begin{enumerate}
\item Dinâmica temporal usando Monte Carlo com Cadeia de Eventos: bem sucedida.
\item Cálculo de $\Psi$: alguns ajustes precisam ser feitos.
\pause
\item Porém, o {\color{red}desenvolvimento deste algoritmo} nos fez compreender os detalhes da dinâmica temporal e sua implementação.
\item Isso nos permitiu entender e usar adequadamente o módulo HPMC do pacote HOOMD-blue.
\end{enumerate}
\end{frame}
\end{darkframes}
\subsection{HOOMD-blue HPMC}
\begin{frame}{HPMC HOOMD-Blue}
\begin{figure}
\includegraphics[width=4.3 in]{figuras/codigo_hoomd.png}
\end{figure}
\end{frame}
\begin{frame}{HPMC HOOMD-Blue}
\begin{figure}
\includegraphics[width=4.1 in]{figuras/psi705.pdf}
\end{figure}
\end{frame}
\begin{frame}{Ajuste exponencial}
\begin{figure}
\includegraphics[width=4.1 in]{figuras/lnpsi705b.pdf}
\end{figure}
\end{frame}
\begin{frame}{Ajuste exponencial}
\begin{figure}
\includegraphics[width=4.1 in]{figuras/lnpsi705.pdf}
\end{figure}
\end{frame}
\begin{frame}{Costante de tempo}
\begin{figure}
\includegraphics[width=3.8 in]{figuras/tau_vs_N.pdf}
\end{figure}
\end{frame}
\begin{darkframes}
%\begin{frame}{Costante de tempo}
%\begin{enumerate}
%\item O ajuste exponencial foi adequado aos dados.
%\item Em todas as fases a constante de tempo $\tau$ decai para $N>10^5$.
%\item Na fase hexática pura $\eta=0.718$ o decaimento é mais rápido.
%\end{enumerate}
%\end{frame}
\section{Conclusões}
\begin{frame}{Conclusões}
\begin{enumerate}
\item Usando HPMC do pacote HOOMD-Blue, calculamos a constante de decaimento $\tau$ para vários números de discos $N$ em diferentes fases.
\item Novos cálculos (longos e demorados) estão sendo feitos para outras fases.
\pause
\item A física precisa cada vez mais da colaboração com a Computação para conseguir resolver problemas trabalhosos!
\end{enumerate}
\end{frame}
\begin{thebibliography}{9}
\begin{frame}[label=bibliography]{Bibliography}
%\framesubtitle{\TeX, \LaTeX, and Beamer}
\bibitem{Deutschlander2014} S. Deutschländer \textit{et al}, PRL \href{http://dx.doi.org/10.1103/PhysRevLett.113.127801}{\textbf{113}, 127801 (2014)}.
%\bibitem{Strandburg1988} K. J. Strandburg, RMP \href{http://dx.doi.org/10.1103/RevModPhys.60.161}{\textbf{60} 161 (1988).}
%\bibitem{Komatsu2015} Yuta Komatsu and Hajime Tanaka, PRX \href{http://dx.doi.org/10.1103/PhysRevX.5.031025}{5, 031025 (2015).}
\bibitem{Anderson2016} J. A. Anderson \textit{et al}, Comp. Phys. Comm., \href{http://dx.doi.org/10.1016/j.cpc.2016.02.024}{\textbf{204}, 21-30 (2016)}.
\bibitem{Anderson2008} J. A. Anderson \textit{et al}, Jou. Comput. Phys. 227, 5342 (2008).
\bibitem{glotzer} \url{http://glotzerlab.engin.umich.edu/hoomd-blue}
\bibitem{Glaser2015} J. Glaser \textit{et al}, Comp. Phys. Comm., \textbf{192}, 97 (2015).
\bibitem{Bernard2011thesis} Etienne Bernard. Algorithms and applications of the Monte Carlo method : Two-dimensional melting and perfect sampling. Université Pierre et Marie Curie 2011.
\bibitem{Bernard2009} E. P. Bernard \textit{et al}, PRE \href{http://dx.doi.org/10.1103/PhysRevE.80.056704}{\textbf{80}, 056704 (2009).}
\end{frame}
% \begin{frame}[label=bibliography]{Bibliography}
%
%
%
% \end{frame}
\end{thebibliography}
\begin{frame}
\begin{LARGE}
{\color{red}Obrigado pela atenção!}
\end{LARGE}
\end{frame}
\end{darkframes}
\section{Extras}
\begin{frame}{Orientação local}
\begin{figure}
\includegraphics[width=2.5 in]{figuras/move_ECMC.png}
\end{figure}
\end{frame}
\begin{frame}{Transição de Fase}
\begin{itemize}
\item O comportamento espacial de $\psi$ e $\phi$ pode ser classificado em termos do alcance: curto, longo e quase longo.
\item A fase hexática é observada apenas em sistemas 2D.
\end{itemize}
%\begin{small}
\begin{table}
\centering
%\begin{tabular}{ c |c c c}
\begin{tabu}{ c |c c c}
\rowfont{\color{red}}
\hline \hline
Ordem & Sólido & Hexático & Líquido \\
\hline \rowfont{\color{red}}
\hline $\phi$ & Quase longo & Curto & Curto \\
\rowfont{\color{red}}
\hline $\psi$ & Longo & Quase longo & Curto \\
\hline
\hline
\end{tabu}
\caption{Fonte: Refs. \cite{Strandburg1988,Komatsu2015}.}
\label{sumarioKTHNY}
\end{table}
%\end{small}
\end{frame}
\begin{frame}{Alcance}
\begin{table}[h!]
\centering
\begin{tabular}{ c c }
\hline \hline
Alcance & Comportamento \\
\hline
\hline Curto & $\exp \left( -r / \xi_6 \right)$ \\
\hline Quase longo & $ r^{-\eta_6}$ \\
\hline Longo & constante $\neq 0$ \\
\hline
\hline
\end{tabular}
\caption{Definições dos tipos de alcance em função da distância \cite{Deutschlander2014}.}
\label{g6rcomportamnto}
\end{table}
\end{frame}
\end{document}