Welcome on the forums. Please post in English or French.
You are not logged in. You won't be able to post until you register and log in using the top-right bar.
Bonjour,
Je viens vers vous car je débute avec le logiciel code_aster et me heurte donc à quelques problèmes notamment à propos de l'utilisation de stat_non_line.
En effet, afin de prendre le logiciel en main j'étudie un cas, le plus simple possible : une poutre bi-articulée composée d'une maille à laquelle on applique une force nodale au nœud 2.
J'ai donc modélisé mon problème en méca-statique et obtient des résultats.
Maintenant j'aurai aimé passé à des éléments POU_D_T_GD et donc effectuer un calcul non linéaire avec STAT_NON_LINE, cependant j'obtiens cette fois ce message d'erreur qui ne me donne pas beaucoup de renseignement sur les modifications à apporter
!-------------------------------------------------------!
! <EXCEPTION> <DVP_2> !
! !
! Erreur numérique (floating point exception). !
! !
! !
! !
! Il y a probablement une erreur dans la programmation. !
! Veuillez contacter votre assistance technique. !
!-------------------------------------------------------!
Merci d'avance pour votre aide
Last edited by Lemadre (2012-04-18 15:29:53)
Offline
Utilisez RELATION='ELAS_POUTRE_GR' et non 'ELAS' pour les poutres en grands déplacements.
TdS
Offline
Bonjour,
Merci beaucoup pour votre réponse, le fait d'utiliser ELAS_POUTRE_GR permet effectivement de supprimer le problème d'erreur numérique et de faire avancer le calcul. Cependant, un autre obstacle se présente puisque malgré le fait d'avoir modifié l'intensité de ma force plusieurs fois ainsi que les caractéristiques de ma section, le calcul ne converge pas sur le nombre d'itérations établi (10) et même en modifiant le nombre d'itération demandé en modifiant DEFI_LIST_REEL, JUSQU_A 100, code_aster n'effectue que 10 itérations sur lesquels il ne converge évidement pas plus.
Offline
Il faut sans doute réactualiser la matrice tangente à chaque itération et plus généralement adapter les paramètres classiques du non-linéaire.
Je vous renvoie à la doc [U2.04.01] Conseils d'utilisation de STAT_NON_LINE pour cela.
TdS
Offline
Bonjour, merci pour vos conseils mais malgré une attention particulière à la documentation et à un ajout de commande TANGENTE dans NEWTON ainsi que d'autres tentatives de modifications des commandes contenues dans le STAT_NON_LINE mes résultats restent convergent avec ce type de message à chaque itération :
.
-> Les forces extérieures (chargement imposé et réactions d'appui) sont détectées comme quasiment nulles (1.81899e-18).
Or vous avez demandé une convergence avec le critère relatif (RESI_GLOB_RELA).
Pour éviter une division par zéro, le code est passé automatiquement en mode de convergence
de type absolu (RESI_GLOB_MAXI).
On a choisi un RESI_GLOB_MAXI de manière automatique et de valeur 0.
-> Risque & Conseil : Vérifier bien que votre chargement doit etre nul (ainsi que les réactions d'appui) à cet instant
Dans le cas des problèmes de type THM, penser à utiliser éventuellement un
critère de type référence (RESI_REFE_RELA).
| 1 X | 3.87183E+00 X | 1.09467E-26 |TANGENTE |
J'ai également ajouté des critères de CONVERGENCE par rapport à mon précédent fichier de commande.
Je n'ai pu observé de convergence qu'une seule fois sur un cas avec une maille et avec des caractéristiques mécaniques aberrantes (E=1 et F=15*10^6) sur une unique maille bi-articulée.
Je peux également observé que mes résidus absolus et relatifs lors de l'exécution de la méthode de newton ne varient pas du tout
Instant de calcul: 1.000000000000e+00
---------------------------------------------------------------------
| ITERATIONS | RESIDU | RESIDU | OPTION |
| NEWTON | RELATIF | ABSOLU | ASSEMBLAGE |
| | RESI_GLOB_RELA | RESI_GLOB_MAXI | |
---------------------------------------------------------------------
| 0 X | 1.00000E+00 X | 1.81899E-12 |TANGENTE |
Instant de calcul: 2.500000000000e-01
---------------------------------------------------------------------
| ITERATIONS | RESIDU | RESIDU | OPTION |
| NEWTON | RELATIF | ABSOLU | ASSEMBLAGE |
| | RESI_GLOB_RELA | RESI_GLOB_MAXI | |
---------------------------------------------------------------------
| 0 X | 1.00000E+00 X | 1.81899E-12 |TANGENTE |
Offline
bonjour
si vous ne définisser pas une fonction selon laquelle la charge varie
le même calcul est effectué à chaque pas ce qui n'ai aucun sens
vous vous etes assez compliqué la vie, il n'a pas besoin de POU_D_T_GD
pour faire un calcul non linéaire
je vous suggère de lire ceci
http://www.caelinux.org/wiki/index.php/ … ierreaubry
et de faire les exemples
jeanp ierre aubry
Last edited by jeanpierreaubry (2012-05-04 07:29:32)
Offline
Bonjour,
Merci pour votre aide et pour l'accès à ce tutoriel.
Le fait d'utiliser des éléments POU_D_T_GD résulte que le but de mon étude est de mettre en forme une grille de type gridshell en faisant flamber cette grille, cette étape de mise en forme impliquant de grands déplacements, je préfère commencer dés à présent à travailler avec ces éléments.
Cependant après avoir avancé dans mes recherches et réussit à effectuer quelques calculs linéaires plus ou moins concluant je me heurte à un problème. En effet, comme dit précédemment, je dois mettre en forme une grille (dans le plan (x,y)) composé de deux barres horizontales, et deux verticales qui sont liés en déplacement (mais pas en rotation) à leurs intersections. En imposant un déplacement selon x (vers "l'intérieur") j'observe bien un flambement de a grille mais uniquement dans son plan alors que j'aimerai la voir flamber selon z. Le fait d'imposer également une force selon z sur les intersections des barres devrait favoriser le flambement selon z mais on ne l'observe pas dans les résultat, tout comme le fait d'imposer un déplacement selon -z en plus du déplacement selon x.
Est-ce normal de ne pas pouvoir pousser la structure à flamber selon l'axe z ?
Offline
Voilà le fichier de commande
Offline
bonjour
je ne vois pas très bien ce que vous appelez flambement
vous faites un calcul statique non linéaire vous ne pouvez pas détecter le flambement qui est une instabilité
jean pierre aubry
Offline
Oui excusez mon abus de langage maladroit. Je parles d'un déplacement latéral du à un effort de compression mais qui précède l'instabilité de flambement.
Offline
mais cela risque d'être une valeur très faible !!!
non détectable avec une analyse statique
Offline
Bonjour,
Vous ne voulez pas commencer par faire une recherche de mode de flambements avec MODE_ITER_SIMULT pour voir s'il existe des modes proches de la déformée visée ?
Puis dans un second temps faire le calcul non-linéaire en prédéformant éventuellement la structure et en utilisant une technique de PILOTAGE pour la guider.
Le mieux est même de s'entraîner avec un exemple simple type un toit constitué de 2 poutres réticulées dont on essaye d'inverser la courbure.
TdS
Offline
Merci pour vos conseils que j'ai essayé de mettre en pratique
J'avais en effet auparavant recherché mes modes de flambement et les forces critiques associés qui s'approchaient fortement des forces critiques des barres seules et le fait est que je cherches à donner une forme de dôme à ma grille ce qui est le premier mode de flambement.
Ayant toujours du mal à obtenir des résultats satisfaisants j'ai donc réétudié le cas simple d'une poutre seule en faisant varier les différentes composantes du problème (articulé à une extrémité, libre aux deux extrémités, faire varier les charges verticales et horizontales, travailler en 3D et dans le plan) avec une commande en force ou en déplacement aux extrémités libres.
Cependant, le problème fonctionne bien lorsque j'applique une force à(aux) extrémité(s) libre(s) mais me donne des résultats difficilement interprétable lorsque j'applique un déplacement. Les résultats sont également difficilement interprétable lorsque j'effectue un pilotage en déplacement. Et ce même les autres composantes du problème sont similaires.
Je joins mes fichiers pour une poutre articulé à une extrémité, sur un appui simple à l'autre.
Dans tous les cas on applique une charge verticale de 150N au centre de la poutre pour "aider" la déformation.
On travaille avec 100 pas de temps pendant lesquels varient le chargement horizontale
Dans le premier cas on applique une charge de 15kN à l'extrémité libre (on observe un bouclage de la poutre)
Dans le deuxième cas on impose un déplacement de 4m à l'extrémité libre
Dans le dernier cas on pilote en déplacement
J'aimerai savoir d'où viennent les différences entre ces différents cas qui devraient selon moi donner des résultats proches et savoir comment réussir à obtenir les déformations obtenues en commandant en force mais en commandant en déplacement.
Merci de votre attention
Last edited by Lemadre (2012-05-14 18:28:27)
Offline
bonjour
dans le cas du déplacement imposé/piloté la structure semble se comporter comme si les rotations étaient bloquées,
je me demande si ceci ne pourrait pas vous apporter quelques éléments de réponse
http://www.code-aster.org/forum2/viewtopic.php?id=14527
jean pierre aubry
Last edited by jeanpierreaubry (2012-05-15 08:29:11)
Offline