# sandbox/Antoonvh/README

# My Sandbox

Welcome to the README of my sandbox, this page aims to provide an overview of the projects under /sandbox/Antoonvh/. The main theme here should be geophysical flows. More specifically, I am interested in the atmospheric boundary layer. I hope you can find something that interests you.

-Antoon van Hooft-

## Physical Systems

#### Atmospheric Flows

- An Adaptive Mesh Single Column Model for the Stable Atmospheric Boundary Layer
- Growth and decay of Free Convection into a Linearly Stratified Fluid over a Surface with a Fixed Buoyancy
- Mountain waves

#### 3D Turbulence

- LES of a Vortex Cannon
- LES of Isotropic Turbulence in a Triply Periodic Box
- A Kelvin-Helmholtz instability in 3D

#### 2D Turbulence and Vortex Dynamics

- A Lid-Driven Cavity in Two Dimensions
- The Collision of a Lamb-Chaplygin Dipolar Vortex with a No-slip Wall
- The Structure of Dipolar Vortices
- A Kelvin-Helmholtz instability in 2D
- Subsequently colliding vortex pairs
- A Rayleigh-Taylor instability

#### Two-Phase flows

- The descent of Rain Droplets
- Liquid Planets and their Gravity Field
- A 2D Bouncing Droplet in Space
- An Axisymmetric Bouncing Droplet in Space
- Droplets resting on a hydrophobic material

#### Other

## Maths

- Root Finding of an Analytical Function using an Adaptive Grid
- The Fractal Dimension of the Koch Snowflake
- An example of a schape with a scale-dependent fractal dimension
- Visualization of the Mandelbrot set
- The distribution of the prime numbers along a Z-order space-filling curve:
- The locality of a Z-index curve and a regular Cartesian-style curve

## Methods

- A Header file for the Implementation of an Eddy Viscosity Closure
- The Vreman Eddy Viscosity model
- A Grid-Adaptive Vertical Profiling Function for Solution Diagnostics
- A function that finds the location and size of the(/a) critical CFL-limited-timestep cell
- A (test of a) more flexible wavelet-based adaptation algorithm
- An interface profiling function for 2D grids
- A function that calculates a second order longitudional structure function (Also on tree grids, using the MPI)
- (How to) Plot isolines / streamlines with Bview2D
- Law of the wall for flows over a rough (
`bottom`

) surface

## Convergence tests

Some tests were carried out to get a feeling for convergence rates when using grid adaptivity.

##### 1D Diffusion (2nd-order accurate multi-grid scheme)

- Description and the convergence rate with an equidistant grid
- Convergence rate with a locally-refined grid
- Convergence rate with decreasing refinement criteria using an adaptive grid

##### 1D Advection (2nd-order accurate Bell-Cotella-Glaz scheme)

- Discription and the convergence rate with an equidistant grid
- Convergence rate with decreasing refinement criteria using an adaptive grid

#### 1D Poisson problem (2nd-order accurate Multigrid Poisson solver)

- Discription of test and the spatial convergence rate witn an equidistant grid
- Convergence rate with decreasting refinement criteria using an adapted grid based on the source term

##### Accuracy of the Refinement and Prolongation attributes

#### More tests

- The temporal accuracy for a viscous flow test case
- Accuracy of the interface reconstruction of a sphere
- Calculating the curvature of a circle on various grids

## Documentation

I invested some time in reading the source code to get some additional information on how the tree-grid structure is implemented in Basilisk and how Adaptivity works. To organize my toughts I wrote it down.

## Cases as used in *Van Hooft et al.* (2018)

*Towards Adaptive Grids for Atmospheric Boundary-Layer Simulations*

By: J. Antoon van Hooft, Stephane Popinet, Chiel C van Heerwaarden, Steven J.A. van der Linden, Stephan R de Roode and Bas J.H. van de wiel.

In: Boundary-layer meteorology.

Vol 167, pp 421-443.

DOI: https://doi.org/10.1007/s10546-018-0335-9

In order of appearance,

- Section 2.1: Generate an example tree grid and output the relevant cells
- Section 2.2: Analysis of a data slice from a 3D turbulence simulation
- Chapter 3: DNS of the growth and decay of a convective atmospheric Boundary layer using an Adaptive grid
- Chapter 3: DNS of the growth and decay of a convective atmospheric Boundary layer in fixed-and-regular-grid mode
- Chapter 4: LES of an atmospheric boundary layer filled with a radiant smoke cloud
- Appendix 1: DNS of a lid driven cavity in two dimensions using an adaptive grid
- Appendix 1: DNS of a lid-driven cavity in two dimensions with a fixed-and-regular grid

## Cases as used in *Van Hooft et al.* (Under review for GMD)

*Adaptive Cartesian Meshes for Atmospheric Single-Column Models*

By J. Antoon van Hooft, Stephane Popinet and Bas J.H. van de Wiel

In: Geoscientific Model Development (Discussions)

GMDD DOI link: https://doi.org/10.5194/gmd-2018-21

In order of appearance,

- Results
*Sect. 3.1*, The GABLS1 case; - Results
*Sect 3.2*, The GABLS2 case; - Appendix
*A1*, The Ekman-spiral test case;

Note: The Journals that fall under the Copernicus umbrella facilitate an open-style peer-review process. Meaning that anybody can track the discussions and comment on the manuscript and/or reviews. You may follow the DOI link to track the progress.

## Miscellaneous pages

- A cautionary note on the simulation of a sharp inversion layer
- A cautionary note on using the Navier-Stokes solver without a properly initialized/restored pressure field
- A cautionary note on using surface tension in combination with grid adaptivity
- A bview example
- Create and display an animated .gif and .mp4 movie in the sandbox
- Evaluating a line integral on a tree grid
- A discussion on Second order interpolation at Resolution Boundaries
- Additional attributes for 3rd order interpolation at resolution boundaries
- An example on how and when to employ higher order accurate definition of ghost / Halo cells
- A 2D test of the 3rd order accurate interpolation techniques at resolution boundaries using the Lamb-Dipole example

## Contact

If you like to discuss a specific topic, feel free to e-mail me: j.a.vanhooft-$\mathcal{\text{\mathcal{A}}}$-tudelft.nl