occ
|
functionality related to periodic crystal structures, space groups, symmetry operations More...
Classes | |
struct | AsymmetricUnit |
A class representing an asymmetric unit of a crystal structure. More... | |
class | Crystal |
A class representing a crystal structure. More... | |
struct | CrystalAtomRegion |
A class representing a region of atoms in a crystal lattice. More... | |
struct | CrystalDimers |
A class representing the molecular dimers in a crystal lattice. More... | |
struct | CrystalSurfaceGenerationParameters |
Parameters for crystal surface generation. More... | |
struct | DimerIndex |
Represents a pair of sites in a crystal structure. More... | |
struct | DimerIndexHash |
struct | DimerMappingEdge |
class | DimerMappingTable |
Maps and manages symmetry relationships between dimers in a crystal. More... | |
struct | DimerMappingVertex |
struct | HKL |
A struct representing a lattice vector triplet (h, k, l) in a crystal lattice. More... | |
class | ReciprocalAsymmetricUnit |
struct | SiteIndex |
struct | SiteIndexHash |
struct | SiteMappingEdge |
class | SiteMappingTable |
struct | SiteMappingVertex |
class | SpaceGroup |
This class represents a space group. More... | |
class | Surface |
Represents and analyzes a crystal surface defined by Miller indices. More... | |
struct | SurfaceCutResult |
Results from analyzing a crystal surface cut. More... | |
struct | SymmetryDimerLabeller |
class | SymmetryOperation |
Class representing a 3D symmetry operation. More... | |
struct | SymmetryOperationFormat |
class | UnitCell |
This class represents a unit cell of a crystal lattice. More... | |
Typedefs | |
using | DimerMappingGraph = core::graph::Graph< DimerMappingVertex, DimerMappingEdge > |
using | SiteMappingGraph = core::graph::Graph< SiteMappingVertex, SiteMappingEdge > |
using | SGData = gemmi::SpaceGroup |
Functions | |
Eigen::MatrixXd | muldin (const Eigen::VectorXd &x) |
std::vector< Surface > | generate_surfaces (const Crystal &c, const CrystalSurfaceGenerationParameters &={}) |
UnitCell | cubic_cell (double length) |
Construct a cubic unit cell from a given length. | |
UnitCell | rhombohedral_cell (double length, double angle) |
Construct a rhombohedral unit cell from a given length and angle. | |
UnitCell | tetragonal_cell (double a, double c) |
Construct a tetragonal unit cell from two given lengths. | |
UnitCell | hexagonal_cell (double a, double c) |
Construct a hexagonal unit cell from two given lengths. | |
UnitCell | orthorhombic_cell (double a, double b, double c) |
Construct an orthorhombic unit cell from three given lengths. | |
UnitCell | monoclinic_cell (double a, double b, double c, double angle) |
Construct an orthorhombic unit cell from three given lengths and one angle. | |
UnitCell | triclinic_cell (double a, double b, double c, double alpha, double beta, double gamma) |
Construct an orthorhombic unit cell from three given lengths and three angles. | |
void | to_json (nlohmann::json &j, const CrystalDimers &) |
void | from_json (const nlohmann::json &j, CrystalDimers &) |
void | to_json (nlohmann::json &j, const AsymmetricUnit &) |
void | from_json (const nlohmann::json &j, AsymmetricUnit &) |
void | to_json (nlohmann::json &j, const UnitCell &) |
void | from_json (const nlohmann::json &j, UnitCell &) |
void | to_json (nlohmann::json &j, const CrystalAtomRegion &) |
void | from_json (const nlohmann::json &j, CrystalAtomRegion &) |
functionality related to periodic crystal structures, space groups, symmetry operations
depends on occ::core and the gemmi library
using occ::crystal::DimerMappingGraph = typedef core::graph::Graph<DimerMappingVertex, DimerMappingEdge> |
using occ::crystal::SGData = typedef gemmi::SpaceGroup |
using occ::crystal::SiteMappingGraph = typedef core::graph::Graph<SiteMappingVertex, SiteMappingEdge> |
UnitCell occ::crystal::cubic_cell | ( | double | length | ) |
Construct a cubic unit cell from a given length.
void occ::crystal::from_json | ( | const nlohmann::json & | j, |
AsymmetricUnit & | |||
) |
void occ::crystal::from_json | ( | const nlohmann::json & | j, |
CrystalAtomRegion & | |||
) |
void occ::crystal::from_json | ( | const nlohmann::json & | j, |
CrystalDimers & | |||
) |
void occ::crystal::from_json | ( | const nlohmann::json & | j, |
UnitCell & | |||
) |
std::vector< Surface > occ::crystal::generate_surfaces | ( | const Crystal & | c, |
const CrystalSurfaceGenerationParameters & | = {} |
||
) |
UnitCell occ::crystal::hexagonal_cell | ( | double | a, |
double | c | ||
) |
Construct a hexagonal unit cell from two given lengths.
UnitCell occ::crystal::monoclinic_cell | ( | double | a, |
double | b, | ||
double | c, | ||
double | angle | ||
) |
Construct an orthorhombic unit cell from three given lengths and one angle.
Eigen::MatrixXd occ::crystal::muldin | ( | const Eigen::VectorXd & | x | ) |
UnitCell occ::crystal::orthorhombic_cell | ( | double | a, |
double | b, | ||
double | c | ||
) |
Construct an orthorhombic unit cell from three given lengths.
UnitCell occ::crystal::rhombohedral_cell | ( | double | length, |
double | angle | ||
) |
Construct a rhombohedral unit cell from a given length and angle.
UnitCell occ::crystal::tetragonal_cell | ( | double | a, |
double | c | ||
) |
Construct a tetragonal unit cell from two given lengths.
void occ::crystal::to_json | ( | nlohmann::json & | j, |
const AsymmetricUnit & | |||
) |
void occ::crystal::to_json | ( | nlohmann::json & | j, |
const CrystalAtomRegion & | |||
) |
void occ::crystal::to_json | ( | nlohmann::json & | j, |
const CrystalDimers & | |||
) |
void occ::crystal::to_json | ( | nlohmann::json & | j, |
const UnitCell & | |||
) |
UnitCell occ::crystal::triclinic_cell | ( | double | a, |
double | b, | ||
double | c, | ||
double | alpha, | ||
double | beta, | ||
double | gamma | ||
) |
Construct an orthorhombic unit cell from three given lengths and three angles.