From 5887449bbc8e88524cdcc4a5c418cfc5ea52581f Mon Sep 17 00:00:00 2001 From: Jintao Date: Wed, 21 Aug 2024 18:15:23 +0800 Subject: [PATCH] f!conformer f! --- arc/species/conformers.py | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/arc/species/conformers.py b/arc/species/conformers.py index b35c00fef3..7ba99b7c84 100644 --- a/arc/species/conformers.py +++ b/arc/species/conformers.py @@ -519,16 +519,9 @@ def conformers_combinations_by_lowest_conformer(label, mol, base_xyz, multiple_t newest_conformers_dict[tor] = list() # Keys are torsions for plotting. for xyz, energy, dihedral in zip(xyzs, energies, sampling_points): exists = False - dmat1, fl_distance1 = None, None for conf in new_conformers + newest_conformer_list: - conf['dmat'] = conf.get('dmat') - conf['fl_distance'] = conf.get('fl_distance') - fl_distance1, fl_distance2, dmat1, dmat2 = converter.compare_confs_fl(xyz,conf['xyz'], - dmat2=conf['dmat'], - fl_distance2=conf['fl_distance']) - conf['fl_distance'] = fl_distance2 if conf['fl_distance'] is None else conf['fl_distance'] - conf['dmat'] = dmat2 if conf['dmat'] is None else conf['dmat'] - if dmat1 is None: + fl_distance1, dmat1, conf, simliar = converter.compare_confs_fl(xyz,conf) + if not simliar: break if converter.compare_confs(xyz, conf['xyz'], skip_conversion=True, @@ -1133,15 +1126,8 @@ def get_lowest_confs(label: str, break if index>0: for lowest_conf in lowest_confs: - lowest_conf['dmat'] = lowest_conf.get('dmat') - lowest_conf['fl_distance'] = lowest_conf.get('fl_distance') - fl_distance1, fl_distance2, dmat1, dmat2 = converter.compare_confs_fl(conformer_list[index]['xyz'], - lowest_conf['xyz'], - dmat2=lowest_conf['dmat'], - fl_distance2=lowest_conf['fl_distance']) - lowest_conf['fl_distance'] = fl_distance2 if lowest_conf['fl_distance'] is None else lowest_conf['fl_distance'] - lowest_conf['dmat'] = dmat2 if lowest_conf['dmat'] is None else lowest_conf['dmat'] - if dmat1 is None: + _, dmat1, lowest_conf, simliar = converter.compare_confs_fl(conformer_list[index]['xyz'],lowest_conf) + if not simliar: lowest_confs.append(conformer_list[index]) break if converter.compare_confs(conformer_list[index]['xyz'], lowest_conf['xyz'],