xsour
C XSOUR SOURCE CHAT 05/01/13 04:15:00 5004 & NES,IDIM,NP,MP,NPG,IAXI,LE,IKAS,KPRE, & RGE,IKG,NELG,IPADQ,LS, & TN,IKT,TREF,IKR,IPADS, IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C************************************************************************ C C OPERATEUR SOUR C - IKAS = 1 Source scalaire s : FLOTTANT ou CHPOINT SCAL CENTRE C - IKAS = 2 Source QDM s : POINT ou CHPOINT SCAL CENTRE C - IKAS = 3 Source QDM g*beta*( T - Tref ) C C************************************************************************ DIMENSION FM(MP,NPG),FN(NP,NPG),GR(IDIM,NP,NPG),PG(NPG) DIMENSION XYZ(IDIM,NP),HR(NES,NP,NPG),PGSQ(NPG),RPG(NPG) DIMENSION XCOOR(*) DIMENSION RGE(NELG,IDIM),LS(MP,*) DIMENSION TN(*),TREF(*) C*********************************************************************** C write(6,*)' Debut XSOUR IKAS=',ikas C write(6,*)' MP,NELG,NP,NPT=',MP,NELG,NP,NPT C write(6,*)' IPADS ' C write(6,1001)(IPADS(ii),ii=1,100) C write(6,*)' IPADQ ' C write(6,1001)(IPADQ(ii),ii=1,100) C write(6,*)' LE ' C write(6,1001)le IF(IKAS.EQ.1)THEN C Cas source scalaire NK=K0 NK=NK+1 DO 109 I=1,NP J=LE(I,KE) DO 109 N=1,IDIM XYZ(N,I)=XCOOR((J-1)*(IDIM+1)+N) 109 CONTINUE *IDIM,NP,NPG,IAXI,AIRE) DO 103 I=1,NP I1=IPADS(LE(I,KE)) U=0.D0 DO 102 J=1,MP J1=IPADQ(LS(J,NK)) NKG=1+(1-IKG)*(J1-1) DO 101 L=1,NPG U=U+FN(I,L)*FM(J,L)*PGSQ(L)*RGE(NKG,N) 101 CONTINUE 102 CONTINUE F(I1,1)=F(I1,1)+U 103 CONTINUE 108 CONTINUE C write(6,*)' F ' C write(6,1002)F C write(6,*)' XSOUR FIN ' RETURN ELSEIF(IKAS.EQ.2)THEN NK=K0 NK=NK+1 DO 209 I=1,NP J=LE(I,KE) DO 209 N=1,IDIM XYZ(N,I)=XCOOR((J-1)*(IDIM+1)+N) 209 CONTINUE *IDIM,NP,NPG,IAXI,AIRE) DO 204 N=1,IDIM DO 203 I=1,NP I1=IPADS(LE(I,KE)) U=0.D0 DO 202 J=1,MP J1=IPADQ(LS(J,NK)) NKG=1+(1-IKG)*(J1-1) DO 201 L=1,NPG U=U+FN(I,L)*FM(J,L)*PGSQ(L)*RGE(NKG,N) 201 CONTINUE 202 CONTINUE F(I1,N)=F(I1,N)+U 203 CONTINUE 204 CONTINUE 208 CONTINUE C write(6,*)' F ' C write(6,1002)F C write(6,*)' XSOUR FIN ' RETURN ELSEIF(IKAS.EQ.3)THEN NK=K0 NK=NK+1 DO 309 I=1,NP J=LE(I,KE) DO 309 N=1,IDIM XYZ(N,I)=XCOOR((J-1)*(IDIM+1)+N) 309 CONTINUE *IDIM,NP,NPG,IAXI,AIRE) NKG=1+(1-IKG)*(NK-1) DO 304 N=1,IDIM DO 303 I=1,NP I1=IPADS(LE(I,KE)) U=0.D0 DO 301 L=1,NPG TT=0.D0 DO 305 IB=1,NP IB1=IPADS(LE(IB,KE)) NKT=1+(1-IKT)*(IB1-1) NKR=1+(1-IKR)*(IB1-1) TT=TT+FN(IB,L)*(TN(NKT)-TREF(NKR)) 305 CONTINUE U=U+FN(I,L)*PGSQ(L)*TT 301 CONTINUE F(I1,N)=F(I1,N)-U*RGE(NKG,N) 303 CONTINUE 304 CONTINUE 308 CONTINUE C write(6,*)' F ' C write(6,1002)F C write(6,*)' XSOUR FIN ' RETURN ENDIF 1002 FORMAT(8(1X,1PE11.4)) 1001 FORMAT(20(1X,I5)) END
© Cast3M 2003 - Tous droits réservés.
Mentions légales