Skip to content

Commit

Permalink
note that spglib also assumes the same primitive conventions as we do
Browse files Browse the repository at this point in the history
  • Loading branch information
thchr committed Oct 8, 2021
1 parent bd3e8bb commit 14f498c
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
8 changes: 7 additions & 1 deletion Bravais/src/transform.jl
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,8 @@ The setting choice for the primitive cell implied by the returned ``\mathbf{P}``
widely adopted Cracknell-Davies-Miller-Love (CDML) convention.[^CDML]
This convention is explicated e.g. in Table 2 of [^Aroyo] (or, alternatively, can be
inferred from Tables 1.5.4.1 and 1.5.4.2 of [^ITB2]) and is followed e.g. on the Bilbao
Crystallographic Server[^BCS] and in the CDML reference work on space group irreps.[^CDML]
Crystallographic Server[^BCS], in the CDML reference work on space group irreps[^CDML], and
in the C library `spglib`.[^spglib]
Note that this setting choice is _not_ what is frequently referred to as the "ITA primitive
setting", from which it differs for hP, hR, and oA Bravais types.
Expand All @@ -114,6 +115,11 @@ frequently and more ambiguously, as the crystallographic primitive setting.
``(\mathbf{P}^{-1})^{\text{T}}``.
[^ITB2]: Hahn, International Tables of Crystallography, Vol. B, 2nd edition (2001).
[^spglib]: Spglib documentation: [Transformation to the primitive setting]
(https://spglib.github.io/spglib/definition.html#transformation-to-the-primitive-cell).
Thus, Bravais.jl and [Spglib.jl](https://github.com/singularitti/Spglib.jl)
transform to identical primitive settings and are hence mutually compatible.
"""
@inline function primitivebasismatrix(cntr::Char, ::Val{D}=Val(3)) where D
D1:3 && _throw_invaliddim(D)
Expand Down
2 changes: 1 addition & 1 deletion Bravais/src/types.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ for (T, space_type) in zip((:DirectBasis, :ReciprocalBasis), ("direct", "recipro
$($T){D} <: AbstractBasis{D}
A wrapper type over `D` distinct `D`-dimensional vectors (given as a
`SVector{D, SVector{D,Float64}}`), defining a lattice basis in $($(space_type))
`SVector{D, SVector{D,Float64}}`), defining a lattice basis in $($space_type)
space.
"""
struct $T{D} <: AbstractBasis{D}
Expand Down

2 comments on commit 14f498c

@thchr
Copy link
Owner Author

@thchr thchr commented on 14f498c Oct 8, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/46363

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v0.4.9 -m "<description of version>" 14f498cc4264213963ca22015ee9bf080d9b2e5b
git push origin v0.4.9

Please sign in to comment.