added ExTeP to USER-MISC
This commit is contained in:
@ -1045,6 +1045,7 @@ package"_Section_start.html#start_3.
|
||||
"edpd"_pair_meso.html,
|
||||
"eff/cut"_pair_eff.html,
|
||||
"exp6/rx"_pair_exp6_rx.html,
|
||||
"extep"_pair_extep.html,
|
||||
"gauss/cut"_pair_gauss.html,
|
||||
"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
|
||||
"lennard/mdf"_pair_mdf.html,
|
||||
|
||||
@ -443,6 +443,7 @@ pair_edip.html
|
||||
pair_eff.html
|
||||
pair_eim.html
|
||||
pair_exp6_rx.html
|
||||
pair_extep.html
|
||||
pair_gauss.html
|
||||
pair_gayberne.html
|
||||
pair_gran.html
|
||||
|
||||
40
doc/src/pair_extep.txt
Normal file
40
doc/src/pair_extep.txt
Normal file
@ -0,0 +1,40 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
pair_style extep command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style extep :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style extep
|
||||
pair_coeff * * BN.extep B N :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {extep} computes the Extended Tersoff Potential (ExTeP)
|
||||
interactions as described in "(Los2017)"_#Los2017.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_tersoff" pair_tersoff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(Los2017)
|
||||
[(Los2017)] J. H. Los et al. "Extended Tersoff potential for boron nitride:
|
||||
Energetics and elastic properties of pristine and defective h-BN",
|
||||
Phys. Rev. B 96 (184108), 2017.
|
||||
@ -32,6 +32,7 @@ Pair Styles :h1
|
||||
pair_eff
|
||||
pair_eim
|
||||
pair_exp6_rx
|
||||
pair_extep
|
||||
pair_gauss
|
||||
pair_gayberne
|
||||
pair_gran
|
||||
|
||||
116
examples/USER/misc/extep/BN.data
Normal file
116
examples/USER/misc/extep/BN.data
Normal file
@ -0,0 +1,116 @@
|
||||
info: BN sample with r_BN=1.45
|
||||
|
||||
100 atoms
|
||||
2 atom types
|
||||
|
||||
0.0 21.75000000 xlo xhi
|
||||
0.0 12.55736835 ylo yhi
|
||||
0.0 50.00000000 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 10.811
|
||||
2 14.0067
|
||||
|
||||
Atoms
|
||||
|
||||
1 1 0.00000000 0.00000000 0.00000000
|
||||
2 2 1.45000000 0.00000000 0.00000000
|
||||
3 1 2.17500000 1.25573684 0.00000000
|
||||
4 2 3.62500000 1.25573684 0.00000000
|
||||
5 1 0.00000000 2.51147367 0.00000000
|
||||
6 2 1.45000000 2.51147367 0.00000000
|
||||
7 1 2.17500000 3.76721051 0.00000000
|
||||
8 2 3.62500000 3.76721051 0.00000000
|
||||
9 1 0.00000000 5.02294734 0.00000000
|
||||
10 2 1.45000000 5.02294734 0.00000000
|
||||
11 1 2.17500000 6.27868418 0.00000000
|
||||
12 2 3.62500000 6.27868418 0.00000000
|
||||
13 1 0.00000000 7.53442101 0.00000000
|
||||
14 2 1.45000000 7.53442101 0.00000000
|
||||
15 1 2.17500000 8.79015785 0.00000000
|
||||
16 2 3.62500000 8.79015785 0.00000000
|
||||
17 1 0.00000000 10.04589468 0.00000000
|
||||
18 2 1.45000000 10.04589468 0.00000000
|
||||
19 1 2.17500000 11.30163152 0.00000000
|
||||
20 2 3.62500000 11.30163152 0.00000000
|
||||
21 1 4.35000000 0.00000000 0.00000000
|
||||
22 2 5.80000000 0.00000000 0.00000000
|
||||
23 1 6.52500000 1.25573684 0.00000000
|
||||
24 2 7.97500000 1.25573684 0.00000000
|
||||
25 1 4.35000000 2.51147367 0.00000000
|
||||
26 2 5.80000000 2.51147367 0.00000000
|
||||
27 1 6.52500000 3.76721051 0.00000000
|
||||
28 2 7.97500000 3.76721051 0.00000000
|
||||
29 1 4.35000000 5.02294734 0.00000000
|
||||
30 2 5.80000000 5.02294734 0.00000000
|
||||
31 1 6.52500000 6.27868418 0.00000000
|
||||
32 2 7.97500000 6.27868418 0.00000000
|
||||
33 1 4.35000000 7.53442101 0.00000000
|
||||
34 2 5.80000000 7.53442101 0.00000000
|
||||
35 1 6.52500000 8.79015785 0.00000000
|
||||
36 2 7.97500000 8.79015785 0.00000000
|
||||
37 1 4.35000000 10.04589468 0.00000000
|
||||
38 2 5.80000000 10.04589468 0.00000000
|
||||
39 1 6.52500000 11.30163152 0.00000000
|
||||
40 2 7.97500000 11.30163152 0.00000000
|
||||
41 1 8.70000000 0.00000000 0.00000000
|
||||
42 2 10.15000000 0.00000000 0.00000000
|
||||
43 1 10.87500000 1.25573684 0.00000000
|
||||
44 2 12.32500000 1.25573684 0.00000000
|
||||
45 1 8.70000000 2.51147367 0.00000000
|
||||
46 2 10.15000000 2.51147367 0.00000000
|
||||
47 1 10.87500000 3.76721051 0.00000000
|
||||
48 2 12.32500000 3.76721051 0.00000000
|
||||
49 1 8.70000000 5.02294734 0.00000000
|
||||
50 2 10.15000000 5.02294734 0.00000000
|
||||
51 1 10.87500000 6.27868418 0.00000000
|
||||
52 2 12.32500000 6.27868418 0.00000000
|
||||
53 1 8.70000000 7.53442101 0.00000000
|
||||
54 2 10.15000000 7.53442101 0.00000000
|
||||
55 1 10.87500000 8.79015785 0.00000000
|
||||
56 2 12.32500000 8.79015785 0.00000000
|
||||
57 1 8.70000000 10.04589468 0.00000000
|
||||
58 2 10.15000000 10.04589468 0.00000000
|
||||
59 1 10.87500000 11.30163152 0.00000000
|
||||
60 2 12.32500000 11.30163152 0.00000000
|
||||
61 1 13.05000000 0.00000000 0.00000000
|
||||
62 2 14.50000000 0.00000000 0.00000000
|
||||
63 1 15.22500000 1.25573684 0.00000000
|
||||
64 2 16.67500000 1.25573684 0.00000000
|
||||
65 1 13.05000000 2.51147367 0.00000000
|
||||
66 2 14.50000000 2.51147367 0.00000000
|
||||
67 1 15.22500000 3.76721051 0.00000000
|
||||
68 2 16.67500000 3.76721051 0.00000000
|
||||
69 1 13.05000000 5.02294734 0.00000000
|
||||
70 2 14.50000000 5.02294734 0.00000000
|
||||
71 1 15.22500000 6.27868418 0.00000000
|
||||
72 2 16.67500000 6.27868418 0.00000000
|
||||
73 1 13.05000000 7.53442101 0.00000000
|
||||
74 2 14.50000000 7.53442101 0.00000000
|
||||
75 1 15.22500000 8.79015785 0.00000000
|
||||
76 2 16.67500000 8.79015785 0.00000000
|
||||
77 1 13.05000000 10.04589468 0.00000000
|
||||
78 2 14.50000000 10.04589468 0.00000000
|
||||
79 1 15.22500000 11.30163152 0.00000000
|
||||
80 2 16.67500000 11.30163152 0.00000000
|
||||
81 1 17.40000000 0.00000000 0.00000000
|
||||
82 2 18.85000000 0.00000000 0.00000000
|
||||
83 1 19.57500000 1.25573684 0.00000000
|
||||
84 2 21.02500000 1.25573684 0.00000000
|
||||
85 1 17.40000000 2.51147367 0.00000000
|
||||
86 2 18.85000000 2.51147367 0.00000000
|
||||
87 1 19.57500000 3.76721051 0.00000000
|
||||
88 2 21.02500000 3.76721051 0.00000000
|
||||
89 1 17.40000000 5.02294734 0.00000000
|
||||
90 2 18.85000000 5.02294734 0.00000000
|
||||
91 1 19.57500000 6.27868418 0.00000000
|
||||
92 2 21.02500000 6.27868418 0.00000000
|
||||
93 1 17.40000000 7.53442101 0.00000000
|
||||
94 2 18.85000000 7.53442101 0.00000000
|
||||
95 1 19.57500000 8.79015785 0.00000000
|
||||
96 2 21.02500000 8.79015785 0.00000000
|
||||
97 1 17.40000000 10.04589468 0.00000000
|
||||
98 2 18.85000000 10.04589468 0.00000000
|
||||
99 1 19.57500000 11.30163152 0.00000000
|
||||
100 2 21.02500000 11.30163152 0.00000000
|
||||
29
examples/USER/misc/extep/input
Normal file
29
examples/USER/misc/extep/input
Normal file
@ -0,0 +1,29 @@
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
processors * * 1
|
||||
|
||||
# System and atom definition
|
||||
read_data BN.data # read lammps data file
|
||||
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# Potential
|
||||
pair_style extep
|
||||
pair_coeff * * ../../../../potentials/BN.extep B N
|
||||
|
||||
# Output
|
||||
thermo 10
|
||||
thermo_style custom step time etotal pe temp lx ly lz pxx pyy pzz spcpu
|
||||
thermo_modify line one format float %14.8g
|
||||
|
||||
# Setup NPT MD run
|
||||
timestep 0.0001 # ps
|
||||
velocity all create 300.0 12345
|
||||
fix thermos all npt temp 300 300 1.0 x 0 0 1.0 y 0 0 1.0
|
||||
run 1000
|
||||
127
potentials/BN.extep
Normal file
127
potentials/BN.extep
Normal file
@ -0,0 +1,127 @@
|
||||
# B and N mixture, parameterized for Tersoff potential
|
||||
# values are from Albe et.al - Rad. Eff. Def. Sol. 141 (1997) 85.
|
||||
|
||||
#values are calculated from Albe et. al from
|
||||
# m = 3
|
||||
# gamma = 1
|
||||
# c = c, d=d
|
||||
# cos(thetat0) = h
|
||||
# n = n
|
||||
# beta = gamma_albe
|
||||
# lambda1=beta_albe*sqrt(2*S_albe)
|
||||
# lambda2=beta_albe*sqrt(2/S_albe)
|
||||
# lambda3=lambda3
|
||||
# A=D0/(S-1)*exp(lambda1*r0)
|
||||
# B=S*D0/(S-1)*exp(lambda2*r0)
|
||||
# R = R, D=D
|
||||
|
||||
# Tersoff parameters for various elements and mixtures
|
||||
# multiple entries can be added to this file, LAMMPS reads the ones it needs
|
||||
# these entries are in LAMMPS "metal" units:
|
||||
# A,B = eV; lambda1,lambda2,lambda3 = 1/Angstroms; R,D = Angstroms
|
||||
# other quantities are unitless
|
||||
|
||||
# format of a single entry (one or more lines):
|
||||
#I J K m, gamma*, lambda3, c, d, h, n, gamma, lambda2, B, R, D, lambda1, A
|
||||
B B B 3 1.0 0.0 26617.3000 141.2000 -0.1300 1.1422470 0.01498959 2.5211820 2768.7363631 2.0 0.2 2.6857244 3376.3350735
|
||||
N N N 3 1.0 0.0 23.5000 3.7500 -0.4000 0.6650000 0.01925100 2.6272721 2563.5603417 2.0 0.2 2.8293093 2978.9527928
|
||||
B B N 3 1.0 0.0 26617.3000 141.2000 -0.1300 1.1422470 0.01498959 2.5211820 2768.7363631 2.0 0.2 2.6857244 3376.3350735
|
||||
N N B 3 1.0 0.0 23.5000 3.7500 -0.4000 0.6650000 0.01925100 2.6272721 2563.5603417 2.0 0.2 2.8293093 2978.9527928
|
||||
B N B 3 1.0 0.0d0 306.586555205d0 10.d0 -0.7218d0 0.6576543657d0 0.0027024851d0 2.69335d0 2595.6860833266d0 2.d0 0.2d0 2.95d0 3330.0655849887d0
|
||||
B N N 3 1.0 0.0d0 306.586555205d0 10.d0 -0.7218d0 0.6576543657d0 0.0027024851d0 2.69335d0 2595.6860833266d0 2.d0 0.2d0 2.95d0 3330.0655849887d0
|
||||
N B B 3 1.0 0.0d0 306.586555205d0 10.d0 -0.7218d0 0.6576543657d0 0.0027024851d0 2.69335d0 2595.6860833266d0 2.d0 0.2d0 2.95d0 3330.0655849887d0
|
||||
N B N 3 1.0 0.0d0 306.586555205d0 10.d0 -0.7218d0 0.6576543657d0 0.0027024851d0 2.69335d0 2595.6860833266d0 2.d0 0.2d0 2.95d0 3330.0655849887d0
|
||||
#
|
||||
# 1.9925 Bicubic Splines Parameters
|
||||
#
|
||||
# F_corr [ B, B]
|
||||
#
|
||||
#t1 t2 i j val dx dy dxy
|
||||
B B 0 0 0.0000 0.0000 0.0000 0.0000
|
||||
B B 0 1 0.0054 0.0000 0.0000 0.0000
|
||||
B B 0 2 0.0182 0.0000 0.0000 0.0000
|
||||
B B 0 3 -0.0034 0.0000 0.0000 0.0000
|
||||
B B 0 4 -0.0034 0.0000 0.0000 0.0000
|
||||
B B 1 0 0.0054 0.0000 0.0000 0.0000
|
||||
B B 1 1 0.0100 0.0000 0.0000 0.0000
|
||||
B B 1 2 0.0062 0.0000 0.0000 0.0000
|
||||
B B 1 3 0.0154 0.0000 0.0000 0.0000
|
||||
B B 1 4 0.0154 0.0000 0.0000 0.0000
|
||||
B B 2 0 0.0182 0.0000 0.0000 0.0000
|
||||
B B 2 1 0.0062 0.0000 0.0000 0.0000
|
||||
B B 2 2 0.0154 0.0000 0.0000 0.0000
|
||||
B B 2 3 -0.0390 0.0000 -0.0727 0.0000
|
||||
B B 2 4 -0.0390 0.0000 -0.0727 0.0000
|
||||
B B 3 0 -0.0034 0.0000 0.0000 0.0000
|
||||
B B 3 1 0.0154 0.0000 0.0000 0.0000
|
||||
B B 3 2 -0.0390 -0.0727 0.0000 0.0000
|
||||
B B 3 3 -0.1300 0.0000 0.0000 0.0000
|
||||
B B 3 4 -0.1300 0.0000 0.0000 0.0000
|
||||
B B 4 0 -0.0034 0.0000 0.0000 0.0000
|
||||
B B 4 1 0.0154 0.0000 0.0000 0.0000
|
||||
B B 4 2 -0.0390 -0.0727 0.0000 0.0000
|
||||
B B 4 3 -0.1300 0.0000 0.0000 0.0000
|
||||
B B 4 4 -0.1300 0.0000 0.0000 0.0000
|
||||
#
|
||||
# F_corr [ B, N]
|
||||
#
|
||||
#t1 t2 i j val dx dy dxy
|
||||
B N 0 0 0.0170 0.0000 0.0000 0.0000
|
||||
B N 0 1 0.0078 0.0000 0.0000 0.0000
|
||||
B N 0 2 0.0000 0.0000 0.0000 0.0000
|
||||
B N 0 3 -0.0860 0.0000 0.0000 0.0000
|
||||
B N 0 4 -0.0860 0.0000 0.0000 0.0000
|
||||
B N 1 0 -0.0090 0.0000 0.0000 0.0000
|
||||
B N 1 1 0.0090 0.0000 0.0000 0.0000
|
||||
B N 1 2 -0.0068 0.0000 -0.0214 0.0000
|
||||
B N 1 3 -0.0338 0.0000 0.0388 0.0000
|
||||
B N 1 4 -0.0338 0.0000 0.0388 0.0000
|
||||
B N 2 0 0.0000 0.0000 0.0000 0.0000
|
||||
B N 2 1 -0.0198 0.0000 0.0000 0.0000
|
||||
B N 2 2 0.0000 0.0000 0.0000 0.0000
|
||||
B N 2 3 -0.0084 0.0000 0.0169 0.0000
|
||||
B N 2 4 -0.0084 0.0000 0.0169 0.0000
|
||||
B N 3 0 -0.0750 0.0000 0.0000 0.0000
|
||||
B N 3 1 -0.0168 0.0306 0.0000 0.0000
|
||||
B N 3 2 -0.0138 0.0084 0.0000 0.0000
|
||||
B N 3 3 0.0000 0.0000 0.0000 0.0000
|
||||
B N 3 4 0.0000 0.0000 0.0000 0.0000
|
||||
B N 4 0 -0.0750 0.0000 0.0000 0.0000
|
||||
B N 4 1 -0.0168 0.0306 0.0000 0.0000
|
||||
B N 4 2 -0.0138 0.0084 0.0000 0.0000
|
||||
B N 4 3 0.0000 0.0000 0.0000 0.0000
|
||||
B N 4 4 0.0000 0.0000 0.0000 0.0000
|
||||
#
|
||||
# F_corr [ N, N]
|
||||
#
|
||||
#t1 t2 i j val dx dy dxy
|
||||
N N 0 0 0.0000 0.0000 0.0000 0.0000
|
||||
N N 0 1 -0.0282 0.0000 0.0000 0.0000
|
||||
N N 0 2 -0.0018 0.0000 0.0000 0.0000
|
||||
N N 0 3 -0.0004 0.0000 0.0000 0.0000
|
||||
N N 0 4 -0.0004 0.0000 0.0000 0.0000
|
||||
N N 1 0 -0.0282 0.0000 0.0000 0.0000
|
||||
N N 1 1 0.0200 0.0000 0.0000 0.0000
|
||||
N N 1 2 0.0180 0.0162 -0.0027 0.0000
|
||||
N N 1 3 0.0146 0.0000 0.0000 0.0000
|
||||
N N 1 4 0.0146 0.0000 0.0000 0.0000
|
||||
N N 2 0 -0.0018 0.0000 0.0000 0.0000
|
||||
N N 2 1 0.0180 -0.0027 0.0162 0.0000
|
||||
N N 2 2 0.0306 0.0000 0.0000 0.0000
|
||||
N N 2 3 0.0060 0.0000 -0.0073 0.0000
|
||||
N N 2 4 0.0060 0.0000 -0.0073 0.0000
|
||||
N N 3 0 -0.0004 0.0000 0.0000 0.0000
|
||||
N N 3 1 0.0146 0.0000 0.0000 0.0000
|
||||
N N 3 2 0.0060 -0.0073 0.0000 0.0000
|
||||
N N 3 3 0.0000 0.0000 0.0000 0.0000
|
||||
N N 3 4 0.0000 0.0000 0.0000 0.0000
|
||||
N N 4 0 -0.0004 0.0000 0.0000 0.0000
|
||||
N N 4 1 0.0146 0.0000 0.0000 0.0000
|
||||
N N 4 2 0.0060 -0.0073 0.0000 0.0000
|
||||
N N 4 3 0.0000 0.0000 0.0000 0.0000
|
||||
N N 4 4 0.0000 0.0000 0.0000 0.0000
|
||||
|
||||
# Elastic properties
|
||||
# ==================
|
||||
# hBN: B=164 N/M; C11=290 N/M; kappa=0.64 eV
|
||||
# cBN: B=402 GPa; C11=567 GPa; C66=533 GPa
|
||||
1174
src/USER-MISC/pair_extep.cpp
Executable file
1174
src/USER-MISC/pair_extep.cpp
Executable file
File diff suppressed because it is too large
Load Diff
225
src/USER-MISC/pair_extep.h
Executable file
225
src/USER-MISC/pair_extep.h
Executable file
@ -0,0 +1,225 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef PAIR_CLASS
|
||||
|
||||
PairStyle(extep,PairExTeP)
|
||||
|
||||
#else
|
||||
|
||||
#ifndef LMP_PAIR_EXTEP_H
|
||||
#define LMP_PAIR_EXTEP_H
|
||||
|
||||
#include "pair.h"
|
||||
#include "my_page.h"
|
||||
|
||||
#define MAXTYPES 8
|
||||
#define NSPLINE 5
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairExTeP : public Pair {
|
||||
public:
|
||||
PairExTeP(class LAMMPS *);
|
||||
virtual ~PairExTeP();
|
||||
virtual void compute(int, int);
|
||||
void settings(int, char **);
|
||||
void coeff(int, char **);
|
||||
void init_style();
|
||||
double init_one(int, int);
|
||||
|
||||
protected:
|
||||
struct Param {
|
||||
double lam1,lam2,lam3;
|
||||
double c,d,h;
|
||||
double gamma,powerm;
|
||||
double powern,beta;
|
||||
double biga,bigb,bigd,bigr;
|
||||
double cut,cutsq;
|
||||
double c1,c2,c3,c4;
|
||||
int ielement,jelement,kelement;
|
||||
int powermint;
|
||||
double Z_i,Z_j; // added for ExTePZBL
|
||||
double ZBLcut,ZBLexpscale;
|
||||
double c5,ca1,ca4; // added for ExTePMOD
|
||||
double powern_del;
|
||||
};
|
||||
|
||||
Param *params; // parameter set for an I-J-K interaction
|
||||
char **elements; // names of unique elements
|
||||
int ***elem2param; // mapping from element triplets to parameters
|
||||
int *map; // mapping from atom types to elements
|
||||
double cutmax; // max cutoff for all elements
|
||||
int nelements; // # of unique elements
|
||||
int nparams; // # of stored parameter sets
|
||||
int maxparam; // max # of parameter sets
|
||||
|
||||
int maxlocal; // size of numneigh, firstneigh arrays
|
||||
int maxpage; // # of pages currently allocated
|
||||
int pgsize; // size of neighbor page
|
||||
int oneatom; // max # of neighbors for one atom
|
||||
MyPage<int> *ipage; // neighbor list pages
|
||||
int *SR_numneigh; // # of pair neighbors for each atom
|
||||
int **SR_firstneigh; // ptr to 1st neighbor of each atom
|
||||
|
||||
double *Nt, *Nd; // sum of cutoff fns ( f_C ) with SR neighs
|
||||
|
||||
void allocate();
|
||||
void spline_init();
|
||||
virtual void read_file(char *);
|
||||
virtual void setup();
|
||||
virtual void repulsive(Param *, double, double &, int, double &);
|
||||
virtual double zeta(Param *, double, double, double *, double *);
|
||||
virtual void force_zeta(Param *, double, double, double &,
|
||||
double &, int, double &);
|
||||
void attractive(Param *, double, double, double, double *, double *,
|
||||
double *, double *, double *);
|
||||
|
||||
virtual double ters_fc(double, Param *);
|
||||
virtual double ters_fc_d(double, Param *);
|
||||
virtual double ters_fa(double, Param *);
|
||||
virtual double ters_fa_d(double, Param *);
|
||||
virtual double ters_bij(double, Param *);
|
||||
virtual double ters_bij_d(double, Param *);
|
||||
|
||||
virtual void ters_zetaterm_d(double, double *, double, double *, double,
|
||||
double *, double *, double *, Param *);
|
||||
void costheta_d(double *, double, double *, double,
|
||||
double *, double *, double *);
|
||||
|
||||
// inlined functions for efficiency
|
||||
|
||||
inline double ters_gijk(const double costheta,
|
||||
const Param * const param) const {
|
||||
const double ters_c = param->c * param->c;
|
||||
const double ters_d = param->d * param->d;
|
||||
const double hcth = param->h - costheta;
|
||||
|
||||
return param->gamma*(1.0 + ters_c/ters_d - ters_c / (ters_d + hcth*hcth));
|
||||
}
|
||||
|
||||
inline double ters_gijk_d(const double costheta,
|
||||
const Param * const param) const {
|
||||
const double ters_c = param->c * param->c;
|
||||
const double ters_d = param->d * param->d;
|
||||
const double hcth = param->h - costheta;
|
||||
const double numerator = -2.0 * ters_c * hcth;
|
||||
const double denominator = 1.0/(ters_d + hcth*hcth);
|
||||
return param->gamma*numerator*denominator*denominator;
|
||||
}
|
||||
|
||||
inline double vec3_dot(const double x[3], const double y[3]) const {
|
||||
return x[0]*y[0] + x[1]*y[1] + x[2]*y[2];
|
||||
}
|
||||
|
||||
inline void vec3_add(const double x[3], const double y[3],
|
||||
double * const z) const {
|
||||
z[0] = x[0]+y[0]; z[1] = x[1]+y[1]; z[2] = x[2]+y[2];
|
||||
}
|
||||
|
||||
inline void vec3_scale(const double k, const double x[3],
|
||||
double y[3]) const {
|
||||
y[0] = k*x[0]; y[1] = k*x[1]; y[2] = k*x[2];
|
||||
}
|
||||
|
||||
inline void vec3_scaleadd(const double k, const double x[3],
|
||||
const double y[3], double * const z) const {
|
||||
z[0] = k*x[0]+y[0];
|
||||
z[1] = k*x[1]+y[1];
|
||||
z[2] = k*x[2]+y[2];
|
||||
}
|
||||
|
||||
// splines parameters
|
||||
// F[Ni=0-1, 1-2, 2-3,
|
||||
// Nj=...,
|
||||
struct TF_corr_param {
|
||||
double
|
||||
f_00,
|
||||
f_01,
|
||||
f_10,
|
||||
f_11,
|
||||
f_x_00,
|
||||
f_x_01,
|
||||
f_x_10,
|
||||
f_x_11,
|
||||
f_y_00,
|
||||
f_y_01,
|
||||
f_y_10,
|
||||
f_y_11;
|
||||
} F_corr_param[MAXTYPES][MAXTYPES][NSPLINE][NSPLINE];
|
||||
|
||||
double F_corr_data[MAXTYPES][MAXTYPES][NSPLINE][NSPLINE][3];
|
||||
|
||||
double F_corr( int, int, double, double, double*, double* );
|
||||
void SR_neigh();
|
||||
|
||||
double envelop_function(double, double, double*);
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Illegal ... command
|
||||
|
||||
Self-explanatory. Check the input script syntax and compare to the
|
||||
documentation for the command. You can use -echo screen as a
|
||||
command-line option when running LAMMPS to see the offending line.
|
||||
|
||||
E: Incorrect args for pair coefficients
|
||||
|
||||
Self-explanatory. Check the input script or data file.
|
||||
|
||||
E: Pair style ExTeP requires atom IDs
|
||||
|
||||
This is a requirement to use the ExTeP potential.
|
||||
|
||||
E: Pair style ExTeP requires newton pair on
|
||||
|
||||
See the newton command. This is a restriction to use the ExTeP
|
||||
potential.
|
||||
|
||||
E: All pair coeffs are not set
|
||||
|
||||
All pair coefficients must be set in the data file or by the
|
||||
pair_coeff command before running a simulation.
|
||||
|
||||
E: Cannot open ExTeP potential file %s
|
||||
|
||||
The specified potential file cannot be opened. Check that the path
|
||||
and name are correct.
|
||||
|
||||
E: Incorrect format in ExTeP potential file
|
||||
|
||||
Incorrect number of words per line in the potential file.
|
||||
|
||||
E: Illegal ExTeP parameter
|
||||
|
||||
One or more of the coefficients defined in the potential file is
|
||||
invalid.
|
||||
|
||||
E: Potential file has duplicate entry
|
||||
|
||||
The potential file for a SW or ExTeP potential has more than
|
||||
one entry for the same 3 ordered elements.
|
||||
|
||||
E: Potential file is missing an entry
|
||||
|
||||
The potential file for a SW or ExTeP potential does not have a
|
||||
needed entry.
|
||||
|
||||
*/
|
||||
Reference in New Issue
Block a user