AlmaBTE  1.3
A solver of the space- and time-dependent Boltzmann transport equation for phonons
vasp_io.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 
19 
20 #include <Eigen/Dense>
21 #include <structures.hpp>
22 
23 namespace alma {
29 std::unique_ptr<Crystal_structure> load_POSCAR(const char* filename);
30 
41 std::unique_ptr<Harmonic_ifcs> load_FORCE_CONSTANTS(
42  const char* filename,
43  const Crystal_structure& cell,
44  const int na,
45  const int nb,
46  const int nc);
47 
55 Eigen::ArrayXXd load_FORCE_CONSTANTS_raw(const char* filename);
56 
64 std::unique_ptr<Dielectric_parameters> load_BORN(const char* filename);
65 
75 std::unique_ptr<std::vector<Thirdorder_ifcs>> load_FORCE_CONSTANTS_3RD(
76  const char* filename,
77  const Crystal_structure& cell);
78 } // namespace alma
Definition: analytic1d.hpp:26
std::unique_ptr< Crystal_structure > load_POSCAR(const char *filename)
Build a Crystal_structure object from a VASP POSCAR file.
Definition: vasp_io.cpp:27
std::unique_ptr< std::vector< Thirdorder_ifcs > > load_FORCE_CONSTANTS_3RD(const char *filename, const Crystal_structure &cell)
Create a std::vector of Thirdorder_ifcs objects from a FORCE_CONSTANTS_3RD file.
Definition: vasp_io.cpp:256
std::unique_ptr< Harmonic_ifcs > load_FORCE_CONSTANTS(const char *filename, const Crystal_structure &cell, const int na, const int nb, const int nc)
Create a Harmonic_ifcs object from the information stored in a Phonopy FORCE_CONSTANTS file...
Definition: vasp_io.cpp:102
std::unique_ptr< Dielectric_parameters > load_BORN(const char *filename)
Create a Dielectric_parameters object from a Phonopy BORN file.
Definition: vasp_io.cpp:213
Definitions of the basic data-handling classes in ALMA.
Eigen::ArrayXXd load_FORCE_CONSTANTS_raw(const char *filename)
Load the data in a FORCE_CONSTANTS file and return it as a raw matrix.
Definition: vasp_io.cpp:179