1 : C KAM101 SOURCE CHAT 05/01/13 00:51:04 5004 2 : SUBROUTINE KAM101(NELA,NEL,NP,IES,LE,AM,XCOOR,IPADL,IKAS, 3 : & IAXI,NES,NPG,FN,GR,HR,PG,PGSQ,RPG) 4 : C************************************************************************ 5 : C CALCUL DE LA MATRICE M ( P*DIV(U) ) --> AM(NP,IES,NEL) 6 : C 7 : C IKAS=1 V NORMALE IMPOSEE 8 : C IKAS=-1 V TANGENTE IMPOSEE 9 : C 10 : C************************************************************************ 11 : IMPLICIT INTEGER(I-N) 12 : IMPLICIT REAL*8 (A-H,O-Z) 13 : 14 : C*** 15 : DIMENSION LE(NP,NEL),IPADL(*) 16 : DIMENSION AM(NELA,IES),XCOOR(*),P3(3,3) 17 : DIMENSION XYZ(3,9) 18 : DIMENSION FN(NP,NPG),GR(NES,NP,NPG),HR(IES,NP,NPG) 19 : DIMENSION PG(NPG),PGSQ(NPG),RPG(NPG) 20 : C*** 21 : 22 : IF(NP.LE.2.AND.IES.EQ.3)THEN 23 : WRITE(6,*)' Operateur VNSIMP ou VTSIMP (kam101) :' 24 : WRITE(6,*)' On ne sait pas traiter ce type d element' 25 : RETURN 26 : ENDIF 27 : 28 : C write(6,*)' IPADL' 29 : C write(6,1001)(IPADL(II),ii=1,100) 30 : 31 : DO 2 K=1,NEL 32 : DO 3 I=1,NP 33 : NU=LE(I,K) 34 : 35 : XYZ(1,I)=XCOOR((NU-1)*(IES+1) +1) 36 : XYZ(2,I)=XCOOR((NU-1)*(IES+1) +2) 37 : IF(IES.EQ.3)XYZ(3,I)=XCOOR((NU-1)*(IES+1) +3) 38 : 3 CONTINUE 39 : C write(6,*)' XYZ=' 40 : C write(6,1002) XYZ 41 : 42 : 43 : 44 : IF(IES.EQ.2)THEN 45 : 46 : TX=XYZ(1,2)-XYZ(1,1) 47 : TY=XYZ(2,2)-XYZ(2,1) 48 : TT=TX*TX+TY*TY 49 : TT=SQRT(TT) 50 : C TX=TX/TT 51 : C TY=TY/TT 52 : AX=-TY 53 : AY=TX 54 : IF(IKAS.EQ.-1)THEN 55 : AX=TX 56 : AY=TY 57 : ENDIF 58 : DO 21 J=1,NP 59 : NU=IPADL(LE(J,K)) 60 : AM(NU,1)=AM(NU,1)+AX 61 : AM(NU,2)=AM(NU,2)+AY 62 : C write(6,*)' le,nu=',LE(J,K),NU,' Ax,Ay=',AX,AY 63 : C write(6,1002)AM(NU,1),AM(NU,2) 64 : 65 : 21 CONTINUE 66 : 67 : ELSEIF(IES.EQ.3)THEN 68 : IIAXI=0 68 : CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IES,NP,NPG,IIAXI,AIRE) 68 : CALL CALJQB(XYZ,P3,IES,NP) 69 : DO 31 J=1,NP 70 : NU=IPADL(LE(J,K)) 71 : AM(NU,1)=AM(NU,1)+P3(3,1)*AIRE 72 : AM(NU,2)=AM(NU,2)+P3(3,2)*AIRE 73 : AM(NU,3)=AM(NU,3)+P3(3,3)*AIRE 74 : C write(6,*)' le,nu=',LE(J,K),NU,' Aire=',AIRE 75 : C write(6,1002)AM(NU,1),AM(NU,2),AM(NU,3) 76 : 31 CONTINUE 77 : C write(6,*)' P3= AORE=',AIRE 78 : C write(6,1002)P3 79 : ENDIF 80 : 2 CONTINUE 81 : C write(6,*)' Sub kam101 FIN : AM=' 82 : C DO 2101 k=1,nela 83 : C DO 2101 k=1,10 84 : C write(6,*)' k=',k 85 : C write(6,1002)(AM(k,i),i=1,ies) 86 : C2101 CONTINUE 87 : 88 : RETURN 89 : 1001 FORMAT(20(1X,I5)) 90 : 1002 FORMAT(10(1X,1PE11.4)) 91 : END 92 :
© Cast3M 2003 - All rights reserved.
Disclaimer