-
Notifications
You must be signed in to change notification settings - Fork 0
/
bdf.h
75 lines (60 loc) · 1.13 KB
/
bdf.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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#ifndef BDF_H
#define BDF_H
#include "cell.h"
//----------------------------------
// Bond angle distribution function
//----------------------------------
class BDF
{
public:
BDF(){};
~BDF(){};
void Routine();
private:
void cal();
void get_adjacent_atom_positions(
const int &shortest_natom,
const Cell &cel,
const double &dv,
const int npoints,
int* bond_df,
int** bond_detail,
int* bond_type);
void bond_angle(
const int &ntype,
const int &iat,
const int &it,
int *itindex,
const double &x1,
const double &y1,
const double &z1,
const int &shortest_natom,
const double &dv,
const double* posx,
const double* posy,
const double* posz,
int* bond_df,
int** bond_detail,
int* bond_type);
void shift2back(const int &pairs,
const int &ip_start,
double* distance,
double* posx,
double* posy,
double* posz,
int* itindex,
int* iaindex);
private:
double cal_angle(
const double &a,
const double &b,
const double &c);
double cal_norm(
const double &x1,
const double &y1,
const double &z1,
const double &x2,
const double &y2,
const double &z2);
};
#endif