$$$$ @DEFPL * @DEFPL PROCEDUR JK148537 23/08/21 21:15:12 11723 DEBP @DEFPL MMM*MMODEL MOD*TABLE MAT*MCHAML EPS*MCHAML SIGI*MCHAML EPSP*MCHAML VAR*MCHAML ERR*FLOTTANT E23D*MCHAML V23D*MCHAML ; *----------------------------------------------------------------------- * @DEFPL : calcul de l'increment de deformations plastiques et des * variables internes *----------------------------------------------------------------------- DP = tabl ; VV = tabl ; SS = tabl ; MAI = tabl ; NB = dime MOD ; si ((vale DIME) ega 3) ; P0 = 0. 0. 0. ; P1 = 0. 0. 1. ; ANGL = (360. / NB) ; finsi ; *** boucle sur les colonnes du maillage 2D ou sur les portions du *** disque 3D repeter CAMEM NB ; EPP = redu EPS (MOD . &CAMEM) ; SII = redu SIGI (MOD . &CAMEM) ; MMM = redu MAT (MOD . &CAMEM) ; MAI . &CAMEM = extr (MOD . &CAMEM) 'MAIL' ; si (&CAMEM EGA 1) ; *** initialisation des deformations plastiques et variables internes de *** la premiere colonne (2D) ou de la premiere part (3D) du maillage DP . 1 = E23D ; VV . 1 = V23D ; N_EPSP = DP . 1 ; N_VAR = VV . 1 ; *** pour les colonnes et parts suivantes du maillage : translation ou *** rotation des valeurs trouvees pour la colonne ou la part precedente sinon ; *** cas 2D : translation des champs si ((vale DIME) ega 2) ; SSCAM VVCAM DPCAM = (SS . (&CAMEM - 1)) (VV . (&CAMEM - 1)) (DP . (&CAMEM - 1)) dedu tran (MAI . (&CAMEM - 1)) (MAI . &CAMEM) ; finsi ; *** cas 3D : rotation des champs si ((vale DIME) ega 3) ; SSCAM VVCAM DPCAM = (SS . (&CAMEM - 1)) (VV . (&CAMEM - 1)) (DP . (&CAMEM - 1)) dedu ANGL P0 P1 rota (MAI . (&CAMEM - 1)) (MAI . &CAMEM) ; finsi ; SS . &CAMEM = SSCAM ; VV . &CAMEM = VVCAM ; DP . &CAMEM = DPCAM ; SS . &CAMEM = SII - (SS . &CAMEM) ; lm2 = extr MOD . &CAMEM deformat ; lm1 = extr DP . &CAMEM comp ; def_ut = changer comp DP . &CAMEM lm1 lm2 ; def_ut = changer type def_ut 'DEFORMATIONS' ; SSS = SII + ((MOD . &CAMEM) * (hook (MOD . &CAMEM) MMM) * (EPP - (DP . &CAMEM))) ; (hook (MOD . &CAMEM) MMM) * (EPP - def_ut)) ; CC = tabl ; *** calcul du critere de plasticite CC = @CRIPL (MOD . &CAMEM) SSS (VV . &CAMEM) MMM ERR ; *** si elastique : def. plas. = def. plas. elements precedents *** si plastique : def. plas. = def. plas. elements precedents *** + increment calcule avec ECOU si (CC . PL) ; * SSSS VAIN DEFP = ecou * (MOD . &CAMEM) (SS . &CAMEM) (VV . &CAMEM) EPP MMM ; * com_var = 'EXTR' ('ZERO' MOD . &CAMEM 'VARINTER') 'COMP' ; com_dei = 'EXTR' DP . &CAMEM 'COMP' ; cho2= comp MOD . &CAMEM (SS . &CAMEM et VV . &CAMEM et (EPP*0.)) ( EPP et MMM); DEFP = (changer ('EXCO' cho2 com_dei) 'TYPE' 'DEFORMATIONS' ) - dp .&camem ; vain = 'CHANGER' ('EXCO' cho2 com_var) 'TYPE' 'VARIABLES INTERNES' ; DP . &CAMEM = (DP . &CAMEM) + DEFP ; VV . &CAMEM = VAIN ; finsi ; N_EPSP = N_EPSP et (DP . &CAMEM) ; N_VAR = N_VAR et (VV . &CAMEM) ; finsi ; lm2 = extr MOD . &CAMEM deformat ; lm1 = extr DP . &CAMEM comp ; def_ut = changer comp DP . &CAMEM lm1 lm2 ; def_ut = changer type def_ut 'DEFORMATIONS' ; * SS . &CAMEM = (MOD . &CAMEM) * (hook (MOD . &CAMEM) MMM) * (DP . &CAMEM) ; SS . &CAMEM = (MOD . &CAMEM) (hook (MOD . &CAMEM) MMM) * def_ut ; fin CAMEM ; *** cas 2D : translation des champs de la derniere colonne sur la *** premiere, pour l'initialisation a l'iteration suivante si ((vale DIME) ega 2) ; E23D V23D = (DP . NB) (VV . NB) dedu tran (MAI . NB) (MAI . 1) ; *** cas 3D : rotation des champs de la derniere part sur la premiere, *** pour l'initialisation a l'iteration suivante sinon ; E23D V23D = (DP . NB) (VV . NB) dedu ANGL P0 P1 rota (MAI . NB) (MAI . 1) ; finsi ; FINP N_VAR N_EPSP E23D V23D ;