Jean Bélanger Resume (Industrial Physicist)

­­­Professional Summary

Highly qualified multi-disciplinary professional who has worked for top organization developing applications in different domain using numerous technologies and languages. I have played many of the roles in the IT industry taken numerous software projects from initial conception to deployment, both as a founder of a new startup and as a consultant. Strong entrepreneurial spirit and driven by an intrinsic need for continuous improvement and growth.

Time Line in The Business

Key Strength

Relevant Achievements

Programming Languages

Language

Advanced

10 Years+

Intermediate

5 years

Basic

Less than 1 year

Status
C++ 12 Currently in use
C++11/14/17 3-4 Currently in use
Java 2 years Currently in use
Perl 2 years Used 4 years ago
FORTRAN 90/95
STL C++ 11/14/17
Generic programming
Object-Oriented programming 10

Simulation and Scientific Programming

Technology Field Application domains Status
Numerical Simulation techniques: Finite difference, volume and element methods Computational physics: coded advanced CFD numerical algorithms Used in transfer technology project (University-Industry) in Open Channel Flow simulation Currently in use
Physics Algorithm programming Developed a physics modeling library.for a variety of applications used in the defense domain to medical simulation as well. Also in sawmill industry image processing currently applied
Math programming Linear algebra, 3D API

developed a 3D math library …

used in the defense domain (map projection global positioning system) and is currently applied physics 3D simulation as well

Used 2 years ago
3D programming
  • OpenScene graph

  • OpenGL

  • Autodesk FBX

  • CAE in-house library

synthetic tactical virtual environment (military)

used in the defense domain and virtual reality

Used 2 years ago
Video Streaming GStreamer GNU Transportation 1 year ago
Image processing Halcon imaging Sawmill industry defect tracking
Scientific languages Mathematica, R, Matlab Coded scripts in various domain: finance, physics and …
Scientific library Numerical Recipes in C++, Boost Ublas, Std numerical library Various domains Currently in use

Library and practices

Technology Library Status
Unit test Google unit test, Visual Studio unit test framework (VS2015) Currently in use
3D modeling OSG (Open Scene Graph), OpenGL Used sometimes ago …
GUI Development QT, Java Swing, Win32 API Currently in use
Agile (Scrum) Jira and Team Foundation Server Used 1 year ago
Boost Pointer container, string algorithm, algorithm adaptor Currently in use
UML Enterprise Architect Currently in use
Documentation Doxygen, markdown, pandoc
IDE VS, Netbeans, eclipse, visual studio code

Education

(Courses completed, proposal done but did not completed the final examination)


Presentation

Presented the programming environment that we are developing for the dam break simulation. This environment provides an easy way to program and test numerical scheme on the well-known DamBreak problem. I have presented the architecture of the framework and an example of how to program a numerical algorithm.

Presented some of the projects I have realized as an industrial application (developing technology product). Also, I presented the programming environment that I am developing for the simulation of the dam break wave;

I have presented technology transfer project (Open Channel flow simulation) in the hydro-electricity industry. I discussed the difficulties that we have faced during this project, particularly the problem of reproducing flow regime in such a complex natural environment. I have presented the result we that we have obtained and what should done to ameliorate the precision (get a better accuracy).

Technical Reports

  1. "An Extensible C++ Framework for One-Dimensional Open Channel Flow Simulation" , - J. Belanger (in preparation)

Abstract In this report we provide an introduction to ODE, then present an extensible Object-Oriented framework - written in C++ - with emphasis on the reusability of modules for ODE solvers. The ability to extend this API to accomodate new algorithms as they are developed is particularly attractive. This facilitates our work to find the best numerical method, and speed the development of a dedicated simulator for specific cases.

  1. "Validating Shock Capturing Schemes On The Dam Break Problem", -** J. Belanger Elligno Inc. Technical report no. TR1-2007-01 (March 2007)

  2. A C++ Differential Equations Solver using Object-Oriented Numeric” - J. Belanger Elligno Inc. Technical Report no. TR-2006-01 (September 2006)

  3. On the Re-Use of the ADATS Missile Model for the CAT Simulator”, - J. Belanger, Technical Note Oerlikon Contraves Inc. (November 2005)

  4. Background Fit Algorithm”, - J. Belanger, Technical Note ART Inc. (June 2005)

  5. Coordinate Transformation Services” - J. Belanger, API Specification Document (April 2004) CAE Inc.

  6. A Test Field Calibration to Validate Shallow-Water Codes: the Case of the Ste- Marguerite River with AquaDyn”, J. BélangerTPPT, M. CarreauPT and A. VincentTPT, CERCA Technical Report no. R2000-6, (September 2000)

  7. Simulation 2D d’une section de la rivière Ste-Marguerite” J. Belanger et A.Vincent Contract work under SoftKit Technologies Inc. and CERCA (1995)

Jean Bélanger’s Experience

Elligno Inc. (June 2006 - ongoing)

Title Founder (independent contractor)
Project Consulting (scientific and technical)
Technologies C++11/14, design pattern, Boost, STL, OpenGL, OSG, Autodesk FBX, Qt, real-time, Perl, Java, R, Matematica, FORTRAN90/95
Description I have been working as consultant and contractor in the IT industry to develop and support company in their project and business product development. My experience covers a wide range of the IT industry and technologies.
Tasks and resposibilites

As a consultant, I have developed applications for solving challenging real-world problems using technologies such as vision computer, real-time simulation, 3D modeling and scientific programming.

  • Image processing algorithm based on image recognition and edge detection (sawmill industry);

  • Data gathering algorithm for real-time surgery simulator training system (health care industry);

  • Major porting video streaming application;

  • Developed a set of tools (R scripts) for extracting statistical data to a more manageable format for visualizing and report creation (Financial application);

Worked as a contractor for small and large sized organization to support development of existing applications; experience involving designing, development, testing, implementation and support of applications.

  • Scientific programmer responsible of the math library: (Biotechnology molecular imaging);

  • Software developer C++/3D create a 3D environment: (Virtual reality 3D modeling);

  • System software developer to integrate sensor model: (Military training system);

  • System software analyst supporting trading system: (Financial banking investment);

Startup (my company) working on the development of a scientific programming environment (physics modeling) to facilitate and accelerate the programming numerical algorithm on the Dam Break problem.

Oerlikon Contraves Inc. (October 2005 – June 2006)

Title Software Systems Analyst
Project Virtual environment simulation (military)
IT Technologies Poste de travail, Poste transactionnel, Bloomberg, Timeo, Theo, Titan, BIRT – Rapport trimestriel
Description The project consists of building a simulator (training system) for ADATS operator. The software was developed in distributed object environment using a COM framework in multi language (FORTRAN95/C++) environment.
Tasks and responsibilities
  • Analyze an existing software (rigid-body library) and make recommendations concerning the re-use of some part (based on budget and time line);

  • Work on the integration of a rigid-body library in CAE STRIVE framework (real-time simulation environment);

  • Programmed new class (cross-language: call FORTRAN routine from C++) by using new features of FORTRAN95 language;

  • Developed a prototype to ease the integration process (testing functionalities);

ART Inc. (February 2005 – September 2005)

Title Scientific Programmer (Applied Research)
Project Molecular Imaging (biotechnology)
IT C++, Boost, numerical programming, scientific programming
Project Description ART (Advanced Research Technologies) Inc., develops and commercializes molecular imaging products for the healthcare and pharmaceutical industries. Molecular imaging involves illuminating the part of the body of interest with, non-ionizing radiation and analyzing the emergent pattern for signs of pathology. Task consist of investigating both the scattering and absorption properties of tissue, the manner in which light propagates through tissue (normal tissue differs from abnormal in its absorption or scattering), it then becomes possible to differentiate optically between normal and abnormal conditions. Molecular imaging techniques are well suited for the evaluation of the response to therapy in cancer.
Tasks and resposibilities
  • Performed a Monte Carlo simulation for photon migration in a 3D medium (particle simulation);

  • Re-designed the curve fit library (optimization problem) architecture and promoted modular approach by using Object-Oriented paradigm. This new version of the library featured:

  1. use STL numerical container for fast floating point operation;

  2. use numerical recipes library for reliable algorithm;

  3. could be extended for new optimization algorithm.

  • Participated in the R&D effort;

  • Manage the development and the implementation of new algorithms (numerical coding) into a stand-alone software package(s) for end-users of ART's optical products;

CAE Inc. (November 2000 – May 2004)

Title Software Developer
Project Synthetic virtual environment and simulation
IT C++, math programming, 3D programming, OO, distributed software, real-time
Description

Core Technology group (military) on development of a Synthetic Tactical Real-Time interactive Virtual Environment. It is an open, extensible, distributed object based architecture and use the most modern concept in software practice such as: COM architecture, framework environment, Plug-In (dll libraries) which allows user to add new models within the synthetic environment.

Core Technology group (military) virtual synthetic environment warfare simulation.

Tasks and responsibilities

Responsible for the maintenance, product development of the 3D engine library as part of the Core Technology Department. Military’s Synthetic Environment;

  • Data Representation and Interchange Specification (SEDRIS);

  • Responsible of the 3D engine library (rendering and terrain representation). Give support for customer demo (conversion of terrain file format and bug fix);

  • Designed prototypes for technology evaluation (R&D project). For example physics library for collision detection-response;

  • Act as a technical lead to define database format (requirement) for terrain representation;

  • Coordinated meeting across department for schedule, planning and work plan. Requirement definition, technical design and coding;

  • Develop prototype and architecture for new concepts and technology that would eventually be used by other department. Implemented an atmosphere model;

  • In charge of the design of the mathematical library (coordinate transformation) for map projection package based on SEDRIS API (used for Global Positioning System);

Annex : Personnal Project

Scientific Programming

Role Scientific programmer …
Project C++ Physics Modeling Projects
Technologies C++11/14, numerical programming, scientific programming, architecture, OO, UML, ODE (physics library), NR in C++, OSG, Boost, STL, Qt;
Description

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).

Development of a scientific framework based on modern software paradigm with emphasis on reusability and extensibility of software components in the field of computational physics.

Scientific Framework (SFX)

Project is based on an Object-Oriented framework with main objective is to provide a programming environment for the rapid prototyping of mathematical/physics based algorithm using classes at a high abstraction level.

Project DamBreak++ Simulator

I have developed a physics simulator used to validate numerical scheme on the well-known Dam-Break problem. The library is a collection of classes for solving the St-Venant equations (one-dimensional) using explicit scheme and finite difference technique.

Motivation

Accelerate the prototyping phase (validation of numerical scheme) where focus is made on the ease of programming/implementing new physical algorithm (that have been already tested and validated) with a minimum effort.

Project SFX Scientific Framework

Scientific simulation framework programming environment using modern software paradigm to understand physics. The approach call POM (Physics Object Model) is centered on the concept of modularization (plug and play) and its implementation is based from commercial practices COM (Component Object Model). In this model an object “POM” implements a functionality, which is exploited via interfaces.

which allowed various modules of the software to interoperate in a decoupled fashion.

Tasks and responsibilities
  • C++ programming using Object-Oriented technique (program different modules);

  • Optimization technique (Numerical programming/data structure);

  • Perform simulation test to validate algorithm on the well-known solution;

  • Re-factored simulation code to obtain a more scalable and maintainable new generation;

  • Writing technical specifications for development projects (gather requirements);

  • Rewrite some of the numerical algorithm using optimized data structure;

  • Analyze the existing code to make modification (architecture);

  • Program numerical algorithm based on physics such as shock-capturing technique;

  • Validated the code by using known solution taken from literature;

  • Write technical report and make presentation of the software packages;

  • Development of a GUI to facilitate testing and visualizing simulation result;

  • Performed manual testing as needed, create test cases and defect recorded;

  • Design, develop, debugs, performance optimization, and integrate third party library;

  • Review, research, analyze, and evaluate new software techniques, tools for simulation;

Project Physics 3D library

I have developed a mathematical library for 3D modeling (linear algebra). The library feature efficient math operation (fast-floating point operation). It also support an Object-Oriented approach in the implementation of mathematical and physical data structure.

--- 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;