occ
Loading...
Searching...
No Matches
occ::elastic_fit::PES Class Reference

#include <pes.h>

Public Member Functions

 PES (const crystal::Crystal &crystal)
 
void add_potential (std::unique_ptr< PotentialBase > pot)
 
double lattice_energy () const
 
size_t number_of_potentials () const
 
void set_shift (double shift)
 
void set_scale (double scale)
 
void set_temperature (double temperature)
 
const double & get_temperature () const
 
double shift () const
 
const crystal::Crystalcrystal () const
 
size_t num_unique_molecules ()
 
occ::Mat inv_mass_matrix ()
 
occ::Mat6 compute_elastic_tensor (double volume, LinearSolverType solver_type=LinearSolverType::SVD, double svd_threshold=1e-12, bool save_debug_matrices=false)
 
occ::CMat compute_fm_at_kpoint (const occ::Vec3 &kp)
 
std::pair< occ::Vec, occ::Matcompute_phonons_at_kpoint (const occ::CMat &Dyn_ij)
 
void phonons (const occ::IVec3 &shrinking_factors, const occ::Vec3 shift, bool animate)
 
void animate_phonons (const occ::Vec &frequencies, const occ::Mat &eigenvectors, const occ::Vec3 &kpoint)
 

Static Public Member Functions

static std::pair< int, int > voigt_notation (int voigt)
 
static occ::Mat solve_linear_system (const occ::Mat &A, const occ::Mat &B, LinearSolverType solver_type, double svd_threshold=1e-12)
 

Constructor & Destructor Documentation

◆ PES()

occ::elastic_fit::PES::PES ( const crystal::Crystal crystal)
inlineexplicit

Member Function Documentation

◆ add_potential()

void occ::elastic_fit::PES::add_potential ( std::unique_ptr< PotentialBase pot)
inline

◆ animate_phonons()

void occ::elastic_fit::PES::animate_phonons ( const occ::Vec frequencies,
const occ::Mat eigenvectors,
const occ::Vec3 kpoint 
)

◆ compute_elastic_tensor()

occ::Mat6 occ::elastic_fit::PES::compute_elastic_tensor ( double  volume,
LinearSolverType  solver_type = LinearSolverType::SVD,
double  svd_threshold = 1e-12,
bool  save_debug_matrices = false 
)

◆ compute_fm_at_kpoint()

occ::CMat occ::elastic_fit::PES::compute_fm_at_kpoint ( const occ::Vec3 kp)

◆ compute_phonons_at_kpoint()

std::pair< occ::Vec, occ::Mat > occ::elastic_fit::PES::compute_phonons_at_kpoint ( const occ::CMat Dyn_ij)

◆ crystal()

const crystal::Crystal & occ::elastic_fit::PES::crystal ( ) const
inline

◆ get_temperature()

const double & occ::elastic_fit::PES::get_temperature ( ) const
inline

◆ inv_mass_matrix()

occ::Mat occ::elastic_fit::PES::inv_mass_matrix ( )

◆ lattice_energy()

double occ::elastic_fit::PES::lattice_energy ( ) const
inline

◆ num_unique_molecules()

size_t occ::elastic_fit::PES::num_unique_molecules ( )
inline

◆ number_of_potentials()

size_t occ::elastic_fit::PES::number_of_potentials ( ) const
inline

◆ phonons()

void occ::elastic_fit::PES::phonons ( const occ::IVec3 shrinking_factors,
const occ::Vec3  shift,
bool  animate 
)

◆ set_scale()

void occ::elastic_fit::PES::set_scale ( double  scale)
inline

◆ set_shift()

void occ::elastic_fit::PES::set_shift ( double  shift)
inline

◆ set_temperature()

void occ::elastic_fit::PES::set_temperature ( double  temperature)
inline

◆ shift()

double occ::elastic_fit::PES::shift ( ) const
inline

◆ solve_linear_system()

static occ::Mat occ::elastic_fit::PES::solve_linear_system ( const occ::Mat A,
const occ::Mat B,
LinearSolverType  solver_type,
double  svd_threshold = 1e-12 
)
inlinestatic

◆ voigt_notation()

static std::pair< int, int > occ::elastic_fit::PES::voigt_notation ( int  voigt)
inlinestatic

The documentation for this class was generated from the following file: