-
Notifications
You must be signed in to change notification settings - Fork 0
/
readme.tex
75 lines (63 loc) · 4.75 KB
/
readme.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{multicol}
\usepackage[backend=biber]{biblatex}
\addbibresource{readme.bib}
\begin{document}
\title{Notes}
\section{Parabolic PDEs}
\subsection{\texttt{diff\_adv\_2D.py}}
Calculates the solution to the two-dimensional diffusion-advection/heat-convection equation
\begin{equation*}
\frac{\partial u}{\partial t} = D(x,y) \hspace{0.1cm} \nabla^{2} u - \mathbf{\hat{v}} \cdot \nabla u + q(x,y,t),
\end{equation*}
using cartesian coordinates on a uniform mesh, on the domain $\Omega$ bound by $x \in [0,L_x]$ and $y \in [0,L_y]$, where
\begin{equation*}
\mathbf{\hat{v}} = v_x \mathbf{\hat{\imath}} + v_y \mathbf{\hat{\jmath}}
\end{equation*}
describes the direction of advection/convection, $D(x,y)$ is the diffusivity/conductivity and $q(x,y,t)$ is a source/sink term. The program assumes Robin boundary conditions
\begin{equation*}
a \hspace{0.1cm} u(x,y,t) + b \hspace{0.1cm} \frac{\partial u}{\partial n} = g(x,y)
\end{equation*}
where $a$ and $b$ are real scalars, $g(x,y)$ is an arbitrary function on the boundary and $\partial n$ denotes differentiation in the direction of a normal to the boundary. The initial condition $u_0(x,y)=u(x,y,0)$ can be any real valued function. The solution is calculated using the finite difference method.
\section{Hyperbolic PDEs}
\subsection{\texttt{wave\_2D.py}}
Calculates the solution to the two-dimensional acoustic wave equation
\begin{equation*}
\frac{\partial^2 p}{\partial t^2} + \nu(x,y) \hspace{0.1cm} \frac{\partial p}{\partial t} = c^2 \hspace{0.1cm} \nabla^{2} u + q(x,y,t),
\end{equation*}
using cartesian coordinates on a uniform mesh, on the domain $\Omega$ bound by $x \in [0,L_x]$ and $y \in [0,L_y]$, where $\nu(x,y)$ is a damping term, $c$ is the speed of sound and $q(x,y,t)$ is a source/sink term. The program assumes Robin boundary conditions
\begin{equation*}
a \hspace{0.1cm} u(x,y,t) + b \hspace{0.1cm} \frac{\partial u}{\partial n} = g(x,y),
\end{equation*}
where $a$ and $b$ are real scalars, $g(x,y)$ is an arbitrary function on the boundary and $\partial n$ denotes differentiation in the direction of a normal to the boundary. The initial pressure $p_0(x,y)=p(x,y,0)$ can be any real valued function. The solution is calculated using the finite difference method.
\subsection{\texttt{wave\_2D\_PML.py}}
Calculates the solution to the two-dimensional acoustic wave equation
\begin{equation*}
\begin{aligned}
\frac{\partial \mathbf{\hat{v}}}{\partial t} &= - \frac{1}{\rho} \nabla p,\\
\frac{\partial p}{\partial t} + \nu(x,y) \hspace{0.1cm} p &= -c^2 \rho \nabla \cdot \mathbf{\hat{v}} + q(x,y,t),
\end{aligned}
\end{equation*}
where $\mathbf{\hat{v}}(x,y,t)$ describes the velocity at each point in the mesh and $p(x,y,t)$ describes the pressure at each point in the mesh. Solution is calcualted using cartesian coordinates and a uniform mesh, on the domain $\Omega$ bound by $x \in [0,L_x]$ and $y \in [0,L_y]$, where $\nu(x,y)$ is a damping term, $c$ is the speed of sound and $q(x,y,t)$ is a source/sink term. The program assumes Robin boundary conditions
\begin{equation*}
a \hspace{0.1cm} u(x,y,t) + b \hspace{0.1cm} \frac{\partial u}{\partial n} = g(x,y),
\end{equation*}
where $a$ and $b$ are real scalars, $g(x,y)$ is an arbitrary function on the boundary and $\partial n$ denotes differentiation in the direction of a normal to the boundary. The initial pressure $p_0(x,y)=p(x,y,0)$ can be any real valued function. The solution is calculated using the finite difference method. Absorbing boundary conditions can optionally be turned on or off to simulate far-field conditions. Absorbing boundary conditions are implemented by stretching the coordinates of the governing equations into the complex domain in Fourier-transform-space using the method proposed by Berenger \cite{Berenger1994}.
\section{Elliptical PDEs}
\subsection{\texttt{helmholtz.py}}
Calculates the solution to the nonhomogenous Helmholtz equation
\begin{equation*}
(\nabla^2 + k(x,y)^2) \hspace{0.1cm} f(x,y,t) = \psi(x,y),
\end{equation*}
using cartesian coordinates on a uniform mesh, on the domain $\Omega$ bound by \newline $x \in [0,L_x]$ and $y \in [0,L_y]$, where $k(x,y)$ and $\psi(x,y)$ are real valued functions. The program assumes Robin boundary conditions
\begin{equation*}
a \hspace{0.1cm} u(x,y,t) + b \hspace{0.1cm} \frac{\partial u}{\partial n} = g(x,y),
\end{equation*}
where $a$ and $b$ are real scalars, $g(x,y)$ is an arbitrary function on the boundary and $\partial n$ denotes differentiation in the direction of a normal to the boundary. The solution is calculated using the finite difference method. \newline
\newline
\texttt{keywords: Laplace's equation, Poisson's equation.}
\section{References}
\printbibliography[title={Articles},type=article,sorting=nyt,heading=subbibliography]
\end{document}