$$$$ @ALGSTA * @ALGSTA PROCEDUR KICH 99/05/31 21:15:04 3569 DEBP @ALGSTA i*ENTIER ttt*TABLE ; *----------------------------------------------------------------------- * @ALGSTA : algorithme stationnaire, pour chaque iteration : * - calcul de la solution elastique * - si probleme plastique : calcul de l'increment de * deformation plastique * - si probleme elastique : test de stationnarite * * verifie -> arret, (. 'CONVERGENCE' . i = vrai) * * non verifie -> suite du calcul *----------------------------------------------------------------------- mess ' ' ; mess ' ' ; mess '*********************************************************' ; mess ' ITERATION : ' i ; ttt . 'CONVERGENCE' . i = FAUX ; *** solution elastique ttt . 'DEPLACEMENTS' . i = reso (ttt . 'BLOCAGES_MECANIQUES') ((ttt . 'FORCES_PLASTIQUES' . (i - 1)) + (ttt . 'CHARGEMENT')) ; ttt . 'DEFORMATIONS' . i = epsi (ttt . 'MODELE') (ttt . 'DEPLACEMENTS' . i) ; ttt . 'CONTRAINTES' . i = (sigm (ttt . 'MODELE') (ttt . 'CARACTERISTIQUES') (ttt . 'DEPLACEMENTS' . i)) - (ttt . 'CONTRAINTES_PLASTIQUES' . (i - 1)) ; *** calcul du critere de plasticite pour le probleme a l'iteration i ttt . 'CRITERE_PLASTICITE' . i = @CRIPL (ttt . 'MODELE') (ttt . 'CONTRAINTES' . i) (ttt . 'VARIABLES_INTERNES' . (i - 1)) (ttt . 'CARACTERISTIQUES') (ttt . 'PRECISION') ; *** test du critere de plasticite si (ttt . 'CRITERE_PLASTICITE' . i . PL) ; *** PROBLEME PLASTIQUE : calcul de l'increment de deformation plastique *** a l'iteration i si ((vale DIME) ega 2) ; *** cas 2D VVV PPP E2D V2D = @DEFPL (ttt . 'MODELE') (ttt . 'MODELE_TABLE') (ttt . 'CARACTERISTIQUES') (ttt . 'DEFORMATIONS' . i) (ttt . 'CONTRAINTES_INITIALES') (ttt . 'DEFORMATIONS_PLASTIQUES' . (i - 1)) (ttt . 'VARIABLES_INTERNES' . (i - 1)) (ttt . 'PRECISION') (ttt . EP2D . (i - 1)) (ttt . VA2D . (i - 1)) ; ttt . 'VARIABLES_INTERNES' . i = VVV ; ttt . 'DEFORMATIONS_PLASTIQUES' . i = PPP ; ttt . EP2D . i = E2D ; ttt . VA2D . i = V2D ; finsi ; si ((vale DIME) ega 3) ; *** cas 3D VVV PPP E3D V3D = @DEFPL (ttt . 'MODELE') (ttt . 'MODELE_TABLE') (ttt . 'CARACTERISTIQUES') (ttt . 'DEFORMATIONS' . i) (ttt . 'CONTRAINTES_INITIALES') (ttt . 'DEFORMATIONS_PLASTIQUES' . (i - 1)) (ttt . 'VARIABLES_INTERNES' . (i - 1)) (ttt . 'PRECISION') (ttt . EP3D . (i - 1)) (ttt . VA3D . (i - 1)) ; ttt . 'VARIABLES_INTERNES' . i = VVV ; ttt . 'DEFORMATIONS_PLASTIQUES' . i = PPP ; ttt . EP3D . i = E3D ; ttt . VA3D . i = V3D ; finsi ; *** PROBLEME ELASTIQUE : test de stationnarite, arret si test verifie sinon ; si (i >eg 2) ; t_sta = @TEST (ttt . 'DEFORMATIONS_PLASTIQUES' . (i - 1)) (ttt . 'DEFORMATIONS_PLASTIQUES' . (i - 2)) (ttt . 'PRECISION') ; si t_sta ; mess ; mess ' *** CONVERGENCE DU CALCUL ***' ; mess ; ttt . 'DEFORMATIONS_PLASTIQUES' . i = ttt . 'DEFORMATIONS_PLASTIQUES' . (i - 1) ; ttt . 'VARIABLES_INTERNES' . i = ttt . 'VARIABLES_INTERNES' . (i - 1) ; ttt . 'CONVERGENCE' . i = VRAI ; quit @ALGSTA ; sinon ; mess ' *** SOLUTION NON STATIONNAIRE ***' ; finsi ; finsi ; finsi ; *** calcul des contraintes plastiques : (L : ep) *** et des forces plastiques a partir de ces contraintes plastiques *** pour la resolution du probleme elastique de l'iteration suivante lm2 = extr ttt . modele deformat ; lm1 = extr ttt . 'DEFORMATIONS_PLASTIQUES' . i comp ; def_ut = changer comp ttt . 'DEFORMATIONS_PLASTIQUES' . i lm1 lm2 ; def_ut = changer def_ut type 'DEFORMATIONS' ; ttt . 'CONTRAINTES_PLASTIQUES' . i = (ttt . 'MODELE') (hook (ttt . 'MODELE') (ttt . 'CARACTERISTIQUES')) * * (ttt . 'DEFORMATIONS_PLASTIQUES' . i) ; def_ut ; ttt . 'FORCES_PLASTIQUES' . i = bsig (ttt . 'MODELE') (ttt . 'CONTRAINTES_PLASTIQUES' . i) ; FINP ttt ;