Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 3 #116

Open
wants to merge 194 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
87a3c66
add new modified system
srmnitc Dec 8, 2021
d9255f3
add cell neighbor method
srmnitc Dec 8, 2021
99102d0
update neighbors method
srmnitc Dec 9, 2021
b4d2d02
update neighbors method
srmnitc Dec 9, 2021
66baaf5
reduce arguments in neighbor methods
srmnitc Dec 9, 2021
46a8255
roll back dict passing for box
srmnitc Dec 9, 2021
9086f76
add basic system class
srmnitc Dec 9, 2021
9f6337c
update trajectory methods
srmnitc Dec 9, 2021
23710d0
update formats to new atoms
srmnitc Dec 14, 2021
4691844
fix bugs in new neighbor methods
srmnitc Dec 16, 2021
32da12f
move old tests
srmnitc Dec 17, 2021
0c29898
add test for crystal structures
srmnitc Dec 17, 2021
bb5c943
further updates on tests
srmnitc Dec 17, 2021
8c9706e
add temp notebook
srmnitc Dec 17, 2021
27e3d9d
add tests for system
srmnitc Dec 17, 2021
d7539b3
add iter atoms method
srmnitc Dec 17, 2021
13af02d
add add atoms method
srmnitc Dec 17, 2021
78037a6
add embed in cubic box method
srmnitc Dec 17, 2021
93ef1b9
add get distance method
srmnitc Dec 17, 2021
a15d040
add concentration methods
srmnitc Dec 17, 2021
8d5e313
add new attribute access methods for System
srmnitc Dec 18, 2021
98796fc
update formats
srmnitc Dec 18, 2021
01442ab
add tests for traj process
srmnitc Dec 18, 2021
ff55531
fix bugs in trajectory read and add tests
srmnitc Dec 18, 2021
244f02a
add write methods
srmnitc Dec 18, 2021
5fe0c7f
add to ase method
srmnitc Dec 18, 2021
c45530a
bug fixes for neighbor methods
srmnitc Dec 20, 2021
747e8bf
add speed test notebook
srmnitc Dec 20, 2021
9076de2
add tests for neighbors
srmnitc Dec 20, 2021
40c2d3f
reduce cell activation number
srmnitc Dec 20, 2021
550806b
update speed tests
srmnitc Dec 20, 2021
f2720e7
add sh module
srmnitc Dec 23, 2021
2313c1f
add sh module tested
srmnitc Dec 26, 2021
f6a21e6
add calculate q method
srmnitc Dec 26, 2021
5a55f8d
add use_c keyword in sh calculation
srmnitc Dec 27, 2021
cb96a8c
update core
srmnitc Dec 27, 2021
017b7c1
add weighted q method
srmnitc Dec 27, 2021
01b6cb5
add avg q method
srmnitc Dec 27, 2021
d565437
add averaged keyword
srmnitc Dec 27, 2021
a9e5281
fix return to use only real atoms
srmnitc Dec 28, 2021
73b33c9
add tests for q calculation
srmnitc Dec 28, 2021
87d1985
Merge pull request #117 from pyscal/avg_q
srmnitc Dec 28, 2021
280dfae
add masks and condition
srmnitc Jan 1, 2022
b9670f5
add mask to normal neighbor method
srmnitc Jan 1, 2022
a7419c1
remove previous filter definitions
srmnitc Jan 1, 2022
b19691e
add head variable to identify the real equivalent of ghost atoms
srmnitc Jan 1, 2022
d0fb909
add apply and remove mask methods
srmnitc Jan 1, 2022
5a7a17b
add masking to all neighbor methods
srmnitc Jan 1, 2022
a846f5e
add tests for masking methods
srmnitc Jan 1, 2022
ffaa0f9
Merge pull request #118 from pyscal/mask
srmnitc Jan 1, 2022
4d9da58
add fix for mask
srmnitc Jan 2, 2022
2c48c1e
add new methods for sph
srmnitc Jan 2, 2022
175b92c
add new q method
srmnitc Jan 2, 2022
1806f2f
add averaging method
srmnitc Jan 2, 2022
2ea1b84
fix bugs in avg sh calculation
srmnitc Jan 2, 2022
122b09b
fix add atoms method
srmnitc Jan 2, 2022
f4f39b2
Merge pull request #119 from pyscal/mask
srmnitc Jan 2, 2022
906f312
add disorder calculation
srmnitc Jan 2, 2022
6bc5f2c
update setup
srmnitc Jan 2, 2022
4fe6878
Merge pull request #120 from pyscal/disorder
srmnitc Jan 2, 2022
30040e2
update plm implementation
srmnitc Jan 2, 2022
a32662d
Merge pull request #121 from pyscal/disorder
srmnitc Jan 2, 2022
13f79c8
add tests for disorder
srmnitc Jan 2, 2022
d1fe217
update docs for disorder
srmnitc Jan 2, 2022
9e8449e
Merge pull request #122 from pyscal/disorder
srmnitc Jan 2, 2022
f85d615
add bond calculation
srmnitc Jan 2, 2022
b001d89
add solids cpp file
srmnitc Jan 2, 2022
aaea7b5
bug fix in solid calculation
srmnitc Jan 2, 2022
2a38537
add full solid calculation
srmnitc Jan 2, 2022
e1b7275
rename function
srmnitc Jan 2, 2022
ad55c0f
add cluster identification method
srmnitc Jan 2, 2022
70384aa
add tests for solids
srmnitc Jan 2, 2022
0b33295
Merge pull request #123 from pyscal/solids
srmnitc Jan 2, 2022
df938e6
add calculate rdf method
srmnitc Jan 3, 2022
abec5dc
fix density in rdf calculation
srmnitc Jan 3, 2022
7c3cf5f
add volume test
srmnitc Jan 3, 2022
4a67349
Merge pull request #124 from pyscal/rdf
srmnitc Jan 3, 2022
e9f120e
revamp distance method
srmnitc Jan 3, 2022
e2c6789
add tests for test_angular
srmnitc Jan 3, 2022
b325a70
add chiparams method
srmnitc Jan 3, 2022
eb5e5e3
Merge pull request #125 from pyscal/angular
srmnitc Jan 3, 2022
472b1e1
speed up angular criteria
srmnitc Jan 3, 2022
593819b
bug fix in angular methods
srmnitc Jan 3, 2022
468abed
update tests
srmnitc Jan 3, 2022
2d3138e
add attrclass
srmnitc Feb 28, 2022
6883c07
update mapping for neighbors
srmnitc Mar 1, 2022
e6486db
add more mapping
srmnitc Mar 3, 2022
1f83d3d
add mappings for angular parameters
srmnitc Mar 3, 2022
3f184c7
add testing for access modifiers
srmnitc Mar 3, 2022
eec269d
update neighbor method
srmnitc Mar 7, 2022
a1f3aa3
update neighbor method
srmnitc Mar 7, 2022
e887f20
initial draft of voronoi
srmnitc Apr 21, 2022
4a6bc5b
add remap atom method
srmnitc Apr 21, 2022
86e8506
add voronoi neighbor method
srmnitc Apr 21, 2022
4f56601
update setup to include voro
srmnitc Apr 21, 2022
9b516e8
add voronoi tessellation
srmnitc Apr 22, 2022
38d3c2f
bug fixes in voronoi methods
srmnitc Apr 22, 2022
d614e66
fix voronoi implementation
srmnitc Apr 22, 2022
f844af8
remap voronoi properties
srmnitc Apr 22, 2022
2ed0b2f
update volume in voronoi
srmnitc Apr 22, 2022
64d9d69
add tests for voronoi
srmnitc Apr 22, 2022
21cfaab
Merge pull request #127 from pyscal/voronoi
srmnitc Apr 22, 2022
9500fcb
update python version
srmnitc Apr 22, 2022
d45029b
update python version
srmnitc Apr 22, 2022
9b1a3f2
update remap atom method
srmnitc Apr 22, 2022
b51df76
add displace method
srmnitc Apr 22, 2022
7cf5082
update voronoi unique positions
srmnitc Apr 27, 2022
c4f9d13
update voronoi unique positions
srmnitc Apr 27, 2022
e858ab1
update voronoi method
srmnitc Apr 27, 2022
d09a137
add skipcheck to override number of atoms check
srmnitc Apr 27, 2022
7805975
update voro implementation
srmnitc Apr 28, 2022
e44cac0
update setup.py
srmnitc Apr 28, 2022
e4f0323
fix bug in voronoi
srmnitc Apr 29, 2022
ccc7e0d
remove ghost check in clean vertices
srmnitc Apr 29, 2022
8d943fd
add test for unique voronoi vertices
srmnitc Apr 29, 2022
78d959c
add unmasked keywords#
srmnitc Jun 15, 2022
89b0d1d
add unmasked keywords#
srmnitc Jun 15, 2022
89b96ea
add unmasked keywords#
srmnitc Jun 15, 2022
63c5745
add unmasked keywords#
srmnitc Jun 15, 2022
a4f47cd
add unmasked keywords
srmnitc Jun 15, 2022
b68a327
add first draft of new atoms class
srmnitc Nov 2, 2022
0439d24
update crystal structure methods
srmnitc Nov 2, 2022
92b2cb2
bug fix in crystal structures
srmnitc Nov 2, 2022
b5bd4cc
update core
srmnitc Nov 3, 2022
1560eef
add delete mark and select methods
srmnitc Nov 4, 2022
86d5885
add more notes
srmnitc Nov 6, 2022
a5fc35b
fixes in atom deletion
srmnitc Nov 7, 2022
52e4867
add json rep
srmnitc Nov 9, 2022
888df18
modify core until neighbors
srmnitc Nov 9, 2022
5e4ea56
update atom core features
srmnitc Nov 21, 2022
d7abe61
add ghost access methods
srmnitc Nov 21, 2022
40ee9da
add posisbility of annotation
srmnitc Dec 12, 2022
3f62f7b
add annotation capabilities
srmnitc Dec 15, 2022
ef30582
update attribute setting methods
srmnitc Dec 22, 2022
c33c6b2
fixes for custom reading/writing
srmnitc Jan 4, 2023
ec2209b
fix errors in neighbor distance calculation
srmnitc Jan 4, 2023
8a6d0df
update atoms
srmnitc Jan 4, 2023
b3c84c2
updates
srmnitc Feb 1, 2023
ade6b7b
add element data
srmnitc Feb 1, 2023
ac7a288
add structure generator
srmnitc Feb 1, 2023
a6ffa32
add direct system creation from a given file
srmnitc Feb 1, 2023
7a497c1
split structure creator module
srmnitc Feb 1, 2023
b1a51ed
fix args in constructor
srmnitc Feb 1, 2023
5222766
update species
srmnitc Feb 1, 2023
bbe061d
add test notebook
srmnitc Feb 2, 2023
f70c09a
update tests
srmnitc Feb 2, 2023
416daa9
fix disorder tests
srmnitc Feb 3, 2023
4c52086
fix nucsize tests
srmnitc Feb 3, 2023
bacdeeb
fix rdf
srmnitc Feb 3, 2023
aa85063
fix species for ase writing
srmnitc Feb 3, 2023
77df2af
fix iteration
srmnitc Feb 3, 2023
1c1190f
fix tests#
srmnitc Feb 3, 2023
839fa98
Merge pull request #135 from pyscal/update_atom_backend
srmnitc Feb 3, 2023
0f8a5eb
add new operations
srmnitc Feb 7, 2023
81a7431
add operations interface
srmnitc Feb 15, 2023
e63fe13
Merge pull request #136 from pyscal/separate_operations
srmnitc Feb 15, 2023
50581fe
add symmetry operations
srmnitc Feb 15, 2023
df69a97
update structure creation
srmnitc Feb 15, 2023
ecb250b
update symmetry
srmnitc Feb 15, 2023
f0bcfc6
Merge pull request #137 from pyscal/add_symmetry
srmnitc Feb 15, 2023
3ae4b8b
bug fix in structure creator
srmnitc Feb 15, 2023
4691221
fix for composition
srmnitc Feb 22, 2023
2de923b
Bump version: 2.10.15 → 3.0.0
srmnitc Feb 22, 2023
eed05ce
add custom lattice creation
srmnitc Mar 10, 2023
d91ab67
Merge pull request #138 from pyscal/add_general_lattice
srmnitc Mar 10, 2023
1189b9b
update doc building
srmnitc Mar 10, 2023
7993dc2
Merge pull request #139 from pyscal/docs_v3
srmnitc Mar 10, 2023
ec99cce
add v3 docs
srmnitc Mar 10, 2023
b09607c
add import
srmnitc Mar 10, 2023
bd282ca
add import
srmnitc Mar 10, 2023
cb8d063
update examples
srmnitc Mar 10, 2023
178d71f
Merge pull request #140 from pyscal/docs_v3
srmnitc Mar 10, 2023
170d73c
update examples
srmnitc Mar 10, 2023
b4b0ce2
Merge pull request #141 from pyscal/docs_v3
srmnitc Mar 10, 2023
fedd212
update docs
srmnitc Mar 25, 2023
c737f0e
Merge pull request #142 from pyscal/docs_v3
srmnitc Mar 25, 2023
9a91a94
update operations
srmnitc Mar 25, 2023
6339618
fix symmetry operations
srmnitc Mar 25, 2023
720bad8
move embed in cubic box to operations
srmnitc Mar 25, 2023
09d1383
Merge pull request #143 from pyscal/remap_operations
srmnitc Mar 29, 2023
d67696b
add first draft of GB creation
srmnitc Apr 3, 2023
af8cadd
add GB routines
srmnitc Apr 3, 2023
478ae76
Merge pull request #144 from pyscal/add_gb_creation
srmnitc Apr 3, 2023
c0ecc89
fix species issue
srmnitc Apr 3, 2023
ad261ef
add methods for gb character
srmnitc Apr 3, 2023
91a5461
update csl
srmnitc Apr 4, 2023
7abd2b7
update workflow
srmnitc Apr 28, 2023
2aae8ca
update toml file
srmnitc Apr 28, 2023
73291ec
update README
srmnitc Apr 29, 2023
610a997
update setup
srmnitc Apr 29, 2023
0f134f3
update workflow
srmnitc Apr 29, 2023
b15ce77
update workflow
srmnitc Apr 29, 2023
6e379a6
minor fix in GB
srmnitc Jun 14, 2023
82ee06e
update version
srmnitc Jun 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 2.10.15
current_version = 3.0.0
commit = True
tag = True

Expand Down
3 changes: 2 additions & 1 deletion .ci_support/environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ dependencies:
- ipywidgets
- pytest
- pytest-cov
- h5py
- pybind11
- scipy
- spglib
72 changes: 72 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Build and upload to PyPI

# Build on every branch push, tag push, and pull request change:
#on: [push, pull_request]
# Alternatively, to publish when a (published) GitHub Release is created, use the following:
on:
push:
branches:
- "v3"
#tags:
# - "*.dev.*"
#release:
# types:
# - published

jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: >-
python -m pip install --user --upgrade setuptools wheel pybind11
- name: Build wheels
uses: pypa/cibuildwheel@v2.12.3

- uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl

build_sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: >-
python -m pip install --user --upgrade setuptools wheel pybind11
- name: Build sdist
run: |
pip install pybind11
python setup.py sdist

- uses: actions/upload-artifact@v3
with:
path: dist/*.tar.gz

upload_pypi:
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
# upload to PyPI on every tag starting with 'v'
#if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
# alternatively, to publish when a GitHub Release is created, use the following rule:
#if: github.event_name == 'release' && github.event.action == 'published'
steps:
- uses: actions/download-artifact@v3
with:
# unpacks default artifact into dist/
# if `name: artifact` is omitted, the action will create extra parent dir
name: artifact
path: dist

- uses: pypa/gh-action-pypi-publish@v1.5.0
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
#repository_url: https://test.pypi.org/legacy/
2 changes: 1 addition & 1 deletion .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.6, 3.7, 3.9]
python-version: [3.7, 3.9, '3.10']

runs-on: ${{ matrix.os }}
steps:
Expand Down
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include src/pyscal/data/*.yaml
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

# pyscal - python Structural Environment Calculator

Complete documentation with examples available [here](https://pyscal.org/).

**pyscal** is a python module for the calculation of local atomic structural environments including [Steinhardt's bond orientational order parameters](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.28.784) during post-processing of atomistic simulation data. The core functionality of pyscal is written in C++ with python wrappers using [pybind11](https://pybind11.readthedocs.io/en/stable/intro.html) which allows for fast calculations with possibilities for easy expansion in python.

Steinhardt's order parameters are widely used for [identification of crystal structures](https://aip.scitation.org/doi/full/10.1063/1.4774084). They are also used to identify if an atom is [solid or liquid](https://link.springer.com/chapter/10.1007/b99429).


## Installation

pyscal can be installed directly using conda by the following statement-

```
conda install -c conda-forge pyscal
```

**From repository**

pyscal can be built from the repository by-

```
git clone https://github.com/pyscal/pyscal.git
cd pyscal
python setup.py install --user
```

## Citing the work

If you use pyscal in your work, the citation of the [following article](https://joss.theoj.org/papers/10.21105/joss.01824) will be greatly appreciated:

Sarath Menon, Grisell Díaz Leines and Jutta Rogal (2019). pyscal: A python module for structural analysis of atomic environments. Journal of Open Source Software, 4(43), 1824, https://doi.org/10.21105/joss.01824
105 changes: 0 additions & 105 deletions README.rst

This file was deleted.

Binary file added docs/_static/img_time_memory.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/img_time_neighbor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 8 additions & 2 deletions docs/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,14 @@ numpy
ase
h5py
ipywidgets==7.5
plotly==4.11.0
sphinx==5.3.0
sphinx_rtd_theme
m2r2
myst_parser
furo
nbsphinx
sphinx_inline_tabs
sphinx_copybutton
sphinx_design
docutils==0.19
sphinx-gallery

Loading