Programmation Scientifique

Programmeur scientifique (Transfert Technologique) 

Chercheur-programmeur pour un centre en transfert technologique (Université-Industrie). Programmation d’algorithme mathématique dans le domaine de la mécanique des fluides, plus précisément simulation des écoulements à ciel ouvert.

  •  Simulation numérique des Équations de Navier-Stokes et de St-Venant à l’aide des méthodes de type éléments finis, volumes finis et différence finies
  •  Calibration et la validation du modèle mathématique et numérique sur des données réelles;
  •  Développement d’algorithmes mathématiques avancés pour solutionner un problème complexe dans le domaine de l’hydro-électricité (simulation d’un cas réel);
  •  Participé à la rédaction de documents technique et scientifique;

Technologie: méthodes numériques de type éléments finis (Galerkin/Newton-Raphson), différences finies, FORTRAN77 et C, algorithme mathématique;

Architecte logiciel (environnement de programmation scientifique)  

Mise au point d’un environnement (architecture) de programmation scientifique destinée à la modélisation physique des écoulements à ciel ouvert. L’architecture est basée sur une approche de type «framework» pour le développement de ‘solveur’ numérique qui solutionne les équations différentielles à dérivées partielles numériquement. La librairie est construite pour la mise au point rapide de prototype pour la validation d’algorithme numérique dans les écoulements à ciel ouvert. Présentement, la principale application est la validation d’algorithme numérique sur le problème de bris de barrage unidimensionnel.

en savoir plus

Technologie: méthodes numériques, C++, Orientee-Objet, architecture logiciel, FORTRAN77/95

Programmeur Vision (bois d’oeuvre, scierie)

J’ai implémenté un algorithme de vision pour une application industrielle (temps-réel) dans le domaine des scieries (industrie du bois d’œuvre). Afin de rentabiliser (efficacité) la coupe en fonction du prix et de la qualité, on doit être en mesure de détecter les défauts. Algorithme qui a été développée est basée sur des techniques dites de “segmentation” et de “edge detection”, on applique une série de filtre et des techniques de “edge detection” pour déterminer les régions de flache. Brièvement, l’algorithme est sous forme d’une série d’étapes avec une image a l’entrée (scan de la planche transformé en image). Le solveur retourne (sortie) une image qui  contient l’information pertinente (localisation des défauts). Cette information est ensuite utiliser pour faire le calcul optimal de la coupe. Sous forme d’une librairie (modulaire) afin de faciliter l’ajout de nouvelles implémentations/composantes.

Implémenter une librairie mathématique pour le lissage d’une courbe (langage C) en utilisant la librairie scientifique ”Numerical Recipes in C”;

Développement d’un GUI (Graphical User Interface) pour la validation et le débogage;

WaneImageFullWidth

Technologie: C#, .Net framework, GUI, Orientée-Objet, librairie imagerie HALCON

 Programmeur scientifique (imagerie moleculaire)

Programmeur physique sur un projet en biotechnologie (simulation, imagerie moléculaire). Cette technologie pour la détection du cancer basée sur des principes physiques de propagation de la lumière (longueur d’onde) dans le milieu humain. Cette approche permet de diagnostiquer (tumeur cancéreuse) en temps-réel.

Mon rôle était le maintien et le soutien d’une librairie pour le lissage d’une courbe.

Optimisation de la librairie afin de la rendre plus performante (deux fois plus rapide que l’originale);

  •   Architecture modulaire (« refactoring ») de la librairie (lissage d’une courbe non-linéaire) sous forme d’un API qui permet de programmer de nouveaux algorithmes d’optimisation plus rapidement et plus facilement;
  •  Participer dans les activités de recherche et développement (simulation Monte Carlo);

Technologie: Orientée-Objet, architecture logicielle (OO), C++, algorithme mathématique

Static Class Diagram

NOUVELLES ET ARTICLES See all

  • Fonction Lambda, un incontournable

    Tips and Tricks!

    Les fonctions anonymes dites “lambda” introduites depuis C++11 trouvent de nombreux cas d’utilisation où l’on aurait à écrire une fonction pour réaliser des taches simples, qui nécessite quelques lignes de code. Je présente un exemple de l’utilisation de celle-ci de notre environnement de programmation.

clients and partners

Autolog