2
!Programme leger de dynamique moleculaire. Juste por tester
3
!divers champs de force.
4
!Il est totalement non optimise, excessivement redondant et donc tres simple.
5
!(au moins avant d'etre ecrit)
7
!eneropt: option sur le calcul de l'energie
8
!npart: nombre de particules
9
!volume: volume du systeme
10
!nvec:nombre de vecteurs de base
11
!ndim: dimensionlite de l'espace
12
!posopt: type de reseau des positions initiales
13
!velopt: mode d'initialisation des vitesses
14
!cell(nvec,ndim): vecteurs de base de la boite de simulation
15
!pos(npart,ndim): position des particules
16
!vel(npart,ndim): vitesse des particules
17
!masse: masse des particules
21
!reall:unite reele de longueur
24
TYPE(options_type) :: options
25
INTEGER :: npart,nvec,ndim,ipas,npas,nimage
26
DOUBLE PRECISION :: ameam(2),volume,energy,masse,dt,dx,reall,rcut
27
DOUBLE PRECISION, ALLOCATABLE :: cell(:,:),pos(:,:),vel(:,:),forces(:,:)
29
Call readinput(ameam,npart,volume,masse,nvec,ndim,npas,dt,dx,reall,options,rcut)
30
ALLOCATE(cell(nvec,ndim),pos(npart,ndim),vel(npart,ndim),forces(npart,ndim))
31
!Creation de la maille de simulation
32
CALL inicell(cell,nvec,ndim)
34
CALL inipos(pos,npart,ndim,cell,nvec,options,rcut,reall,nimage)
36
CALL inivel(vel,npart,ndim,masse,reall,options)
38
Call forc(forces,npart,ndim,pos,cell,nvec,reall,dx,options,rcut,nimage)
40
Call ener(ameam,energy,pos,npart,vel,masse,ndim,cell,nvec,reall,options,rcut,nimage)
42
CALL testforce(ameam,pos,npart,ndim,dx,cell,nvec,reall,options,rcut,nimage)
43
!En avant (suivant Verlet des vitesses)
44
write(80,*) npart,ndim,masse,dt,nvec,reall,dx,options,rcut,nimage
45
write(80,*)pos,vel,cell
47
!!$ read(80)npart,ndim,masse,dt,nvec,reall,dx,options,rcut,nimage
48
!!$ allocate(pos(npart,ndim),vel(npart,ndim),cell(ndim,ndim))
49
!!$ read(80)pos,vel,cell
52
CALL move_li(pos,npart,ndim,vel,masse,dt,cell,nvec,reall,options,dx,rcut,nimage)
53
write(75,*) dt*ipas, pos(1,1)
54
CALL ener(ameam,energy,pos,npart,vel,masse,ndim,cell,nvec,reall,options,rcut,nimage)
55
! CALL output(pos,npart,ndim,vel,forces,energy,ipas)
57
CALL testforce(ameam,pos,npart,ndim,dx,cell,nvec,reall,options,rcut,nimage)
61
END PROGRAM lightweight