occ
|
A class representing an asymmetric unit of a crystal structure. More...
#include <asymmetric_unit.h>
Public Member Functions | |
AsymmetricUnit () | |
Constructs an empty asymmetric unit. | |
AsymmetricUnit (const Mat3N &positions, const IVec &atomic_numbers) | |
Constructs an asymmetric unit from the given positions and atomic numbers. | |
AsymmetricUnit (const Mat3N &positions, const IVec &atomic_numbers, const std::vector< std::string > &labels) | |
Constructs an asymmetric unit from the given positions, atomic numbers, and labels. | |
std::string | chemical_formula () const |
Returns the chemical formula of the asymmetric unit. | |
Vec | covalent_radii () const |
Returns the covalent radii of the atoms in the asymmetric unit. | |
Vec | vdw_radii () const |
Returns the van der Waals radii of the atoms in the asymmetric unit. | |
void | generate_default_labels () |
Generates default labels for the atoms in the unit cell. | |
size_t | size () const |
Returns the number of atoms in the unit cell. | |
Public Attributes | |
Mat3N | positions |
The positions of the atoms in the unit cell, expressed as a matrix of size (3, n), where n is the number of atoms. | |
IVec | atomic_numbers |
The atomic numbers of the atoms in the unit cell, expressed as a vector of size n. | |
Vec | occupations |
The occupations of the atoms in the unit cell, expressed as a vector of size n. | |
Vec | charges |
The charges of the atoms in the unit cell, expressed as a vector of size n. | |
Mat6N | adps |
The anisotropic displacement parameters of the atoms in the unit cell, expressed as a (6, N) matrix matrix of columns of (u11, u22, u33, u12, u13, u23) | |
std::vector< std::string > | labels |
The labels of the atoms in the unit cell, expressed as a vector of strings of size n. | |
A class representing an asymmetric unit of a crystal structure.
An asymmetric unit is a building block of a crystal lattice, and it contains a set of atoms with their positions, atomic numbers, occupations, charges, and labels.
|
inline |
Constructs an empty asymmetric unit.
occ::crystal::AsymmetricUnit::AsymmetricUnit | ( | const Mat3N & | positions, |
const IVec & | atomic_numbers | ||
) |
Constructs an asymmetric unit from the given positions and atomic numbers.
positions | The positions of the atoms in the unit cell, expressed as a matrix of size (3, n), where n is the number of atoms. Each column of the matrix represents the (x, y, z) coordinates of an atom. |
atomic_numbers | The atomic numbers of the atoms in the unit cell, expressed as a vector of size n. |
occ::crystal::AsymmetricUnit::AsymmetricUnit | ( | const Mat3N & | positions, |
const IVec & | atomic_numbers, | ||
const std::vector< std::string > & | labels | ||
) |
Constructs an asymmetric unit from the given positions, atomic numbers, and labels.
positions | The positions of the atoms in the unit cell, expressed as a matrix of size (3, n), where n is the number of atoms. Each column of the matrix represents the (x, y, z) coordinates of an atom. |
atomic_numbers | The atomic numbers of the atoms in the unit cell, expressed as a vector of size n. |
labels | The labels of the atoms in the unit cell, expressed as a vector of strings of size n. Each string represents the label of the corresponding atom. |
std::string occ::crystal::AsymmetricUnit::chemical_formula | ( | ) | const |
Returns the chemical formula of the asymmetric unit.
The chemical formula is a string that represents the composition of the unit cell, using the symbols of the chemical elements. For example, "H2O" or "CuZn"
Vec occ::crystal::AsymmetricUnit::covalent_radii | ( | ) | const |
Returns the covalent radii of the atoms in the asymmetric unit.
The covalent radii of an atom is a measure of the size of its atomic nucleus, and it is typically used to calculate the distances between atoms in a molecule.
void occ::crystal::AsymmetricUnit::generate_default_labels | ( | ) |
Generates default labels for the atoms in the unit cell.
The default labels are assigned based on the chemical element of each atom, using the standard one- or two-letter symbol followed by a number. For example, "C1", "N2", "Fe3".
|
inline |
Returns the number of atoms in the unit cell.
Vec occ::crystal::AsymmetricUnit::vdw_radii | ( | ) | const |
Returns the van der Waals radii of the atoms in the asymmetric unit.
Mat6N occ::crystal::AsymmetricUnit::adps |
The anisotropic displacement parameters of the atoms in the unit cell, expressed as a (6, N) matrix matrix of columns of (u11, u22, u33, u12, u13, u23)
IVec occ::crystal::AsymmetricUnit::atomic_numbers |
The atomic numbers of the atoms in the unit cell, expressed as a vector of size n.
Vec occ::crystal::AsymmetricUnit::charges |
The charges of the atoms in the unit cell, expressed as a vector of size n.
std::vector<std::string> occ::crystal::AsymmetricUnit::labels |
The labels of the atoms in the unit cell, expressed as a vector of strings of size n.
Each string represents the label of the corresponding atom.
Vec occ::crystal::AsymmetricUnit::occupations |
The occupations of the atoms in the unit cell, expressed as a vector of size n.
Mat3N occ::crystal::AsymmetricUnit::positions |
The positions of the atoms in the unit cell, expressed as a matrix of size (3, n), where n is the number of atoms.
Each column of the matrix represents the (x, y, z) coordinates of an atom.