Views
- State: visible
TP2 - ConvDif - TEX
TP2: Convección difusión
Size
3.8 kB
-
File type
text/x-tex
File contents
\documentclass[12pt]{article} \usepackage{graphicx,amsmath,amsfonts,amssymb,epsfig,euscript,enumerate} \usepackage[T1]{fontenc} \usepackage[utf8x]{inputenc} \newtheorem{ejer}{Ejercicio} \newcommand{\bej}{\begin{ejer}\rm} \newcommand{\fej}{\end{ejer}} \newcommand{\gO}{\Omega} \newcommand{\R}{\mathbb{R}} \newcommand{\C}{\mathbb{C}} \def\dt{\Delta t} \def\dx{\Delta x} \topmargin-2cm \vsize 29.5cm \hsize 21cm \setlength{\textwidth}{16.75cm}\setlength{\textheight}{23.5cm} \setlength{\oddsidemargin}{0.0cm} \setlength{\evensidemargin}{0.0cm} \begin{document} \centerline{{\small Universidad de Buenos Aires - Facultad de Ciencias Exactas y Naturales - Depto. de Matemática}} \vskip 0.2cm \hrulefill \vskip 0.2cm \centerline{{\bf\Huge {\sc Análisis Numérico}}} \vskip 0.2cm \centerline{\ttfamily Segundo Cuatrimestre 2019} \hrulefill \bigskip \centerline{\bf TP N$^\circ$ 2 - Tema 2: Convección-difusión.} \bigskip \section{El problema:} Considerar el problema de convección-difusión: \begin{equation}\label{eq} \def\arraystretch{1.5} \begin{array}{cl} u_t(x,t) = \alpha\Delta_x u(x,t) - {\bf v}(x)\cdot \nabla_x u(x,t) & \quad x\in\Omega,\;t\in[0,T] \\ u(x,0) = g(x) & \end{array} \end{equation} La incógnita $u$ puede interpretarse como la concentración de una cierta sustancia quimíca en un medio. El término $\alpha\Delta_x u$ describe la difusidad: un punto de alta densidad, tenderá a difundir concentración hacia su entorno. $\alpha$ es un coeficiente positivo que modela la difusividad de la sustancia en el medio. El término de transporte ${\bf v} \cdot \nabla u$ modela el movimiento del medio, que traslada la sustancia. ${\bf v}:\R^2\to\R^2$ es el campo de velocidades. La condición de Neumann implica que no hay flujo hacia el exterior, es decir: que la cantidad total de sustancia se mantiene constante. Consideraremos $\Omega=B(0,1)$ \section{Formulación Discreta} Dada una triangulacion $\mathcal{T}_h$ de $\Omega$, considerar el espacio $V_h$ de funciones continuas y lineales en cada triángulo. Llamemos $\{\phi_i\}_i$ a la base nodal de $V_h$. La discretización de la formulación débil del problema conduce a la necesidad de calcular la matriz de masa $M$, de rigidez $R$ y la matriz correspondiente al término convectivo $C$, dadas por: $$M_{i,j} = \int_\Omega \phi_i\phi_j\qquad R_{i,j} =\int_\Omega\nabla\phi_i\nabla\phi_j\qquad C_{i,j} = \int_\Omega ({\bf v}\cdot \nabla\phi_j)\phi_i$$ Con esta notación el problema discreto es: $$ (M+dt(\alpha R+C)) U^{n+1} = M U^n$$ donde $dt$ es el paso temporal y $U^n$ es el vector de coeficientesde $u_h$ a tiempo $n$. Es conveniente hacer un programa auxiliar que, dados los datos de la triangulación, calcule las matrices $M$, $R$ y $C$. \section{Datos } Estudiaremos, para ${\bf v}$: \begin{itemize} \item ${\bf v} = v(x,y) = (-y,x)/\|(x,y)\|$. \end{itemize} Con esta configuración, el problema puede pensarse como la disolución de azúcar en una taza, al revolver. Para el dato inicial pueden probarse distintas opciones. Por ejemplo, $g = \chi_{B((0,\frac{1}{2}),\frac{1}{4})}$ \subsection{Comandos útiles:} Pueden resultar útiles las siguientes funciones: \begin{itemize} \item \verb+Delaunay+, de la biblioteca \verb+scipy.spatial+ para la construcción de la triangulación. Alternativamente, puede usarse \verb+Triangulation+ de \verb+matplotlib.tri+, que también servirá para dibujar. \item \verb+csr_matrix+ de la biblioteca \verb+scipy.sparse+ para el ensamblado de matrices \item \verb+spsolve+ o \verb+cg+ de \verb+scipy.sparse.linalg+ para la resolución de sistemas. \item \verb+tripcolor+, de \verb+matplotlib.pyplot+ en conjunción con \verb+Triangulation+ de \verb+matplotlib.tri+ para graficar. \verb+tripcolor+ hace un grafico 2D sobre una malla triangular, en donde la magnitud de la función graficada se traduce en color. \end{itemize} \end{document}