forked from kygraphy/MakeNEB
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathposcar.h
46 lines (40 loc) · 905 Bytes
/
poscar.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//
// Created by K.Y. on 2018/01/25.
//
#ifndef MAKENEB_POSCAR_H
#define MAKENEB_POSCAR_H
#include <iostream>
#include <vector>
#include <fstream>
#include <sstream>
#include <numeric>
#include <cmath>
using namespace std;
class poscar {
bool ready = false;
string title;
double scale;
double lattice[9];
vector<string> elements;
vector<int> atomNums;
int atomNum;
vector<double> coods;
bool readPoscar(string filename);
int setAtomNum();
public:
poscar();
poscar(string filename);
poscar(poscar p1, poscar p2, int num);
~poscar();
bool isReady();
vector<string> getElements();
vector<int> getAtomNums();
double getScale();
double getLattice(int num);
double getCood(int num);
string getTitle();
string getElementsAsString();
string getAtomNumsAsString();
int getAtomNum();
};
#endif //MAKENEB_POSCAR_H