occ
|
Represents and analyzes a crystal surface defined by Miller indices. More...
#include <surface.h>
Public Member Functions | |
Surface (const HKL &, const Crystal &) | |
Construct a surface from Miller indices and crystal. | |
double | depth () const |
double | d () const |
void | print () const |
Vec3 | normal_vector () const |
Get the surface normal vector. | |
const auto & | hkl () const |
const auto & | depth_vector () const |
const auto & | a_vector () const |
const auto & | b_vector () const |
double | area () const |
Vec3 | dipole () const |
Mat3 | basis_matrix (double depth_scale=1.0) const |
std::vector< Molecule > | find_molecule_cell_translations (const std::vector< Molecule > &unit_cell_mols, double depth, double cut_offset=0.0) |
SurfaceCutResult | count_crystal_dimers_cut_by_surface (const CrystalDimers &, double cut_offset=0.0) |
std::vector< double > | possible_cuts (Eigen::Ref< const Mat3N > unique_positions, double epsilon=1e-6) const |
Static Public Member Functions | |
static bool | check_systematic_absence (const Crystal &, const HKL &) |
static bool | faces_are_equivalent (const Crystal &, const HKL &, const HKL &) |
Represents and analyzes a crystal surface defined by Miller indices.
Construct a surface from Miller indices and crystal.
hkl | Miller indices defining the surface |
crystal | Reference crystal structure |
|
inline |
|
inline |
|
inline |
Mat3 occ::crystal::Surface::basis_matrix | ( | double | depth_scale = 1.0 | ) | const |
|
static |
SurfaceCutResult occ::crystal::Surface::count_crystal_dimers_cut_by_surface | ( | const CrystalDimers & | , |
double | cut_offset = 0.0 |
||
) |
double occ::crystal::Surface::d | ( | ) | const |
double occ::crystal::Surface::depth | ( | ) | const |
|
inline |
Vec3 occ::crystal::Surface::dipole | ( | ) | const |
|
static |
std::vector< Molecule > occ::crystal::Surface::find_molecule_cell_translations | ( | const std::vector< Molecule > & | unit_cell_mols, |
double | depth, | ||
double | cut_offset = 0.0 |
||
) |
|
inline |
Vec3 occ::crystal::Surface::normal_vector | ( | ) | const |
Get the surface normal vector.
std::vector< double > occ::crystal::Surface::possible_cuts | ( | Eigen::Ref< const Mat3N > | unique_positions, |
double | epsilon = 1e-6 |
||
) | const |
void occ::crystal::Surface::print | ( | ) | const |