1 : C RIGJOI SOURCE AM 11/05/26 21:16:38 6982 2 : C RIGLI2 SOURCE CHAT 05/01/13 03:00:02 5004 3 : C RIGLI2 SOURCE DJER 94/12/19 21:15:07 654 4 : SUBROUTINE RIGJOI(NMATT,REL,LRE,WORK,IDIM,CMATE) 5 : C==================================================================== 6 : C 7 : C MODIFIE REL (LRE,LRE) MATRICE DE RIGIDITE EN INTRODUISANT DES 8 : C RAIDEUR LOCALES EQUIVALENTES 9 : C==================================================================== 10 : IMPLICIT INTEGER(I-N) 11 : IMPLICIT REAL*8(A-H,O-Z) 12 : CHARACTER*8 CMATE 13 : DIMENSION REL(LRE,LRE),WORK(NMATT) 14 : DIMENSION RE2(3,3),RE3(6,6) 15 : C 15 : CALL ZERO(REL,LRE,LRE) 16 : XZER = 0.D0 17 : C 18 : IF (IDIM.EQ.3) THEN 18 : CALL ZERO(RE3,6,6) 19 : DO I =1,6 20 : RE3(I,I)=WORK(I+6) 21 : END DO 22 : * SI anisotrope 23 : IF (CMATE.EQ.'ANISOTRO') THEN 24 : K=0 25 : DO I =2,6 26 : DO J =1,I-1 27 : K=K+1 28 : RE3(I,J)=WORK(K+12) 29 : RE3(J,I)=RE3(I,J) 30 : END DO 31 : END DO 32 : ENDIF 33 : C 34 : DO I =1,6 35 : DO J =1,6 36 : REL(I,J)=RE3(I,J) 37 : REL(I+6,J)=-1*RE3(I,J) 38 : REL(I,J+6)=-1*RE3(I,J) 39 : REL(I+6,J+6)=RE3(I,J) 40 : END DO 41 : END DO 42 : * 43 : * 44 : * 45 : ELSE IF (IDIM.EQ.2) THEN 45 : CALL ZERO(RE2,3,3) 46 : DO I =1,3 47 : RE2(I,I)=WORK(I+2) 48 : END DO 49 : * SI anisotrope 50 : IF (CMATE.EQ.'ANISOTRO') THEN 51 : K=0 52 : DO I =2,3 53 : DO J =1,I-1 54 : K=K+1 55 : RE2(I,J)=WORK(K+5) 56 : RE2(J,I)=RE2(I,J) 57 : END DO 58 : END DO 59 : ENDIF 60 : C 61 : DO I =1,3 62 : DO J =1,3 63 : REL(I,J)=RE2(I,J) 64 : REL(I,J+3)=-1*RE2(I,J) 65 : REL(I+3,J)=-1*RE2(I,J) 66 : REL(I+3,J+3)=RE2(I,J) 67 : END DO 68 : END DO 69 : ENDIF 70 : 5 CONTINUE 71 : * 72 : *------------------------------------------------------------- 73 : * WRITE(*,*) '** REL APRES ( dans RIGJOI) ** ' 74 : * DO 112 IA=1,LRE 75 : * WRITE(*,1991) (REL(IA,IC),IC=1,LRE) 76 : * 112 CONTINUE 77 : *1991 FORMAT(18(1X,E12.5)) 78 : *------------------------------------------------------------- 79 : RETURN 80 : END 81 : 82 : 83 : 84 : 85 :
© Cast3M 2003 - All rights reserved.
Disclaimer