DamBreak++ Simulator

Motivation

DamBreak++ is an application (physics simulator) that it is expected to facilitate and accelerate the development of benchmarking numerical algorithm.

Problem description (initial condition)

A rectangular column of water, in hydrostatic equilibrium, is confined between two walls. At the beginning of the calculation the right wall is removed and the water is allowed to flow out to the horizontal wall. The initial setup of the dam-break problem is shown in the figure below.

Mathematical Model

This phenomenon is best described by the one-dimensional shallow water equations in conservative form with sink. Below we present the physical system (set of equations) to solve by some method of approximation called numerical method:

swe-equation1D

where U is the state vector, F is the flux tensor (include pressure and convective terms) and S represent the source terms or sink (S_0 is the bottom term and S_f is the friction model which is described by the Manning formula).

Use Case Diagram

In our simulation environment, there are several things that should be tracked during the simulation. For example, the simulation should record and report the wave’s position, velocity and acceleration. Also, it should also calculate the wave’s potential and total energies and report them. Lastly, the simulation should report the maximum height achieved by the wave, the total simulation time, and hydraulic parameters and it’s impact on the simulation. This is a typical scenario and it’s expressed by a Use Case diagram.

physics40

DamBreak Simulator GUI

 

dbGUI_01

 

DamBreak Wave Propagation

We adopt a finite volumes solvers to integrate the Shallow Water Equations, the simplified 1D governing equations of unsteady open channel flow: the HLL scheme (Harten-Lax-Levy) and a modified Lax-Friedrichs scheme. As we discussed in St-Venant Model page, those mathematical models solve the SWE written in conservative form, which allows the software to reproduce the discontinuities of a flow regime variations without incur in instabilities of the solution.

 

FinalProfile

 

DamBreak Simulator Code Snippets

DamBreak Simulator Initialization

NEWS AND ARTICLES See all

  • C++ scientific code snippet

    Tips and Tricks

    An example of how STL (Standard Template Library) can be used to write scientific code. In our programming environment we make an extensive use of this kind of technique. From our experience, it helps to write better code that is easier to understand and less error prone.
  • IKEA Virtual Reality Extract

    Projects

    I’m currently working on updating of an interior designer application, used by multinational furniture giant, to a 2nd generation version powered with state-of-the-art technology provided with Virtual Reality (VR) headset.

clients and partners

Autolog