Wiki » Historique » Révision 31
« Précédent |
Révision 31/160
(diff)
| Suivant »
Gérard Rio, 26/04/2016 16:02
À partir de la version V 6.719:
- Mise en place de la possibilité d'utiliser plusieurs matrices de raideurs et/ou plusieurs méthodes différentes de résolution, dans le cas d'un comportement transitoire non dynamique: algorithme: "non_dynamique" .
Fonctionnement: Si la résolution du système linéaire avec la matrice normale échoue, la seconde matrice est alors utilisée. Si la seconde échoue, la troisième est utilisée, etc. La doc sera mise à jour dès que possible, mais en attendant voici un exemple de syntaxe qui permet de déclarer une matrice principale de type Lapack symétrique, et une matrice secondaire bande symétrique classique.
para_syteme_lineaire #----------------------------------------------
TYPE_MATRICE BANDE_SYMETRIQUE_LAPACK
MATRICE_S_SECONDAIRE_S_ BANDE_SYMETRIQUE FIN_TYPE_MAT_SECONDAIRES_
TYPE_RESOLUTION_S_SECONDAIRE_S_ CHOLESKY FIN_TYPE_RESOLUTION_SECONDAIRES_
A voir dans les essais futurs !
---------------------------------
Version 6.720
- mise en place d'une loi d'hystérésis sur un comportement purement volumique. Dans le cas d'un matériau, il est donc nécessaire d'adjoindre à cette loi, une partie déviatorique. En fait la nouvelle loi : Hysteresis_Bulk est prévue pour représenter le comportement de matériaux poreux type mousses - matériaux architecturés. La doc sera mise à jour dès que possible, en attendant, il est possible d'avoir une information via la constitution interactive d'un fichier info et en choisissant comme loi Hysteresis_Bulk, un exemple de loi que j'ai utilisé pour la mise au point suit:
- Nom Materiau | Type loi |
#------------------------------------------
hyste_bulk HYSTERESIS_BULK
#------------------------------------------------------------------- - ....... loi_de_comportement d'hysteresis spherique ........ |
- para de prager(>=0) : mu : limite de plasticite |
#-------------------------------------------------------------------
np= 2 mu= 8000 Qzero= 100 avec_parametres_de_reglage_
type_de_resolution_ 2
cas_kutta_ 5 - erreurAbsolue_ 1.e-3 erreurRelative_ 1.e-5
erreurAbsolue_ 1.e-8 erreurRelative_ 1.e-8
nbMaxiAppel_ 10000
nb_iteration_maxi_ 20 nb_dichotomie_maxi_ 1
tolerance_residu_ 1.e-8 tolerance_residu_rel_ 1.e-8#5
depassement_Q0_ 1000
sortie_post_ 1 - permet_affichage_ 8
fin_parametres_reglage_Hysteresis_
---------------------------------
Version 6.722
Pour l'ensemble des lois hyperélastiques 3D, on introduit la possibilité de sortie de variable de travail. La doc est mise à jour.
Par exemple, il est possible en post-traitement, d'avoir accès à l'intensité du potentiel, sous forme de valeur aux pti, ou sous forme
d'isovaleurs.
--------------------------------
version 6.724
Concernant l'hystérésis 3D: modification des différents algorithmes de gestion des coïncidences et inversion, correction de bugs.
Version 6.725
Lorsqu'il y a une erreur au niveau de la loi de comportement, il y avait affichage de l'erreur et maintenant il y a également affichage du numéro de l'élément et du point d'intégration où est calculée la loi.
-------------------------------
version 6.726
- correction d'un bug sur l'énuméré des coque-poutre et plaque qui faisait que les membranes passaient certaine fois sous les procédures des coques ,poutres et plaques, dans le cas des sorties en post-traitement.
- optimisation des méthodes d'initialisation du post-traitement, appelées lors d'une sortie au fil du calcul => gain de temps sur les sorties au fil du calcul
- introduction de nouvelles grandeurs en sortie concernant le contact => possibilité de visualiser les noeuds en contact, les éléments en contact, les forces de contact aux noeuds esclaves, les forces aux noeuds des facettes maîtres, etc. (cf. les différentes possibilités offertes en interactif après une étude avec contact)
- au niveau des mouvements solides initiaux, possibilités d'effectuer avant le calcul, une opération d'homothétie, avec éventuellement des rapports différents suivant x, y et z
-------------------------------
version 6.728
- Amélioration de la lecture: normalement maintenant on peut avoir un fichier qui s'arrête à la fin d'une ligne de donnée sans ligne vide qui suit. Sortie dans le .reac final de l'ensemble des réactions des ddl bloqués, sous forme de vecteur (et non de composantes) avec en commentaire une référence associée qui globalise tous les noeuds bloqués.
- Mise en place de la possibilité d'introduire des chargements sous forme de champ de valeurs scalaires ou vectorielles (suivant les types de chargement). Disponible pour les forces ponctuelles, les pressions, les forces linéiques, suiveuses ou pas.
- Correction de petits bugs.
Mise à jour de la documentation: ajout des infos pour les lois de type Mooney-Rivlin concernant la mise en donnée de la prise en compte d'un raidissement pour de fortes élongations.
-------------------------------
version 6.729
Modification du contact:
- mise à jour de la documentation au niveau des paramètres de contact,
- mise en place d'un cas 4 (TYPE_PENALISATION_PENETRATION 4) qui permet d'ajuster la pénalisation pour satisfaire une pénétration maxi fixée.
- petites améliorations du fonctionnement des différents algos au niveau du calcul automatique du facteur de pénalisation en fonction des raideurs matériaux.
-------------------------------
version 6.730
Correction d'un bug sur le post-traitement de calcul d'erreur et de remonté au contrainte dans le cas d'un maillage quadrangle.
-------------------------------
version 6.732
- mise en place de la possibilité d'utiliser plusieurs matrices de raideurs dans le cas
d'un calcul dynamique implicite (comme c'était déjà le cas en statique). L'objectif visé
est d'utiliser un type de matrice principal qui est performant. Si jamais la résolution
du système linéaire global échoue, Herezh switch alors sur un type de matrice secondaire
éventuellement moins performant mais par exemple plus robuste. Le switch s'effectue sans
recalculer les raideurs locales ce qui fait que l'impact en temps de calcul est minimisé.
-------------------------------
version 6.733
- amélioration de la prise en compte des conditions linéaires lorsque celles-ci concernent
soit les ddl d'un noeud, soit le contact solide-déformable par pénalisation.
En particulier cela concerne les conditions linéaires de type "Déplacement ou
positionnement dans un plan (3D) ou sur une droite (2D)". Les plans et droites pouvant
par ailleurs évoluer pendant le calcul.
exemple de gain de calcul:
ancienne méthode sur un maillage triangles de 346 noeuds, pour un calcul d'équilibre
(loi élastique sur membrane) en
relaxation dynamique avec 146 conditions linéaires:
-> environ 44 minutes sur ma machine (2 incréments, 22000 itérations)
nouvelle méthode: -> environ 5 minutes sur ma machine (2 incréments, 22000 itérations)
a priori avec les mêmes résultats ... mais reste à confirmer.
-----------------------------
Mise à jour de la documentation d'utilisation d'Herezh. En particulier:
- au niveau de l'ajout de matrices secondaires (cf. section "Résolution des systèmes linéaires", mots clés MATRICE_S_SECONDAIRE_S_ , FIN_TYPE_MAT_SECONDAIRES_ , TYPE_RESOLUTION_S_SECONDAIRE_S_ , FIN_TYPE_RESOLUTION_SECONDAIRES_)
- au niveau des conséquences des conditions linéaires sur les matrices de raideur et de masse (cf. 1) section "Résolution des systèmes linéaires", remarques en fin de section, 2) section "Dynamique", remarques en fin de section, 3) section "Conséquences des CLL sur le stockage matriciel (largeur de bande)" )
-------------------------------
version 6.734
Introduction de la mesure de certains temps de calcul. On se reportera à la documentation pour plus de détail, car c'est un peu long à décrire.
Un point important est qu'à partir de cette version il est nécessaire d'avoir installé la bibliothèque boost qui est disponible sur toutes les plateformes: linux, window et osx
Dans tous les cas il est préférable d'installer "toute la bibliothèque" car dans les futures versions, l'utilisation de nouveaux éléments de la bibliothèque est prévue en particulier pour le multi-streads
-> les versions linux et osx sont pour l'instant installées dans la partie test de manière à supprimer les bugs de jeunesse.
-------------------------------
version 6.735
Correction d'un bug sur le contact en axisymétrique. La surface associée au calcul du facteur de pénalisation était erronée. Correction d'un bug sur la sortie des forces: en axi, seules les directions x et y ont des composantes non nulles
-------------------------------
version 6.736
Introduction du temps de recherche du contact. Mise à jour de la documentation.
-------------------------------
version 6.737
Introduction de la sortie systématique des temps cpu globaux dans un fichier spécifique: <nom du .info>_temps.cpu
Mise à jour de la documentation
-------------------------------
version 6.738-9
Correction de bug sur la sortie en fichier des temps cpu.
-------------------------------
version 6.740
- Modification de la sortie des incréments (sortie au fil du calcul). Pour les grandeurs autres que celles calculées
aux points d'intégration, il y avait une sortie pour l'incrément 0. Cette sortie n'était pas cohérente avec les autres, elle a donc été supprimée. Ceci étant, lorsque l'on veut avoir l'état des grandeurs pour t=0 la solution est
d'effectuer un premier incrément de temps avec un chargement nul.
- Introduction de la possibilité de créer interactivement une condition linéaire de type projection sur plan ou droite,
ou de type général. Cette possibilité était jusqu'à maintenant absente dans le menu de création interactif d'un nouveau fichier de commande .info
-------------------------------
version 6.741
- Versions associées à une gestion complète des dépendances entre les sources > refonte complète des makefiles. Devrait (?) permettre par la suite de générer rapidement les nouvelles versions Linux (au même titre que celles du système osX) correction d'un petit bug sur la génération interactive (via la création d'un nouveau .info) de l'entête correspondant à l'algorithme "information", nécessaire par exemple pour générer de nouvelles références.
-------------------------------
version 6.742
Modification du code pour la sortie interactive de référence: une étonnante différence de fonctionnement entre osX et linux ??
-------------------------------
version 6.743
- amélioration de l'algorithme de contact pour le type 4: le facteur multiplicatif (qui dépend de la pénétration maxi imposée) est lissé au cours des incréments, sous forme d'une moyenne pondérée sur 2 pas -> meilleure stabilité
-------------------------------
V 6.744
- Dans le cas de l'utilisation d'une UMAT via un dialogue entre Herezh et Herezh ou entre Herezh et Abaqus il faut que le nom de la loi de comportement soit cohérente entre les deux programmes. La version 6.744 intègre un message d'erreur dans le cas où les noms ne sont pas identiques.
-------------------------------
V 6.745
- dans le cas de l'utilisation d'une loi externe à Herezh via une Umat (cf. doc), extension du cas 3D actuel à la prise en compte du cas des calculs en axisymétrique. L'extension est également valable lorsque Herezh sert pour calculer la loi de comportement en tant qu'Umat extérieur. En fait, dans le cas d'un dialogue Herezh--Herezh, il n'y avait pas de pb, par contre dans le cas d'un dialogue Herezh--Abaqus, il y avait un pb à cause du fait qu'Abaqus ne fournit que 4 composantes des tenseurs (les composantes non nulles). La version est pour l'instant en test. Le programme c (ou c++) permettant de relier Herezh avec un programme externe et l'exemple d'une liaison avec Abaqus est également accessible sur le site.
- passage à l'utilisation de la librairie boost version 1.58
-------------------------------
version 6.746ajout dans les utilitaires Herezh, de la possibilité de supprimer des éléments à 2 noeuds très proches: au lieu de supprimer les noeuds dans les références, les anciens numéros sont remplacés par les numéros des noeuds restants correspondants amélioration de la mise à jour des références de noeuds après le soudage de noeuds très proches
- amélioration de la mise à jour des références d'éléments après la suppression d'éléments superposés: au lieu de supprimer les éléments dans les références, les anciens numéros sont remplacés par les numéros des noeuds restants correspondants
- intégration de la température dans les lois de type UMAT, en interne et en externe.
-------------------------------
version 6.747
- suite à la demande #98, modification de la signification (et du fonctionnement interne) de la variable température passée en paramètre.
- suite à la demande #94, modification de la signification (et du fonctionnement interne) des variables temps
- mise à jour de la documentation au niveau des chargements: on précise que l'on peut utiliser en option une courbe de charge + échelle + temps mini et maxi
-------------------------------
version 6.748
- ajout de la possibilité de générer automatiquement à la lecture des maillages d'une référence sur les noeuds non référencés par des éléments. cf. la documentation chap: 2.1
Mis à jour par Gérard Rio il y a presque 9 ans · 31 révisions