atomistics.calculators.lammps.melting.estimate_melting_temperature_using_bisection_CNA#
- atomistics.calculators.lammps.melting.estimate_melting_temperature_using_bisection_CNA(structure: Atoms, potential_dataframe: DataFrame, target_number_of_atoms: int = 4000, temperature_left: float = 0, temperature_right: float = 1000, run: int = 10000, optimization_maxiter: int = 100000, seed: int | None = None) int[source]#
Estimate the melting temperature using bisection and common neighbour analysis (CNA).
The algorithm:
Tiles the unit cell to approximately
target_number_of_atomsatoms.Energy-minimises the supercell.
Identifies the dominant structural motif and sets a solid/liquid threshold.
Iteratively bisects the temperature bracket (via NPT MD + CNA) until the bracket width falls below 10 K.
- Parameters:
structure (Atoms) – The input unit cell.
potential_dataframe (pd.DataFrame) – Interatomic potential DataFrame with
"Species"and"Config"columns.target_number_of_atoms (int) – Approximate number of atoms for the supercell. Defaults to
4000.temperature_left (float) – Lower bound of the initial temperature bracket in K. Defaults to
0.temperature_right (float) – Upper bound of the initial temperature bracket in K. Defaults to
1000.run (int) – Number of NPT MD timesteps per bracket evaluation. Defaults to
10000.optimization_maxiter (int) – Maximum iterations for the initial energy minimisation. Defaults to
100000.seed (int | None) – Random seed for MD velocity initialisation. A random seed is chosen if
None.
- Returns:
Estimated melting temperature in K (rounded to the nearest integer).
- Return type:
int