C CLGAMA SOURCE CHAT 05/01/12 22:04:51 5004 SUBROUTINE CLGAMA (SIGMA,DSIGT,RT,DEFP,DDEFP,DEFRF,NBVECD, . KRITC1,KRITC2,KRITC3,KRITE1,KRITE2,KRITE3,GAMA, . YUNG,KOMPR,KERRE) C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO C DIMENSION SIGMA(*),DSIGT(*),SIGMAT(6),SIG(3),DSIG(3),KOMPR(*), . DEFP(*),DDEFP(*),DEFPT(6),DEFRF(*),RT(*),VGAMA(3,2) C C INITIALISATION C GAMRF=1.D-7 DO 100 I=1,3 DO 100 J=1,2 VGAMA(I,J)=1.D0 100 CONTINUE C C ********************************************************************** C ******************* CAS DE NB DE VECT PROPRES DONNES = 0 ************* C ********************************************************************** C IF(NBVECD.EQ.0) THEN C CALL GAMT3 (SIGMA,DSIGT,RT(3),YUNG,GAMA,KERRE) IF (KERRE.NE.0) RETURN C IF(ABS(GAMA).LT.GAMRF) GAMA=0.D0 C IF(IIMPI.EQ.9) THEN WRITE(IOIMP,*) ' GAMA =',GAMA ENDIF C RETURN ENDIF C C ********************************************************************** C ******************* CAS DE NB DE VECT PROPRES DONNES = 1 ************* C ********************************************************************** C IF(NBVECD.EQ.1) THEN C IF(KRITC3.EQ.1) THEN RTI=RT(3) IF (KOMPR(3).EQ.1) RTI=0.D0 CALL GAMTAF (SIGMA(3),DSIGT(3),RTI,VGAMA(3,1)) ENDIF C IF(KRITE3.EQ.1) THEN CALL GAMTAF (DEFP(3),DDEFP(3),DEFRF(3),VGAMA(3,2)) ENDIF C IF(KRITC1.EQ.1.OR.KRITC2.EQ.1) THEN CALL GAMT2 (SIGMA,DSIGT,RT(1),YUNG,VGAMA(1,1)) ENDIF C GAMA=MIN (VGAMA(1,1),VGAMA(3,1),VGAMA(3,2)) C IF(ABS(GAMA).LT.GAMRF) GAMA=0.D0 C IF(IIMPI.EQ.9) THEN WRITE(IOIMP,*) ' GAMA =',GAMA WRITE(IOIMP,*) 'VGAMA11=',VGAMA(1,1) WRITE(IOIMP,*) 'VGAMA32=',VGAMA(3,2) ENDIF C RETURN ENDIF C C ********************************************************************** C ******************* CAS DE NB DE VECT PROPRES DONNES = 2 ************* C ********************************************************************** C IF(NBVECD.EQ.2) THEN C IF(KRITC1.EQ.1) THEN RTI=RT(1) IF (KOMPR(1).EQ.1) RTI=0.D0 CALL GAMTAF (SIGMA(1),DSIGT(1),RTI,VGAMA(1,1)) ENDIF C IF(KRITE1.EQ.1) THEN CALL GAMTAF (DEFP(1),DDEFP(1),DEFRF(1),VGAMA(1,2)) ENDIF C IF(KRITC2.EQ.1) THEN RTI=RT(2) IF (KOMPR(2).EQ.1) RTI=0.D0 CALL GAMTAF (SIGMA(2),DSIGT(2),RTI,VGAMA(2,1)) ENDIF C IF(KRITE2.EQ.1) THEN CALL GAMTAF (DEFP(2),DDEFP(2),DEFRF(2),VGAMA(2,2)) ENDIF C IF(KRITC3.EQ.1) THEN RTI=RT(3) IF (KOMPR(3).EQ.1) RTI=0.D0 CALL GAMTAF (SIGMA(3),DSIGT(3),RTI,VGAMA(3,1)) ENDIF C IF(KRITE3.EQ.1) THEN CALL GAMTAF (DEFP(3),DDEFP(3),DEFRF(3),VGAMA(3,2)) ENDIF C GAMA=MIN (VGAMA(1,1),VGAMA(1,2), . VGAMA(2,1),VGAMA(2,2), . VGAMA(3,1),VGAMA(3,2)) C IF(ABS(GAMA).LT.GAMRF) GAMA=0.D0 C IF(IIMPI.EQ.9) THEN WRITE(IOIMP,*) ' GAMA =',GAMA WRITE(IOIMP,*) 'VGAMA11=',VGAMA(1,1) WRITE(IOIMP,*) 'VGAMA12=',VGAMA(1,2) WRITE(IOIMP,*) 'VGAMA21=',VGAMA(2,1) WRITE(IOIMP,*) 'VGAMA22=',VGAMA(2,2) WRITE(IOIMP,*) 'VGAMA31=',VGAMA(3,1) WRITE(IOIMP,*) 'VGAMA32=',VGAMA(3,2) ENDIF C RETURN ENDIF C END