forked from lijiext/lammps
62 lines
863 B
C++
62 lines
863 B
C++
#ifndef PHONON_H
|
|
#define PHONON_H
|
|
|
|
#include "stdio.h"
|
|
#include "stdlib.h"
|
|
#include <complex>
|
|
#include "dynmat.h"
|
|
#include "memory.h"
|
|
|
|
using namespace std;
|
|
|
|
class Phonon{
|
|
public:
|
|
Phonon(DynMat *);
|
|
~Phonon();
|
|
|
|
DynMat *dynmat;
|
|
|
|
private:
|
|
int nq, ndim, sysdim;
|
|
double **qpts, *wt;
|
|
double **eigs;
|
|
|
|
int ndos, nlocal, *locals;
|
|
double *dos, fmin, fmax, df, rdf;
|
|
double ***ldos;
|
|
|
|
Memory *memory;
|
|
|
|
void QMesh();
|
|
void ComputeAll();
|
|
|
|
void pdos();
|
|
void pdisp();
|
|
void therm();
|
|
|
|
void ldos_egv();
|
|
void ldos_rsgf();
|
|
void local_therm();
|
|
|
|
void dmanyq();
|
|
void vfanyq();
|
|
void DMdisp();
|
|
void vecanyq();
|
|
|
|
void ShowCell();
|
|
|
|
void smooth(double *, const int);
|
|
void writeDOS();
|
|
void writeLDOS();
|
|
void Normalize();
|
|
|
|
int count_words(const char *);
|
|
|
|
#ifdef UseSPG
|
|
int num_atom, *attyp;
|
|
double latvec[3][3], **atpos;
|
|
#endif
|
|
};
|
|
|
|
#endif
|