ksupg1
C KSUPG1 SOURCE CHAT 05/01/13 01:09:14 5004 & TN,IPADI,UN,COEFT,NPTD,NEL,NP,DRR,HR,FN, & AIRE,AL,AH,AP,IDCEN,IPADU,LE,CHGL,IKOMP, & DTM1,DT,DTT1,DTT2,DIAEL,NUEL) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC CCREEL DIMENSION IPADU(*),LE(NP,1),IPADI(*) DIMENSION UN(NPTD,IDIM),TN(*) DIMENSION AIRE(LRV),AL(LRV),AH(LRV),AP(LRV),WTILDE(LRV,NP) DIMENSION COEFT(LRV),CHGLD(LRV),CHGLP(LRV) DIMENSION HR(NEL,NP,IDIM),DRR(NP,NEL),FN(NP,1) PARAMETER (LRV1=64) DIMENSION UM(LRV1),UMI(LRV,3),UMJ(LRV1,3) DIMENSION UP(LRV1),UPI(LRV1,3) DIMENSION BM(LRV1),BP(LRV1) DIMENSION TO1(LRV1),TO2(LRV1) DIMENSION CXT(LRV1),CYT(LRV1),CZT(LRV1) DIMENSION CXY(LRV1),CXZ(LRV1),CYZ(LRV1),CFM(LRV1) DIMENSION AL2(LRV1),AH2(LRV1),AP2(LRV1),XMB(LRV1) DATA IKV/1/,NPG/1/ CC0=1.D0 xpeti2 = sqrt(XPETIT) IF(IKOMP.EQ.1)CC0=0.2D0 IF(LRV.NE.LRV1)STOP DO 7005 N=1,IDIM DO 70051 K=KDEB,KFIN 70051 CONTINUE 7005 CONTINUE IF(IKV.EQ.1)THEN DO 70060 N=1,IDIM DO 70061 I=1,NP C*IBMDIR* PREFER VECTOR DO 70062 K=KDEB,KFIN NF=IPADU(LE(I,K)) NG=IPADI(LE(I,K)) 70062 CONTINUE 70061 CONTINUE 70060 CONTINUE DO 7017 K=KDEB,KFIN 7017 CONTINUE ELSE DO 70160 N=1,IDIM DO 70161 I=1,NP C*IBMDIR* PREFER VECTOR DO 70162 K=KDEB,KFIN NF=IPADU(LE(I,K)) NG=IPADI(LE(I,K)) U=0.D0 DO 7026 L=1,NPG U=U+UN(NF,N)*FN(I,L) 7026 CONTINUE 70162 CONTINUE 70161 CONTINUE 70160 CONTINUE DO 7027 K=KDEB,KFIN 7027 CONTINUE ENDIF C *********** C * 2 D * C *********** IF(IDIM.EQ.2)THEN QUA4=CHGL DO 7004 K=KDEB,KFIN 7004 CONTINUE DO 7007 K=KDEB,KFIN AX=SQRT(AX)+xpeti2 7007 CONTINUE DO 70074 K=KDEB,KFIN 70074 CONTINUE C C DECENTREMENT C IF(IDCEN.EQ.1)THEN C CENTREE DO 70081 K=KDEB,KFIN 70081 CONTINUE ELSEIF(IDCEN.EQ.2)THEN C SUPGDC DO 7008 K=KDEB,KFIN AKSI=ALFA/3.D0 IF(ALFA.GT.3.D0)AKSI=1.D0 AKSI=ALFA/3.D0 IF(ALFA.GT.3.D0)AKSI=1.D0 CPT=CCP-CCT CC2=0.D0 IF(CPT.GE.0.D0)CC2=CPT CC2=CC2*CC0 7008 CONTINUE ELSEIF(IDCEN.EQ.3)THEN C SUPG DO 7018 K=KDEB,KFIN AKSI=ALFA/3.D0 IF(ALFA.GT.3.D0)AKSI=1.D0 7018 CONTINUE ELSEIF(IDCEN.EQ.4)THEN C Tenseur Visqueux DT19=DTM1*0.5D0 DO 7009 K=KDEB,KFIN 7009 CONTINUE ENDIF C C CALCUL DU PAS DE TEMPS C C*IBMDIR* PREFER SCALAR DO 7010 K=KDEB,KFIN DT0=DT DT1=2.D0/ DT2=0.5D0/ IF(DT1.LT.DT)DT=DT1 IF(DT2.LT.DT)DT=DT2 IF(DT.NE.DT0) THEN DTT1=DT1 DTT2=DT2 NUEL=K END IF 7010 CONTINUE DO 7011 I=1,NP DO 70111 K=KDEB,KFIN 70111 CONTINUE 7011 CONTINUE DO 7012 K=KDEB,KFIN 7012 CONTINUE C *********** C * 3 D * C *********** ELSEIF(IDIM.EQ.3)THEN CUB8=CHGL DO 8004 K=KDEB,KFIN 8004 CONTINUE DO 8007 K=KDEB,KFIN AX=SQRT(AX)+xpeti2 8007 CONTINUE DO 80074 K=KDEB,KFIN 80074 CONTINUE C C DECENTREMENT C IF(IDCEN.EQ.1)THEN C CENTREE DO 80081 K=KDEB,KFIN 80081 CONTINUE ELSEIF(IDCEN.EQ.2)THEN C SUPGDC DO 8008 K=KDEB,KFIN AKSI=ALFA/3.D0 IF(ALFA.GT.3.D0)AKSI=1.D0 AKSI=ALFA/3.D0 IF(ALFA.GT.3.D0)AKSI=1.D0 CPT=CCP-CCT CC2=0.D0 IF(CPT.GE.0.D0)CC2=CPT CC2=CC2*CC0 8008 CONTINUE ELSEIF(IDCEN.EQ.3)THEN C SUPG DO 8018 K=KDEB,KFIN AKSI=ALFA/3.D0 IF(ALFA.GT.3.D0)AKSI=1.D0 8018 CONTINUE ELSEIF(IDCEN.EQ.4)THEN C Tenseur Visqueux DT19=DTM1*0.5D0 DO 8009 K=KDEB,KFIN 8009 CONTINUE ENDIF C C CALCUL DU PAS DE TEMPS C C*IBMDIR* PREFER SCALAR DO 8010 K=KDEB,KFIN DT0=DT DT1=2.D0/ DT2=0.5D0/ IF(DT1.LT.DT)DT=DT1 IF(DT2.LT.DT)DT=DT2 IF(DT.NE.DT0) THEN DTT1=DT1 DTT2=DT2 NUEL=K END IF 8010 CONTINUE DO 8011 I=1,NP DO 80111 K=KDEB,KFIN 80111 CONTINUE 8011 CONTINUE DO 8012 K=KDEB,KFIN 8012 CONTINUE ENDIF RETURN 1002 FORMAT(10(1X,1PE11.4)) END
© Cast3M 2003 - Tous droits réservés.
Mentions légales