Projet

Général

Profil

Wiki » Historique » Version 33

Gérard Rio, 10/05/2016 17:02

1 1 Gérard Rio
À partir de la version V 6.719:
2
  - 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" . 
3
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.
4
5
para_syteme_lineaire #----------------------------------------------
6
TYPE_MATRICE BANDE_SYMETRIQUE_LAPACK
7
MATRICE_S_SECONDAIRE_S_  BANDE_SYMETRIQUE   FIN_TYPE_MAT_SECONDAIRES_
8
TYPE_RESOLUTION_S_SECONDAIRE_S_  CHOLESKY FIN_TYPE_RESOLUTION_SECONDAIRES_
9 2 Gérard Rio
10
A voir dans les essais futurs !
11 3 Gérard Rio
12
---------------------------------
13
Version 6.720
14
- 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:
15
16
#------------------------------------------
17
# Nom Materiau    |      Type loi         |
18
#------------------------------------------
19
  hyste_bulk         HYSTERESIS_BULK
20
#-------------------------------------------------------------------
21
# .......  loi_de_comportement d'hysteresis spherique ........      |
22
# para de prager(>=0)  :         mu         : limite de plasticite |
23
#-------------------------------------------------------------------
24
   np= 2       mu= 8000     Qzero= 100 avec_parametres_de_reglage_
25
     type_de_resolution_  2 
26
     cas_kutta_  5  
27
#     erreurAbsolue_  1.e-3  erreurRelative_ 1.e-5
28
     erreurAbsolue_  1.e-8  erreurRelative_ 1.e-8
29
     nbMaxiAppel_  10000
30
     nb_iteration_maxi_  20  nb_dichotomie_maxi_  1  
31
     tolerance_residu_ 1.e-8 tolerance_residu_rel_ 1.e-8#5
32
     depassement_Q0_ 1000
33
     sortie_post_ 1
34
#     permet_affichage_ 8 
35
   fin_parametres_reglage_Hysteresis_
36 4 Gérard Rio
37
---------------------------------
38
Version 6.722
39
40
Pour l'ensemble des lois hyperélastiques 3D, on introduit la possibilité de sortie de variable de travail. La doc est mise à jour.
41
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
42
d'isovaleurs.
43 5 Gérard Rio
44
--------------------------------
45
version 6.724
46
Concernant l'hystérésis 3D: modification des différents algorithmes de gestion des coïncidences et inversion, correction de bugs.
47
48
Version 6.725
49
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.
50 6 Gérard Rio
51
-------------------------------
52
version 6.726
53
- 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.
54
- 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
55
- 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)
56
- 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  
57 7 Gérard Rio
58
-------------------------------
59
version 6.728
60
- 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. 
61
- 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. 
62
- Correction de petits bugs.
63 8 Gérard Rio
64
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.
65 9 Gérard Rio
66
-------------------------------
67
version 6.729
68
69
Modification du contact:
70
- mise à jour de la documentation au niveau des paramètres de contact, 
71
- 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. 
72
- 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. 
73 10 Gérard Rio
74
-------------------------------
75
version 6.730
76
77
Correction d'un bug sur le post-traitement de calcul d'erreur et de remonté au contrainte dans le cas d'un maillage quadrangle.
78 11 Gérard Rio
79
80
-------------------------------
81
version 6.732
82
83
- mise en place de la possibilité d'utiliser plusieurs matrices de raideurs dans le cas
84
  d'un calcul dynamique implicite (comme c'était déjà le cas en statique). L'objectif visé
85
  est d'utiliser un type de matrice principal qui est performant. Si jamais la résolution 
86
  du système linéaire global échoue, Herezh switch alors sur un type de matrice secondaire
87
  éventuellement moins performant mais par exemple plus robuste. Le switch s'effectue sans
88
  recalculer les raideurs locales ce qui fait que l'impact en temps de calcul est minimisé.
89
90
-------------------------------
91
version 6.733
92
93
- amélioration de la prise en compte des conditions linéaires lorsque celles-ci concernent
94
  soit les ddl d'un noeud, soit le contact solide-déformable par pénalisation.
95
  En particulier cela concerne les conditions linéaires de type "Déplacement ou 
96
  positionnement dans un plan (3D) ou sur une droite (2D)". Les plans et droites pouvant
97
  par ailleurs évoluer pendant le calcul.
98
  exemple de gain de calcul:
99
  ancienne méthode sur un maillage triangles de 346 noeuds, pour un calcul d'équilibre 
100
  (loi élastique sur membrane) en 
101
  relaxation dynamique avec 146 conditions linéaires: 
102
  -> environ 44 minutes sur ma machine (2 incréments, 22000 itérations)
103
  nouvelle méthode: -> environ 5 minutes sur ma machine (2 incréments, 22000 itérations)
104
  a priori avec les mêmes résultats ... mais reste à confirmer. 
105 12 Gérard Rio
106
-----------------------------
107
Mise à jour de la documentation d'utilisation d'Herezh. En particulier:
108
- 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_)
109
- 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)" )
110 13 Gérard Rio
111
-------------------------------
112
version 6.734
113
114
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.
115
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
116
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
117
-> les versions linux et osx sont pour l'instant installées dans la partie test de manière à supprimer les bugs de jeunesse.
118 14 Gérard Rio
119
-------------------------------
120
version 6.735
121
122
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
123 15 Gérard Rio
124
-------------------------------
125
version 6.736
126
Introduction du temps de recherche du contact. Mise à jour de la documentation.
127 16 Gérard Rio
128
-------------------------------
129
version 6.737
130
Introduction de la sortie systématique des temps cpu globaux dans un fichier spécifique: <nom du .info>_temps.cpu
131
Mise à jour de la documentation
132 17 Gérard Rio
133
-------------------------------
134
version 6.738-9
135 18 Gérard Rio
Correction de bug sur la sortie en fichier des temps cpu.
136 20 Gérard Rio
137
-------------------------------
138
version 6.740
139
140
- Modification de la sortie des incréments (sortie au fil du calcul). Pour les grandeurs autres que celles calculées
141
  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 
142
d'effectuer un premier incrément de temps avec un chargement nul.
143
- Introduction de la possibilité de créer interactivement une condition linéaire de type projection sur plan ou droite,
144
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
145 21 Gérard Rio
146
-------------------------------
147
version 6.741
148
149
- 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)
150
- 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.
151 22 Gérard Rio
152
-------------------------------
153
version 6.742
154
155
Modification du code pour la sortie interactive de référence: une étonnante différence de fonctionnement entre osX et linux ?? 
156 23 Gérard Rio
157
-------------------------------
158
version 6.743
159
160
- 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é 
161 24 Gérard Rio
162
-------------------------------
163
V 6.744 
164
- 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.
165 25 Gérard Rio
166
-------------------------------
167
V 6.745
168
-  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. 
169 26 Gérard Rio
- passage à l'utilisation de la librairie boost version 1.58
170 27 Gérard Rio
171
-------------------------------
172
version 6.746
173
-ajout 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
174
- amélioration de la mise à jour des références de noeuds après le soudage de noeuds très proches
175
- 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
176
- intégration de la température dans les lois de type UMAT, en interne et en externe.
177 28 Gérard Rio
178
-------------------------------
179
version 6.747
180
- suite à la demande #98, modification de la signification (et du fonctionnement interne) de la  variable température passée en paramètre.
181 29 Gérard Rio
- suite à la demande #94, modification de la signification (et du fonctionnement interne) des variables temps
182 30 Gérard Rio
- 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
183 31 Gérard Rio
184
-------------------------------
185
version 6.748
186
- 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
187 32 Gérard Rio
- correction bugs sur la prise en compte de la viscosité pour les lois Umat (dépendance au temps)
188 33 Gérard Rio
189
-------------------------------
190
version 6.749
191
- correction de bugs et amélioration de la loi de comportement HYSTERESIS_BULK ... en espérant que tout est ok maintenant !
Redmine Appliance - Powered by TurnKey Linux