You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1335 lines
48 KiB
Fortran
1335 lines
48 KiB
Fortran
C $LARGE
|
|
C CONNEC3D.FOR VER.11-NOV-2002
|
|
C
|
|
C PROGRAM FOR CONNECTIVITY ANALYSIS OF A 3D INDICATOR MAP
|
|
C
|
|
C GIVEN AN INDICATOR FIELDS (VALUES 0 AND 1 ONLY), THE RANDOM SET
|
|
C WITH VALUES 1 IS ANALYSED FOR CONNECTIVITY.
|
|
C
|
|
C INPUT PARAMETER FILE WITH
|
|
C
|
|
C IPHA : 0 OR 1 FOR CONNECTIVITY ANALYSIS OF PHASE 0 OR 1.
|
|
C ICON : 6, 18 OR 26-CONNECTIVITY.
|
|
C CINP : INPUT FILE WITH INDICATOR VARIABLE (VALUS 0/1 ONLY)
|
|
C NX NY NZ : NUMBER OF POINTS IN X AND Y
|
|
C DX DY DZ : GRID DIMENSIONS IN X AND Y
|
|
C N2 : NUMBER OF LAGS FOR CONNECTIVITY FUNCTION CALCULATION
|
|
C COUT : OUTPUT FILE WITH STATISTICS
|
|
C COU2 : OUTPUT FILE WITH CONNECTED COMPONENTS
|
|
C COU3 : OUTPUT FILE WITH CONNECTIVITY FUNCITON
|
|
C
|
|
C DX,DY,DZ ARE ONLY USED FOR CONVERTING GRID UNITS TO REAL UNITS.
|
|
C NX : NUMBER OF POINTS ALONG THE X DIRECTION
|
|
C NY : NUMBER OF POINTS ALONG THE Y DIRECTION
|
|
C NZ : NUMBER OF POINTS ALONG THE Z DIRECTION
|
|
C
|
|
C IND(I,J,L) : 0/1 INDICATOR VALUE
|
|
C AT THE TERMINATION OF THE PROGRAM THE MATRIX IND(I,J) CONTAINS
|
|
C THE CONNECTED COMPONENTS WITH VALUES 1,2,3,4,5,... FOR FIRST,
|
|
C SECOND, THIRD, ... ETC CONNECTED COMMPONENTS.
|
|
C THE VALUE 0 REMAINS 0.
|
|
C COUT : OUTPUT FILE WITH STATISTICS AND CONNECTIVITY FUNCTION.
|
|
C COU2 : OUTPUT FILE WITH THE CONNECTED COMPONENTS.
|
|
C COU3 : OUTPUT FILE WITH CONNECTIVITY FUNCTION
|
|
C
|
|
C FOR THE CONNECTIVITY FUNCTION:
|
|
C NPX(K): NUMBER OF PAIRS OF VALUES SEPARATED A DISTANCE K ALONG
|
|
C THE X DIRECTION AND THAT BELONG TO FACIES 1.
|
|
C NPCX(K): NUMBER OF THE PREVIOUS VALUES THAT ARE CONNECTED.
|
|
C NPY(K): NUMBER OF PAIRS OF VALUES SEPARATED A DISTANCE K ALONG
|
|
C THE Y DIRECTION AND THAT BELONG TO FACIES 1.
|
|
C NPCY(K): NUMBER OF THE PREVIOUS VALUES THAT ARE CONNECTED.
|
|
C NPZ(K): NUMBER OF PAIRS OF VALUES SEPARATED A DISTANCE K ALONG
|
|
C THE Z DIRECTION AND THAT BELONG TO FACIES 1.
|
|
C NPCZ(K): NUMBER OF THE PREVIOUS VALUES THAT ARE CONNECTED.
|
|
C
|
|
C
|
|
C PPHA : PROPORTION OF FACIES 1.
|
|
C NCC : NUMBER OF CONNECTED COMPONENTS.
|
|
C RISM : MEAN CONNECTED COMPONENT SIZE IN PIXELS.
|
|
C RSME : MRAN SIZE IN REAL UNITS.
|
|
C RTOT : MEAN SIZE RELATIVE TO SIZE OF FACIES 1.
|
|
C RXME : MEAN LENGTH ALONG THE X DIRECTION.
|
|
C RYME : MEAN LENGTH ALONG THE Y DIRECTION.
|
|
C RZME : MEAN LENGTH ALONG THE Z DIRECTION.
|
|
C ICOM : NUMBER OF THE LARGEST COMPONENT.
|
|
C ISMA : SIZE IN PIXELS (Of LARGEST COMPONENT).
|
|
C RSIZ : SIZE RELATIVE TO SIZE OF FACIES 1.
|
|
C IXMA : MAXIMUM LENGTH ALONG X.
|
|
C IYMA : MAXIMUM LENGTH ALONG Y.
|
|
C IZMA : MAXIMUM LENGTH ALONG Z.
|
|
C ISMI : SIZE OF SMALLEST COMPONENT.
|
|
C IXMI : MINIMUM LENGTH ALONG X.
|
|
C IYMI : MINIMUM LENGTH ALONG Y.
|
|
C IZMI : MINIMUM LENGTH ALONG Z.
|
|
C IPX : NUMBER OF PERCOLATING COMPONENTS ALONG X.
|
|
C IPY : NUMBER OF PERCOLATING COMPONENTS ALONG Y.
|
|
C IPZ : NUMBER OF PERCOLATING COMPONENTS ALONG Z.
|
|
C CCFU(.,.) : CONNECTIVITY FUNCTION.
|
|
C
|
|
C CCFU(.,1): CONNECTIVITY FUNCTION ALONG X (E-W).
|
|
C CCFU(.,2): CONNECTIVITY FUNCTION ALONG Y (N-S).
|
|
C CCFU(.,3): CONNECTIVITY FUNCTION ALONG Z (VERTICAL).
|
|
C CCFU(.,4): CONNECTIVITY FUNCTION ALONG 3D FIRST DIAGONAL.
|
|
C CCFU(.,5): CONNECTIVITY FUNCTION ALONG 3D SECOND DIAGONAL.
|
|
C CCFU(.,6): CONNECTIVITY FUNCTION ALONG 3D THIRD DIAGONAL.
|
|
C CCFU(.,7): CONNECTIVITY FUNCTION ALONG 3D FOURTH DIAGONAL.
|
|
C CCFU(.,8): MEAN CONNECTIVITY FUNCTION ALONG X AND Y.
|
|
C CCFU(.,9): MEAN CONNECTIVITY FUNCTION ALONG X,Y,Z.
|
|
C CCFU(.,10): MEAN CONNECTIVITY FUNCTION ALONG THE 3D DIAGONALS.
|
|
C CCFU(.,11): CONNECTIVITY FUNCTION ALONG FIRST DIAGONAL X-Y PLANE.
|
|
C CCFU(.,12): CONNECTIVITY FUNCTION ALONG SECOND DIAGONAL X-Y PLANE.
|
|
C CCFU(.,13): CONNECTIVITY FUNCTION ALONG FIRST DIAGONAL X-Z PLANE.
|
|
C CCFU(.,14): CONNECTIVITY FUNCTION ALONG SECOND DIAGONAL X-Z PLANE.
|
|
C CCFU(.,15): CONNECTIVITY FUNCTION ALONG FIRST DIAGONAL Y-Z PLANE.
|
|
C CCFU(.,16): CONNECTIVITY FUNCTION ALONG SECOND DIAGONAL Y-Z PLANE.
|
|
C
|
|
C
|
|
C ----------------------------------------------------------------
|
|
DIMENSION IND(1,4096,4096),NPX(4096)
|
|
DIMENSION NPY(4096),NPCX(4096),NPCY(4096)
|
|
DIMENSION NPZ(4096),NPCZ(4096),NP1(4096)
|
|
DIMENSION NP2(4096),NP3(4096)
|
|
DIMENSION NP4(4096),NPC1(4096),NPC2(4096)
|
|
DIMENSION NPC3(4096),NPC4(4096)
|
|
DIMENSION CCFU(4096,16)
|
|
DIMENSION NXY1(4096),NXY2(4096)
|
|
DIMENSION NXZ1(4096),NXZ2(4096)
|
|
DIMENSION NYZ1(4096),NYZ2(4096)
|
|
DIMENSION NCXY1(4096),NCXY2(4096)
|
|
DIMENSION NCXZ1(4096),NCXZ2(4096)
|
|
DIMENSION NCYZ1(4096),NCYZ2(4096)
|
|
C
|
|
CHARACTER*12 CPAR,CINP,COUT,COU2,COU3,DATALE
|
|
C
|
|
C MATRIX DIMENSION LIMITATION (lo cambie)
|
|
C----------------------------------------------------------
|
|
|
|
NXM=1
|
|
NYM=4096
|
|
NZM=4096
|
|
C ZINVERSAE=0.367879
|
|
ZGAMMA=0.0
|
|
C PARAMETER (INVERSAE=0.367879)-----------------------------------------------
|
|
C
|
|
C WRITE (6,400) aca cambie para que tome archivo entrada directo
|
|
CPAR="coninput.txt"
|
|
OPEN (1,FILE=CPAR)
|
|
READ (1,*) IPHA
|
|
IF (IPHA.NE.0.AND.IPHA.NE.1) THEN
|
|
WRITE (6,*)'ERROR IN PARAMETER FILE !!!'
|
|
WRITE (6,*)'THE FIRST LINE IN THE PARAMETER FILE'
|
|
WRITE (6,*)'MUST BE A 0 OR A 1'
|
|
WRITE (6,*)'0 FOR CONNECTIVITY ANALYSIS OF PHASE 0'
|
|
WRITE (6,*)'1 FOR CONNECTIVITY ANALYSIS OF PHASE 1'
|
|
WRITE (6,*)'THE ACTUAL VALUE IN THE PARAMETER FILE IS: ',IPHA
|
|
STOP
|
|
END IF
|
|
READ (1,*) ICON
|
|
IF (ICON.NE.6.AND.ICON.NE.18.AND.ICON.NE.26) THEN
|
|
WRITE (6,*)'ERROR IN PARAMETER FILE !!!'
|
|
WRITE (6,*)'THE SECOND LINE IN THE PARAMETER FILE'
|
|
WRITE (6,*)'MUST BE 6, 18 OR 26'
|
|
WRITE (6,*)'6 MEANS 6-CONNECTIVITY (FACE CONNECTIVITY)'
|
|
WRITE (6,*)'18 MEANS 18-CONNECTIVITY (FACE+EDGE CONNECTIVITY)'
|
|
WRITE (6,*)'26 MEANS 26-CONNECTIVITY (FACE+EDGE+VERTEX CONN.)'
|
|
WRITE (6,*)'THE ACTUAL VALUE IN THE PARAMETER FILE IS: ',ICON
|
|
STOP
|
|
END IF
|
|
READ (1,100) CINP
|
|
READ (1,*) NX,NY,NZ
|
|
READ (1,*) DX,DY,DZ
|
|
READ (1,*) N2
|
|
READ (1,100) COUT
|
|
READ (1,100) COU2
|
|
READ (1,100) COU3
|
|
READ (1,100) DATALE
|
|
CLOSE (1)
|
|
IF (NX.GT.NXM) THEN
|
|
WRITE (6,*)'ERROR IN PARAMETER FILE !!!'
|
|
WRITE (6,*)'MAXIMUM ALLOWED NX IS ',NXM
|
|
WRITE (6,*)'ACTUAL VALUE IS ',NX
|
|
STOP
|
|
END IF
|
|
IF (NY.GT.NYM) THEN
|
|
WRITE (6,*)'ERROR IN PARAMETER FILE !!!'
|
|
WRITE (6,*)'MAXIMUM ALLOWED NY IS ',NYM
|
|
WRITE (6,*)'ACTUAL VALUE IS ',NY
|
|
STOP
|
|
END IF
|
|
IF (NZ.GT.NZM) THEN
|
|
WRITE (6,*)'ERROR IN PARAMETER FILE !!!'
|
|
WRITE (6,*)'MAXIMUM ALLOWED NZ IS ',NZM
|
|
WRITE (6,*)'ACTUAL VALUE IS ',NZ
|
|
STOP
|
|
END IF
|
|
C
|
|
C READING EXPERIMENTAL INDICATOR DATA 3D FIELD
|
|
Ccambie el orden de los 3 DO-----------------------------------------
|
|
OPEN (1,FILE=CINP)
|
|
JPHA=0
|
|
DO 1 L=1,NZ
|
|
DO 2 J=1,NY
|
|
DO 3 I=1,NX
|
|
READ (1,*) VAL
|
|
IND(I,J,L)=INT(VAL)
|
|
IF (IPHA.EQ.0) THEN
|
|
IF (INT(VAL).EQ.0) THEN
|
|
IND(I,J,L)=1
|
|
ELSE
|
|
IND(I,J,L)=0
|
|
END IF
|
|
END IF
|
|
IF (IND(I,J,L).NE.1.AND.IND(I,J,L).NE.0) THEN
|
|
WRITE (6,*)'EXPERIMENTAL DATA MUST BE INDICATOR DATA 0/1'
|
|
WRITE (6,*)'ACTUAL VALUE : ',IND(I,J,L)
|
|
STOP
|
|
END IF
|
|
IF (IPHA.EQ.0) THEN
|
|
IF (INT(VAL).EQ.0) THEN
|
|
IND(I,J,L)=1
|
|
ELSE
|
|
IND(I,J,L)=0
|
|
END IF
|
|
END IF
|
|
IF (IND(I,J,L).EQ.1) JPHA=JPHA+1
|
|
3 CONTINUE
|
|
2 CONTINUE
|
|
1 CONTINUE
|
|
CLOSE (1)
|
|
IARE=NX*NY*NZ
|
|
PPHA=FLOAT(JPHA)/IARE
|
|
WRITE (6,*)
|
|
IF (ICON.EQ.6) WRITE (6,*)'6-CONNECTIVITY ANALYSIS'
|
|
IF (ICON.EQ.18) WRITE (6,*)'18-CONNECTIVITY ANALYSIS'
|
|
IF (ICON.EQ.26) WRITE (6,*)'26-CONNECTIVITY ANALYSIS'
|
|
WRITE (6,*)
|
|
WRITE (6,*)'PROPORTION OF PHASE 1 IS: ',PPHA
|
|
C
|
|
C
|
|
C LOOKING FOR CONNECTED COMPONENTS
|
|
C
|
|
NCC=0
|
|
C
|
|
5 DO 6 I=1,NX
|
|
DO 7 J=1,NY
|
|
DO 67 L=1,NZ
|
|
IF (IND(I,J,L).EQ.1) THEN
|
|
IAI=I
|
|
IAJ=J
|
|
IAL=L
|
|
GOTO 8
|
|
END IF
|
|
67 CONTINUE
|
|
7 CONTINUE
|
|
6 CONTINUE
|
|
C NO MORE CONNECTED COMPONENTS SENDING CONTROL TO LABEL 20
|
|
GOTO 20
|
|
C
|
|
C A NEW COMPONEND HAS BEEN FOUND, INCREASE NUMBER OF
|
|
C CONNECTED COMPONENTS BY 1
|
|
C
|
|
C
|
|
8 NCC=NCC+1
|
|
C WRITE (6,*)'NCC : ',NCC--------------------------------------
|
|
C
|
|
C LOOKING FOR COMPONENT NCC WITH LABEL NNC+1
|
|
C
|
|
IND(IAI,IAJ,IAL)=NCC+1
|
|
DO 9 I=IAI,NX
|
|
DO 10 J=IAJ,NY
|
|
DO 68 L=IAL,NZ
|
|
C
|
|
C 6-CONNECTIVITY
|
|
C
|
|
IF ((I-1).GT.0) THEN
|
|
IF (IND(I-1,J,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF (I+1.LE.NX) THEN
|
|
IF (IND(I+1,J,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF (J-1.GT.0) THEN
|
|
IF (IND(I,J-1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J-1,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF (J+1.LE.NY) THEN
|
|
IF (IND(I,J+1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J+1,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF (L-1.GT.0) THEN
|
|
IF (IND(I,J,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF (L+1.LE.NZ) THEN
|
|
IF (IND(I,J,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
C
|
|
C 18-CONNECTIVITY
|
|
C
|
|
IF (ICON.GT.6) THEN
|
|
IF ((J-1).GT.0.AND.(L-1).GT.0) THEN
|
|
IF (IND(I,J-1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J-1,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((J+1).LE.NY.AND.(L-1).GT.0) THEN
|
|
IF (IND(I,J+1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J+1,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((J-1).GT.0.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I,J-1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J-1,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((J+1).LE.NY.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I,J+1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J+1,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(L-1).GT.0) THEN
|
|
IF (IND(I-1,J,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(L-1).GT.0) THEN
|
|
IF (IND(I+1,J,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I-1,J,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I+1,J,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J+1).LE.NY) THEN
|
|
IF (IND(I+1,J+1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J+1,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J-1).GT.0) THEN
|
|
IF (IND(I+1,J-1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J-1,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J+1).LE.NY) THEN
|
|
IF (IND(I-1,J+1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J+1,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J-1).GT.0) THEN
|
|
IF (IND(I-1,J-1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J-1,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
C
|
|
C 26-CONNECTIVITY
|
|
C
|
|
IF (ICON.GT.18) THEN
|
|
IF ((I-1).GT.0.AND.(J-1).GT.0.AND.(L-1).GT.0) THEN
|
|
IF (IND(I-1,J-1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J-1,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J-1).GT.0.AND.(L-1).GT.0) THEN
|
|
IF (IND(I+1,J-1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J-1,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J+1).LE.NY.AND.(L-1).GT.0) THEN
|
|
IF (IND(I-1,J+1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J+1,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J+1).LE.NY.AND.(L-1).GT.0) THEN
|
|
IF (IND(I+1,J+1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J+1,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J-1).GT.0.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I-1,J-1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J-1,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J-1).GT.0.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I+1,J-1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J-1,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J+1).LE.NY.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I-1,J+1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J+1,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J+1).LE.NY.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I+1,J+1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J+1,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
68 CONTINUE
|
|
10 CONTINUE
|
|
9 CONTINUE
|
|
DO 40 I=IAI,1,-1
|
|
DO 41 J=IAJ,1,-1
|
|
DO 69 L=IAL,1,-1
|
|
C
|
|
C 6-CONNECTIVITY
|
|
C
|
|
IF ((I-1).GT.0) THEN
|
|
IF (IND(I-1,J,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF (I+1.LE.NX) THEN
|
|
IF (IND(I+1,J,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF (J-1.GT.0) THEN
|
|
IF (IND(I,J-1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J-1,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF (J+1.LE.NY) THEN
|
|
IF (IND(I,J+1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J+1,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF (L-1.GT.0) THEN
|
|
IF (IND(I,J,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF (L+1.LE.NZ) THEN
|
|
IF (IND(I,J,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
C
|
|
C 18-CONNECTIVITY
|
|
C
|
|
IF (ICON.GT.6) THEN
|
|
IF ((J-1).GT.0.AND.(L-1).GT.0) THEN
|
|
IF (IND(I,J-1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J-1,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((J+1).LE.NY.AND.(L-1).GT.0) THEN
|
|
IF (IND(I,J+1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J+1,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((J-1).GT.0.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I,J-1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J-1,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((J+1).LE.NY.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I,J+1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I,J+1,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(L-1).GT.0) THEN
|
|
IF (IND(I-1,J,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(L-1).GT.0) THEN
|
|
IF (IND(I+1,J,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I-1,J,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I+1,J,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J+1).LE.NY) THEN
|
|
IF (IND(I+1,J+1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J+1,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J-1).GT.0) THEN
|
|
IF (IND(I+1,J-1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J-1,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J+1).LE.NY) THEN
|
|
IF (IND(I-1,J+1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J+1,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J-1).GT.0) THEN
|
|
IF (IND(I-1,J-1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J-1,L)=NCC+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
C
|
|
C 26-CONNECTIVITY
|
|
C
|
|
IF (ICON.GT.18) THEN
|
|
IF ((I-1).GT.0.AND.(J-1).GT.0.AND.(L-1).GT.0) THEN
|
|
IF (IND(I-1,J-1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J-1,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J-1).GT.0.AND.(L-1).GT.0) THEN
|
|
IF (IND(I+1,J-1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J-1,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J+1).LE.NY.AND.(L-1).GT.0) THEN
|
|
IF (IND(I-1,J+1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J+1,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J+1).LE.NY.AND.(L-1).GT.0) THEN
|
|
IF (IND(I+1,J+1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J+1,L-1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J-1).GT.0.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I-1,J-1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J-1,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J-1).GT.0.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I+1,J-1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J-1,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J+1).LE.NY.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I-1,J+1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I-1,J+1,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J+1).LE.NY.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I+1,J+1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) IND(I+1,J+1,L+1)=NCC+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
69 CONTINUE
|
|
41 CONTINUE
|
|
40 CONTINUE
|
|
C
|
|
62 NNN=0
|
|
DO 60 I=1,NX
|
|
DO 61 J=1,NY
|
|
DO 70 L=1,NZ
|
|
C
|
|
C 6-CONNECTIVITY
|
|
C
|
|
IF ((I-1).GT.0) THEN
|
|
IF (IND(I-1,J,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I-1,J,L)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF (I+1.LE.NX) THEN
|
|
IF (IND(I+1,J,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I+1,J,L)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF (J-1.GT.0) THEN
|
|
IF (IND(I,J-1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I,J-1,L)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF (J+1.LE.NY) THEN
|
|
IF (IND(I,J+1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I,J+1,L)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF (L-1.GT.0) THEN
|
|
IF (IND(I,J,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I,J,L-1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF (L+1.LE.NZ) THEN
|
|
IF (IND(I,J,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I,J,L+1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
C
|
|
C 18-CONNECTIVITY
|
|
C
|
|
IF (ICON.GT.6) THEN
|
|
IF ((J-1).GT.0.AND.(L-1).GT.0) THEN
|
|
IF (IND(I,J-1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I,J-1,L-1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((J+1).LE.NY.AND.(L-1).GT.0) THEN
|
|
IF (IND(I,J+1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I,J+1,L-1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((J-1).GT.0.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I,J-1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I,J-1,L+1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((J+1).LE.NY.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I,J+1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I,J+1,L+1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(L-1).GT.0) THEN
|
|
IF (IND(I-1,J,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I-1,J,L-1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(L-1).GT.0) THEN
|
|
IF (IND(I+1,J,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I+1,J,L-1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I-1,J,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I-1,J,L+1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I+1,J,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I+1,J,L+1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J+1).LE.NY) THEN
|
|
IF (IND(I+1,J+1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I+1,J+1,L)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J-1).GT.0) THEN
|
|
IF (IND(I+1,J-1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I+1,J-1,L)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J+1).LE.NY) THEN
|
|
IF (IND(I-1,J+1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I-1,J+1,L)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J-1).GT.0) THEN
|
|
IF (IND(I-1,J-1,L).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I-1,J-1,L)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
END IF
|
|
C
|
|
C 26-CONNECTIVITY
|
|
C
|
|
IF (ICON.GT.18) THEN
|
|
IF ((I-1).GT.0.AND.(J-1).GT.0.AND.(L-1).GT.0) THEN
|
|
IF (IND(I-1,J-1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I-1,J-1,L-1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J-1).GT.0.AND.(L-1).GT.0) THEN
|
|
IF (IND(I+1,J-1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I+1,J-1,L-1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J+1).LE.NY.AND.(L-1).GT.0) THEN
|
|
IF (IND(I-1,J+1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I-1,J+1,L-1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J+1).LE.NY.AND.(L-1).GT.0) THEN
|
|
IF (IND(I+1,J+1,L-1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I+1,J+1,L-1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J-1).GT.0.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I-1,J-1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I-1,J-1,L+1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J-1).GT.0.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I+1,J-1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I+1,J-1,L+1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I-1).GT.0.AND.(J+1).LE.NY.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I-1,J+1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I-1,J+1,L+1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF ((I+1).LE.NX.AND.(J+1).LE.NY.AND.(L+1).LE.NZ) THEN
|
|
IF (IND(I+1,J+1,L+1).EQ.1) THEN
|
|
IF (IND(I,J,L).EQ.NCC+1) THEN
|
|
IND(I+1,J+1,L+1)=NCC+1
|
|
NNN=NNN+1
|
|
END IF
|
|
END IF
|
|
END IF
|
|
END IF
|
|
70 CONTINUE
|
|
61 CONTINUE
|
|
60 CONTINUE
|
|
IF (NNN.GT.0) GOTO 62
|
|
GOTO 5
|
|
C
|
|
C THE CONNECTED COMPONENT IS THE COMPONENT WITH VALUES
|
|
C IA(I,J,L)=NCC, WE SUBSTRACT 1 FROM THE LEBEL
|
|
C
|
|
20 DO 50 I=1,NX
|
|
DO 51 J=1,NY
|
|
DO 71 L=1,NZ
|
|
IF (IND(I,J,L).NE.0) IND(I,J,L)=IND(I,J,L)-1
|
|
71 CONTINUE
|
|
51 CONTINUE
|
|
50 CONTINUE
|
|
C
|
|
C STATISTICS ON CONNECTED COMPONENTS
|
|
C
|
|
ISME=0
|
|
IXME=0
|
|
IYME=0
|
|
IZME=0
|
|
ISMI=NX*NY*NZ
|
|
ISMA=1
|
|
IXMI=NX
|
|
IXMA=1
|
|
IYMI=NY
|
|
IYMA=1
|
|
IZMI=NZ
|
|
IZMA=1
|
|
IPX=0
|
|
IPY=0
|
|
IPZ=0
|
|
WRITE (6,*)
|
|
WRITE (6,*)'NUMBER OF CONNECTED COMPONENTS: ',NCC
|
|
DO 14 III=1,NCC
|
|
IS=0
|
|
IX1=NX
|
|
IY1=NY
|
|
IZ1=NZ
|
|
IX2=1
|
|
IY2=1
|
|
IZ2=1
|
|
DO 11 I=1,NX
|
|
DO 12 J=1,NY
|
|
DO 72 L=1,NZ
|
|
IF (IND(I,J,L).EQ.III) THEN
|
|
IS=IS+1
|
|
IF (I.LT.IX1) IX1=I
|
|
IF (I.GT.IX2) IX2=I
|
|
IF (J.LT.IY1) IY1=J
|
|
IF (J.GT.IY2) IY2=J
|
|
IF (L.LT.IZ1) IZ1=L
|
|
IF (L.GT.IZ2) IZ2=L
|
|
END IF
|
|
72 CONTINUE
|
|
12 CONTINUE
|
|
11 CONTINUE
|
|
|
|
IXSI=IX2-IX1+1
|
|
IYSI=IY2-IY1+1
|
|
IZSI=IZ2-IZ1+1
|
|
ISME=ISME+IS
|
|
IXME=IXME+IXSI
|
|
IYME=IYME+IYSI
|
|
IZME=IZME+IZSI
|
|
IF (IS.LT.ISMI) ISMI=IS
|
|
IF (IS.GT.ISMA) THEN
|
|
ISMA=IS
|
|
ICOM=III
|
|
END IF
|
|
|
|
IF (IXSI.LT.IXMI) IXMI=IXSI
|
|
IF (IXSI.GT.IXMA) IXMA=IXSI
|
|
IF (IYSI.LT.IYMI) IYMI=IYSI
|
|
IF (IYSI.GT.IYMA) IYMA=IYSI
|
|
IF (IZSI.LT.IZMI) IZMI=IZSI
|
|
IF (IZSI.GT.IZMA) IZMA=IZSI
|
|
IF (IXSI.EQ.NX) IPX=IPX+1
|
|
IF (IYSI.EQ.NY) IPY=IPY+1
|
|
IF (IZSI.EQ.NZ) IPZ=IPZ+1
|
|
C--------------------------armo la gamma renard, sumo los cuadrados de los elementos de cada cluster, fui dividiendo por np para no quil
|
|
ZTEMP=FLOAT(IS)/FLOAT(JPHA)
|
|
ZGAMMA=ZGAMMA+ZTEMP*ZTEMP
|
|
C WRITE (6,*)'ZGAMMA1 ',ZSUMA
|
|
C----------------------
|
|
14 CONTINUE
|
|
C
|
|
C -----------------------------------------------------------OUTPUT 1
|
|
C
|
|
C OPEN (1,FILE=COUT)
|
|
C IF (ICON.EQ.6) WRITE (1,430) CPAR
|
|
C IF (ICON.EQ.18) WRITE (1,440) CPAR
|
|
C IF (ICON.EQ.26) WRITE (1,450) CPAR
|
|
C WRITE (1,110) CINP
|
|
C WRITE (1,120) NX
|
|
C WRITE (1,130) NY
|
|
C WRITE (1,131) NZ
|
|
C WRITE (1,140) DX
|
|
C WRITE (1,150) DY
|
|
C WRITE (1,151) DZ
|
|
C WRITE (1,160) IPHA,PPHA
|
|
C WRITE (1,170) NCC
|
|
RSME=DX*DY*DZ*ISME/FLOAT(NCC)
|
|
RISM=FLOAT(ISME)/NCC
|
|
RTOT=RISM/JPHA
|
|
C WRITE (1,175)
|
|
C WRITE (1,180) RISM
|
|
C WRITE (1,190) RSME
|
|
C WRITE (1,200) IPHA,RTOT
|
|
RXME=FLOAT(IXME)/NCC
|
|
RYME=FLOAT(IYME)/NCC
|
|
RZME=FLOAT(IZME)/NCC
|
|
C WRITE (1,210) RXME
|
|
C WRITE (1,240) RYME
|
|
C WRITE (1,241) RZME
|
|
C WRITE (1,177)
|
|
C WRITE (1,235) ICOM
|
|
C WRITE (1,236) ISMA
|
|
RSIZ=FLOAT(ISMA)/JPHA
|
|
|
|
C WRITE (1,237) IPHA,RSIZ
|
|
C WRITE (1,230) IXMA
|
|
C WRITE (1,260) IYMA
|
|
C WRITE (1,261) IZMA
|
|
C WRITE (1,176)
|
|
C WRITE (1,238) ISMI
|
|
C WRITE (1,220) IXMI
|
|
C WRITE (1,250) IYMI
|
|
C WRITE (1,251) IZMI
|
|
C WRITE (1,178)
|
|
C WRITE (1,270) IPX cuantos clusters percolan en x
|
|
C WRITE (1,280) IPY
|
|
C WRITE (1,281) IPZ
|
|
C WRITE (1,290) COU2
|
|
C WRITE (1,295) COU3
|
|
C
|
|
C CONNECTIVITY FUNCTION
|
|
C CALCULATED FOR N2 LAGS
|
|
C C NP4(I)=0
|
|
C C NPCX(I)=0
|
|
C C NPCY(I)=0
|
|
C C NPCZ(I)=0
|
|
C C NPC1(I)=0
|
|
C C NPC2(I)=0
|
|
C C NP
|
|
C C DO 595 I=1,N2
|
|
C C NPX(I)=0
|
|
C C NP Y(I)=0
|
|
C C NPZ(I)=0
|
|
C C NP1(I)=0
|
|
C C NP2(I)=0
|
|
C C NP3(I)=0
|
|
C C3(I)=0
|
|
C C NPC4(I)=0
|
|
C 595 CONTINUE
|
|
C C DO 30 I=1,NX
|
|
C C DO 31 J=1,NY
|
|
C C DO 73 L=1,NZ
|
|
C C I1=IND(I,J,L)
|
|
C IF (I1.EQ.0) GOTO 73
|
|
C DO 32 K=1,N2
|
|
C
|
|
C ALONG X
|
|
C
|
|
C IF (I+K.LE.NX) THEN
|
|
C IF (IND(I+K,J,L).NE.0) THEN
|
|
C NPX(K)=NPX(K)+1
|
|
C IF (I1.EQ.IND(I+K,J,L)) NPCX(K)=NPCX(K)+1
|
|
C END IF
|
|
C END IF
|
|
C
|
|
C C ALONG Y
|
|
C C
|
|
C IF (J+K.LE.NY) THEN
|
|
C IF (IND(I,J+K,L).NE.0) THEN
|
|
C NPY(K)=NPY(K)+1
|
|
C IF (I1.EQ.IND(I,J+K,L)) NPCY(K)=NPCY(K)+1
|
|
C END IF
|
|
C END IF
|
|
C C
|
|
C C ALONG Z
|
|
C C
|
|
C IF (L+K.LE.NZ) THEN
|
|
C IF (IND(I,J,L+K).NE.0) THEN
|
|
C NPZ(K)=NPZ(K)+1
|
|
C IF (I1.EQ.IND(I,J,L+K)) NPCZ(K)=NPCZ(K)+1
|
|
C END IF
|
|
C END IF
|
|
C C
|
|
C C ALONG 3D DIAGONAL 1 (I+, J+, K+)
|
|
C C
|
|
C IF ((J+K.LE.NY).AND.(I+K.LE.NX).AND.(L+K.LE.NZ)) THEN
|
|
C IF (IND(I+K,J+K,L+K).NE.0) THEN
|
|
C NP1(K)=NP1(K)+1
|
|
C IF (I1.EQ.IND(I+K,J+K,L+K)) NPC1(K)=NPC1(K)+1
|
|
C END IF
|
|
C END IF
|
|
C C
|
|
C C ALONG 3D DIAGONAL 2 (I+, J-, K+)
|
|
C C
|
|
C IF ((J-K.GT.0).AND.(I+K.LE.NX).AND.(L+K.LE.NZ)) THEN
|
|
C IF (IND(I+K,J-K,L+K).NE.0) THEN
|
|
C NP2(K)=NP2(K)+1
|
|
C IF (I1.EQ.IND(I+K,J-K,L+K)) NPC2(K)=NPC2(K)+1
|
|
C END IF
|
|
C END IF
|
|
C C
|
|
C C ALONG 3D DIAGONAL 3 (I-, J-, K+)
|
|
C C
|
|
C IF ((J-K.GT.0).AND.(I-K.GT.0).AND.(L+K.LE.NZ)) THEN
|
|
C IF (IND(I-K,J-K,L+K).NE.0) THEN
|
|
C NP3(K)=NP3(K)+1
|
|
C IF (I1.EQ.IND(I-K,J-K,L+K)) NPC3(K)=NPC3(K)+1
|
|
C END IF
|
|
C END IF
|
|
C C
|
|
C C ALONG 3D DIAGONAL 4 (I-, J+, K+)
|
|
C C
|
|
C IF ((J+K.LE.NY).AND.(I-K.GT.0).AND.(L+K.LE.NZ)) THEN
|
|
C IF (IND(I-K,J+K,L+K).NE.0) THEN
|
|
C NP4(K)=NP4(K)+1
|
|
C IF (I1.EQ.IND(I-K,J+K,L+K)) NPC4(K)=NPC4(K)+1
|
|
C END IF
|
|
C END IF
|
|
C C
|
|
C C FIRST DIAGONAL IN THE PLANE X-Y
|
|
C C
|
|
C IF ((I+K.LE.NX).AND.(J+K.LE.NY)) THEN
|
|
C IF (IND(I+K,J+K,L).NE.0) THEN
|
|
C NXY1(K)=NXY1(K)+1
|
|
C IF (I1.EQ.IND(I+K,J+K,L)) NCXY1(K)=NCXY1(K)+1
|
|
C END IF
|
|
C END IF
|
|
C C
|
|
C C SECOND DIAGONAL IN THE PLANE X-Y
|
|
C C
|
|
C IF ((I+K.LE.NX).AND.(J-K.GT.0)) THEN
|
|
C IF (IND(I+K,J-K,L).NE.0) THEN
|
|
C NXY2(K)=NXY2(K)+1
|
|
C IF (I1.EQ.IND(I+K,J-K,L)) NCXY2(K)=NCXY2(K)+1
|
|
C END IF
|
|
C END IF
|
|
C C
|
|
C C FIRST DIAGONAL IN THE PLANE X-Z
|
|
C C
|
|
C IF ((I+K.LE.NX).AND.(L+K.LE.NZ)) THEN
|
|
C IF (IND(I+K,J,L+K).NE.0) THEN
|
|
C NXZ1(K)=NXZ1(K)+1
|
|
C IF (I1.EQ.IND(I+K,J,L+K)) NCXZ1(K)=NCXZ1(K)+1
|
|
C END IF
|
|
C END IF
|
|
C C
|
|
C C SECOND DIAGONAL IN THE PLANE X-Z
|
|
C C
|
|
C IF ((I+K.LE.NX).AND.(L-K.GT.0)) THEN
|
|
C IF (IND(I+K,J,L-K).NE.0) THEN
|
|
C NXZ2(K)=NXZ2(K)+1
|
|
C IF (I1.EQ.IND(I+K,J,L-K)) NCXZ2(K)=NCXZ2(K)+1
|
|
C END IF
|
|
C END IF
|
|
C C
|
|
C C FIRST DIAGONAL IN THE PLANE Y-Z
|
|
C C
|
|
C IF ((J+K.LE.NY).AND.(L+K.LE.NZ)) THEN
|
|
C IF (IND(I,J+K,L+K).NE.0) THEN
|
|
C NYZ1(K)=NYZ1(K)+1
|
|
C IF (I1.EQ.IND(I,J+K,L+K)) NCYZ1(K)=NCYZ1(K)+1
|
|
C END IF
|
|
C END IF
|
|
C C
|
|
C C SECOND DIAGONAL IN THE PLANE Y-Z
|
|
C C
|
|
C IF ((J+K.LE.NY).AND.(L-K.GT.0)) THEN
|
|
C IF (IND(I,J+K,L-K).NE.0) THEN
|
|
C NYZ2(K)=NYZ2(K)+1
|
|
C IF (I1.EQ.IND(I,J+K,L-K)) NCYZ2(K)=NCYZ2(K)+1
|
|
C END IF
|
|
C END IF
|
|
C32 CONTINUE
|
|
C73 CONTINUE
|
|
C31 CONTINUE
|
|
C30 CONTINUE
|
|
C aca calcula con func y la ----le saque toda la escritura al archivo de estadisticas y solo calcu 1 func conec
|
|
C WRITE (1,300)
|
|
C ZACUMCC=0.0
|
|
C DO 33 I=1,N2
|
|
C CCFU(I,1)=FLOAT(NPCX(I))/AMAX0(1,NPX(I))
|
|
C ZACUMCC=ZACUMCC+CCFU(I,1)
|
|
C WRITE (1,310) I*DX,CCFU(I,1),NPCX(I),NPX(I)-----------------------------------------------
|
|
C33 CONTINUE
|
|
C WRITE (1,320)
|
|
C DO 34 I=1,N2
|
|
C CCFU(I,2)=FLOAT(NPCY(I))/AMAX0(1,NPY(I))
|
|
C WRITE (1,310) I*DY,CCFU(I,2),NPCY(I),NPY(I)
|
|
C34 CONTINUE
|
|
C WRITE (1,321)
|
|
C DO 36 I=1,N2
|
|
C CCFU(I,3)=FLOAT(NPCZ(I))/AMAX0(1,NPZ(I))
|
|
C WRITE (1,310) I*DZ,CCFU(I,3),NPCZ(I),NPZ(I)
|
|
C36 CONTINUE
|
|
DXYZ=SQRT(DX*DX+DY*DY+DZ*DZ)
|
|
DXY=SQRT(DX*DX+DY*DY)
|
|
DXZ=SQRT(DX*DX+DZ*DZ)
|
|
DYZ=SQRT(DY*DY+DZ*DZ)
|
|
C WRITE (1,322)
|
|
C DO 37 I=1,N2
|
|
C CCFU(I,4)=FLOAT(NPC1(I))/AMAX0(1,NP1(I))
|
|
C WRITE (1,310) I*DXYZ,CCFU(I,4),NPC1(I),NP1(I)
|
|
C37 CONTINUE
|
|
C WRITE (1,323)
|
|
C DO 81 I=1,N2
|
|
C CCFU(I,5)=FLOAT(NPC2(I))/AMAX0(1,NP2(I))
|
|
C WRITE (1,310) I*DXYZ,CCFU(I,5),NPC2(I),NP2(I)
|
|
C81 CONTINUE
|
|
C WRITE (1,324)
|
|
C DO 82 I=1,N2
|
|
C CCFU(I,6)=FLOAT(NPC3(I))/AMAX0(1,NP3(I))
|
|
C WRITE (1,310) I*DXYZ,CCFU(I,6),NPC3(I),NP3(I)
|
|
C82 CONTINUE
|
|
C WRITE (1,325)
|
|
C DO 83 I=1,N2
|
|
C CCFU(I,7)=FLOAT(NPC4(I))/AMAX0(1,NP4(I))
|
|
C WRITE (1,310) I*DXYZ,CCFU(I,7),NPC4(I),NP4(I)
|
|
C83 CONTINUE
|
|
C WRITE (1,330)
|
|
C DO 35 I=1,N2
|
|
C CCFU(I,8)=(NPCX(I)+NPCY(I))/AMAX0(1,(NPX(I)+NPY(I)))
|
|
C WRITE (1,310) I*0.5*(DX+DY),CCFU(I,8),NPCX(I)+NPCY(I)
|
|
C * ,NPX(I)+NPY(I)
|
|
C35 CONTINUE
|
|
C WRITE (1,328)
|
|
C DO 84 I=1,N2
|
|
C CCFU(I,9)=(NPCX(I)+NPCY(I)+NPCZ(I))/AMAX0(1,(NPX(I)+NPY(I)
|
|
C * +NPZ(I)))
|
|
C WRITE (1,310) I*(DX+DY+DZ)/3.0,CCFU(I,9),NPCX(I)+NPCY(I)
|
|
C * +NPCZ(I),NPX(I)+NPY(I)+NPZ(I)
|
|
C84 CONTINUE
|
|
C WRITE (1,327)
|
|
C DO 38 I=1,N2
|
|
C CCFU(I,10)=(NPC1(I)+NPC2(I)+NPC3(I)+NPC4(I))
|
|
C * /AMAX0(1,(NP1(I)+NP2(I)+NP3(I)+NP4(I)))
|
|
C WRITE(1,310) I*DXYZ,CCFU(I,10),
|
|
C * NPC1(I)+NPC2(I)+NPC3(I)+NPC4(I),NP1(I)+NP2(I)+NP3(I)+NP4(I)
|
|
C38 CONTINUE
|
|
C WRITE (1,329)
|
|
C DO 91 I=1,N2
|
|
C CCFU(I,11)=FLOAT(NCXY1(I))/AMAX0(1,NXY1(I))
|
|
C WRITE (1,310) I*DXY,CCFU(I,11),NCXY1(I),NXY1(I)
|
|
C91 CONTINUE
|
|
C WRITE (1,331)
|
|
C DO 92 I=1,N2
|
|
C CCFU(I,12)=FLOAT(NCXY2(I))/AMAX0(1,NXY2(I))
|
|
C WRITE (1,310) I*DXY,CCFU(I,12),NCXY2(I),NXY2(I)
|
|
C92 CONTINUE
|
|
C WRITE (1,332)
|
|
C DO 93 I=1,N2
|
|
C CCFU(I,13)=FLOAT(NCXZ1(I))/AMAX0(1,NXZ1(I))
|
|
C WRITE (1,310) I*DXZ,CCFU(I,13),NCXZ1(I),NXZ1(I)
|
|
C93 CONTINUE
|
|
C WRITE (1,333)
|
|
C DO 94 I=1,N2
|
|
C CCFU(I,14)=FLOAT(NCXZ2(I))/AMAX0(1,NXZ2(I))
|
|
C WRITE (1,310) I*DXZ,CCFU(I,14),NCXZ2(I),NXZ2(I)
|
|
C94 CONTINUE
|
|
C WRITE (1,334)
|
|
C DO 95 I=1,N2
|
|
C CCFU(I,15)=FLOAT(NCYZ1(I))/AMAX0(1,NYZ1(I))
|
|
C WRITE (1,310) I*DYZ,CCFU(I,15),NCYZ1(I),NYZ1(I)
|
|
C95 CONTINUE
|
|
C WRITE (1,335)
|
|
C DO 96 I=1,N2
|
|
C CCFU(I,16)=FLOAT(NCYZ2(I))/AMAX0(1,NYZ2(I))
|
|
C WRITE (1,310) I*DYZ,CCFU(I,16),NCYZ2(I),NYZ2(I)
|
|
C96 CONTINUE
|
|
C CLOSE (1)
|
|
C --------------------aca abro archivo salida -------------------
|
|
c-------------------------------------------volale
|
|
VOLALE=FLOAT(ISMA)/FLOAT(IARE)
|
|
ZINTCC=ZGAMMA*FLOAT(JPHA)/FLOAT(NX*NY*NZ)
|
|
ZNCC=FLOAT(NCC)
|
|
ZIPZ=FLOAT(IPZ)
|
|
OPEN (1,FILE=DATALE)
|
|
C DO 555 I=1,N2
|
|
C WRITE (6,*) CCFU(I,1)
|
|
C IF (CCFU(I,1).LE.ZINVERSAE) THEN
|
|
C CONCAR=I
|
|
|
|
WRITE (6,*) ZINTCC
|
|
C WRITE (6,*) ZACUMCC
|
|
C WRITE (6,*) VOLALE
|
|
C WRITE (6,*) ZGAMMA
|
|
C EXIT
|
|
C END IF
|
|
C555 CONTINUE
|
|
WRITE (1,500) ZINTCC, VOLALE, ZGAMMA, ZIPZ, ZNCC, PPHA
|
|
C WRITE (1,500) CONCAR, ZACUMCC, VOLALE, ZGAMMA, ZNCC, ZIPX, PPHA
|
|
C WRITE (1,'(F8.5)') CONCAR
|
|
CLOSE (1)
|
|
C --------------------aca CIERRO archivo salida -----------------
|
|
|
|
|
|
C OUTPUT FILE WITH CONNECTED COMPONENTS
|
|
CC -----------------------------------------------------------OUTPUT 2
|
|
C OPEN (1,FILE=COU2)
|
|
C
|
|
C DO 15 I=1,NX
|
|
C DO 16 J=1,NY
|
|
C DO 85 L=1,NZ
|
|
C WRITE (1,*) IND(I,J,L)
|
|
C85 CONTINUE
|
|
C16 CONTINUE
|
|
C15 CONTINUE
|
|
C
|
|
C CLOSE (1)
|
|
C---------------------------------------------------------------
|
|
CLOSE (2)
|
|
C OPEN (1,FILE=COU3)
|
|
C DO 17 I=1,N2
|
|
C WRITE (1,*) I*DX,CCFU(I,1),NPCX(I),NPX(I)
|
|
C17 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 18 I=1,N2
|
|
C WRITE (1,*) I*DY,CCFU(I,2),NPCY(I),NPY(I)
|
|
C18 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 86 I=1,N2
|
|
C WRITE (1,*) I*DZ,CCFU(I,3),NPCZ(I),NPZ(I)
|
|
C86 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 19 I=1,N2
|
|
C WRITE (1,*) I*DXYZ,CCFU(I,4),NPC1(I),NP1(I)
|
|
C19 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 23 I=1,N2
|
|
C WRITE (1,*) I*DXYZ,CCFU(I,5),NPC2(I),NP2(I)
|
|
C23 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 87 I=1,N2
|
|
C WRITE (1,*) I*DXYZ,CCFU(I,6),NPC3(I),NP3(I)
|
|
C87 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 88 I=1,N2
|
|
C WRITE (1,*) I*DXYZ,CCFU(I,7),NPC4(I),NP4(I)
|
|
C88 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 21 I=1,N2
|
|
C WRITE (1,*) I*0.5*(DX+DY),CCFU(I,8),NPCX(I)+NPCY(I)
|
|
C * ,NPX(I)+NPY(I)
|
|
C21 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 89 I=1,N2
|
|
C WRITE (1,*) I*(DX+DY+DZ)/3.0,CCFU(I,9),NPCX(I)+NPCY(I)
|
|
C * +NPCZ(I),NPX(I)+NPY(I)+NPZ(I)
|
|
C89 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 22 I=1,N2
|
|
C WRITE (1,*) I*DXYZ,CCFU(I,10),NPC1(I)+NPC2(I)+NPC3(I)+NPC4(I)
|
|
C * ,NP1(I)+NP2(I)+NP3(I)+NP4(I)
|
|
C22 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 111 I=1,N2
|
|
C CCFU(I,11)=FLOAT(NCXY1(I))/AMAX0(1,NXY1(I))
|
|
C WRITE (1,*) I*DXY,CCFU(I,11),NCXY1(I),NXY1(I)
|
|
C111 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 112 I=1,N2
|
|
C CCFU(I,12)=FLOAT(NCXY2(I))/AMAX0(1,NXY2(I))
|
|
C WRITE (1,*) I*DXY,CCFU(I,12),NCXY2(I),NXY2(I)
|
|
C112 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 113 I=1,N2
|
|
C CCFU(I,13)=FLOAT(NCXZ1(I))/AMAX0(1,NXZ1(I))
|
|
C WRITE (1,*) I*DXZ,CCFU(I,13),NCXZ1(I),NXZ1(I)
|
|
C113 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 114 I=1,N2
|
|
C CCFU(I,14)=FLOAT(NCXZ2(I))/AMAX0(1,NXZ2(I))
|
|
C WRITE (1,*) I*DXZ,CCFU(I,14),NCXZ2(I),NXZ2(I)
|
|
C114 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 115 I=1,N2
|
|
C CCFU(I,15)=FLOAT(NCYZ1(I))/AMAX0(1,NYZ1(I))
|
|
C WRITE (1,*) I*DYZ,CCFU(I,15),NCYZ1(I),NYZ1(I)
|
|
C115 CONTINUE
|
|
C WRITE (1,*)
|
|
C DO 116 I=1,N2
|
|
C CCFU(I,16)=FLOAT(NCYZ2(I))/AMAX0(1,NYZ2(I))
|
|
C WRITE (1,*) I*DYZ,CCFU(I,16),NCYZ2(I),NYZ2(I)
|
|
C116 CONTINUE
|
|
C CLOSE (1)
|
|
C----------------------------------------------------------------
|
|
C WRITE (6,410) COUT
|
|
C WRITE (6,420) COU2
|
|
C WRITE (6,425) COU3
|
|
STOP
|
|
C
|
|
100 FORMAT (A)
|
|
110 FORMAT (1X,'INPUT INDICATOR FILE : ',A12)
|
|
120 FORMAT (1X,'NX : ',I6)
|
|
130 FORMAT (1X,'NY : ',I6)
|
|
131 FORMAT (1X,'NZ : ',I6)
|
|
140 FORMAT (1X,'DX : ',F10.3)
|
|
150 FORMAT (1X,'DY : ',F10.3)
|
|
151 FORMAT (1X,'DZ : ',F10.3)
|
|
160 FORMAT (1X,'PROPORTION OF FACIES ',I1,' : ',F10.4)
|
|
170 FORMAT (/1X,'CONNECTED COMPONENTS STATISTICS'//
|
|
* /1X,'NUMBER OF CONNECTED COMPONENTS : ',I6)
|
|
175 FORMAT (/1X,'AVERAGES'/1X,8('='))
|
|
176 FORMAT (/1X,'MINIMA'/1X,6('='))
|
|
177 FORMAT (/1X,'MAXIMA'/1X,6('='))
|
|
178 FORMAT (/1X,'PERCOLATION'/1X,11('='))
|
|
180 FORMAT (1X,'MEAN SIZE IN PIXELS : ',F10.4)
|
|
190 FORMAT (1X,'MEAN SIZE REAL UNITS : ',F12.4)
|
|
200 FORMAT (1X,'MEAN SIZE RELATIVE TO TOTAL AREA OF FACIES ',I1,
|
|
* ' : ',F10.4)
|
|
210 FORMAT (1X,'MEAN LENGTH ALONG X (IN PIXELS) : ',F10.4)
|
|
220 FORMAT (1X,'MINIMUM LENGTH ALONG X (IN PIXELS) : ',I6)
|
|
230 FORMAT (1X,'MAXIMUM LENGTH ALONG X (IN PIXELS) : ',I6)
|
|
235 FORMAT (1X,'THE LARGEST COMPONENT IS NUMBER : ',I6)
|
|
236 FORMAT (1X,'WITH MAXIMUM SIZE IN PIXELS : ',I6)
|
|
237 FORMAT (1X,'AND RELATIVE TO TOTAL AREA OF FACIES '
|
|
* ,I1,' : ',F10.4)
|
|
238 FORMAT (1X,'SIZE IN PIXELS OF SMALLEST COMPONENT : ',I6)
|
|
240 FORMAT (1X,'MEAN LENGTH ALONG Y (IN PIXELS) : ',F10.4)
|
|
241 FORMAT (1X,'MEAN LENGTH ALONG Z (IN PIXELS) : ',F10.4)
|
|
250 FORMAT (1X,'MIMIMUN LENGTH ALONG Y (IN PIXELS) : ',I6)
|
|
260 FORMAT (1X,'MAXIMUM LENGTH ALONG Y (IN PIXELS) : ',I6)
|
|
251 FORMAT (1X,'MIMIMUN LENGTH ALONG Z (IN PIXELS) : ',I6)
|
|
261 FORMAT (1X,'MAXIMUM LENGTH ALONG Z (IN PIXELS) : ',I6)
|
|
|
|
270 FORMAT (1X,'NUMBER OF PERCOLATING COMPONENTS IN X : ',I6)
|
|
280 FORMAT (1X,'NUMBER OF PERCOLATING COMPONENTS IN Y : ',I6)
|
|
281 FORMAT (1X,'NUMBER OF PERCOLATING COMPONENTS IN Z : ',I6)
|
|
290 FORMAT (/1X,'OUTPUT FILE WITH CONNECTED COMPONENTS : ',A12)
|
|
295 FORMAT (/1X,'OUTPUT FILE WITH CONNECTIVIY FUNCTION : ',A12)
|
|
300 FORMAT (/1X,'CONNECTIVITY FUNCTION'/1X,21('=')
|
|
* //1X,'ALONG THE X DIRECTION (1,0,0)')
|
|
310 FORMAT (F10.3,F12.6,2I12)
|
|
320 FORMAT (/1X,'ALONG THE Y DIRECTION (0,1,0)')
|
|
321 FORMAT (/1X,'ALONG THE Z DIRECTION (0,0,1)')
|
|
322 FORMAT (/1X,'ALONG THE FIRST 3D DIAGONAL (1,1,1)')
|
|
323 FORMAT (/1X,'ALONG THE SECOND 3D DIAGONAL (1,-1,1)')
|
|
324 FORMAT (/1X,'ALONG THE THIRD 3D DIAGONAL (-1,-1,1)')
|
|
325 FORMAT (/1X,'ALONG THE FOURTH 3D DIAGONAL (-1,1,1)')
|
|
327 FORMAT (/1X,'AVERAGE ALONG THE 3D DIAGONALS')
|
|
330 FORMAT (/1X,'AVERAGE ALONG X AND Y')
|
|
328 FORMAT (/1X,'AVERAGE ALONG X, Y AND Z')
|
|
329 FORMAT (/1X,'FIRST DIAGONAL ON THE X-Y PLANE (1,1,0)')
|
|
331 FORMAT (/1X,'SECOND DIAGONAL ON THE X-Y PLANE (1,-1,0')
|
|
332 FORMAT (/1X,'FIRST DIAGONAL ON THE X-Z PLANE (1,0,1)')
|
|
333 FORMAT (/1X,'SECOND DIAGONAL ON THE X-Z PLANE (1,0,-1)')
|
|
334 FORMAT (/1X,'FIRST DIAGONAL ON THE Y-Z PLANE (0,1,1)')
|
|
335 FORMAT (/1X,'SECOND DIAGONAL ON THE Y-Z PLANE (0,1,-1)')
|
|
400 FORMAT (25(/),1X,'CONNEC3D PROGRAM VER. 1.0'/1X,27('=')///
|
|
* 1X,'INPUT PARAMETER FILE ---> ',$)
|
|
410 FORMAT (/1X,'OUTPUT FILE WITH STATISTICS AND CONNECTIVITY '
|
|
* 'FUNCTION: ',A12)
|
|
420 FORMAT (/1X,'OUTPUT FILE WITH CONNECTED COMPONENTS: ',A12)
|
|
425 FORMAT (/1X,'OUTPUT FILE WITH CONNECTIVITY FUNCTION: ',A12)
|
|
430 FORMAT (1X,'OUTPUT RESULTS OF CONNEC3D'//1X'6-CONNECTIVITY'
|
|
* ' ANALYSIS'/1X,'PARAMETER FILE WAS : ',A12//)
|
|
440 FORMAT (1X,'OUTPUT RESULTS OF CONNEC3D'//1X'18-CONNECTIVITY'
|
|
* ' ANALYSIS'/1X,'PARAMETER FILE WAS : ',A12//)
|
|
450 FORMAT (1X,'OUTPUT RESULTS OF CONNEC3D'//1X'26-CONNECTIVITY'
|
|
* ' ANALYSIS'/1X,'PARAMETER FILE WAS : ',A12//)
|
|
C-----agregue este format concar (cuando cae abajo 1/e), zacum (integral cc),volale (vol largest cluster / vol tot),gamma,ppha
|
|
C- WRITE (1,500) CONCAR, VOLALE, ZGAMMA, ZIPZ, ZNCC, PPHA
|
|
500 FORMAT (1X,F8.7,' ',F8.7,' ',F8.7,' ',F8.2,' ',F8.2,' ',F8.5)
|
|
C500 FORMAT (1X,F8.2,' ',F8.5,' ',F8.5,' ',F8.7,' ',F8.2,' ',F8.5)
|
|
END
|