{"id":3368,"date":"2024-05-31T07:22:58","date_gmt":"2024-05-31T12:22:58","guid":{"rendered":"https:\/\/elligno.com\/?page_id=3368"},"modified":"2025-09-28T09:35:37","modified_gmt":"2025-09-28T14:35:37","slug":"modelisation-physique","status":"publish","type":"page","link":"https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/","title":{"rendered":"Environnement Programmation Scientifique"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>Mod\u00e9lisation Physique<\/strong> (Simulation Bris de Barrage)<\/h2>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong><strong>Environnement de Programmation<\/strong><\/strong> Scientifique<\/strong><\/h3>\n\n\n\n<p>Ce projet est motiv\u00e9 par mon exp\u00e9rience de travail pour la compagnie&nbsp;<strong>CAE<\/strong>&nbsp;(leader mondial en simulation) ainsi que mon exp\u00e9rience au centre de recherche calcul appliqu\u00e9 (<strong>CERCA<\/strong>&nbsp;projet transfert technologique).&nbsp;<\/p>\n\n\n\n<p>Le but est de cr\u00e9er un environnement de programmation qui utilise des pratiques modernes de d\u00e9veloppement logiciel (Orient\u00e9e-Objet OO) dans le domaine la mod\u00e9lisation physique. Cette approche largement utilis\u00e9 en logiciel commercial est tr\u00e8s bien adapt\u00e9 en programmation scientifique puisque les abstractions (sous forme de concepts math et physique) sont \u201cbuilt-in\u201d inh\u00e9rentes au probl\u00e8me ce qui rend la mod\u00e9lisation (OON Orient\u00e9e-Objet Num\u00e9rique) de tel syst\u00e8me naturelle.&nbsp;<\/p>\n\n\n\n<p>C++ est le langage adopt\u00e9 pour ce projet, supporte les concepts Orient\u00e9e-Objet (OO) et offre des performances de calcul satisfaisante.&nbsp;Depuis les 10 derni\u00e8res ann\u00e9es le langage a \u00e9volu\u00e9 (C++11\/14\/17\/20) avec l\u2019ajout de nouveaux outils pour le rendre encore plus performant.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Motivation<\/h3>\n\n\n\n<p>Cr\u00e9er un environnement de programmation pour la solution num\u00e9rique des \u00e9quations de St-Venant unidimensionnel sur le probl\u00e8me du bris de barrage par m\u00e9thode aux diff\u00e9rences finies explicites. Architecture orient\u00e9e objet dont l&rsquo;objectif principal est de fournir un environnement de programmation pour le prototypage rapide d&rsquo;algorithmes physiques pour la validation sur le probl\u00e8me du bris de barrage. Dans les projets industriels, on est souvent appel\u00e9 \u00e0 tester ou \u00e0 exp\u00e9rimenter diff\u00e9rents sc\u00e9narios, ce type d\u2019environnement r\u00e9pond \u00e0 ce besoin. Permet d&rsquo;acc\u00e9lerer la phase de prototypage.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Approche<\/h3>\n\n\n\n<p>L\u2019approche qui est adopt\u00e9e est bas\u00e9e sur la technologie <strong>Orient\u00e9e-Objet Num\u00e9rique<\/strong> (OON) ou de type \u00ab<em>Framework<\/em>\u00bb, qui consiste \u00e0 d\u00e9finir une couche de <strong>&lsquo;class&rsquo;<\/strong> de haut niveau qui d\u00e9finissent les concepts du syst\u00e8me que l\u2019on veut mod\u00e9liser et de laisser l\u2019usager compl\u00e9ter ou d\u00e9finir l\u2019application. Un ensemble d\u2019interfaces d\u00e9finissent les diff\u00e9rentes composantes ou fonctionnalit\u00e9 du syst\u00e8me (fronti\u00e8res des concepts du syst\u00e8me). Celles-ci deviennent la porte d\u2019entr\u00e9e afin de construire une application. Le d\u00e9veloppeur qui a l\u2019intention d\u2019utiliser le \u00ab <em>Framework<\/em> \u00bb doit fournir une impl\u00e9mentation des interfaces (composantes).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Environnement de programmation<\/h3>\n\n\n\n<p>Mise au point d\u2019un environnement de programmation (diff\u00e9rence finies) qui solutionne les \u00e9quations St-Venant 1D par m\u00e9thode explicite sur le probl\u00e8me du bris de barrage. La principale caract\u00e9ristique de cet environnement est la facilit\u00e9 \u00e0 d\u00e9velopper\/programmer de nouveaux algos (sch\u00e9mas num\u00e9riques) et de les valider avec un minimum d\u2019effort. Ce type de probl\u00e8me est utilis\u00e9 pour tester la stabilit\u00e9 de sch\u00e9mas num\u00e9rique.<\/p>\n\n\n\n<p>Les quatre interfaces d\u00e9finissent les composantes du syst\u00e8me et doivent \u00eatre impl\u00e9ment\u00e9es par l&rsquo;utilisateur qui veut utiliser le \u00ab\u00a0framework\u00a0\u00bb. Le nom de chacune de celles-ci est explicite, par exemple, <strong><em>IPhysicalConfiguration<\/em><\/strong> pour sp\u00e9cifier les conditions initiales du syst\u00e8me. Ci-dessous un tableau<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-center\" data-align=\"center\">Interface<\/th><th class=\"has-text-align-center\" data-align=\"center\">MethodE<\/th><th>Arguments<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">IPhysicalConfiguration<\/td><td class=\"has-text-align-center\" data-align=\"center\">configure()<\/td><td>PhysicalSystem ps<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">IPhysicalAlgorithm<\/td><td class=\"has-text-align-center\" data-align=\"center\">calculate()<\/td><td>Simulation sim, PhysicalSystem ps<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">IPhysicalMeasurement<\/td><td class=\"has-text-align-center\" data-align=\"center\">take() toString() toSql()<\/td><td>Simulation sim PhysicalSystem ps<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">IFinalReport<\/td><td class=\"has-text-align-center\" data-align=\"center\">report()<\/td><td>Simulation sim PhysicalSystem ps<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Interfaces du syst\u00e8me (fronti\u00e8re entre les composantes)<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Galerie<\/h3>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"400\" data-id=\"3588\" src=\"https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/U12Profile_5.jpg\" alt=\"\" class=\"wp-image-3588\" srcset=\"https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/U12Profile_5.jpg 640w, https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/U12Profile_5-300x188.jpg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption class=\"wp-element-caption\">After initial time<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"400\" data-id=\"3586\" src=\"https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/GraphLegendBox.jpg\" alt=\"\" class=\"wp-image-3586\" srcset=\"https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/GraphLegendBox.jpg 640w, https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/GraphLegendBox-300x188.jpg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption class=\"wp-element-caption\">Wave propagation<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"400\" data-id=\"3584\" src=\"https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/U12Profile_45.jpg\" alt=\"\" class=\"wp-image-3584\" srcset=\"https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/U12Profile_45.jpg 640w, https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/U12Profile_45-300x188.jpg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption class=\"wp-element-caption\">Wave Final Profile<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<div style=\"height:43px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Documentation<\/h3>\n\n\n\n<p><a href=\"https:\/\/elligno.com\/wp-content\/uploads\/2025\/09\/html\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">DamBreak++ API Documentation<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Exemples de code<\/h3>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-cpp\" data-line=\"\">  GlobalDiscretization* w_globalDisscr = new GlobalDiscretization();\n  PhysicalSystem* physicalSystem = nullptr;\n  IPhysicalAlgorithm* w_phyAlgo = nullptr;\n  IPhysicalConfiguration* w_phyConfig = nullptr;\n  DataStore* w_dataStore = nullptr;\n  IPhysicalMeasurement* w_phyMeasurement = nullptr;\n  IFinalReport* w_simReport = nullptr;\n        \n   \/\/ Now create the simulation environment that the user\n   \/\/ has defined using the appropriate factory methods\n   try \n   {\n     \/\/ Create a new Physical System Factory\n     std::cout &lt;&lt; &quot;Creating the physical system...\\n&quot;;\n\n     PhysicalSystemFactory* w_PhySysF = PhysicalSystemFactory::getInstance();\n     physicalSystem = dynamic_cast&lt;DamBreakSystem*&gt;( w_PhySysF-&gt;create( w_globalDisscr));\n     g_pLogger-&gt;write2File( &quot;PhysicalSystem created successfully&quot;);\n     std::cout &lt;&lt; &quot;created\\n&quot;;\n\n    \/\/ Configure the objects in the physical system\n    std::cout &lt;&lt; &quot;Configuring system using &lt; &quot; \n        + g_pSimulation-&gt;getPhysicalConfigurationClass() + &quot;&gt;...\\n&quot;;\n     Class* setupClazz = Class::forName( g_pSimulation-&gt;getPhysicalConfigurationClass());\n      w_phyConfig = (IPhysicalConfiguration*)setupClazz-&gt;newInstance();\n      w_phyConfig-&gt;configure( physicalSystem);\n      g_pLogger-&gt;write2File( &quot;PhysicalSystem configured successfully&quot;);\n   \n      \/\/ Define the algorithm class to be used per iteration on the PhysicalSystem\n      std::cout &lt;&lt; &quot;Configuring Algorithm using &lt; &quot; \n           + g_pSimulation-&gt;getPhysicalAlgorithmClass() + &quot;&gt;...\\n&quot;;\n      Class* algorithmClazz = Class::forName( g_pSimulation-&gt;getPhysicalAlgorithmClass());\n       w_phyAlgo = (IPhysicalAlgorithm*)algorithmClazz-&gt;newInstance();\n       g_pLogger-&gt;write2File( &quot;PhysicalAlgorithm created successfully&quot;);\n   ....\n  };<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"references\">References<\/h3>\n\n\n\n<p>\u201c<em>An Extensible C++ Framework for One-Dimensional Open Channel Flow Simulation<\/em>&nbsp; &#8211; J. Belanger (<strong>in preparation<\/strong>)<\/p>\n\n\n\n<p><strong>Abstract<\/strong>&nbsp;<em>In this report we provide an introduction to ODE, then present an extensible Object-Oriented framework &#8211; written in C++ &#8211; with emphasis on the reusability of modules for ODE solvers. The ability to extend this API to accommodate 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<\/em>.<\/p>\n\n\n\n<p><a href=\"https:\/\/elligno.com\/wp-content\/uploads\/2022\/06\/OONFramework_fr.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">voir article<\/a><\/p>\n\n\n\n<p>\u201c<em>A C++ Differential Equations Solver using Object-Oriented Numeric<\/em>s\u201d &#8211; J. Belanger&nbsp;<strong>Elligno Inc.&nbsp;Technical Report no. TR-2016-01 (September 2016)<\/strong><\/p>\n\n\n\n<p><strong>Abstract<\/strong>&nbsp;<em>Over the last few years we have been migrating a small library of numerical code originally written in C to C++. In this report, we present the mathematical  abstractions used and how object-oriented programming techniques are applied for scientific software design. Finally implementations details are provided including relationship between data structure. The result is tight, readable code that is easy to maintain and extend. Example with Shallow water equations is drawn from our prototype C++ based environment.<\/em><\/p>\n\n\n\n<p><a href=\"https:\/\/elligno.com\/wp-content\/uploads\/2022\/06\/ODESolvers1_2b-1.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">voir article<\/a><\/p>\n\n\n\n<p><em>\u201cValidating Shock Capturing Schemes On The Dam Break Problem\u201d<\/em> &#8211; J. Belanger, <strong>Elligno Inc.&nbsp;Technical report no. TR1-2007-01 (March 2007<\/strong>)<\/p>\n\n\n\n<p><strong>Abstract<\/strong> <em>In this report we discuss some numerical techniques for approximating the Shallow-water equations. In particular finite difference schemes, adaptation of Roe&rsquo;s approximate Riemann solver and the HLL scheme of (Harten-Lax-Van Leer) with the objective of accurately approximating the solution of Shallow-water equations over variable topography. Some tests are presented as preliminary validation of the proposed framework. Satisfactory comparisons have been obtained. This report shows progress towards a more complete validation of the schemes and demonstrate a critical need to improve procedure if such progress is to be sustained.<\/em><\/p>\n\n\n\n<p><a href=\"https:\/\/elligno.com\/wp-content\/uploads\/2022\/06\/AVReport1_15.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">voir article<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mod\u00e9lisation Physique (Simulation Bris de Barrage) Environnement de Programmation Scientifique Ce projet est motiv\u00e9 par mon exp\u00e9rience de travail pour la compagnie&nbsp;CAE&nbsp;(leader mondial en simulation) ainsi que mon exp\u00e9rience au centre de recherche calcul appliqu\u00e9 (CERCA&nbsp;projet transfert technologique).&nbsp; Le but est de cr\u00e9er un environnement de programmation qui utilise des pratiques modernes de d\u00e9veloppement logiciel [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":2885,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3368","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Environnement Programmation Scientifique - Elligno<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Environnement Programmation Scientifique - Elligno\" \/>\n<meta property=\"og:description\" content=\"Mod\u00e9lisation Physique (Simulation Bris de Barrage) Environnement de Programmation Scientifique Ce projet est motiv\u00e9 par mon exp\u00e9rience de travail pour la compagnie&nbsp;CAE&nbsp;(leader mondial en simulation) ainsi que mon exp\u00e9rience au centre de recherche calcul appliqu\u00e9 (CERCA&nbsp;projet transfert technologique).&nbsp; Le but est de cr\u00e9er un environnement de programmation qui utilise des pratiques modernes de d\u00e9veloppement logiciel [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/\" \/>\n<meta property=\"og:site_name\" content=\"Elligno\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-28T14:35:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/U12Profile_5.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/elligno.com\\\/fr\\\/portfolio\\\/modelisation-physique\\\/\",\"url\":\"https:\\\/\\\/elligno.com\\\/fr\\\/portfolio\\\/modelisation-physique\\\/\",\"name\":\"Environnement Programmation Scientifique - Elligno\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/elligno.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/elligno.com\\\/fr\\\/portfolio\\\/modelisation-physique\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/elligno.com\\\/fr\\\/portfolio\\\/modelisation-physique\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/elligno.com\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/U12Profile_5.jpg\",\"datePublished\":\"2024-05-31T12:22:58+00:00\",\"dateModified\":\"2025-09-28T14:35:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/elligno.com\\\/fr\\\/portfolio\\\/modelisation-physique\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/elligno.com\\\/fr\\\/portfolio\\\/modelisation-physique\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/elligno.com\\\/fr\\\/portfolio\\\/modelisation-physique\\\/#primaryimage\",\"url\":\"https:\\\/\\\/elligno.com\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/U12Profile_5.jpg\",\"contentUrl\":\"https:\\\/\\\/elligno.com\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/U12Profile_5.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/elligno.com\\\/fr\\\/portfolio\\\/modelisation-physique\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/elligno.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Portfolio\",\"item\":\"https:\\\/\\\/elligno.com\\\/fr\\\/portfolio\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Environnement Programmation Scientifique\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/elligno.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/elligno.com\\\/fr\\\/\",\"name\":\"Elligno\",\"description\":\"Site dev elligno\",\"publisher\":{\"@id\":\"https:\\\/\\\/elligno.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/elligno.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/elligno.com\\\/fr\\\/#organization\",\"name\":\"Elligno Inc\",\"url\":\"https:\\\/\\\/elligno.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/elligno.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/elligno.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/favicon.png\",\"contentUrl\":\"https:\\\/\\\/elligno.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/favicon.png\",\"width\":256,\"height\":256,\"caption\":\"Elligno Inc\"},\"image\":{\"@id\":\"https:\\\/\\\/elligno.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Environnement Programmation Scientifique - Elligno","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/","og_locale":"fr_FR","og_type":"article","og_title":"Environnement Programmation Scientifique - Elligno","og_description":"Mod\u00e9lisation Physique (Simulation Bris de Barrage) Environnement de Programmation Scientifique Ce projet est motiv\u00e9 par mon exp\u00e9rience de travail pour la compagnie&nbsp;CAE&nbsp;(leader mondial en simulation) ainsi que mon exp\u00e9rience au centre de recherche calcul appliqu\u00e9 (CERCA&nbsp;projet transfert technologique).&nbsp; Le but est de cr\u00e9er un environnement de programmation qui utilise des pratiques modernes de d\u00e9veloppement logiciel [&hellip;]","og_url":"https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/","og_site_name":"Elligno","article_modified_time":"2025-09-28T14:35:37+00:00","og_image":[{"width":640,"height":400,"url":"https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/U12Profile_5.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/","url":"https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/","name":"Environnement Programmation Scientifique - Elligno","isPartOf":{"@id":"https:\/\/elligno.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/#primaryimage"},"image":{"@id":"https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/#primaryimage"},"thumbnailUrl":"https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/U12Profile_5.jpg","datePublished":"2024-05-31T12:22:58+00:00","dateModified":"2025-09-28T14:35:37+00:00","breadcrumb":{"@id":"https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/#primaryimage","url":"https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/U12Profile_5.jpg","contentUrl":"https:\/\/elligno.com\/wp-content\/uploads\/2022\/05\/U12Profile_5.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/elligno.com\/fr\/portfolio\/modelisation-physique\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/elligno.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Portfolio","item":"https:\/\/elligno.com\/fr\/portfolio\/"},{"@type":"ListItem","position":3,"name":"Environnement Programmation Scientifique"}]},{"@type":"WebSite","@id":"https:\/\/elligno.com\/fr\/#website","url":"https:\/\/elligno.com\/fr\/","name":"Elligno","description":"Site dev elligno","publisher":{"@id":"https:\/\/elligno.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/elligno.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/elligno.com\/fr\/#organization","name":"Elligno Inc","url":"https:\/\/elligno.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/elligno.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/elligno.com\/wp-content\/uploads\/2021\/06\/favicon.png","contentUrl":"https:\/\/elligno.com\/wp-content\/uploads\/2021\/06\/favicon.png","width":256,"height":256,"caption":"Elligno Inc"},"image":{"@id":"https:\/\/elligno.com\/fr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/elligno.com\/fr\/wp-json\/wp\/v2\/pages\/3368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elligno.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elligno.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elligno.com\/fr\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/elligno.com\/fr\/wp-json\/wp\/v2\/comments?post=3368"}],"version-history":[{"count":0,"href":"https:\/\/elligno.com\/fr\/wp-json\/wp\/v2\/pages\/3368\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/elligno.com\/fr\/wp-json\/wp\/v2\/pages\/2885"}],"wp:attachment":[{"href":"https:\/\/elligno.com\/fr\/wp-json\/wp\/v2\/media?parent=3368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}