Parameters

Minima Hopping Parameters

The minima hopping algorithm requires some input parameters. All the parameters are set to default but may be changed to make the global optimization more efficient or more precise. Below you can find a list of all the input parameters and a description of them.

Parameters

Parameter

Default

Description

T0

1000

Initial temperature to start MH

_T

-1.0

Temperature for restart (if -1 then last temperature is read)

Ediff0

0.1

Initial energy difference for accepting minima

_eDiff

-1.0

Energy difference for accepting minima after restarts (if -1 then last Ediff is read)

beta_decrease

1./1.05

Factor for decreasing the temperature

beta_increase

1.05

Factor for increasing the temperature

alpha_accept

1./1.05

Factor for decreasing Ediff

alpha_reject

1.05

Factor for increasing Ediff

fixed_cell_simulation

False

If True the simulation cell is fixed and no variable cell shape MD and optimization are performed.

n_soft

20

number of softening steps

soften_positions

1e-3

Step size for softening the positions

soften_lattice

1e-3

Step size for softening the lattice (only relevant for periodic boundary conditions)

n_S_orbitals

1

Number of s orbitals for constructing the OMFP

n_P_orbitals

0

Number of p orbitals for constructing the OMFP

width_cutoff

4.0

Cutoff for the OMFP

exclude

[]

List of elements to exclude in the OMFP

dt0

0.08

Initial time step for the MD

_dt

-1.0

Time step of the MD for restart (if -1 then last dt is read)

dt_min

0.0001

minimal time step of the MD

mdmin

2

Number of minima visited before stopping the MD

md_max_steps

1000

Maximum number of MD steps. If reached MH continous.

collect_md_data

True

flag to collect MD data which later could be used e.g. in machine learning

margin

0.3

margin for fixing of fragmentation consider bond broken if particle further than (2*max_rcov + 2*margin*max_rcov)

symprec

1e-5

Distance tolerance in Cartesian coordinates to find crystal symmetry for reshape cell operation (see spglib documentation for more info)

fmax

0.005

Maximal force component. Used as a stopping criterion for the geometry optimization.

fmax_pre_optimization

0.1

Maximal force component. Used as stopping criterion for pre geometry optimization (only used if second calculator is available).

initial_step_size

None

Initial step size of the geometry optimizer. If None the initial step size is estimated.

nhist_max

10

Maximal length of history list in sqnm geometry optimizer

opt_max_steps

10000

Maximum number of optimization steps

lattice_weight

2.0

Weight / size of the supercell that is used to transform lattice derivatives. Use a value between 1 and 2. Default is 2.

alpha_min

1e-3

Lower limit on the step size.

eps_subsp

1e-3

Lower limit on linear dependencies of basis vectors in history list.

enhanced_feedback

False

Enhanced feedback (rise temperature according to T = T * beta_increase * (1. + 1. * ln(n_visits))).

energy_threshold

0.001

If the energy difference of two structures is below the fingerprint is compared

output_n_lowest_minima

20

Outputs the n lowest minima

fingerprint_threshold

5e-2

OMFP distance threshold for distinguishing minima

verbose_output

False

If True MD and OPT logs are written.

new_start

False

Start from scratch even if restart files are present (deprecated).

run_time

infinite

Runtime in the format (d-hh:mm:ss) or infinite for infinite runtime.

use_intermediate_mechanism

False

Sets if intermediate minimas will be stored and accepted if necessary.

write_graph_output

True

Determines wether graph is calculated and written to file. Creates rather large files when hundred of thousands structures are found.

use_MPI

False

Sets if MPI with a master client model should be used

logLevel

logging.INFO

Sets the logging level

_n_accepted

0

Private counting variable for number of accepted minima

_n_rejected

0

Private counting variable for number of rejected minima

_n_same

0

Private counting variable for number of unsuccessful escape attempts.

maxNumberOfMinima

0

Maximal number of minima that will be stored in database. Only the maxNumberOfMinima lowest energy structures will be stored. If a structure is higher in energy than the maxNumberOfMinima it will considered as a new structure. If the number is 0 or negative, it will be considered as infinite.

Restart

The python minimahopping algorithm automatically checks if restart files are available. If new_start is False as set by default the minimahopping is restarting from the last accepted minimum. If a temperature, dt or Ediff different to the initial given parameters is required these parameters can be adjusted by changing _T, _dt or _eDiff, respectively.

Enhanced Feedback

Usually if a minimum is found more than once the temperature is increased the a fixed factor. However, there is build in mechanism where the temperature is increased according to

\[T = T * \beta_{increase} * (0.2 + ln(n_{visits}))\]

where n_visits is the number of times a particular minimum has already been visited. The same formula is also used as a feedback to increase Ediff:

\[E_{diff} = E_{diff} * \alpha_{rejected} * (0.2 + ln(n_{visits}))\]

Intermediate Mechanism

First note, that in this implementation a minima hopping step is considered done once a minimum is accepted. If a minima hopping step takes more than one escape step and the intermediate mechanism is used, the minimum of lowest potential energy of all escape steps is compared to the current minium and accepted once it is smaller than Ediff. If no intermediate mechanism is used, the minimum of the last escape step is compared to the current minimum and accepted once smaller as Ediff.

Critical Parameters

Caution

The parameters fmax, fingerprint_threshold as well as all other fingerprint parameters are crucial for distinguishing different minima. A tutorial how to adjust the fingerprint_threshold parameter for clusters can be found here and for bulk systems here.

Fingerprint Adjustment

In order to adjust the critical parameters fingerprint_threshold and fmax as well as energy_threshold we strongly suggest to use the fingerprint adjustment tool.

Parameters Fingerprint Adjustment

Parameter

Default

Description

fmax

0.005

max force component for the local geometry optimization

iteration

100

number of md and optimizations performed

temperature

500

Temperature in Kelvin

dt

0.01

timestep for the MD

md_min

1

criteria to stop the MD trajectory (no. of minima)

ns_orb

1

number of s orbitals in the OMFP fingerprint

np_orb

1

number of p orbitals in the OMFP fingerprint

width_cutoff

3.5

width cutoff for the OMFP fingerprint

maxnatsphere

100

maximal number of atoms in one local atomic environment

It is important to keep the temperature, the timestep and the md_min low, so that after the optimization converges to the same minimum.