Hi FJacq
Thanks for your reply.
#################################
This is the main file:
#################################
module workvar
implicit doubleprecision (A-H,O-Z)
Parameter N=100,
# Nstg=100,
# Rcte=8.3145
doubleprecision Psys,
# Tsysc,
# Tsys
Integer NC
Character(50) Simname,
# Compname(10)
dimension doubleprecision
# XIJ(N,Nstg)
dimension doubleprecision
# gamma(N),
# R(N),
# Q(N),
# A(N,N),
# Tao(N,N),
# cPsi(N),
# cPhi(N),
# Xcomp(N),
# cTermL(N),
# clngamcom(N),
# clngamres(N)
Parameter
# Z=10
endmodule workvar
c Begins the code
Program col_NEQM_Krishna
use workvar
Xcomp(1)=0.274
Xcomp(2)=0.1090
Xcomp(3)=1-(Xcomp(1)+Xcomp(2))
call openfiles
Call subread
call gammai
end program
subroutine subread
use workvar
call rdstar
read(100,*)Simname
call rdstar
read(100,*)NC
call rdstar
do i=1,NC
read(100,*)Compname(i)
end do
call rdstar
read(100,*)Psys
call rdstar
read(100,*)Tsysc
Tsys=Tsysc+273.15d0
call rdstar
do i=1,NC
read(100,*)index,R(i),Q(i)
end do
call rdstar
do i=1,nc
read(100,*)A(i,1),A(i,2),A(i,3)
end do
end subroutine subread
subroutine rdstar
character*1 ctest
do i1 = 1, 1000
read (100, '(a1)') ctest
if (ctest .ne. '*') goto 20
end do
20 backspace (100)
return
end
subroutine openfiles
open(100,file='X_Input001.txt') open(200,file='X_Output001.txt')
end
#################################
This is the subroutine:
#################################
Subroutine gammai
use workvar
implicit doubleprecision (A-H,O-Z)
Dimension sumpsitao1(N),sumpsitao2(N),sumpsitao3(N)
sumq=0.d0
sumr=0.d0
Do i=1,nc
sumq=sumq+Q(i)*Xcomp(i)
sumr=sumr+R(i)*Xcomp(i)
end do
Do i=1,nc
cPsi(i)=Q(i)*Xcomp(i)/sumq
cPhi(i)=R(i)*Xcomp(i)/sumr
end do
Do i=1,nc
cTermL(i)=(Z/2)*(R(i)-Q(i))-(R(i)-1.d0)
end do
do i=1,NC
do j=1,NC
Tao(i,j)=exp(-A(i,j)/(Rcte*tsys))
enddo
enddo
sumxl=0
do i=1,NC
sumxl=sumxl+xcomp(i)*cterml(i)
end do
do i=1,NC
term1=log(cphi(i)/xcomp(i))
term2=(z/2)*Q(i)*log(cpsi(i)/cphi(i))+cterml(i)
term3=-(cPhi(i)/xcomp(i))*sumxl
clngamcom(i)=term1+term2+term3
end do
do i=1,NC
sumpsitao1(i)=0
sumpsitao2(i)=0
sumpsitao3(i)=0
end do
do i=1,NC
do j=1,NC
sumpsitao1(i)=sumpsitao1(i)+cpsi(j)*tao(j,i)
end do
end do
do i=1,NC
do j=1,NC
do k=1,NC
sumpsitao3(k)=0
end do
do l=1,NC
sumpsitao3(l)=sumpsitao3(l)+cpsi(l)*tao(l,j)
end do
sumpsitao2(i)=sumpsitao2(i)+(cpsi(j)*tao(j,i)/sumpsitao3(j))
end do
end do
do i=1,NC
clngamres(i)=Q(i)*(1.d0-log(sumpsitao1(i))-sumpsitao2(i))
enddo
do i=1,NC
gamma(i)=exp(clngamres(i)+clngamcom(i))
enddo
do i=1,NC
write(*,*)'sumpsitao1',i,sumpsitao1(i)
end do
write(*,*)
do i=1,NC
write(*,*)'sumpsitao2',i,sumpsitao2(i)
end do
write(*,*)
do i=1,NC
write(*,*)'sumpsitao3',i,sumpsitao3(i)
end do
write(*,*)
do i=1,NC
write(*,*)'gamma',i,gamma(i)
end do
write(*,*)
endsubroutine
#################################
This is the input file (input.txt)
#################################
*======================================================================
*
* Name of simulation (Without spaces and slashes "/"):
*
*----------------------------------------------------------------------
Simulation-NEq-Distillation
*
*======================================================================
*
* Number of components.
*
*----------------------------------------------------------------------
3
*======================================================================
*
* Name of components (Without spaces and slashes "/"):
*
*----------------------------------------------------------------------
Acetone-[1]
Methanol-[2]
Water-[3]
*======================================================================
*
* System's Pressure [Pa].
*
*----------------------------------------------------------------------
101300
*======================================================================
*
* System's Temperature. [°C]
*
*----------------------------------------------------------------------
62.30d0
*======================================================================
*
* Parameters of UNIQUAC method.
*
*======================================================================
*
* Index R(I) Q(I)
*
*----------------------------------------------------------------------
1 2.5735d0 2.3360d0
2 1.4311d0 1.4320d0
3 0.9200d0 1.4000d0
*======================================================================
*
* Aij=(Uij-Uii)
*
*----------------------------------------------------------------------
00000.000 2122.249 4706.087
-673.605 0000.000 -1042.758
-394.757 6542.625 0000.000
#################################
And last but not least..this is the error!!
#################################
--------------------Configuration: teste_tips - Win32 Debug--------------------
Compiling Fortran...
D:\teste_tips\sub.for
D:\teste_tips\sub.for(103) : Error: This name has not been declared as an array. [GAMMA]
gamma(i)=exp(clngamres(i)+clngamcom(i))
--------^
Error executing df.exe.
teste_tips.exe - 1 error(s), 0 warning(s)
#################################
Notice that gamma has been declared in the module, but somehow it doesn't recognize it.
THANKS A LOT!!!