{"id":139,"date":"2022-02-16T17:41:52","date_gmt":"2022-02-16T16:41:52","guid":{"rendered":"https:\/\/naupacte.com\/?p=139"},"modified":"2023-04-29T14:15:02","modified_gmt":"2023-04-29T12:15:02","slug":"upgrade-your-simulation-code-2","status":"publish","type":"post","link":"https:\/\/naupacte.com\/index.php\/2022\/02\/16\/upgrade-your-simulation-code-2\/","title":{"rendered":"Moderniser son code de simulation?"},"content":{"rendered":"\n<p>L&#8217;occasion d&#8217;entreprendre la modernisation des processus de d\u00e9veloppements peut \u00eatre provoqu\u00e9e par <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>la volont\u00e9 d&#8217;accro\u00eetre sa productivit\u00e9, de r\u00e9duire sa maintenance, de se focaliser sur ses atouts, de capitaliser sur ses d\u00e9veloppements<\/li><li>les besoins en nouvelles formulations et les calculs de sensibilit\u00e9<\/li><li>les besoins en assemblages tr\u00e8s rapides.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image is-style-default\"><figure class=\"aligncenter size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"970\" height=\"1024\" src=\"https:\/\/naupacte.com\/wp-content\/uploads\/2022\/02\/Capture-decran-2022-02-14-a-21.21.52-970x1024.png\" alt=\"\" class=\"wp-image-71\" srcset=\"https:\/\/naupacte.com\/wp-content\/uploads\/2022\/02\/Capture-decran-2022-02-14-a-21.21.52-970x1024.png 970w, https:\/\/naupacte.com\/wp-content\/uploads\/2022\/02\/Capture-decran-2022-02-14-a-21.21.52-284x300.png 284w, https:\/\/naupacte.com\/wp-content\/uploads\/2022\/02\/Capture-decran-2022-02-14-a-21.21.52-768x811.png 768w, https:\/\/naupacte.com\/wp-content\/uploads\/2022\/02\/Capture-decran-2022-02-14-a-21.21.52-1455x1536.png 1455w, https:\/\/naupacte.com\/wp-content\/uploads\/2022\/02\/Capture-decran-2022-02-14-a-21.21.52-1200x1266.png 1200w, https:\/\/naupacte.com\/wp-content\/uploads\/2022\/02\/Capture-decran-2022-02-14-a-21.21.52.png 1552w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption>Aux commandes de Navpactos<\/figcaption><\/figure><\/div>\n\n\n\n<p>C&#8217;est sans doute l&#8217;occasion de consid\u00e9rer l&#8217;utilisation de NAVPACTOS, langage sp\u00e9cialement d\u00e9velopp\u00e9 par Naupacte pour ces besoins-l\u00e0. En effet, en d\u00e9barrassant les codes de leur partie calculatoire, NAVPACTOS<strong>&nbsp;<\/strong>all\u00e8ge consid\u00e9rablement leur mise au point. Qu&#8217;en est-il alors de la performance?  Loin d&#8217;\u00eatre d\u00e9grad\u00e9es, les vitesses d&#8217;assemblage notamment sont in\u00e9dites.<\/p>\n\n\n\n<p class=\"has-yellow-background-color has-background\">La programmation d\u2019un assemblage par \u00c9l\u00e9ments Finis est un exemple o\u00f9 NAVPACTOS brille par sa simplicit\u00e9 et sa performance.<\/p>\n\n\n\n<p>La simplification de la r\u00e9\u00e9criture n&#8217;est pas le seul atout de ce langage, car il ouvre la voie d\u2019une programmation g\u00e9n\u00e9rique avec une grande r\u00e9utilisabilit\u00e9. En effet, sa puissance vient de ce qu&#8217;il est capable de transf\u00e9rer des formulations &#8211; ou d\u00e9finitions de calcul &#8211; gr\u00e2ce \u00e0 son moteur de calcul formel tensoriel. Que l&#8217;on songe aux fonctionnalit\u00e9s qui  manient de telles formulations: l&#8217;assemblage, les champs, les maillages, les algorithmes comme celui de Newton&#8230; et par cons\u00e9quent les modules de plus haut niveau qui les utilisent. Tout le code bas\u00e9 sur NAVPACTOS b\u00e9n\u00e9ficie du concept de calcul formel.<\/p>\n\n\n\n<p class=\"has-yellow-background-color has-background\">Une ouverture possible permise par la r\u00e9\u00e9criture avec NAVPACTOS est le d\u00e9veloppement d&#8217;un algorithme d&#8217;optimisation param\u00e9trique utilisant les gradients de mani\u00e8re automatique.<\/p>\n\n\n\n<p>NAVPACTOS est donc un outil \u00e0 consid\u00e9rer lorsque la question se pose de moderniser son code de calcul.<\/p>\n\n\n\n<p class=\"has-light-gray-background-color has-background\">Avec NAVPACTOS, vous pourrez, \u00e0 partir des sp\u00e9cifications d\u2019un mod\u00e8le num\u00e9rique, lues par exemple sur un fichier de commandes, composer facilement sa formulation et la construction du syst\u00e8me correspondant, pour ensuite les calculer puis les mettre \u00e0 jour au moyen d\u2019un simple appel. Un langage d\u00e9di\u00e9 \u00e9crit en C++ simple et expressif vous permet de suivre le mod\u00e8le math\u00e9matique.<\/p>\n\n\n\n<p class=\"has-light-gray-background-color has-background\">Il suffit de compiler comme d\u2019habitude votre programme de construction et de r\u00e9solution faisant appel \u00e0 NAVPACTOS. La performance exceptionnelle des calculs demand\u00e9s est d\u00e9livr\u00e9e automatiquement gr\u00e2ce \u00e0 une m\u00e9thode in\u00e9dite bas\u00e9e sur quelques milliers de r\u00e8gles internes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;occasion d&#8217;entreprendre la modernisation des processus de d\u00e9veloppements peut \u00eatre provoqu\u00e9e par la volont\u00e9 d&#8217;accro\u00eetre sa productivit\u00e9, de r\u00e9duire sa maintenance, de se focaliser sur ses atouts, de capitaliser sur ses d\u00e9veloppements les besoins en nouvelles formulations et les calculs de sensibilit\u00e9 les besoins en assemblages tr\u00e8s rapides. C&#8217;est sans doute l&#8217;occasion de consid\u00e9rer l&#8217;utilisation de NAVPACTOS, langage sp\u00e9cialement d\u00e9velopp\u00e9 par Naupacte pour ces besoins-l\u00e0. En effet, en d\u00e9barrassant les codes de leur partie calculatoire, NAVPACTOS&nbsp;all\u00e8ge consid\u00e9rablement leur mise au point. Qu&#8217;en est-il alors de la performance? Loin d&#8217;\u00eatre d\u00e9grad\u00e9es, les vitesses d&#8217;assemblage notamment sont in\u00e9dites. La programmation d\u2019un assemblage par \u00c9l\u00e9ments Finis est un exemple o\u00f9 NAVPACTOS brille par sa simplicit\u00e9 et sa performance. La simplification de la r\u00e9\u00e9criture n&#8217;est pas le seul atout de ce langage, car il ouvre la voie d\u2019une programmation g\u00e9n\u00e9rique avec une grande r\u00e9utilisabilit\u00e9. En effet, sa puissance vient de ce qu&#8217;il est capable de transf\u00e9rer des formulations &#8211; ou d\u00e9finitions de calcul &#8211; gr\u00e2ce \u00e0 son moteur de calcul formel tensoriel. Que l&#8217;on songe aux fonctionnalit\u00e9s qui manient de telles formulations: l&#8217;assemblage, les champs, les maillages, les algorithmes comme celui de Newton&#8230; et par cons\u00e9quent les modules de plus haut niveau qui les utilisent. Tout le code bas\u00e9 sur NAVPACTOS b\u00e9n\u00e9ficie du concept de calcul formel. Une ouverture possible permise par la r\u00e9\u00e9criture avec NAVPACTOS est le d\u00e9veloppement d&#8217;un algorithme d&#8217;optimisation param\u00e9trique utilisant les gradients de mani\u00e8re automatique. NAVPACTOS est donc un outil \u00e0 consid\u00e9rer lorsque la question se pose de moderniser son code de calcul. Avec NAVPACTOS, vous pourrez, \u00e0 partir des sp\u00e9cifications d\u2019un mod\u00e8le num\u00e9rique, lues par exemple sur un fichier de commandes, composer facilement sa formulation et la construction du syst\u00e8me correspondant, pour ensuite les calculer puis les mettre \u00e0 jour au moyen d\u2019un simple appel. Un langage d\u00e9di\u00e9 \u00e9crit en C++ simple et expressif vous permet de suivre le mod\u00e8le math\u00e9matique. Il suffit de compiler comme d\u2019habitude votre programme de construction et de r\u00e9solution faisant appel \u00e0 NAVPACTOS. La performance exceptionnelle des calculs demand\u00e9s est d\u00e9livr\u00e9e automatiquement gr\u00e2ce \u00e0 une m\u00e9thode in\u00e9dite bas\u00e9e sur quelques milliers de r\u00e8gles internes.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[49],"tags":[],"class_list":["post-139","post","type-post","status-publish","format-standard","hentry","category-langage-simulation-numerique"],"_links":{"self":[{"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/posts\/139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/comments?post=139"}],"version-history":[{"count":6,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/posts\/139\/revisions"}],"predecessor-version":[{"id":217,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/posts\/139\/revisions\/217"}],"wp:attachment":[{"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/media?parent=139"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/categories?post=139"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/tags?post=139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}