{"id":92,"date":"2022-02-15T15:08:45","date_gmt":"2022-02-15T14:08:45","guid":{"rendered":"https:\/\/naupacte.com\/?page_id=92"},"modified":"2022-06-03T09:05:00","modified_gmt":"2022-06-03T07:05:00","slug":"tensor-algebra-embedded-language-for-numerical-simulation","status":"publish","type":"page","link":"https:\/\/naupacte.com\/index.php\/tensor-algebra-embedded-language-for-numerical-simulation\/","title":{"rendered":"L&#8217;essentiel de Navpactos"},"content":{"rendered":"\n<p>Naupacte propose un langage d&#8217;excellence pour le d\u00e9veloppement d&#8217;applications de simulation num\u00e9rique, qui est semblable \u00e0 un environnement de d\u00e9veloppement <em>int\u00e9grable<\/em>. Il est ax\u00e9 sur une repr\u00e9sentation novatrice des formules tensorielles, d\u00e9bouchant sans compilation sur des calculs optimis\u00e9s.<\/p>\n\n\n\n<p><a href=\"https:\/\/naupacte.com\/index.php\/presentation-video-de-navpactos\/\">Voir la vid\u00e9o de pr\u00e9sentation.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"un-langage-de-calcul-formel-pour-les-formulations-tensorielles\">Un langage de calcul formel pour les formulations tensorielles<\/h2>\n\n\n\n<p>Navpactos permet de d\u00e9crire formellement une boucle tensorielle avec aisance et contr\u00f4le. Le <em>tenseur formel<\/em> repr\u00e9sente un calcul r\u00e9el. \u00c9tant un objet qui se communique dans la plupart des modules, il \u00e9pure les programmes en cristallisant sur lui-m\u00eame une grande partie de leur complexit\u00e9.<\/p>\n\n\n\n<p class=\"has-yellow-background-color has-background\">C&#8217;est ainsi que les fonctions, la g\u00e9om\u00e9trie et les maillages, l&#8217;assemblage et les algorithmes comme la m\u00e9thode de Newton op\u00e8rent sur des tenseurs formels g\u00e9n\u00e9riques, qui ne n\u00e9cessitent pas d&#8217;\u00eatre connus \u00e0 la compilation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"un-calculateur-haute-performance\">Un calculateur haute-performance<\/h2>\n\n\n\n<p>Avant leur calcul qui peut \u00eatre r\u00e9p\u00e9t\u00e9 dans une boucle, les <em>tenseurs formels<\/em> sont analys\u00e9s pour produire un <em>objet calculateur<\/em>. Plus de 3000 r\u00e8gles d&#8217;alg\u00e8bre s&#8217;appliquent pour d\u00e9livrer l&#8217;ex\u00e9cution la plus v\u00e9loce, avec des performances in\u00e9dites. Cela se passe en interne, sans compilation.<\/p>\n\n\n\n<p>La pertinence des phases de simplification et d&#8217;optimisation est cruciale pour l&#8217;efficacit\u00e9 du calcul r\u00e9sultant de la d\u00e9rivation formelle de formules complexes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"des-modules-de-differents-niveaux\">Des modules de diff\u00e9rents niveaux<\/h2>\n\n\n\n<p>De m\u00eame que la fa\u00e7on de d\u00e9crire un probl\u00e8me n&#8217;est pas unique, le formalisme de Navpactos n&#8217;est pas rigide. Pour cela, l&#8217;acc\u00e8s est donn\u00e9 \u00e0 diff\u00e9rents niveaux d&#8217;abstraction.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"a-haut-niveau-des-canevas-d-applications\">A haut niveau, des canevas d&#8217;applications<\/h3>\n\n\n\n<p>Par exemple, des modules de plus haut niveau vont simplifier la description d&#8217;une famille de probl\u00e8mes classiques, comme ceux de statique non-lin\u00e9aire issus des EDP. Ils peuvent servir de tutoriel sur les possibilit\u00e9s offertes, car ils sont construits en utilisant les fonctions de niveau interm\u00e9diaire qui sont \u00e0 votre disposition.<\/p>\n\n\n\n<p class=\"has-yellow-background-color has-background\">Votre \u00e9quipe de d\u00e9veloppeurs peut ainsi r\u00e9aliser un cadre ou un canevas pour y accueillir une nouvelle cat\u00e9gorie de m\u00e9thodes num\u00e9riques. Avec Navpactos, vous concevez \u00e0 peu de frais des familles d&#8217;applications.<\/p>\n\n\n\n<p>Parmi les niveaux interm\u00e9diaires, on trouve en autres l&#8217;assemblage et les maillages.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"l-assemblage-et-la-resolution\">L&#8217;assemblage et la r\u00e9solution<\/h3>\n\n\n\n<p>Certaines t\u00e2ches, pourtant classiques, demandent de l&#8217;attention:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Assembler une matrice, t\u00e2che essentielle \u00e0 la plupart des probl\u00e8mes et qui se complexifie avec les mod\u00e8les multi-physique;<\/li><li>fixer des degr\u00e9s de libert\u00e9 en utilisant des multiplicateurs de Lagrange;<\/li><li>d\u00e9finir des corps rigides en m\u00e9canique;<\/li><li>programmer une m\u00e9thode de Newton.<\/li><\/ul>\n\n\n\n<p> Tout cela est rendu facile avec Navpactos, et fonctionne avec des tenseurs formels.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"les-maillages-les-elements-finis-et-les-champs\">Les maillages, les \u00e9l\u00e9ments finis et les champs<\/h3>\n\n\n\n<p>Le module <em>Discretisation<\/em> fournit les fonctions n\u00e9cessaires aux \u00e9l\u00e9ments finis, ainsi que les utilitaires de maillage (construction de grille, construction de discr\u00e9tisation d&#8217;ordre 2 et plus, s\u00e9lection d&#8217;entit\u00e9s comme les faces et les ar\u00eates). Il est possible d&#8217;ajouter ses propres \u00e9l\u00e9ments finis.<\/p>\n\n\n\n<p>Le module <em>Fields<\/em> ajoute les notions utiles aux champs (carte g\u00e9om\u00e9trique, gradient, fonctions diverses) jusqu&#8217;aux distributions.<\/p>\n\n\n\n<p>Ces deux modules fonctionnent avec la m\u00eame logique de calcul formel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"les-procedures-dynamiques\">Les proc\u00e9dures dynamiques<\/h2>\n\n\n\n<p>L&#8217;ex\u00e9cution de Navpactos entra\u00eene une sortie hi\u00e9rarchis\u00e9e de <em>logs<\/em> qui vous permet de conna\u00eetre l&#8217;encha\u00eenement des op\u00e9rations r\u00e9alis\u00e9es. Vous pouvez fabriquer vos propres encha\u00eenements de proc\u00e9dures et b\u00e9n\u00e9ficier de cette fonctionnalit\u00e9 sur vos d\u00e9veloppements.<\/p>\n\n\n\n<p>Mieux, votre code lui-m\u00eame peut construire dynamiquement de tels encha\u00eenements en s&#8217;adaptant aux donn\u00e9es d&#8217;entr\u00e9e, et par exemple d\u00e9cider d&#8217;embarquer une m\u00e9thode de Newton lorsque le cas est analys\u00e9 comme non-lin\u00e9aire.<\/p>\n\n\n\n<p>L&#8217;int\u00e9r\u00eat de telles constructions dynamiques, de fa\u00e7on oppos\u00e9e \u00e0 une construction statique, repose sur la possibilit\u00e9 de communiquer et de calculer les tenseurs formels sans avoir \u00e0 les conna\u00eetre explicitement.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\"><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Naupacte propose un langage d&#8217;excellence pour le d\u00e9veloppement d&#8217;applications de simulation num\u00e9rique, qui est semblable \u00e0 un environnement de d\u00e9veloppement int\u00e9grable. Il est ax\u00e9 sur une repr\u00e9sentation novatrice des formules tensorielles, d\u00e9bouchant sans compilation sur des calculs optimis\u00e9s. Voir la vid\u00e9o de pr\u00e9sentation. Un langage de calcul formel pour les formulations tensorielles Navpactos permet de d\u00e9crire formellement une boucle tensorielle avec aisance et contr\u00f4le. Le tenseur formel repr\u00e9sente un calcul r\u00e9el. \u00c9tant un objet qui se communique dans la plupart des modules, il \u00e9pure les programmes en cristallisant sur lui-m\u00eame une grande partie de leur complexit\u00e9. C&#8217;est ainsi que les fonctions, la g\u00e9om\u00e9trie et les maillages, l&#8217;assemblage et les algorithmes comme la m\u00e9thode de Newton op\u00e8rent sur des tenseurs formels g\u00e9n\u00e9riques, qui ne n\u00e9cessitent pas d&#8217;\u00eatre connus \u00e0 la compilation. Un calculateur haute-performance Avant leur calcul qui peut \u00eatre r\u00e9p\u00e9t\u00e9 dans une boucle, les tenseurs formels sont analys\u00e9s pour produire un objet calculateur. Plus de 3000 r\u00e8gles d&#8217;alg\u00e8bre s&#8217;appliquent pour d\u00e9livrer l&#8217;ex\u00e9cution la plus v\u00e9loce, avec des performances in\u00e9dites. Cela se passe en interne, sans compilation. La pertinence des phases de simplification et d&#8217;optimisation est cruciale pour l&#8217;efficacit\u00e9 du calcul r\u00e9sultant de la d\u00e9rivation formelle de formules complexes. Des modules de diff\u00e9rents niveaux De m\u00eame que la fa\u00e7on de d\u00e9crire un probl\u00e8me n&#8217;est pas unique, le formalisme de Navpactos n&#8217;est pas rigide. Pour cela, l&#8217;acc\u00e8s est donn\u00e9 \u00e0 diff\u00e9rents niveaux d&#8217;abstraction. A haut niveau, des canevas d&#8217;applications Par exemple, des modules de plus haut niveau vont simplifier la description d&#8217;une famille de probl\u00e8mes classiques, comme ceux de statique non-lin\u00e9aire issus des EDP. Ils peuvent servir de tutoriel sur les possibilit\u00e9s offertes, car ils sont construits en utilisant les fonctions de niveau interm\u00e9diaire qui sont \u00e0 votre disposition. Votre \u00e9quipe de d\u00e9veloppeurs peut ainsi r\u00e9aliser un cadre ou un canevas pour y accueillir une nouvelle cat\u00e9gorie de m\u00e9thodes num\u00e9riques. Avec Navpactos, vous concevez \u00e0 peu de frais des familles d&#8217;applications. Parmi les niveaux interm\u00e9diaires, on trouve en autres l&#8217;assemblage et les maillages. L&#8217;assemblage et la r\u00e9solution Certaines t\u00e2ches, pourtant classiques, demandent de l&#8217;attention: Assembler une matrice, t\u00e2che essentielle \u00e0 la plupart des probl\u00e8mes et qui se complexifie avec les mod\u00e8les multi-physique; fixer des degr\u00e9s de libert\u00e9 en utilisant des multiplicateurs de Lagrange; d\u00e9finir des corps rigides en m\u00e9canique; programmer une m\u00e9thode de Newton. Tout cela est rendu facile avec Navpactos, et fonctionne avec des tenseurs formels. Les maillages, les \u00e9l\u00e9ments finis et les champs Le module Discretisation fournit les fonctions n\u00e9cessaires aux \u00e9l\u00e9ments finis, ainsi que les utilitaires de maillage (construction de grille, construction de discr\u00e9tisation d&#8217;ordre 2 et plus, s\u00e9lection d&#8217;entit\u00e9s comme les faces et les ar\u00eates). Il est possible d&#8217;ajouter ses propres \u00e9l\u00e9ments finis. Le module Fields ajoute les notions utiles aux champs (carte g\u00e9om\u00e9trique, gradient, fonctions diverses) jusqu&#8217;aux distributions. Ces deux modules fonctionnent avec la m\u00eame logique de calcul formel. Les proc\u00e9dures dynamiques L&#8217;ex\u00e9cution de Navpactos entra\u00eene une sortie hi\u00e9rarchis\u00e9e de logs qui vous permet de conna\u00eetre l&#8217;encha\u00eenement des op\u00e9rations r\u00e9alis\u00e9es. Vous pouvez fabriquer vos propres encha\u00eenements de proc\u00e9dures et b\u00e9n\u00e9ficier de cette fonctionnalit\u00e9 sur vos d\u00e9veloppements. Mieux, votre code lui-m\u00eame peut construire dynamiquement de tels encha\u00eenements en s&#8217;adaptant aux donn\u00e9es d&#8217;entr\u00e9e, et par exemple d\u00e9cider d&#8217;embarquer une m\u00e9thode de Newton lorsque le cas est analys\u00e9 comme non-lin\u00e9aire. L&#8217;int\u00e9r\u00eat de telles constructions dynamiques, de fa\u00e7on oppos\u00e9e \u00e0 une construction statique, repose sur la possibilit\u00e9 de communiquer et de calculer les tenseurs formels sans avoir \u00e0 les conna\u00eetre explicitement.<\/p>\n","protected":false},"author":1,"featured_media":86,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-92","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/pages\/92","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"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=92"}],"version-history":[{"count":15,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/pages\/92\/revisions"}],"predecessor-version":[{"id":481,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/pages\/92\/revisions\/481"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/media\/86"}],"wp:attachment":[{"href":"https:\/\/naupacte.com\/index.php\/wp-json\/wp\/v2\/media?parent=92"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}