elfma0
C ELFMA0 SOURCE CHAT 05/01/12 23:32:23 5004 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C C ==================================================================== C SOUS-PROGRAMME FORTRAN CONSTRUISANT LES MATRICES I-A0 ET -1/B0 C APPELE PAR ELFLIA C C A : MATRICE I-A0 C B : MATRICE -1/B0 C AB : VECTEUR CONTENANT LES TERMES DES MATRICES AN ET BN C NB : NUMERO D'ORDRE DES EXTREMITES DES ELEMENTS C SI 3 ELEMENT COMPLET C CREATION : 28/01/87 C PROGRAMMEUR : GUILBAUD C ==================================================================== C -INC PPARAM -INC CCOPTIO DIMENSION A(*),B(*),AB(*),C(4,4),D(4,4),IS(4) C IF(NB.NE.3) THEN A(1)=1.D0-AB( 2) A(2)=1.D0-AB( 8) A(4)=1.D0-AB(13) A(6)=1.D0-AB( 4) A(8)=1.D0-AB(13) A(10)=1.D0-AB( 8) IF(NB.EQ.1) THEN A(3)=-AB( 7) A(5)=+AB(12) A(7)=+AB(14) A(9)=-AB( 9) ELSE A(3)=+AB( 7) A(5)=-AB(12) A(7)=-AB(14) A(9)=+AB( 9) ENDIF C B(1)=-1.D0/AB( 1) B(2)=-1.D0/AB( 5) B(3)=-1.D0/AB(10) B(4)=-1.D0/AB( 3) B(5)= 1.D0/AB(12) B(6)= 1.D0/AB( 7) ELSE A( 1)=1.D0-AB( 2) A( 2)=1.D0-AB( 8) A( 3)=-AB( 7) A( 4)=1.D0-AB(13) A( 5)= AB(12) A( 6)=1.D0-AB( 4) A( 7)= AB(14) A( 8)=1.D0-AB(13) A( 9)=-AB( 9) A(10)=1.D0-AB( 8) A(11)=-AB(16) A(12)=-AB(22) A(13)= AB(21) A(14)=-AB(27) A(15)=-AB(26) A(16)=-AB(18) A(17)=-AB(28) A(18)=-AB(27) A(19)= AB(23) A(20)=-AB(22) A(21)=-AB(16) A(22)=-AB(22) A(23)=-AB(21) A(24)=-AB(27) A(25)= AB(26) A(26)=-AB(18) A(27)= AB(28) A(28)=-AB(27) A(29)=-AB(23) A(30)=-AB(22) A(31)=1.D0-AB( 2) A(32)=1.D0-AB( 8) A(33)= AB( 7) A(34)=1.D0-AB(13) A(35)=-AB(12) A(36)=1.D0-AB( 4) A(37)=-AB(14) A(38)=1.D0-AB(13) A(39)= AB( 9) A(40)=1.D0-AB( 8) C ISING=0 IF(ISING.EQ.1) RETURN C IF(ISING.EQ.1) RETURN C C(1,1)= AB( 5) C(1,2)=0.D0 C(1,3)= AB(19) C(1,4)= AB(20) C(2,1)=0.D0 C(2,2)=-AB( 7) C(2,3)=-AB(20) C(2,4)=-AB(21) C(3,1)= AB(19) C(3,2)=-AB(20) C(3,3)= AB( 5) C(3,4)=0.D0 C(4,1)= AB(20) C(4,2)=-AB(21) C(4,3)=0.D0 C(4,4)=-AB( 7) N4=4 WRITE(IOIMP,*) ' FLEXION Y ' WRITE(IOIMP,1000)((C(I,J),J=1,4),I=1,4) 1000 FORMAT(4(1X,1PE12.5)) IF(ISING.EQ.1) RETURN WRITE(IOIMP,*) ' ' WRITE(IOIMP,1000)((C(I,J),J=1,4),I=1,4) B( 2)=-C(1,1) B( 3)=-C(1,2) B(12)=-C(1,3) B(13)=-C(1,4) B( 9)=-C(2,1) B(10)=-C(2,2) B(19)=-C(2,3) B(20)=-C(2,4) B(22)=-C(3,1) B(23)=-C(3,2) B(32)=-C(3,3) B(33)=-C(3,4) B(29)=-C(4,1) B(30)=-C(4,2) B(39)=-C(4,3) B(40)=-C(4,4) C C(1,1)= AB(10) C(1,2)=0.D0 C(1,3)= AB(24) C(1,4)=-AB(25) C(2,1)=0.D0 C(2,2)=-AB(12) C(2,3)= AB(25) C(2,4)=-AB(26) C(3,1)= AB(24) C(3,2)= AB(25) C(3,3)= AB(10) C(3,4)=0.D0 C(4,1)=-AB(25) C(4,2)=-AB(26) C(4,3)=0.D0 C(4,4)=-AB(12) WRITE(IOIMP,*) ' FLEXION Y ' WRITE(IOIMP,1000)((C(I,J),J=1,4),I=1,4) WRITE(IOIMP,*) ' ' WRITE(IOIMP,1000)((C(I,J),J=1,4),I=1,4) IF(ISING.EQ.1) RETURN B( 4)=-C(1,1) B( 5)=-C(1,2) B(14)=-C(1,3) B(15)=-C(1,4) B( 7)=-C(2,1) B( 8)=-C(2,2) B(17)=-C(2,3) B(18)=-C(2,4) B(24)=-C(3,1) B(25)=-C(3,2) B(34)=-C(3,3) B(35)=-C(3,4) B(27)=-C(4,1) B(28)=-C(4,2) B(37)=-C(4,3) B(38)=-C(4,4) ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales