6. Calculs élémentaires#

Nous avons vu au § 2 (Architecture générale des routines FORTRAN) que les différents calculs élémentaires étaient nombreux dans Aster

Ce nombre important de types de calculs élémentaires résulte :

  • du grand nombre d’éléments finis dans les codes de calcul de structures :

  • isoparamétriques 2D en Thermique, Mécanique et Acoustique,

  • isoparamétriques 3D en Thermique, Mécanique et Acoustique,

  • éléments de structures : poutres, coques, …

  • éléments incompressibles,

  • éléments d’interaction fluide/structure,

  • …

  • et du grand nombre d’options de calcul possible :

  • rigidité mécanique ou thermique,

  • masse, amortissement,

  • rigidité géométrique ou centrifuge,

  • contraintes, déformations, flux,

  • forces surfaciques, volumiques ou linéïques,

  • changement de pesanteur, dilatation thermique, …

Dans Aster aujourd’hui (01/10/94), on a :

  • 233 types d’éléments finis (environ 19000 lignes de catalogues),

  • 159 options de calcul élémentaire,

ce qui entraine plus de 3200 calculs élémentaires théoriquement possibles (sans doute beaucoup plus). Seuls 3043 de ces calculs élémentaires sont effectivement programmés (environ 70000 lignes de FORTRAN).

Ces 3043 calculs élémentaires sont faits dans 310 routines TE000i ; en effet, plusieurs calculs élémentaires peuvent être implémentés dans un seul TE000i. Par exemple, il est assez facile de paramétrer la programmation de tous les éléments isoparamétriques 2D.

Le volume important du code concerné par les calculs élémentaires justifie un effort de paramétrisation de ces calculs. Les objectifs de cette paramétrisation sont :

  • simplifier au maximum la programmation des TE000i: les données d’un calcul élémentaire “arrivent” dans la routine sous la forme voulue par le programmeur (et décrite dans le catalogue de l’élément [D3.02.01 §7]),

  • disposer d’une routine unique (CALCUL) gérant tous les calculs élémentaires : contraintes, rigidité, “masse” thermique, …. Ce qui évite de multiplier les “boucles” sur les éléments, les contrôles et les messages d’erreur : la “fonction” CALCULreprésente quand même 3500 lignes …

  • imposer des types de Structures de Données communs à tous les résultats des calculs élémentaires : les CHAM_ELEM(champs par éléments) et les RESU_ELEM(matrices et vecteurs élémentaires).

L’assemblage des matrices et des vecteurs élémentaires peut alors être fait dans deux routines (ASMATR et ASSVEC).

Les mécanismes de cette paramétrisation sont expliqués dans [D3.02.01].

Les documents [D5.04.01] et [D5.04.02] décrivent la manière d’introduire de nouveaux calculs élémentaires.