1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| if TYPE_INTEG==3%Integration explicite
CONST=sqrt(3);
PREYS(IELEM,1)=YIELD;
if abs(CONST*(STRES(IELEM,1)-X(IELEM,1)))>= PREYS(IELEM,1)
if (STRES(IELEM,1))*STLIN <0% Décharge
%STRES(IELEM,1)=STRES(IELEM,1)+STLIN;
STRES(IELEM,1)=STCUR;
FMULT=2*YOUNG/ELENG; % La raideur
else
RFACT=1;%Comportement purement Plastique
REDUC=1-RFACT;
E_T1=2*YOUNG;
E_T2=2*YOUNG+HARDS;
E_T=E_T1*(1-(E_T1/E_T2));
STRES(IELEM,1)=STRES(IELEM,1)+REDUC*STLIN+RFACT*E_T*STRAN;
FMULT=E_T/ELENG;
PLAST(IELEM,1)=PLAST(IELEM,1)+RFACT*abs(STRAN)*E_T1/E_T2;
DEF_P(IELEM,1)=DEF_P(IELEM,1)+RFACT*(STRAN)*E_T1/E_T2;
X(IELEM,1)=HARDS*DEF_P(IELEM,1);
end
else % Comportement elastoplastique
ESCUR=CONST*abs(STCUR-X(IELEM,1))-PREYS(IELEM,1);
if ESCUR <= 0 % Comportement élastique
%STRES(IELEM,1)=STRES(IELEM,1)+STLIN;
STRES(IELEM,1)=STCUR;
FMULT=2*YOUNG/ELENG; % La raideur
else
RFACT=ESCUR/abs(STLIN);%Comportement ElastoPlastique
REDUC=1-RFACT;
E_T1=2*YOUNG;
E_T2=2*YOUNG+HARDS;
E_T=E_T1*(1-(E_T1/E_T2));
STRES(IELEM,1)=STRES(IELEM,1)+REDUC*STLIN+RFACT*E_T*STRAN;
FMULT=E_T/ELENG;
PLAST(IELEM,1)=PLAST(IELEM,1)+RFACT*abs(STRAN)*E_T1/E_T2;
DEF_P(IELEM,1)=DEF_P(IELEM,1)+RFACT*(STRAN)*E_T1/E_T2;
X(IELEM,1)=HARDS*DEF_P(IELEM,1);
end
end
end |
Partager