OverviewΒΆ

Assess is a python package that implements a number of analytical solutions, in cylindrical and spherical shell domains, to the Stokes equations

\[\begin{split}-\nabla\cdot\mathbf{\tau} + \nabla p &= -g\rho'\hat{\mathbf{r}}, \\ \mathbf{\tau} &= \nu\left[\nabla\mathbf{u} + \nabla\mathbf{u}^T\right], \\ \nabla\cdot\mathbf{u} &= 0,\end{split}\]

with velocity \(\mathbf{u}\) and pressure \(p\). The domain is assumed to be a spherical shell consisting of points with radius \(R_-\leq r \leq R_+\). \(\hat{\mathbf{r}}\) denotes the radial, outward unit-vector.

The gravitational acceleration \(g\) and viscosity \(\nu\) are two user specified constants and the perturbation density \(\rho'\) is assumed to either have the following smooth form

\[\begin{split}\rho'(r, \varphi) &= \frac{r^k}{R_+^k} \cos(n\varphi), & \textbf{(2D-smooth)} \\ \rho'(r, \theta, \varphi) &= \frac{r^k}{R_+^k} Y_{lm}(\theta, \varphi), & \textbf{(3D-smooth)}\end{split}\]

where in 2D, we use cylindrical coordinates with radius \(r\) and azimuthal angle \(\varphi\), and in 3D, spherical coordinates with radius \(r\), co-latitude \(\theta\), and longitude \(\varphi\). The radial dependency is a simple polynomial (monomial) of order \(k\). In 2D, \(n\) is the wave number and in 3D \(l\) and \(m\) are the degree and order of the spherical harmonic function \(Y_{lm}\) (see assess.Y() for definition).

Or, \(\rho'\) is a perturbation at a specified radius \(r'\)

\[\begin{split}\rho'(r, \varphi) &= \delta(r-r') \cos(n\varphi), & \textbf{(2D-delta)} \\ \rho'(r, \theta, \varphi) &= \delta(r-r') Y_{lm}(\theta, \varphi), & \textbf{(3D-delta)}\end{split}\]

where \(\delta(r-r')\) is the Dirac delta function. Combined with two types of boundary conditions

\[\begin{split}-\mathbf{n}\cdot\tau\cdot\mathbf{n} + p &= 0, \mathbf{n}\cdot\mathbf{u}=0, & \text{at }r&=R_- \text{and }r=R_+ & \textbf{(free-slip)} \\ \mathbf{u} &= 0, & \text{at }r&=R_- \text{and }r=R_+ & \textbf{(zero-slip)}\end{split}\]

this leads to eight analytical solutions, which are implemented in the following classes