Sci-Fi/Coastal scene

16 Nov 2015

Here is a sci-fi-ish coastal scene I’m currently working on. It’s using results from the shallow water simulator. Sci-Fi/Coastal

more ...

The wave penetration project: energy dissipation by bottom friction

28 Apr 2015

In this post we upgrade the mild-slope equation we solved previously with a generic energy dissipation term:

where \(W( \eta )\) can account for the energy dissipated by:

We experiment with a non-linear energy dissipation model of bottom friction implemented using simple Picard iteration. We discuss how to optimize the non-linear loop, in particular the assembly on the GPU by using graph coloring techniques.

Engage

Engage !

more ...




The Lyttelton port wave penetration project: Part 3

12 Apr 2014

In this third mini post, I will tackle the weak formulation of the linear mild-slope equation and introduce the boundary conditions. The linear version of the equation takes into account the following physical phenomena:

Here is the equatiom:

where

  • \(\eta : \Omega(\mathbb{R} \times \mathbb{R}) \to \mathbb{C}\) is the unknown complex amplitude of the water free-surface elevation within the domain \(\Omega\);
  • \(k \in \mathbb{R}^{+}\) is the wave number;
  • \(c_p, c_g : \Omega(\mathbb{R} \times \mathbb{R}) \to \mathbb{R}^{+}\) are respectively the phase and group velocities of the prescribed wave.

The boundary conditions will be introduced too.

I won’t discuss the derivation of the governing equation in this post.

If everything goes smoothly, at the end of that post, we should see how a monochromatic wave behaves in the Lyttelton port.

wave

more ...

The Lyttelton port wave penetration project: Part 2

19 Mar 2014

In this second mini-post, I’m not going to talk about the mild-slope equation : this will be for the third post. One of the main reason I’m postponing it, is that I’ve been granted access, for a limited amount of time, to a Tesla-accelerated compute cluster (kudos to Mike and Eliot). I gratefully acknowledge Microway for providing access to a Tesla-accelerated compute cluster.

The plan is to first implement a prototype of the parallel solver in Octave and then rewrite it in C++ to target the cluster.

Even though I stick to the Poisson equation, all the material presented in this post will still be usable when switching to the mild-slope equation in mini-post 3.

more ...

The Lyttelton port wave penetration project: Part 1

15 Mar 2014

In this series of mini-posts, I will try to create a wave penetration simulator, a baby version of HARES.

For this kickoff post I will focus on retrieving the Lyttelton port geometry, generate a mesh, partition it into more than two subdomains (5 for example) and modify the Perl scripts we used in the first Schur complement post in order to deal with many subdomains. I will also demonstrate how we can use the Google Maps JavaScript API, the OpenStreetMap tiles as well as WebGL to display the mesh and the sudomains.

more ...

The Schur Complement Method: Part 2

18 Dec 2013

We continue our informal study of domain decomposition methods (DDMs).

We will describe non-overlaping DDMs in terms of differential operators as opposed to basic linear algebra operations. This will later allow us to easily describe more sophisticated parallel algorithms such as the Dirichlet-Neuman and Neuman-Neuman algorithms.

In order to go one step further in that study it is necessary to introduce some PDE related theory and lingo. However I will try to keep it light and will just introduce what is necessary to build an intuition.

more ...

The Chilli Power Board

05 Dec 2013

Hola, me dicen Dedoverde

I’m starting growing Bhut Jolokia and other peppers out of seeds. I would like to automate, monitor and document as much as possible the process so that I decided to build an overkill programable power board out of stuff I ordered some time ago from DX as well as some scrap parts. This includes:

For this first milestone, I only want to be able to schedule events like turn heater, lighting or irrigation circuits on & off independantly. Later I would like to take advantage of the remaining inputs of the embeded MCU to read temperature and humidity sensors like this one for example.

more ...

The Schur Complement Method: Part 1

22 Oct 2013

This post is going to illustrate the primal Schur complement method briefly described here. The Schur complement method is a strategy one can use to divide a finite element problem into independant sub-problems. It’s not too involved but requires good understanding of block Gaussian elimination, reordering degrees of freedom plus a few “tricks of the trade” to avoid computing inverse of large sparse matrices.

more ...