1 SUBROUTINE md_init(iseed,ntype,ncons,ntcons,consatm,nbond,ntbond, 2 $ bondatm,nshel,ntshel,shelatm,lveloc,ewald1) 3 4 implicit none 5 6 include 'p_array.inc' 7 include 'p_const.inc' 8 include 'p_input.inc' 9 include 'cm_atom.inc' 10 include 'cm_latt.inc' 11 include 'cm_temp.inc' 12 13 integer iseed,ntype 14 integer ncons,ntcons,consatm 15 integer nbond,ntbond,bondatm 16 integer nshel,ntshel,shelatm 17 18 real*8 x,det,ewald1 19 20 logical lveloc 21 22 dimension consatm(mxcons,2),bondatm(mxbond,2),shelatm(mxshel,2) 23 24!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 25 26 call tool_randm(iseed,x) 27 call tool_invrt(latt,rlatt,det) 28 call tool_volme(latt,vol) 29 call tool_rebox(natms,mxatms,latt,rlatt,ccc) 30 31!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 32 33 call ewald_setp() 34c Self-interaction energy 35 call ewald_self(ewald1) 36 write(*,*) "ewald self",ewald1 37 38!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 39 40! Create exclude list 41 call list_excld(ntype) 42 43!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 44 45! Create constraints list 46 call list_const(ncons,ntcons,consatm) 47 48!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 49 50! Create bonds list 51 call list_bonds(nbond,ntbond,bondatm) 52 53!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 54 55! Create shells list 56 call list_shell(nshel,ntshel,shelatm) 57 58!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 59 60! Temperature parameters 61 degfree=dble(3*(natms-ntshel)-3-ntcons) 62 targetke=degfree*temp*boltzmann*0.5 63 64!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 65 66! Initial random velocities 67 if(.not.lveloc)call init_velo(iseed) 68 69!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 70 71 return 72 73 END 74c $Id$ 75