Although CG in Siesta is robust, sometimes I feel it can be quite inefficient. However, if you have set the option to output the atomic coordinates at the beginning of each step, you could go back to the first minimum in force you have (around CG step 25) and restart the calculation from there, with a much smaller MaxCgDisplacement than the default, which I think you are using - say 0.04 Bohr instead of 0.4. Maybe this could help to reach the energy minimum which corresponds to a total force of 0.04 eV/Ang, which it could be missing due to a CG displacement which is, perhaps, too large (could it be that at this point, the energy minimum is too shallow and the algorithm is missing it?).
Marcos 2011/1/4 guohuaihong <[email protected]> > Dear SIESTA community: > > I have a question regarding the structural optimization using conjugate > gradient (CG) > method. Please refer to the following link for a jpg file. > > > http://cid-9a67d79e72d7a93d.photos.live.com/self.aspx/myfile/Energy-Force-CG.jpg > > As you can see from the above jpg file, I show the maximum atomic force > and energy as > a function of CG steps in process of structural optimization. Usually, we > expect energy > goes down with CG steps, in the meantime the maximum force decreases. > However, we did > not see this happens in our case. The force flucturates a lot around 0.25 > eV/Ang, (we use > 0.04 eV/Ang as optimization standard) and more surprisingly, the energy > goes down and > climbs up a big "hill" about 5 eV. This is difficult for us to understand. > > Our calculation was to study hole doping effect, we did succeed in > optimizing our > structure with "NetCharge" below 5 electrons. But when the "NetCharge" was > increased > to 8, the optimization becomes elusive. > > Our question is > > (1) How to understand such behaviour (in our picture above) in CG method? > (2) Is there any other (better) way to reach structural optimization if > "NetCharge" is nonzero and "SlabDipoleCorrection" is issued? > > Thanks alot! > > HHG > > Here is our input file: > ===========start of input.fdf==== ============ > SystemName Si-buck-surf > SystemLabel Si-buck-surf > NumberOfAtoms 56 > Diag.ParallelOverK T > SolutionMethod diagon > NumberOfSpecies 2 > > ###################################### > NetCharge 8 > SlabDipoleCorrection .true. > SimulateDoping .true. > ###################################### > > %block ChemicalSpeciesLabel > 1 14 Si > 2 1 H > %endblock ChemicalSpeciesLabel > > LatticeConstant 10.858 Ang > %block LatticeVectors > 1.000 0.000 0.000 > 0.000 1.000 0.000 > 0.000 0.000 10.000 > %endblock LatticeVectors > > XC_functional LDA > XC_authors CA > > %block PS.lmax > Si 2 > %endblock PS.lmax > > %block kgrid_Monkhorst_Pack > 6 0 0 0.0 > 0 6 0 0.0 > 0 0 1 0.0 > %endblock kgrid_Monkhorst_Pack > > PAO.EnergyShift 50. meV > MeshCutoff 200. Ry > DM.UseSaveDM F > MaxSCFiterations 200 > DM.MixingWeight 0.10 > DM.NumberPulay 3 > > MD.NumCGsteps 200 > MD.TypeOfRun CG > MD.UseSaveXV F > MD.UseSaveCG F > SaveDeltaRho F > SaveRho F > > AtomicCoordinatesFormat Ang > %block AtomicCoordinatesAndAtomicSpecies > 6.0665 10.2920 -5.3505 1 #Si > -2.1063 2.4262 -5.0860 1 #Si > -0.8249 -0.8868 0.8493 2 #H > ...... > ===========end of input.fdf================ > > > > >
