enfr

Newsletter

There are 100 newsletters.
The last newsletter is shown below.
The other ones are available by clicking on a number.

1 | ... | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100

Newsletter date: 7 October 2008

Printable version

Lettre d'information de Code_Aster

Articles importants

Une nouvelle génération d’éléments finis cohésifs : Les Eléments d’Interface

Nouveau modèle permettant de représenter l’amorçage et la propagation de fissures sur des structures 2D (plan et axis) et 3D, dans une direction donnée :

  • La résolution du problème de minimisation sous contrainte s’appuie sur une formulation Lagrangien augmenté.
  • La loi cohésive adoptée, reliant la contrainte normale et le saut de déplacement entre les lèvres de la fissure, n’est pas régularisée au voisinage de zéro comme c’est le cas pour le modèle cohésif actuellement utilisé (éléments de joint). Cela permet de remédier à des difficultés numériques induites par la régularisation.
  • Le pilotage du chargement par prédiction élastique est disponible pour ce type de modèle.
  • Les modélisations Code_Aster sont 2D_INTERFACE, AXIS_INTERFACE, 3D_INTERFACE
  • Les éléments finis d’interface s’appuient sur des mailles quadratiques : QUAD8, HEXA20 ou PENTA15.

Fissuration d’une poutre 3D en mode mixte :

Déformée Pourcentage d’énergie dissipée dans le plan de la fissure (endommagement) : blanc=sain, noir=rompu
Pourcentage d'énergie dissipée dans le plan de la fissure (endommagement) : blanc=sain, noir=rompu

Pour plus de détails, consulter histor 9.3.4.

Un nouveau catalogue pour ajouter des lois de comportement encore plus simplement

L’objectif principal est de rendre la programmation des lois de comportement plus modulaire et plus maintenable, de manière à ce qu’un développeur n’ait qu’à écrire une routine Fortran et un catalogue simple pour ajouter une nouvelle loi dans Aster.

Pour cela, on a écrit, pour chacun des 145 comportements actuels, un catalogue qui regroupe les informations de manière centralisée (on retrouve les informations de la doc U4.51.11).

Par exemple :


loi = LoiComportement(
  doc            =  """
Relation de comportement anisotrope du béton
avec endommagement [R7.01.09].
Il s'agit d'une modélisation locale d'endommagement
prenant en compte la refermeture des fissures.
""",
  nom            = 'ENDO_ORTH_BETON',    
  num_lc         = 7,
  nb_vari        = 7,
  nom_vari       = ('ENDO_XX','ENDO_YY','ENDO_ZZ','ENDO_XY','ENDO_XZ','ENDO_YZ','ENDOCOMP'),
  mc_mater       = ('ELAS', 'ENDO_ORTH_BETON', 'NON_LOCAL'),
  modelisation   = ('3D', 'AXIS', 'D_PLAN','GRADEPSI'),
  deformation    = ('PETIT', 'PETIT_REAC', 'EULER_ALMANSI','REAC_GEOM', 'GREEN','GREEN_GR'),
  nom_varc       = ('TEMP', 'SECH', 'HYDR'),
  schema         = ('IMPLICITE',),
  type_matr_tang = ('PERTURBATION', 'VERIFICATION'),)

dans lequel on définit :

  • le nom du comportement,
  • un numéro permettant l’association à la routine fortran lc00xx.f,
  • les noms des variables internes,
  • les mots-clés utilisés dans DEFI_MATERIAU,
  • les types de déformations autorisés,
  • les variables de commandes utilisables,
  • les types de matrices tangentes possibles.

Impact utilisateur :

AUCUN !

Le découpage local du pas de temps, par ITER_INTE_PAS, est disponible pour tous les comportements, sauf SIMO_MIEHE.

Attention, le redécoupage local aide à la convergence de l’intégration du comportement, et améliore la précision, mais conduit à une matrice tangente moins efficace.

Impact développeur :

Pour développer une nouvelle loi, il suffit de :

  • créer son catalogue, choisir un numéro de LC
  • ajouter son nom dans c_comp_incr.capy
  • créer la routine lc00xx (à partir de l’existant). Si on utilise PLASTI, on peut directement prendre LC0030. Si on utilise PLASTI (IMPLICITE) + RUNGE_KUTTA_2 (EXPLICITE), on peut prendre LC0032.

Par contre, les comportements dont les routines ne sont pas appelées par nmcomp (THM, poutres, discrets) bénéficient bien sûr du catalogue, mais pas (encore) de la généralité des routines LC0000.

Disponible à partir de la version 9.3.3.

Voir aussi : Intégrer un nouveau comportement

Code_Aster Libre version 9.3 (sources) disponible en téléchargement

La version de développement de Code_Aster Libre version 9.3 est disponible en téléchargement. Il s’agit de la version stabilisée en juin 2008.

Le format de diffusion reste le même : une unique archive contenant Code_Aster et tous les outils annexes sous forme de code source.

Outre Code_Aster, on retrouve les dernières mises à jour disponibles : astk 1.6.2 (interface graphique de lancement d’Aster), Eficas 1.14 (éditeur graphique de fichiers de commandes), Homard 8.11 (outil de raffinement et déraffinement de maillages), la bibliothèque med 2.3.4 (échange de maillages et de champs avec des codes tiers), metis-edf-4.0 (outil de renumérotation), etc.

Nouveauté du paquet de juin 2008 : le solveur Mumps est inclus en version 4.7.3.

Les pré-requis sont :

  • une version récente de Python (2.3 à 2.5),
  • un compilateur fortran,
  • un compilateur C/C++.

Pour l’installation, consultez le fichier README, puis

python setup.py install.

Refonte du contact (Episode 1)

La version 9.2.18 d’Aster a accueilli la refonte de tout la partie appariement du contact.

Ce développement est la première phase d’une refonte plus large des fonctionnalités du contact. En effet, d’ici la fin 2008 et la mise en exploitation de la version 9 d’Aster, nous avons pour objectif de réaliser la fusion des opérateurs de contact (méthodes discrètes et continue) via la création d’un nouvel opérateur AFFE_CONTACT en lieu et place d’AFFE_CHAR_MECA/CONTACT.

Désormais, vous avez la possibilité de faire de la projection "exacte" sur les éléments quadratiques (SEG3, TRIA6, TRIA7 et QUAD9) et d’utiliser des fonctionnalités avancées en terme de choix des normales (y compris un LISSAGE des normales plus juste) Ceci implique par exemple que le contact sur des éléments courbes se fera exactement, sans interpénétration (sauf dans le cas des QUAD8 pour des raisons théoriques).

On voit un exemple sur la figure associée : considérons deux éléments HEXA27 en contact. Le contact se fait donc entre deux QUAD9 en surface. La maille maitre est le cube du bas dont a volontairement exagéré la courbure.

On voit qu’avant les nouveaux développements, il y avait interpénétration des deux surfaces car la projection se faisait en considérant la maille maitre comme linéaire.

On voit que maintenant le contact se fait bien en respectant cette courbure de l’élément maitre QUAD9.

De tels bouleversements impliquent un suivi attentif de la part de nos utilisateurs :

  • la syntaxe a été modifiée (aussi peu que possible) ;
  • l’appariement est moins "permissif" qu’autrefois car plus puissant, il faut prendre garde à bien définir les surfaces potentiellement en contact ;

Pour ceux réalisant des études impliquant du contact en version NEW9, prenez garde si vous utilisez les mots-clefs suivants dans le contact :

  • PROJECTION (supprimé car devenu inutile)
  • RECHERCHE (supprimé)
  • VECT_Y et VECT_ORIE_POU : supprimés au profit d’une syntaxe plus claire et surtout commune entre les différentes méthodes.

Voici les nouvelles possibilités :

  • Choisir la normale NORMALE=’MAIT’/’ESCL’/’MAIT_ESCL’
  • Choisir le LISSAGE=’OUI’/’NON’
  • Choisir l’orientation locale des repères tangents avec VECT_MAIT et VECT_ESCL. Anciennement VECT_ORIE_POU et VECT_Y Ceci est valable quelle que soit la méthode que vous employez (lagrangien, contrainte, GCP, continue, pénalisation). Les valeurs par défaut sont réglées de manière optimale (NORMALE=’MAIT’, pas de lissage et orientation automatique des repères locaux).

La documentation associée sera disponible dans les prochains jours, en attendant, consultez l’histor de la version 9.2.18 ou sollicitez l’assistance par les canaux habituels.