Key Concepts of our application

To really understand the framework we first try to break down the problem that it is intended to solve and assist developers with. Let’s examine how physicists typically breakdown this problem.

Problem Statement – To solve a physical problem that can be numerically simulated.

 Physics Modeling Of The Dam-Break Problem

We give an example how to program a physics simulator using our programming environment or framework (Simulation System). The sample application is setup to simulate wave propagation (nonlinear flow with shocks) in the so-called dam break problem in a horizontal channel without friction under Newton’s Law of Gravity.

The Cookbook Recipes

The following steps outline how to develop a physics simulator using the Framework.

  1. Create a Physical Simulator by sub-classing the appropriate system object
  2. Provide an implementation for IPhysicalConfiguration
  3. Provide an implementation for IPhysicalAlgorithm
  4. Provide an implementation for IPhysicalMeasurement
  5. A Data Source to store physical measurement information
  6. If specified, a Final Report for statistic, visualizing the solution, etc…

 This is expressed by the following diagram below:




If you notice, the x, y and z components are not defined like the manning and other components have been? The reason is because the CartesionObject parent class provides them. This illustrates the power of a property known as inheritance in Object Oriented languages. Since SectionFlow extends CartesianObject, it can access the instance variables and methods defined in CartesianObject. This also illustrates the power of the Framework in that many of these types of capabilities are provided by it so you don’t have to code it.The first class that needs to be developed is an implementation of the PhysicalObject that extends CartesianObject. The SectionFlow class does this in the sample application.



Code Snippets

DamBreak Simulator Run Method


  • An Example of a C++ class Implementation Of Euler Angles

    Tips and Tricks

    C++ has many features which make this language very attractive for scientific programming, and one of them is the operator overload functionality. I present an example taken from our programming environment (math3D library) that use this to represent a rotation class (Euler angles).
  • IKEA Virtual Reality Extract


    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.
  • Development of a Transport Software Management Application


    Mandate for the development of dispatch system solutions specifically designed for trucking fleets to manage transportation activity including tracking orders, efficient dispatch and route optimization. Goal is to optimize inbound and/or outbound transportation operations.

clients and partners