... ******** modèle mod0 = mode ... ; mat0 = mate ... ; * * on ne calcule pas la matrice de rigidité : c'est fait par l'opérateur pasapas * on impose les conditions limites de blocage cl1 = bloq ... ... ; cl2 = bloq ... ... ; cl... ; * on réunit l'ensemble des informations sur les conditions limites (cl0 sera utile pour tab1) cl0 = cl1 et cl2 et cl... ; ******** chargement : création du chargement for0 OU vcl0 for0 = ... ; *ATTENTION -> OU <- ATTENTION * l'opérateur bloq précise là où il y a des blocages, * l'opérateur depi précise la valeur de ces blocages sur la condition limite concernée vcl0 = depi cl... valeur0 ; * **........................... nombre de calculs et le pas nbc0 = 10 ; pas0 = 1.0/(flot nbc0) ; **........................... liste des temps t1 = prog 0.0 pas pas0 1.0 ; **............... évolution d'un coefficient f1 qui sera multiplicatif de la force **............... ici le coef évolue linéairement de 0 à 1 dans le temps qui évolue de 0 à 1 s (mais les bornes en temps peuvent être quelconques) f1 = prog 0.0 pas pas0 1.0 ; **..................... donne l'allure de l'évolution de la force dans le temps ev1 = evol manu 'temps' t1 'coef *' f1 ; dess ev1 titr 'Evolution de la force lineique' ; **.................. cha1 variable créée à partir de for0 OU vcl0 et ev1 précisant le chargement pour les calculs **.................. for0 contient le chargement en force dans l'espace **.................. vcl0 contient le chargement en déplacement dans l'espace **.................. ev1 contient le chargement dans le temps cha1 = char meca for0 ev1 ; *ATTENTION -> OU <- ATTENTION cha1 = char dimp vcl0 ev1 ; * ******** initialisation de la table de calcul tab1 = table ; tab1.'BLOCAGES_MECANIQUES' = cl0 ; tab1.'MODELE' = mod0 ; tab1.'CARACTERISTIQUES' = mat0 ; tab1.'CHARGEMENT' = cha1 ; tab1.'TEMPS_CALCULES' = t1 ; ******** calcul pasapas tab1 ; ******** amplitude déformée amdef1 = 1.0 ; ******** les isovaleurs de contrainte avec un maxi pour le seuil de plasticité vals1 = prog 0. 25. 50. 75. 100. 125. 150. 175. 200. 225. 250. 275. 300. 325. 350.; ******** boucle de visualisation i = 0 ; def0 = defo mail0 (tab1.DEPLACEMENTS.1) 0.0 bleu ; repeter bloc0 nbc0 ; i = i + 1 ; ******* on récupère le déplacement re1 = (tab1.DEPLACEMENTS. i) ; ******* on récupère le chargement et on le trace char1 = tire cha1 i ; vect1 = vect char1 fx fy vert ; trac vect1 mail0 titr 'Chargements' ; ******* on récupère la déformée et on la trace def1 = defo mail0 re1 amdef1 rouge ; trac (def0 et def1) titr 'Déformée' ; ******* on récupère le tenseur des contraintes sig1 = (tab1.CONTRAINTES.i) ; ******* on en déduit les contraintes de Von Mises sur les éléments vmis1 = vmis mod0 sig1 ; ******* on renvoie les valeurs sur les éléments en des valeurs aux noeuds vmino1 = chan chpo mod0 vmis1 ; ******* on trace les contraintes de Von Mises en imposant toujours les mêmes isovaleurs trac def1 vmino1 (cont mail0) vals1 ; fin bloc0 ; fin ;