Wiki » Historique » Version 16
Gérard Rio, 23/02/2016 11: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 |