AlmaBTE  1.3
A solver of the space- and time-dependent Boltzmann transport equation for phonons
vc.cpp File Reference

Definitions corresponding to vc.hpp. More...

#include <Eigen/Dense>
#include <exceptions.hpp>
#include <periodic_table.hpp>
#include <vc.hpp>
Include dependency graph for vc.cpp:

Functions

std::unique_ptr< Crystal_structure > alma::vc_mix_structures (const std::vector< Crystal_structure > &components, const std::vector< double > &ratios)
 Create an average structure out of several Crystal_structure objects containing the same atomic sites. More...
 
std::unique_ptr< Dielectric_parameters > alma::vc_mix_dielectric_parameters (const std::vector< Dielectric_parameters > &components, const std::vector< double > &ratios)
 Create a set of average dielectric parameters from compatible inputs. More...
 
std::unique_ptr< Harmonic_ifcs > alma::vc_mix_harmonic_ifcs (const std::vector< Harmonic_ifcs > &components, const std::vector< double > &ratios)
 Create a set of average second-order force constants from compatible inputs. More...
 
std::unique_ptr< std::vector< Thirdorder_ifcs > > alma::vc_mix_thirdorder_ifcs (const std::vector< std::vector< Thirdorder_ifcs >> &components, const std::vector< double > &ratios)
 Create a set of average third-order force constants from compatible inputs. More...
 

Detailed Description

Definitions corresponding to vc.hpp.

Function Documentation

◆ vc_mix_dielectric_parameters()

std::unique_ptr< Dielectric_parameters > alma::vc_mix_dielectric_parameters ( const std::vector< Dielectric_parameters > &  components,
const std::vector< double > &  ratios 
)

Create a set of average dielectric parameters from compatible inputs.

Parameters
[in]components- input dielectric parameters
[in]ratios- set of positive weights for the components
Returns
the weighted average of the input dielectric parameters

◆ vc_mix_harmonic_ifcs()

std::unique_ptr< Harmonic_ifcs > alma::vc_mix_harmonic_ifcs ( const std::vector< Harmonic_ifcs > &  components,
const std::vector< double > &  ratios 
)

Create a set of average second-order force constants from compatible inputs.

Parameters
[in]components- input harmonic force constants
[in]ratios- set of positive weights for the components
Returns
the weighted average of the input harmomic force constants.

◆ vc_mix_structures()

std::unique_ptr< Crystal_structure > alma::vc_mix_structures ( const std::vector< Crystal_structure > &  components,
const std::vector< double > &  ratios 
)

Create an average structure out of several Crystal_structure objects containing the same atomic sites.

The resulting structure will be based on the weighted average of the lattice vectors of the components, and contain "virtual" elements with the right compositions.

Parameters
[in]components- input structures
[in]ratios- set of positive weights for the components
Returns
the weighted average of the input structures

◆ vc_mix_thirdorder_ifcs()

std::unique_ptr< std::vector< Thirdorder_ifcs > > alma::vc_mix_thirdorder_ifcs ( const std::vector< std::vector< Thirdorder_ifcs >> &  components,
const std::vector< double > &  ratios 
)

Create a set of average third-order force constants from compatible inputs.

Parameters
[in]components- input third-order force constants
[in]ratios- set of positive weights for the components
Returns
the weighted average of the input third-order force constants.