kremp2
C KREMP2 SOURCE CHAT 05/01/13 01:06:22 5004 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C C DIM 2 INTERIEUR D'UN CONTOUR C ------------------------------ C C----------------------------------------------------------------------- SEGMENT SKRESO INTEGER KFC,NRES,KES,KIMP ENDSEGMENT C KFC : NOMBRE DE FACES H.C C NRES: RESOLUTION C KES : DIM ESPACE C KIMP: IMPRESSION C----------------------------------------------------------------------- C----------------------------------------------------------------------- SEGMENT SHC2D INTEGER IR(NR),KA(NFC),IM(NFC,NFC) INTEGER KRO(NFC,NES),KSI(NFC,NES) REAL*8 V(NES,NR),G(NR) ENDSEGMENT C DESCRIPTION DU H.C DE PROJECTION C -------------------------------- C V : DIRECTION UNITAIRE DES CELLULES C G : FACTEUR DE FORME ASSOCIE C IR: CORRESPONDANCE C KRO , KSI : POUR LE CHANGEMENT DE REPERE C IM : REFERENCE C NR : RESOLUTION C NFC : NOMBRE DE FACES C----------------------------------------------------------------------- C----------------------------------------------------------------------- SEGMENT SKBUF2 INTEGER NUMF(NFC,NOC,NR),NTYP(NFC,NR) REAL*8 ZB(NFC,NR),PSC(NFC,NR) ENDSEGMENT C C BUFFER ASSOCIE AU H.C C --------------------- C NUMF : INDICE DE LE DERNIERE FACE RENCONTREE C NTYP : TYPES ASSOCIES C ZB : PROFONDEUR C PSC : PRODUIT SCALAIRE (NORMALE.DIRECTION CELLULE) C----------------------------------------------------------------------- DIMENSION O1(2),X1(2),X2(2),U2(1) DIMENSION X(2),XR(2),XR1(2),XR2(2) DIMENSION A2(2,2) C DO 100 K=1,2 X1(K)=A2(K,1) X2(K)=A2(K,2) 100 CONTINUE C IF (KIMP.GE.4) WRITE(6,*) ' X1 ',X1(1),X1(2),' X2 ',X2(1),X2(2) C C PROJECTION DES 2 SOMMETS C IF (KIMP.GE.4) WRITE(6,*) ' NF1 LS1 XR1 ',NF1,LS1,XR1(1),XR1(2) IF (KIMP.GE.4) WRITE(6,*) ' NF2 LS2 XR2 ',NF2,LS2,XR2(1),XR2(2) C IF(NF1.EQ.NF2) THEN C C UNE SEULE FACE C -------------- LMIN = MIN0(LS1,LS2) LMAX = MAX0(LS1,LS2) IF((LMAX-LMIN).GE.2 ) THEN ENDIF ELSE C C DEUX FACES DIFFERENTES 1) PARALLELES 2) NON PARALLELES C --------------------------------------------------------- IF (KA(NF1).EQ.KA(NF2)) THEN IF (KIMP.GE.4) WRITE(6,*) ' KREMP2 CAS PARALLELE' KAC = KA(NF1) DO 1 K=1,KES X(K) = (X1(K)+X2(K))/2 1 CONTINUE IF(KIMP.GE.4) WRITE(6,*) ' X ',X(1),X(2) II = 0 10 CONTINUE II = II + 1 IF (II.GE.12) THEN WRITE(6,*) ' non convergence de la dichotomie' RETURN ELSEIF (II.GE.10) THEN IF((NF1.EQ.1).OR.(NF1.EQ.2)) X(1)=O1(1) IF((NF1.EQ.3).OR.(NF1.EQ.4)) X(2)=O1(2) ENDIF IF (NF.EQ.NF1) THEN DO 2 K = 1,KES X(K) = (X(K)+X2(K))/2 2 CONTINUE GOTO 10 ELSE IF(NF.EQ.NF2) THEN DO 3 K = 1,KES X(K) = (X1(K)+X(K))/2 3 CONTINUE GOTO 10 ELSE IF (KIMP.GE.4) WRITE(6,*) ' FACE GENEREE ',NF C C NF EST <> NF1 ET <>NF2 C C --- LEX = IM(NF1,NF) IF (LEX.EQ.0) THEN WRITE(6,*) ' PB FACES ',K1,' ',K2,' CAS 1' ENDIF KELT = LEX-LS1 IF (KELT.GE.1 ) THEN ENDIF IF (KELT.LE.-1) THEN ENDIF LEX = IM(NF2,NF) IF (LEX.EQ.0) THEN WRITE(6,*) ' PB FACES ',K1,' ',K2,' CAS 2' ENDIF KELT = LEX-LS2 IF (KELT.GE.1 ) THEN ENDIF IF (KELT.LE.-1) THEN ENDIF C ENDIF ENDIF C ELSE IF (KIMP.GE.4) WRITE(6,*) ' KREMP2 FACES NON PARALLES ' LEX = IM(NF1,NF2) IF (LEX.EQ.0) THEN WRITE(6,*) ' PB FACES ',K1,' ',K2,' CAS 3' ENDIF KELT = LEX-LS1 IF (KELT.GE.1 ) THEN ENDIF IF (KELT.LE.-1) THEN ENDIF C LEX = IM(NF2,NF1) IF (LEX.EQ.0) THEN WRITE(6,*) ' PB FACES ',K1,' ',K2,' CAS 4' ENDIF KELT = LEX-LS2 IF (KELT.GE.1 ) THEN ENDIF IF (KELT.LE.-1) THEN ENDIF ENDIF ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales