Program Lennard2
Implicit None
Double Precision dt,e,sigma,x(20),y(20),vx(20),vy(20),tet(20),omeg(20),&
rad(20),mass(20)
Integer n,i,show
Character (LEN=15) :: files(20),files2(20)
Call Inserter (dt,e,sigma,x,y,vx,vy,tet,omeg,rad,mass,n,i,show)
Call Opener (n,i,files,files2)
End
Subroutine Opener (n,i,files,files2)
Implicit None
Integer n,i
Character (LEN=15) :: files(20),files2(20)
i=01
10 format (i2,A4)
20 format (i2,A7)
Open (Unit=500,File="uia.dat",Action='Write')
Open (Unit=501,File="duia.dat",Action='Write')
Do While (i .LE. n)
Write (500,10) i,'.dat'
Write (501,20) i,'mov.dat'
Write (*,*) 'First Loop'
i=i+1
EndDo
Close (Unit=500)
Close (Unit=501)
i=1
Open (Unit=500,File="uia.dat",Action='Read')
Open (Unit=501,File="duia.dat",Action='Read')
Do While (i .LE. n)
Read (500,*) files(i)
Read (501,*) files2(i)
Write (*,*) 'Second Loop'
i=i+1
EndDo
i=1
Do While (i .LE.n)
Open (Unit=i,File=files(i))
Open (Unit=i+n,File=files2(i))
Write (*,*) 'Third Loop'
i=i+1
EndDo
i=1
Do While (i .LE. n)
Write (i,*) i
Write (i+n,*) i+n
i=i+1
Write (*,*) 'Forth Loop'
EndDo
Write (*,*) 'Opener'
End
Subroutine Inserter (dt,e,sigma,x,y,vx,vy,tet,omeg,rad,mass,n,i,show)
Implicit None
Double Precision dt,e,sigma,x(20),y(20),vx(20),vy(20),tet(20),omeg(20),&
rad(20),mass(20)
Integer n,i,show
Write (*,*) 'Insert time step'
Read (*,*) dt
Write (*,*) 'Insert sigma (distance at which the inter-particle &
potential is zero)'
Read (*,*) sigma
Write (*,*) 'Insert epislon (depth of the potential well)'
Read (*,*) e
Write (*,*) 'Insert steps between output'
Read (*,*) show
200 Write (*,*) 'Insert how many particles (2~20)'
Read (*,*) n
If (n .GT. 20) then
Write (*,*) 'Invalid Input'
Go to 200
End If
If (n .LT. 2) then
Write (*,*) 'Invalid Input'
Go to 200
End If
i=1
Do While (i .LE. n)
Write (*,*) "Insert ",i," disk's mass"
Read (*,*) mass(i)
Write (*,*) "Insert ",i," disk's radius"
Read (*,*) rad(i)
Write (*,*) "Insert ",i," disk's initial vertical speed"
Read (*,*) vy(i)
Write (*,*) "Insert ",i," disk's initial horizontal speed"
Read (*,*) vx(i)
Write (*,*) "Insert ",i," disk's initial vertical position"
Read (*,*) y(i)
Write (*,*) "Insert ",i," disk's initial horizontal positon"
Read (*,*) x(i)
Write (*,*) "Insert ",i," disk's initial angular speed"
Read (*,*) omeg(i)
Write (*,*) "Insert ",i," disk's initial angular position"
Read (*,*) tet(i)
i=i+1
Write(*,*) 'Inserter'
EndDo
End