Result of minimizing highly dependent on input lattice

Hi everyone!

I’m still new to lammps, so I already discussed my problem with some more experienced users, but to no avail. Maybe someone here has a suggestion.

I’m trying to get reliable results for the lattice parameters of orthorhombic perovskite via the minimize command, which should be later used by different algorithms. The results are physically plausible, however, lattice parameters and total energy seem to depend highly on the input positions.

For reference: adding 0.5 Angstrom to the inital lattice in every dimension results in a difference of 0.1, 0.1 and -0.2 Angstrom in the “energy minimum” (which is .2 eV higher than the one I get using literature values for the unit cell dimensions).

I’m using a Pedone potential which is entered manually. This approach worked well for a cubic perovskite-type structure before, resulting in only minimal differences, so I doubt it’s a problem with the potential.

Solution attempts so far did include varying the minimization parameters (cg or hftn, convergence criteria) and the kspace value. I also tried performing several minimize operations while alternately fixing and unfixing a box/relax fix (I’ll post my source code for this method below), but was unable to escape the local minimum found by the algorithm.

Did anybody encounter a similar problem?

Sincerely,
Johannes

It would help to know what output (good, failed) the
minimizer is giving in your runs. Aidan can
comment on the subtle issues inherent in

minimizing over lattice constants (i.e with fix box/relax).

Steve

adding 0.5 Angstrom to the inital lattice in every dimension results in a difference of 0.1, 0.1 and -0.2 Angstrom in the "energy minimum" (which is .2 eV higher than the one I get using literature values for the unit cell dimensions).

Here are some scenarios with solutions

A. The minimization did not converge. Solution: run more iterations, adjust vmax, etc.

B. You are running fix/box relax with "iso"
Solution: use "aniso" or "tri"

C. The potential has multiple local minima of etot in the space of perovskite structures
Solution: find the global minimum

D. The minimizer is relaxing initial perovskite to some other structure that is a local minimum energy in space of all possible structures.
Solution: Choose an initial structure closer to perovskite minimum

A. The process did usually end because of the energy conversion criterion, so no problems here.

B. Using an anisotropic external pressure tensor instead of an isotropic one did indeed significantly improve my results' spreading! Though the distribution is still not exactly small, it might be sufficient for my purposes.

C: By manually adjusting the lattice parameters infinitesimally I could confirm that they did not fall into a local minimum they shouldn't be able to leave again on there own. However, since I'm not familiar with the internal calculations of the algorithm, that probably doesn't mean much :wink:

D: I checked the resulting atomic positions; they're consistent with the intended structure.

I also took the advice of a colleague, who proposed computing the lattice parameters starting from a super cell instead of the original unit cell, so I replicated it 15 times in all three dimensions. Calculations are still underway, so I'm not yet sure whether it's of any avail.

Nevertheless, I'm content already with the results from Aidan's suggestion of using aniso. Thanks so much for your help!

The algorithm is just local energy minimization where additional terms are included for volume energy and strain energy. The latter drops out when target stress tensor is hydrostatic; the former drops out when target stress tensor is zero.

The point is, it is not doing any form of global minimization. It is just such for a local minimum in atom positions and cell parameters. The same is true even if you were just relaxing atom positions.

Therefore, you need to supervise the calculations and decide which local minima are physically relevant and which are insignificant wiggles in the potential energy surface.

Aidan

I'm aware that the minimization algorithm does not intend to find the structure's global minimum, but I was able to confirm with another MD simulation programm that there aren't any reasonably stable local minima nearby, so I suppose I must have been stuck in such a "wiggle" :wink: After all, it's not a complicated structure and the minimization process is quite straightforward in orthorhombic crystals.

As a matter of fact, this circumstance exactly is now proven to having been the problem all along. I released the lattice angles for refinement and got much better results with deviations of mere 0.03 pm at max. Yet my pseudo-triclinic unit cell's tilt factors do hardly exceed 1ppm. Close enough ^^

Thanks again for your time and suggestions!

I'm aware that the minimization algorithm does not intend to find the structure's global minimum, but I was able to confirm with another MD simulation programm that there aren't any reasonably stable local minima nearby, so I suppose I must have been stuck in such a "wiggle" :wink: After all, it's not a complicated structure and the minimization process is quite straightforward in orthorhombic crystals.

As a matter of fact, this circumstance exactly is now proven to having been the problem all along. I released the lattice angles for refinement and got much better results with deviations of mere 0.03 pm at max. Yet my pseudo-triclinic unit cell's tilt factors do hardly exceed 1ppm. Close enough ^^

this sounds a lot like you are seeing artifacts from using potentials
with cutoffs and thus you many need to shift potentials to be zero at
the cutoff distance, or adjust cutoffs, or try a potential variant
where a switching function is used to remove discontinuities in energy
and force.

axel.