Skip to content

Commit 188e864

Browse files
authored
Merge pull request #33 from pyscal/fix_delete
Fix delete
2 parents e420e15 + 459cf1a commit 188e864

File tree

4 files changed

+32
-7
lines changed

4 files changed

+32
-7
lines changed

.bumpversion.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 3.1.8
2+
current_version = 3.1.9
33
commit = True
44
tag = True
55

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
setup(
99
name='pyscal3',
10-
version='3.1.8',
10+
version='3.1.9',
1111
author='Sarath Menon',
1212
author_email='[email protected]',
1313
description='Python library written in C++ for calculation of local atomic structural environment',

src/pyscal3/atoms.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -302,13 +302,9 @@ def remove_selection(self, ids=None, indices=None, condition=None):
302302
self._apply_selection(masks)
303303

304304
def delete(self, ids=None, indices=None, condition=None, selection=False):
305-
#delete atoms
306-
#reassign ids
307-
#reassign indices
308-
#reassign heads
309305
masks = self._generate_bool_list(ids=ids, indices=indices, condition=condition, selection=selection)
310306
delete_list = [masks[self["head"][x]] for x in range(self.ntotal)]
311-
delete_ids = [x for x in range(self.ntotal) if masks[x]]
307+
delete_ids = [x for x in range(self.ntotal) if delete_list[x]]
312308
self._delete_atoms(delete_ids)
313309

314310
@property

tests/test_delete.py

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import pytest
2+
import os,sys,inspect
3+
import numpy as np
4+
import pyscal3.core as pc
5+
6+
def test_delete():
7+
sys = pc.System.create.element.Fe()
8+
assert sys.natoms == 2
9+
10+
sys.delete(ids=[1])
11+
assert sys.natoms == 1
12+
13+
sys = pc.System.create.element.Fe()
14+
sys.delete(indices=[0])
15+
assert sys.natoms == 1
16+
17+
def condition(atom):
18+
if atom.ids[0] == 1:
19+
return True
20+
21+
sys = pc.System.create.element.Fe()
22+
sys.delete(condition=condition)
23+
assert sys.natoms == 1
24+
25+
sys = pc.System.create.element.Fe()
26+
sys.apply_selection(indices=[0])
27+
sys.delete(selection=True)
28+
assert sys.natoms == 1
29+

0 commit comments

Comments
 (0)