Dear Zhen Zhu, there can be two reasons for your problem: 1) the forces are not accurate enough; 2) the atomic structure used to calculate the phonons is far from equilibrium. The issue 1) is controlled by MeshCutoff. Yours (200 Ry) is not that big. You say you tried 500 Ry but give no details. To be sure, make the good old eggbox test, moving the atoms uniformly and observing the fluctuation of summary force (sum up over all atoms), whose magnitude must be small enough (< 0.1).
Once ready with this, you should check your equilibrium structure. Negative (in fact, imaginary) frequency means that, as you displace the atoms in a certain way, the energy of system goes down. This means exactly that you starting point is not at equilibrium. Look at the eigenvector of your imaginary mode, extract a "generalized coordinate" from it (which needs to correct for square root of mass, but as you have only one species this does not matter), and scan the total energy as function of this coordinate. You'll find the minimum somewhere, and this will be a good starting point for the final relaxation. There are tools to automatize this procedure, but for your case of 2-at. molecule it should be easy enough to do by hand. If forces accurate enough AND starting point corresponds to an energy minimum, you MUST get positive frequencies. There is no guarantee that the frequencies will be good, because this is the matter of pseudopots and basis. But the above two issues are pure technical / formal, and can be settled for any bases/pots. You may wish to check whether the box size of 20 Ang is indeed necessary for so small molecule. It is not an error, but may cost you too much unnecessary effort on grid manipulations. Also giving coordinates of a molecule as scaled cartesian (in units of box size) may be prone to errors (exactly in the case if you'd like to change the box size). Best regards Andrei Postnikov > Dear Siesta Users, > > Before I calculate B2 structure, I did calculation of H2 and O2, which > both give physical reasonable frequencies. However, when I calculate B2 > structure, even use same input .fdf file with little change, I got some > negative frequency. > > I did it in this way. I put the B2 molecule in the simple cubic lattice > with a large lattice constant. Using Siesta to calculate the Force > Constant. Then Using Vibra to get the vibration mode. Directly following > the "Vibra Manual". (BeforI try to optimize the structure again and > again using higher "mesh cutoff" (as high as 500Ry) and larger lattice > constant (20 A). The negative frequency never disappear, although it > decreased a little. I really have no idea about this. Could someone > please give me some help? Thank you very much. > > Yours, > Zhen Zhu > > Below are the input files and the result. > > 1 vibration frequencies: > > eigenvalue # 1 omega= -39.1439738621028 > eigenvalue # 2 omega= -8.612283334100170E-006 > eigenvalue # 3 omega= 1.092488707080067E-007 > eigenvalue # 4 omega= 1.526741848390112E-005 > eigenvalue # 5 omega= 17.6737744212619 > eigenvalue # 6 omega= 1054.72912084076 > > 2 .fdf input file: > > SystemName Boron cluster > SystemLabel B2 > NumberOfAtoms 2 > NumberOfSpecies 1 > > %block ChemicalSpeciesLabel > 1 5 B # Species index, atomic number, species label > %endblock ChemicalSpeciesLabel > > %block LatticeVectors > 1.0 0.0 0.0 > 0.0 1.0 0.0 > 0.0 0.0 1.0 > %endblock LatticeVectors > > MaxSCFIterations 100 > DM.MixingWeight 0.2 > # PAO.EnergyShift 0.00735 # 0.00367 , 0.000735 > MeshCutoff 200.0 Ry > DM.NumberPulay 3 > > AtomicCoordinatesFormat ScaledCartesian > > LatticeConstant 20 Ang > > %block AtomicCoordinatesAndAtomicSpecies > -0.011044238 -0.003227402 -0.001410019 1 10.81 > 0.070043851 0.003227287 0.001410227 1 10.81 > %endblock AtomicCoordinatesAndAtomicSpecies > > SuperCell_1 0 > SuperCell_2 0 > SuperCell_3 0 > > AtomicDispl 0.02 Bohr > > %block BandLines > 1 0.000 0.000 0.000 \Gamma > %endblock Bandlines > > > EigenVectors .true. > > 3 siesta input .fdf file > > SystemName Boron cluster > SystemLabel B2 > NumberOfAtoms 2 > NumberOfSpecies 1 > > %block ChemicalSpeciesLabel > 1 5 B # Species index, atomic number, species label > %endblock ChemicalSpeciesLabel > > %block LatticeVectors > 1.0 0.0 0.0 > 0.0 1.0 0.0 > 0.0 0.0 1.0 > %endblock LatticeVectors > > MaxSCFIterations 100 > DM.MixingWeight 0.2 > # PAO.EnergyShift 0.00735 # 0.00367 , 0.000735 > MeshCutoff 200.0 Ry > DM.NumberPulay 3 > DM.Tolerance 1.0d-5 > > AtomicCoordinatesFormat ScaledCartesian > > LatticeConstant 20 Ang > > %block AtomicCoordinatesAndAtomicSpecies > -0.011044238 -0.003227402 -0.001410019 1 10.81 > 0.070043851 0.003227287 0.001410227 1 10.81 > %endblock AtomicCoordinatesAndAtomicSpecies > > SuperCell_1 0 > SuperCell_2 0 > SuperCell_3 0 > > AtomicDispl 0.01 Bohr > > %block BandLines > 1 0.000 0.000 0.000 \Gamma > %endblock Bandlines > > EigenVectors .true. > > %include FC.fdf > > 4 .fdf used for optimization > > SystemName Boron cluster > SystemLabel B2 > NumberOfAtoms 2 > NumberOfSpecies 1 > > %block ChemicalSpeciesLabel > 1 5 B # Species index, atomic number, species label > %endblock ChemicalSpeciesLabel > > %block LatticeVectors > 1.0 0.0 0.0 > 0.0 1.0 0.0 > 0.0 0.0 1.0 > %endblock LatticeVectors > > MaxSCFIterations 100 > DM.MixingWeight 0.2 > # PAO.EnergyShift 0.00735 # 0.00367 , 0.000735 > MeshCutoff 200.0 Ry > DM.NumberPulay 3 > DM.Tolerance 1.0d-5 > > MD.TypeOfRun cg > MD.NumCGsteps 50 > MD.MaxCGDispl 0.01 Ang > MD.MaxForceTol 0.005 eV/Ang > > AtomicCoordinatesFormat NotScaledCartesianAng > > LatticeConstant 20 Ang > > %block AtomicCoordinatesAndAtomicSpecies > -0.223962706 -0.0647897 -0.028318365 1 10.81 > 1.403979751 0.064791065 0.02831727 1 10.81 > %endblock AtomicCoordinatesAndAtomicSpecies > > > SuperCell_1 0 > SuperCell_2 0 > SuperCell_3 0 > > > >
