Вы находитесь на странице: 1из 7

!FTN95 application...

PROGRAM main

PARAMETER (IDM=100)

DIMENSION X(IDM,IDM), A(IDM,IDM), B(IDM),P(IDM),Z(IDM),AX(IDM),Y(IDM)

INTEGER:: H,J,I,K,N

REAL:: E,SUMA1,SUMA2,TOL,Z,AX,Y

print*, 'De cuantos bloques es tu yacimiento'

read*, N

print*, 'Ingresa las presiones iniciales'

do I=1,N

read(*,*)P(I)

end do

print*, 'Ingresa las longitudes en Y'

do I=1,N

read(*,*)Y(I)

end do

print*, 'Ingresa las longitudes en Z'

do I=1,N

read(*,*)Z(I)

end do

!Calculo de Areas

do I=1,N

ax(I)=Y(i)*Z(I)

end do

!real::Dy,Dx,Dz,Ct,Bo,Boo,Kx,por,V,Dt,Pi
!write(*,*) "Ingrese el valor de Dx"

!read(*,*)Dx

!write(*,*) "Ingrese el valor de Dy"

!read(*,*)Dy

!write(*,*) "Ingrese el valor de Dz"

!read(*,*)Dz

!write(*,*) "Ingrese el valor de DELTA DE TIEMPO Dt"

!read(*,*)Dt

!write(*,*) "Ingrese el valor de factor de volumen Bo"

!read(*,*)Bo

!write(*,*) "Ingrese el valor de factor de volumen Boo"

!read(*,*)Boo

!write(*,*) "Ingrese el valor de permeabilidad Kx"

!read(*,*)Kx

!write(*,*) "Ingrese el valor de viscosidad V"

!read(*,*)V

!write(*,*) "Ingrese el valor de compresibilidad Ct"

!read(*,*)Ct

!write(*,*) "Ingrese el valor de la porosidad"

!read(*,*)por

!write(*,*) "Ingrese el valor de la preson inial"

!read(*,*)pi

!________________introduccion manual de la ecuaciones Tx1+1/2 y contante___________!


!Ax=Dy*Dz

! Tx1=((0.001127*Ax*Kx)/(V*Bo*Dx))

!Vb=(Dx)*(Dy)*(Dz)

!Cte=((Vb*por*Ct)/(5.615*Boo*Dt))

!________________________________________________________________________________
_!

!write(*,*) "el valor del Ax es",Ax

!write(*,*) "el valor del volumen bruto es",Vb

!write(*,*) "el valor de la transmisibilidad es",Tx1

!write(*,*) "el valor de la constante es ",Cte

!write (*,*) " el valor de i", i

!write (*,*) " constante del tiempo ", C

! do i=1,n

!________________introduccion manual de la ecuaciones contante___________!

!wi=Tx1

!ei=Tx1

!ci=(cte+ei+wi)

!qi=-(qsc+cte*pi)
!________________________________________________________________________________
_!

!write(*,*) "el valor de ci es ",ci

!do j=1,m

!________________introduccion manual de la ecuaciones celda es___________!

!ei*p2-((cte)+ei+wi)*pi+wi*pi=qi1

!ei*p3-((cte)+ei+wi)*p2+wi*p2=qi2

!ei*p4-((cte)+ei+wi)*p3+wi*p3=qi3

!ei*p5-((cte)+ei+wi)*p4+wi*p4=qi4

!ei*p6-((cte)+ei+wi)*p5+wi*p5=qi5

!________________________________________________________________________________
_!

!write(*,*) "el valor de ci es ",c1

!write(*,*) "el valor de ci es ",c2

!write(*,*) "el valor de ci es ",c3

!write(*,*) "el valor de ci es ",c4

!write(*,*) "el valor de ci es ",c5

!do

!________________introduccion manual de la ecuaciones celda es___________!


PRINT*,''

PRINT*,'METODO ITERATIVO DE GAUSS SEIDEL PARA SISTEMAS LINEALES'

PRINT*,'======================================================='

PRINT*,''

!PRINT*,'INGRESAR ORDEN DEL SISTEMA'

!READ*,N

PRINT*,('',H=1,70)

PRINT*,'INGRESAR TOLERANCIA'

READ*,TOL

PRINT*,('',H=1,70)

PRINT*,'INGRESAR ELEMENTOS DE A'

DO I=1,N

READ(*,*)(A(I,J),J=1,N)

END DO

PRINT*,('',H=1,70)

PRINT*,'INGRESAR ELEMENTOS DE B'

DO I=1,N

READ (*,*)B(I)

END DO

PRINT*,('',I=1,70)

PRINT *,'INGRESAR VECTOR APROXIMADO X'

K=1

DO I=1,N

READ (*,*)X(K,I)

END DO

!CALCULO NUMERICO
10 DO I=1,N

SUMA1=0

DO J=1,N

IF (J.GT.I) THEN

SUMA1=SUMA1+A(I,J)*X(K,J)

END IF

END DO

SUMA2=0

DO J=1,N

IF(J.LT.I) THEN

SUMA2=SUMA2+A(I,J)*X(K+1,J)

END IF

END DO

X(K+1,I)=(B(I)-SUMA1-SUMA2)/A(I,I)

END DO

!CONVERGENCIA

DO I=1,N

E=ABS(X(K+1,I)-X(K,I))

IF(E.LE.TOL) THEN

ELSE

K=K+1

GO TO 10

END IF

END DO

PRINT*,('',H=1,70)

PRINT*,''
PRINT*,('*',I=1,79)

PRINT '(5X,"RESULTADOS COMPUTACIONALES")'

PRINT *,('*',I=1,79)

PRINT*,''

!PRESENTACION DE RESULTADOS

WRITE(*,*)'RESULTADO DE TODAS LAS ITERACIONES'

PRINT *,''

PRINT 100

100 FORMAT(4X,'ITERACION',5X,'X',16X,'Y')

DO I=1,K+1

WRITE(*,*) I-1,(X(I,J),J=1,N)

END DO

PRINT*,('',H=1,70)

PRINT*,'LA SOLUCION DEL SISTEMA ES:'

DO I=1,N

PRINT*,X(K+1,I)

END DO

PRINT *,('',H=1,70)

PRINT *,'CON UNA APPROACH DE:',E

PRINT*,('',H=1,70)

PRINT *,'EL NUMERO DE ITERACIONES ES:',K

PRINT*,('',H=1,70)

END PROGRAM main

Вам также может понравиться