forked from lammps/lammps
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathreaxff_defs.h
66 lines (52 loc) · 2.25 KB
/
reaxff_defs.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
/* -*- c++ -*- ----------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
https://www.lammps.org/ Sandia National Laboratories
Steve Plimpton, [email protected]
Copyright (2003) Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
certain rights in this software. This software is distributed under
the GNU General Public License.
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Hasan Metin Aktulga, Purdue University
(now at Lawrence Berkeley National Laboratory, [email protected])
Heavily modified and adapted for LAMMPS by the LAMMPS developers.
------------------------------------------------------------------------- */
#ifndef LMP_REAXFF_DEFS_H
#define LMP_REAXFF_DEFS_H
#if defined(__IBMC__)
#define inline __inline__
#endif /*IBMC*/
#define SQR(x) ((x)*(x))
#define CUBE(x) ((x)*(x)*(x))
#define DEG2RAD(a) ((a)*constPI/180.0)
#define RAD2DEG(a) ((a)*180.0/constPI)
#define MAX3(x,y,z) MAX(MAX(x,y), z)
#define constPI 3.14159265
#define C_ele 332.06371
#define EV_to_KCALpMOL 14.400000 // ElectronVolt --> KCAL per MOLe
#define KCALpMOL_to_EV 23.02 // 23.060549 //KCAL per MOLe --> ElectronVolt
#define HB_THRESHOLD 1e-2 // 0.01
#define REAX_MIN_CAP 50
#define REAX_MIN_NBRS 100
#define MIN_HENTRIES 100
#define MAX_BONDS 30
#define MIN_BONDS 25
#define REAX_MIN_HBONDS 25
#define MIN_3BODIES 1000
#define REAX_SAFE_ZONE 1.2
#define REAX_SAFER_ZONE 1.4
#define DANGER_ZONE 0.90
#define LOOSE_ZONE 0.75
#define MAXREAXBOND 24 /* used in fix_reaxff_bonds.cpp and pair_reaxff.cpp */
#define MAXSPECBOND 24 /* used in fix_reaxff_species.cpp and pair_reaxff.cpp */
#define REAX_MAX_3BODY_PARAM 5
#define REAX_MAX_4BODY_PARAM 5
namespace ReaxFF
{
/******************* ENUMERATORS *************************/
enum {BONDS, THREE_BODIES, HBONDS, FAR_NBRS, LIST_N};
enum {TYP_BOND, TYP_THREE_BODY, TYP_HBOND, TYP_FAR_NEIGHBOR, TYP_N};
}
#endif