— Zdenka Chromcova 2010/03/18 11:23
The using of classic potential could be switched on/off in file fireball.in :
in directory Cdata are two types of files:
In this file is defined which potential will be used and other parameters used in classical MD only.
Format of file usePotential.in:
or there could be defined potential for each pair: usePotential.in (not useful at this moment):
H-H Lennard-Jones Si Lennard-Jones Si-H Lennard-Jones
Note: all pair potentials have to be of the same type. Thus this second type of definition of potential is not very usefull at this moment.
In the directory Cdata have to exist file with parameters of potential with name NAME-OF-POTENTIAL.dat (in case above the program will look for file Lennard-Jones.dat).
The implicit value is each 1000th cycle. The example of the definition:
The parameters of potential is defined in files with name: Cdata/NAME-OF-POTENTIAL.dat . The string NAME-OF-POTENTIAL have to match with string which define potential in file usePotential.in .
In this file are parameters for pair potential for different types of atoms in shape: Atom1-Atom2 params = [ params separate by comas ] . Comments starts with character “#”. The example for for Lennard-Jones potential is below:
# epsilon ro cutoff # shape of potential( 4epsilon( (ro/r)**12 - 2(ro/r)**6) cutoff = 2.5 ro/2**(1/6) H-H params = [ 2 , 2.4 , 9.35 ] Si-Si params = [ 2 , 1.4 , 9.35 ] Si-H params = [ 2 , 1.9 , 9.35 ]
In these files could be defined more pairs than will be used in simulations. If the program do not find an pair defined in basisfile it ends with error message which pair is missing.
At this moment there is only Lennard-Jones potential. There going to be addaed also RGL, EAM, MEAM and Tersoff potential.
List of potentials:
The input files for a nanocluster of Pd13 is here: pd.tar.gz. The initial configuration (in.bas file) is in global minima according a program for MD of Ficcardo Ferrando using the same shape of RGL potential with the same parameters. The value of total energy in the global minima is -42.09318eV (according Riccardo's program). The shape of the cluster in GM is icosahedral.
Because of classic MD there were added these files:
Here is defined the main procedure for classic_forces which call the relevant procedure for given potential. The “relevant procedures” will be defined in the individual files in future.
Definition of global variable “*Potential”, user-defined types and interface for subroutines and functions.
if iclassicMD = 1 there is allocate and initialized also new arrays:
!CHROM neighbor for classical MD simulation (MODULES/neighbor_map.f90) integer :: neigh_max_class = 0 !size of arrays integer, dimension(:,:), allocatable :: neigh_classic integer, dimension(:), allocatable :: neighn_classic integer, dimension(:,:), allocatable :: neigh_b_classic !END CHROM
The arrays of quantum neighbors are kept unchanged to should be used in future eventually (i.e. there should be implemented the combination of classic and quantum simulation)
The code which was added or changed because of classic MD (by Zdenka Chromcova) is between tags:
The list of files which were changed:
i.e. this (2x3xN loops)
vatom(:,1:natoms) = vatom(:,1:natoms)*vscale xdot(1,:,1:natoms) = xdot(1,:,1:natoms)*vscale
was rewritten as (Nx3 loops):
do iatom = 1, natoms do k=1,3 vatom(k,iatom) = vatom(k,iatom)*vscale xdot(1,k,iatom) = xdot(1,k,iatom)*vscale enddo enddo