AlmaBTE  1.3
A solver of the space- and time-dependent Boltzmann transport equation for phonons
vc.hpp
Go to the documentation of this file.
1 // Copyright 2015-2018 The ALMA Project Developers
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12 // implied. See the License for the specific language governing
13 // permissions and limitations under the License.
14 
15 #pragma once
16 
21 
22 #include <structures.hpp>
23 #include <dos.hpp>
24 
25 namespace alma {
35 std::unique_ptr<Crystal_structure> vc_mix_structures(
36  const std::vector<Crystal_structure>& components,
37  const std::vector<double>& ratios);
38 
45 std::unique_ptr<Dielectric_parameters> vc_mix_dielectric_parameters(
46  const std::vector<Dielectric_parameters>& components,
47  const std::vector<double>& ratios);
48 
56 std::unique_ptr<Harmonic_ifcs> vc_mix_harmonic_ifcs(
57  const std::vector<Harmonic_ifcs>& components,
58  const std::vector<double>& ratios);
59 
67 std::unique_ptr<std::vector<Thirdorder_ifcs>> vc_mix_thirdorder_ifcs(
68  const std::vector<std::vector<Thirdorder_ifcs>>& components,
69  const std::vector<double>& ratios);
70 } // namespace alma
Definition: analytic1d.hpp:26
std::unique_ptr< Crystal_structure > 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...
Definition: vc.cpp:24
std::unique_ptr< Harmonic_ifcs > 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.
Definition: vc.cpp:129
std::unique_ptr< Dielectric_parameters > 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.
Definition: vc.cpp:88
Definitions of the basic data-handling classes in ALMA.
Code related to the phonon density fo states (DOS).
std::unique_ptr< std::vector< Thirdorder_ifcs > > 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.
Definition: vc.cpp:178