Physics Programming Projects
In this page I present some of the physics projects I have been working for many years. These projects are part of a simulation environment that I am developping (see below) main objective is to provide a programming environment for the rapid prototyping of physics based algorithm . This project is motivated by my experience in industrial applications particularly in simulation (my experience at CAE Inc.) a world leader in simulation and also at CERCA (technology transfer center) working on CFD simulation of Open Channel Flow simulation (see below).
— Project: DamBreak Physics Simulator
Developing a physics library with main application in Open Channel Flow Simulation. DamBreak++ is an application that it is expected to facilitate and accelerate the development of benchmarking numerical algorithm. It provides extreme conditions to assess the numerical stability of the model.
I am currently re-factoring the simulator code to obtain a more scalable and maintainable new generation (first release).
1. Migrating prototype to a new version of the Visual Studio (VS12 with C++11) and then to C++11/14 VS15;
2. Performed manual testing as needed, create test cases and defect recorded;
3. Set up a guideline and policies for automation unit testing, integrate a documentation tool;
4. Working on the development of a GUI to facilitate testing and configure simulation;
5. Software architecture (define system high level abstraction), documentation of these structures;
6. Write scientific report (present simulation result, physics algorithm and software architecture);
Technologies: numerical simulation using Finite, Optimization technique (Numerical programming/data structure), C++, OO
— Project: Physics 3D Demo
Physics 3D library for the simulation of rigid-body. Prototyping environment where user can experiment different implementation or third-party physics library such as Newton Dynamics, ODE (Open Dynamic Engine);
1. Implementing a Math3D library (linear algebra) feature efficient math operation (fast-floating point operation). The library feature mathematical abstraction for manipulating 3D entity easily, an Object-Oriented approach in the implementation of mathematical structure (data), such as rotation, vector calculus;
2. Developing physics rigid body class structure;
Technologies: OpenGL, Open Scene Graph (OSG), Open Dynamic Engine (ODE), C++, OO
CFD Developer (Computational Fluid Dynamics)
Set up a collaborative work effort (University-Industry) for cautioning mathematical models in the hydraulics field (Technology Transfer Initiative for the hydro-electricity industry). Solve a complex problem in industry (river flow) to validate mathematical model on a real-case (river located in the north of Quebec) in the field of Open Channel Flow. The flow in a river at different conditions may be simulated on the computer. That means that the key features of the physical phenomena involved may be studied under a wide range of conditions by performing numerical simulations for a corresponding range of parameters values, such as discharge.
more details «Application»
Technologies: numerical simulation using Finite Element/Finite Difference programming techniques
Below a snapshot of our developing environment. The simulation system is made of many plug-ins