من به شدت نیازمند یاری سبزتان هستم......خیلی زود کمتر از 5 روز باید پروژه CFD رو آماده کنم ولی مشکل دارم.
من مشکلی در اجرای یک فایل فرترن دارم خواستم ببینم شما میتونید کمک کنید؟
من مشکلی در اجرای یک فایل فرترن دارم خواستم ببینم شما میتونید کمک کنید؟PROGRAM CFD_PROJECT2
IMPLICIT NONE
INTEGER::a,b,c,d,n,i,j,Alpha=7,L=1,t=25,Imesh,tmesh,a0=20,ts=10,Number,v=30
REAL::Fo,dx,dt
REAL,ALLOCATABLE::Temp
,
,U
,
Open(10,File="Temp_Distribution.dat")
PRINT*,"Which Project do you want? 1.Temperature distribution 2.Wave equation"
READ*,a
IF(a==1) then
PRINT*,"Please choose your DATA:"
PRINT*,"1.DELTA t=0.00125 sec & DELTA x=0.001 meter"
PRINT*,"2.DELTA t=0.01 sec & DELTA x=0.001 meter"
PRINT*,"3.DELTA t=0.001 sec & DELTA x=0.01 meter"
READ*,b
IF(b==1) then
dt=0.00125
dx=0.001
ELSE IF(b==2) then
dt=0.01
dx=0.001
ELSE IF(b==3) then
dt=0.001
dx=0.01
END IF
Imesh=L/dx
tmesh=t/dt
n=ts/dt
ALLOCATE(Temp(Imesh,tmesh))
DO j=0,Imesh
Temp(j,0)=300
END DO
DO i=1,tmesh
IF(i<n) then
Temp(0,i)=(a0)*(i*dt)
ELSE IF(i>=n) then
Temp(0,i)=200
END IF
END DO
PRINT*,"With which method you want to proceed? 1.FTCS 2.LASONEN"
READ*,c
IF(c==1) then
Fo=(Alpha*dt)/dx**2
IF(Fo>0.5) then
PRINT*,"The Problem is unstable,Please determine the number of repetition to show the Error increase:"
READ*,Number
DO i=0,Number
DO j=1,Imesh-1
Temp(j,i+1)=Alpha*(Temp(j-1,i)-2*Temp(j,i)+Temp(j+1,i))+Temp(j,i)
END DO
END DO
ELSE IF(Fo<=0.5) then
DO i=0,tmesh
DO j=1,Imesh-1
Temp(j,i+1)=Alpha*(Temp(j-1,i)-2*Temp(j,i)+Temp(j+1,i))+Temp(j,i)
END DO
END DO
DO i=1,tmesh
Temp(Imesh,i)=Temp(Imesh-1,i)
END DO
END IF
ELSE IF(c==2) then
END IF
ELSE IF(a==2) then
PRINT*,"Please choose your DATA:"
PRINT*,"1.DELTA t=0.002 sec & DELTA x=0.1 meter"
PRINT*,"2.DELTA t=0.001 sec & DELTA x=0.1 meter"
PRINT*,"3.DELTA t=0.0005 sec & DELTA x=0.1 meter"
READ*,d
IF(d==1) then
dt=0.002
dx=0.1
ELSE IF(d==2) then
dt=0.001
dx=0.1
ELSE IF(d==3) then
dt=0.0005
dx=0.1
END IF
END IF
END PROGRAM
این برنامه ای هستش که نوشتم ولی نمیدونم چرا تو اجرا با اشکال مواجه میشه؟! IMPLICIT NONE
INTEGER::a,b,c,d,n,i,j,Alpha=7,L=1,t=25,Imesh,tmesh,a0=20,ts=10,Number,v=30
REAL::Fo,dx,dt
REAL,ALLOCATABLE::Temp
,
,U
,
Open(10,File="Temp_Distribution.dat")
PRINT*,"Which Project do you want? 1.Temperature distribution 2.Wave equation"
READ*,a
IF(a==1) then
PRINT*,"Please choose your DATA:"
PRINT*,"1.DELTA t=0.00125 sec & DELTA x=0.001 meter"
PRINT*,"2.DELTA t=0.01 sec & DELTA x=0.001 meter"
PRINT*,"3.DELTA t=0.001 sec & DELTA x=0.01 meter"
READ*,b
IF(b==1) then
dt=0.00125
dx=0.001
ELSE IF(b==2) then
dt=0.01
dx=0.001
ELSE IF(b==3) then
dt=0.001
dx=0.01
END IF
Imesh=L/dx
tmesh=t/dt
n=ts/dt
ALLOCATE(Temp(Imesh,tmesh))
DO j=0,Imesh
Temp(j,0)=300
END DO
DO i=1,tmesh
IF(i<n) then
Temp(0,i)=(a0)*(i*dt)
ELSE IF(i>=n) then
Temp(0,i)=200
END IF
END DO
PRINT*,"With which method you want to proceed? 1.FTCS 2.LASONEN"
READ*,c
IF(c==1) then
Fo=(Alpha*dt)/dx**2
IF(Fo>0.5) then
PRINT*,"The Problem is unstable,Please determine the number of repetition to show the Error increase:"
READ*,Number
DO i=0,Number
DO j=1,Imesh-1
Temp(j,i+1)=Alpha*(Temp(j-1,i)-2*Temp(j,i)+Temp(j+1,i))+Temp(j,i)
END DO
END DO
ELSE IF(Fo<=0.5) then
DO i=0,tmesh
DO j=1,Imesh-1
Temp(j,i+1)=Alpha*(Temp(j-1,i)-2*Temp(j,i)+Temp(j+1,i))+Temp(j,i)
END DO
END DO
DO i=1,tmesh
Temp(Imesh,i)=Temp(Imesh-1,i)
END DO
END IF
ELSE IF(c==2) then
END IF
ELSE IF(a==2) then
PRINT*,"Please choose your DATA:"
PRINT*,"1.DELTA t=0.002 sec & DELTA x=0.1 meter"
PRINT*,"2.DELTA t=0.001 sec & DELTA x=0.1 meter"
PRINT*,"3.DELTA t=0.0005 sec & DELTA x=0.1 meter"
READ*,d
IF(d==1) then
dt=0.002
dx=0.1
ELSE IF(d==2) then
dt=0.001
dx=0.1
ELSE IF(d==3) then
dt=0.0005
dx=0.1
END IF
END IF
END PROGRAM
