prtt3d
C PRTT3D SOURCE PV090527 23/01/27 21:15:59 11574 c************************************************************************* subroutine prtt3d(sige6,sige3,vsige33,vsige33t, #siget6,sigec6,sigec3,siget3) c declaration des varibles externes real*8 sige6(6),sige3(3),vsige33(3,3),vsige33t(3,3) real*8 siget6(6),sigec6(6),sigec3(3),siget3(3) c declaration des varibles locales real*8 sige33(3,3) real*8 x33(3,3),siget33(3,3),sigec33(3,3),sige33p(3,3),sige6p(6) integer i c rangement des contraintes effectives en tableau 3*3 call x6x33(sige6,sige33) c diagonalisation contraintes effectives actuelles et valeurs propres par la methode de jacobi call b3_v33(sige33,sige3,vsige33) c creation de la matrice de passage inverse call traps1(vsige33t,vsige33,3) c decomposition des contraintes principales en partie positive et négative dans c la base principale (avec prise en compte des erreurs numeriques de diagonalisation) c on suppose sige33p pas tout a fait diagonale par defaut et on utilise c que les contraintes normales positves pour faire la partition call chre3(sige33p,sige33,vsige33) call x33x6(sige33p,sige6p) do i=1,3 siget3(i)=0.5d0*(sige33p(i,i)+abs(sige33p(i,i))) sigec3(i)=0.5d0*(sige33p(i,i)-abs(sige33p(i,i))) siget6(i)=siget3(i) sigec6(i)=sigec3(i) end do do i=4,6 siget6(i)=0.d0 sigec6(i)=sige6p(i)-siget6(i) end do c stockage des parties positives et negatives en base fixe c cas des contraintes de traction call x6x33(siget6,x33) call chre3(siget33,x33,vsige33t) call x33x6(siget33,siget6) c cas des contraintes de compression call x6x33(sigec6,x33) call chre3(sigec33,x33,vsige33t) call x33x6(sigec33,sigec6) return end **************************************************************************************
© Cast3M 2003 - Tous droits réservés.
Mentions légales