From 5aa30a0cb30b81371185d095b10a4a3433f3e04c Mon Sep 17 00:00:00 2001 From: Fabian Gruenewald Date: Mon, 5 Aug 2024 12:36:16 +0200 Subject: [PATCH 1/2] only concatanate if length is larger than 10 --- polyply/src/build_system.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/polyply/src/build_system.py b/polyply/src/build_system.py index 1aa9ac5c2..b73f5c220 100644 --- a/polyply/src/build_system.py +++ b/polyply/src/build_system.py @@ -221,7 +221,11 @@ def _compose_system(self, molecules): vector_sphere) if success: self.nonbond_matrix = new_nonbond_matrix - self.nonbond_matrix.concatenate_trees() + # concatanation only makes sense for polymers + # longer than 10; it really hurts performance + # for for example 1 monomer solvents + if len(molecule) > 10: + self.nonbond_matrix.concatenate_trees() mol_idx += 1 pbar.update(1) From 6f168af11457ee68978110fad99b835661e6fc36 Mon Sep 17 00:00:00 2001 From: Fabian Gruenewald Date: Mon, 5 Aug 2024 12:36:29 +0200 Subject: [PATCH 2/2] check bending before overlap --- polyply/src/random_walk.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/polyply/src/random_walk.py b/polyply/src/random_walk.py index 8f2d0324b..0aff51b1d 100644 --- a/polyply/src/random_walk.py +++ b/polyply/src/random_walk.py @@ -356,8 +356,8 @@ def update_positions(self, vector_bundle, current_node, prev_node): if fulfill_geometrical_constraints(new_point, self.molecule.nodes[current_node])\ and self.checks_milestones(current_node, new_point, step_length)\ and is_restricted(new_point, last_point, self.molecule.nodes[current_node])\ - and not self._is_overlap(new_point, current_node)\ - and self.bendiness(new_point, current_node): + and self.bendiness(new_point, current_node)\ + and not self._is_overlap(new_point, current_node): self.nonbond_matrix.add_positions(new_point, self.mol_idx,