|
occ
|
This class represents a space group. More...
#include <spacegroup.h>
Public Member Functions | |
| SpaceGroup () | |
| Constructs a space group with only translational symmetry. | |
| SpaceGroup (int num) | |
| Constructs a space group with the given space group number. | |
| SpaceGroup (const std::string &symbol) | |
| Constructs a space group with the given space symbol. | |
| SpaceGroup (const std::vector< std::string > &symops) | |
| Constructs a space group with the list of symmetry operations in their string form, if the list of symops is not a known space group, it will still construct the object and may be used (even though it is not necessarily valid) | |
| SpaceGroup (const std::vector< SymmetryOperation > &symops) | |
| Constructs a space group with the list of symmetry operations. | |
| int | number () const |
| Returns the space group number of this space group. | |
| const std::string & | symbol () const |
| Returns the Hermann-Mauguin (international tables) symbol for this object. | |
| const std::string & | short_name () const |
| Returns the Hermann-Mauguin (international tables) symbol for this object, shortened e.g P 1 2 1 -> P2. | |
| const std::vector< SymmetryOperation > & | symmetry_operations () const |
| Returns the list of symmetry operations for this space group. | |
| bool | has_H_R_choice () const |
| Determine whether this space group has the choice between hexagonal (H) and rhombohedral (R) settings. | |
| std::pair< IVec, Mat3N > | apply_all_symmetry_operations (const Mat3N &) const |
| Apply all symmetry operations to a provided set of fractional coordinates, with the identity symop always first. | |
| std::pair< IVec, Mat3N > | apply_rotations (const Mat3N &) const |
| auto | reciprocal_asu () const |
This class represents a space group.
A space group describes the symmetries within a crystal structure of a crystal structure. Provides methods for accessing and manipulating space group data.
| occ::crystal::SpaceGroup::SpaceGroup | ( | ) |
Constructs a space group with only translational symmetry.
| occ::crystal::SpaceGroup::SpaceGroup | ( | int | num | ) |
Constructs a space group with the given space group number.
| num | The space group number. |
| std::invalid_argument | if the given number is not a valid space group number. |
| occ::crystal::SpaceGroup::SpaceGroup | ( | const std::string & | symbol | ) |
Constructs a space group with the given space symbol.
| symbol | The space group symbol. |
| std::invalid_argument | if the given space group can't be found |
| occ::crystal::SpaceGroup::SpaceGroup | ( | const std::vector< std::string > & | symops | ) |
Constructs a space group with the list of symmetry operations in their string form, if the list of symops is not a known space group, it will still construct the object and may be used (even though it is not necessarily valid)
| symops | The space group symmetry operations |
| occ::crystal::SpaceGroup::SpaceGroup | ( | const std::vector< SymmetryOperation > & | symops | ) |
Constructs a space group with the list of symmetry operations.
if the list of symops is not a known space group, it will still construct the object and may be used (even though it is not necessarily valid)
| symops | The space group symmetry operations |
| std::pair< IVec, Mat3N > occ::crystal::SpaceGroup::apply_all_symmetry_operations | ( | const Mat3N & | ) | const |
Apply all symmetry operations to a provided set of fractional coordinates, with the identity symop always first.
IVec, Mat3N corresponding to the integer representation SymmetryOperation::to_int of the symop applied to each point, and the points after that symop application. If N points were provided and this SpaceGroup has 8 symmetry operations, then the resulting IVec will have dimension (N*8,) and the Mat3N of coordinates will have dimension (3, N*8). | std::pair< IVec, Mat3N > occ::crystal::SpaceGroup::apply_rotations | ( | const Mat3N & | ) | const |
| bool occ::crystal::SpaceGroup::has_H_R_choice | ( | ) | const |
Determine whether this space group has the choice between hexagonal (H) and rhombohedral (R) settings.
| int occ::crystal::SpaceGroup::number | ( | ) | const |
Returns the space group number of this space group.
|
inline |
| const std::string & occ::crystal::SpaceGroup::short_name | ( | ) | const |
Returns the Hermann-Mauguin (international tables) symbol for this object, shortened e.g P 1 2 1 -> P2.
| const std::string & occ::crystal::SpaceGroup::symbol | ( | ) | const |
Returns the Hermann-Mauguin (international tables) symbol for this object.
| const std::vector< SymmetryOperation > & occ::crystal::SpaceGroup::symmetry_operations | ( | ) | const |
Returns the list of symmetry operations for this space group.