diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-10 04:54:49 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 04:54:49 +0000 |
| commit | aae824d753d1ef53660b0a4f3a8c2f94ccacbd83 (patch) | |
| tree | 830aa91e295033d35d5d39ab719f68ac2b81e581 | |
| parent | a3c37b01bf94d27d22ebc95d1b4bba241af2dbe4 (diff) | |
automatic import of python-brilleopeneuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-brille.spec | 233 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 235 insertions, 0 deletions
@@ -0,0 +1 @@ +/brille-0.7.0.tar.gz diff --git a/python-brille.spec b/python-brille.spec new file mode 100644 index 0000000..655852f --- /dev/null +++ b/python-brille.spec @@ -0,0 +1,233 @@ +%global _empty_manifest_terminate_build 0 +Name: python-brille +Version: 0.7.0 +Release: 1 +Summary: Irreducible Brillouin zone symmetry and interpolation. +License: GNU Affero General Public License v3 or later (AGPLv3+) +URL: https://github.com/brille/brille +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/eb/55/ccf2095ba62d55d397c270405ea8feb7746aa4d7efcc0fc6d67805fa9128/brille-0.7.0.tar.gz + +Requires: python3-matplotlib +Requires: python3-pyglet +Requires: python3-vispy + +%description +# ![brille] +A C++ library for symmetry operations and linear interpolation within an +irreducible part of the first Brillouin zone. +Wrapped for use in python using [pybind11](https://github.com/pybind/pybind11). + +[brille]: https://raw.githubusercontent.com/brille/brille/master/brille.svg + +## irreducible polyhedron +When provided with the lattice parameters or basis vectors of a real space spacegroup and its Hall symbol or number as determined by, e.g., [`Spglib`](https://github.com/atztogo/spglib), +`brille` can + +- construct the first Brillouin zone +- determine its high symmetry points +- find a irreducible polyhedron and verify that its conforms to the pointgroup symmetry of the spacegroup. + +Constructing and irreducible Brillouin zone polyhedron for a face centered cubic lattice can be accomplished with, e.g., + +```python + import brille + + direct_lattice = brille.Direct((4.96, 4.96, 4.96), (90, 90, 90), 'Fd-3m') + brillouin_zone = brille.BrillouinZone(direct_lattice.star) +``` + +## interpolation +Interpolating eigenvalues and eigenvectors across a degenerate point could lead to misidentified equivalent modes. +Since the eigenvectors are distinguishable at all points away from the high-symmetry directions, a hybrid orthogonal/triangulated grid defined in an irreducible part of the Brillouin zone can be used to avoid mode misidentification. + +`brille` can construct + +- an orthogonal grid guaranteed to contain the first Brillouin zone +- a triangulated set of points filling an irreducible polyhedron or the first Brillouin zone +- or a hybrid orthogonal/triangulated grid where only the surface cells are triangulated to improve point location time while preserving polyhedral conformity. + +Of these options the third is most appropriate for the interpolation of models used in the analysis of inelastic neutron scattering data is the hybrid grid. + + +# Dependencies +## TetGen +A modified version of [TetGen](http://tetgen.org) is used to create +refined tetrahedral meshes in the irreducible portion of the first Brillouin +zone. + +The modified version is included as part of this repository. + +# Installation +From the root folder of this repository use Python 3 to build and install this +library. + +`python setup.py install` + +Alternatively, the python module, C++ library, and [catch2](https://github.com/catchorg/Catch2) based tests can be built directly using `cmake`. + + +%package -n python3-brille +Summary: Irreducible Brillouin zone symmetry and interpolation. +Provides: python-brille +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-brille +# ![brille] +A C++ library for symmetry operations and linear interpolation within an +irreducible part of the first Brillouin zone. +Wrapped for use in python using [pybind11](https://github.com/pybind/pybind11). + +[brille]: https://raw.githubusercontent.com/brille/brille/master/brille.svg + +## irreducible polyhedron +When provided with the lattice parameters or basis vectors of a real space spacegroup and its Hall symbol or number as determined by, e.g., [`Spglib`](https://github.com/atztogo/spglib), +`brille` can + +- construct the first Brillouin zone +- determine its high symmetry points +- find a irreducible polyhedron and verify that its conforms to the pointgroup symmetry of the spacegroup. + +Constructing and irreducible Brillouin zone polyhedron for a face centered cubic lattice can be accomplished with, e.g., + +```python + import brille + + direct_lattice = brille.Direct((4.96, 4.96, 4.96), (90, 90, 90), 'Fd-3m') + brillouin_zone = brille.BrillouinZone(direct_lattice.star) +``` + +## interpolation +Interpolating eigenvalues and eigenvectors across a degenerate point could lead to misidentified equivalent modes. +Since the eigenvectors are distinguishable at all points away from the high-symmetry directions, a hybrid orthogonal/triangulated grid defined in an irreducible part of the Brillouin zone can be used to avoid mode misidentification. + +`brille` can construct + +- an orthogonal grid guaranteed to contain the first Brillouin zone +- a triangulated set of points filling an irreducible polyhedron or the first Brillouin zone +- or a hybrid orthogonal/triangulated grid where only the surface cells are triangulated to improve point location time while preserving polyhedral conformity. + +Of these options the third is most appropriate for the interpolation of models used in the analysis of inelastic neutron scattering data is the hybrid grid. + + +# Dependencies +## TetGen +A modified version of [TetGen](http://tetgen.org) is used to create +refined tetrahedral meshes in the irreducible portion of the first Brillouin +zone. + +The modified version is included as part of this repository. + +# Installation +From the root folder of this repository use Python 3 to build and install this +library. + +`python setup.py install` + +Alternatively, the python module, C++ library, and [catch2](https://github.com/catchorg/Catch2) based tests can be built directly using `cmake`. + + +%package help +Summary: Development documents and examples for brille +Provides: python3-brille-doc +%description help +# ![brille] +A C++ library for symmetry operations and linear interpolation within an +irreducible part of the first Brillouin zone. +Wrapped for use in python using [pybind11](https://github.com/pybind/pybind11). + +[brille]: https://raw.githubusercontent.com/brille/brille/master/brille.svg + +## irreducible polyhedron +When provided with the lattice parameters or basis vectors of a real space spacegroup and its Hall symbol or number as determined by, e.g., [`Spglib`](https://github.com/atztogo/spglib), +`brille` can + +- construct the first Brillouin zone +- determine its high symmetry points +- find a irreducible polyhedron and verify that its conforms to the pointgroup symmetry of the spacegroup. + +Constructing and irreducible Brillouin zone polyhedron for a face centered cubic lattice can be accomplished with, e.g., + +```python + import brille + + direct_lattice = brille.Direct((4.96, 4.96, 4.96), (90, 90, 90), 'Fd-3m') + brillouin_zone = brille.BrillouinZone(direct_lattice.star) +``` + +## interpolation +Interpolating eigenvalues and eigenvectors across a degenerate point could lead to misidentified equivalent modes. +Since the eigenvectors are distinguishable at all points away from the high-symmetry directions, a hybrid orthogonal/triangulated grid defined in an irreducible part of the Brillouin zone can be used to avoid mode misidentification. + +`brille` can construct + +- an orthogonal grid guaranteed to contain the first Brillouin zone +- a triangulated set of points filling an irreducible polyhedron or the first Brillouin zone +- or a hybrid orthogonal/triangulated grid where only the surface cells are triangulated to improve point location time while preserving polyhedral conformity. + +Of these options the third is most appropriate for the interpolation of models used in the analysis of inelastic neutron scattering data is the hybrid grid. + + +# Dependencies +## TetGen +A modified version of [TetGen](http://tetgen.org) is used to create +refined tetrahedral meshes in the irreducible portion of the first Brillouin +zone. + +The modified version is included as part of this repository. + +# Installation +From the root folder of this repository use Python 3 to build and install this +library. + +`python setup.py install` + +Alternatively, the python module, C++ library, and [catch2](https://github.com/catchorg/Catch2) based tests can be built directly using `cmake`. + + +%prep +%autosetup -n brille-0.7.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-brille -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.7.0-1 +- Package Spec generated @@ -0,0 +1 @@ +fe22efe53385fb8eca9ae434e0b843f3 brille-0.7.0.tar.gz |
