Question: C * * * * * * * * * * * * * * * * * * * * * * * *

C ********************************************************************************
C
C CO2 Injection Well Simulator Final Version (4/4/2024)
C
C ********************************************************************************
DIMENSION D(100),TF(100),TIME(100),DEN(100,100),VIS(100,100)
DIMENSION V(100,100),P(100,100),T(100,100),SH(100,100)
OPEN(2,FILE='Resulpm.txt',STATUS='UNKNOWN')
OPEN(3,FILE='Resultm.txt',STATUS='UNKNOWN')
C
C Parameters definition: Injection pressure (MPa) and temperature (C),formation surface temperature (C),
C geothermal gradient (C/100m),well depth (m), injection rate (m3/min), tubing internal diameter (m),
C heat transfer coefficient (W/(m2.C)),tubing section area (m2), velocity (m/s), element length (m),
C number of elements, time step size (s), specific heat (J/(kg.C))
C
C In the matrices, first dimension is depth and the second time
PINJ=80.
TINJ=-20.
TS=24.
GG=2.95/100
WD=2800
QM=4.0
DI=0.076
U=100.
A=3.1416*DI**2/4
VI=QM/(A*60)
DX=50.
N=WD/DX
DT=3
TIME(1)=0.
C Setting grid depths and temperatures
Do 10 I=1,N+1
D(I)=DX*(I-1)
TF(I)=TS+GG*D(I)
10 Continue
C Defining the initial conditions
P(1,1)=PINJ
T(1,1)=TS
V(1,1)=VI
Call PROPERTIES(P(1,1),T(1,1),DEN(1,1),VIS(1,1),SH(1,1))
Do 40 I=1,N+1
PA=P(1,1)
TA=T(1,1)
30 Call PROPERTIES(PA,TA,DEN(I+1,1),VIS(I+1,1),SH(I+1,1))
DENA=(DEN(I,1)+DEN(I+1,1))/2
VISA=(VIS(I,1)+VIS(I+1,1))/2
C Mass balance equation
V(I+1,1)=V(I,1)*DEN(I,1)/DEN(I+1,1)
VA=(V(I,1)+V(I+1,1))/2
C Momentun balance equation
Call FRICG(VA,VISA,DI,0.,DENA,GFP)
GPH=9.81*DENA/1000000.
DP=(GPH-GFP)*DX
P(I+1,1)=P(I,1)+DP
####PLEASE WRITE PYTHON CODE FOR BELOW
###I have a Fortran code that I need to convert to python. Please do not Use CHATGPT or AI tools, I need only code with output...
C Heat Transfer equation
A1=A*DEN(I+1,1)*V(I+1,1)*SH(I+1,1)/DX
B1=3.1416*U*DI
T(I+1,1)=(A1*T(I,1)+B1*TF(I+1))/(A1+B1)
If(Abs(P(I+1,1)-PA).LT.0.1.and.Abs(T(I+1,1)-TA).LT.0.1)goto 50
PA=P(I+1,1)
TA=T(I+1,1)
Goto 30
50 Write(*,*)D(I),P(I,1),T(I,1),TF(I)
40 Continue
C Time loop
Do 60 J=2,90
TIME(J)=TIME(J-1)+DT/60.
P(1,J)=PINJ
T(1,J)=TINJ
V(1,J)=VI
Call PROPERTIES(P(1,J),T(1,J),DEN(1,J),VIS(1,J),SH(1,J))
DO 45 I=1,N+1
PA=P(1,J)
TA=T(1,J)
35 Call PROPERTIES(PA,TA,DEN(I+1,J),VIS(I+1,J),SH(I+1,J))
C Mass balance equation
V(I+1,J)=V(I,J)*DEN(I,J)/DEN(I+1,J)
C Call Velc(DEN(I,J-1),DEN(I+1,J-1),DEN(I,J),DEN(I+1,J),V(I,J-1),V(I+1,J-1),V(I,J),DX,DT,V(I+1,J))
C Momentun balance equation
DENA=(DEN(I,J)+DEN(I+1,J))/2
VISA=(VIS(I,J)+VIS(1,J))/2
VA=(V(I,J)+V(I+1,J))/2
Call FRICG(VA,VISA,DI,0.,DENA,GFP)
GPH=9.81*DENA/1000000.
DP=(GPH-GFP)*DX
P(I+1,J)=P(I,J)+DP
C Heat transfer equation
Call Temp(DEN(I,J-1),DEN(I+1,J-1),DEN(I,J),DEN(I+1,J),V(I,J-1),V(I+1,J-1),V(I,J),V(I+1,J),SH(I,J-1),
SH(I+1,J-1),SH(I,J),SH(I+1,J),T(I+1,J-1),T(I,J),TF(I+1),U,A,DI,DX,DT,T(I+1,J))
If(Abs(P(I+1,J)-PA).LT.0.1.and.Abs(T(I+1,J)-TA).LT.0.1)goto 55
PA

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!