forked from libAtoms/GAP
-
Notifications
You must be signed in to change notification settings - Fork 0
/
descriptors_noncommercial_types.inc
163 lines (139 loc) · 6.38 KB
/
descriptors_noncommercial_types.inc
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
! HND XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
! HND X
! HND X GAP (Gaussian Approximation Potental)
! HND X
! HND X
! HND X Portions of GAP were written by Albert Bartok-Partay, Gabor Csanyi,
! HND X Copyright 2006-2021.
! HND X
! HND X Portions of GAP were written by Noam Bernstein as part of
! HND X his employment for the U.S. Government, and are not subject
! HND X to copyright in the USA.
! HND X
! HND X GAP is published and distributed under the
! HND X Academic Software License v1.0 (ASL)
! HND X
! HND X GAP is distributed in the hope that it will be useful for non-commercial
! HND X academic research, but WITHOUT ANY WARRANTY; without even the implied
! HND X warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! HND X ASL for more details.
! HND X
! HND X You should have received a copy of the ASL along with this program
! HND X (e.g. in a LICENSE.md file); if not, you can write to the original licensors,
! HND X Gabor Csanyi or Albert Bartok-Partay. The ASL is also published at
! HND X http://github.com/gabor1/ASL
! HND X
! HND X When using this software, please cite the following reference:
! HND X
! HND X A. P. Bartok et al Physical Review Letters vol 104 p136403 (2010)
! HND X
! HND X When using the SOAP kernel or its variants, please additionally cite:
! HND X
! HND X A. P. Bartok et al Physical Review B vol 87 p184115 (2013)
! HND X
! HND XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
!
!
! This file contains descriptors written by others, not A. P. Bartok and Gabor Csanyi
! and the code here is owned by their respective authors, as indicated below.
!
!!!! Author: Wojciech Slachta
type bond_real_space
real(dp) :: bond_cutoff
real(dp) :: bond_transition_width
real(dp) :: cutoff
real(dp) :: transition_width
real(dp) :: atom_sigma
integer :: max_neighbours
logical :: initialised = .false.
endtype bond_real_space
!!!! Authors: Alan Nichol and S. T. John
type AN_monomer
real(dp) :: cutoff
integer :: atomic_number
integer :: N
logical :: initialised = .false.
logical :: do_atomic = .false.
endtype AN_monomer
type general_monomer
type(permutation_data_type) :: permutation_data
integer, dimension(:), allocatable :: signature
real(dp) :: cutoff, cutoff_transition_width
logical :: atom_ordercheck, internal_swaps_only
logical :: strict
real(dp) :: power
logical :: initialised = .false.
endtype general_monomer
type general_dimer
type(permutation_data_type) :: permutation_data
integer, dimension(:), allocatable :: signature_one, signature_two
integer, dimension(:,:), allocatable :: component_atoms
real(dp) :: cutoff, cutoff_transition_width, monomer_one_cutoff, monomer_two_cutoff
logical :: atom_ordercheck, internal_swaps_only, use_smooth_cutoff, monomers_identical,double_count
logical :: strict, use_com, mpifind, strict_mask
type(transfer_parameters_type) :: transfer_parameters
logical :: initialised = .false.
logical, dimension(:), allocatable :: is_intermolecular, cutoff_contributor
real(dp) :: power,dist_shift
endtype general_dimer
type general_trimer
type(permutation_data_type) :: permutation_data
integer, dimension(:), allocatable :: signature_one, signature_two, signature_three
integer, dimension(:,:), allocatable :: component_atoms
real(dp) :: cutoff, cutoff_transition_width, monomer_one_cutoff, monomer_two_cutoff, monomer_three_cutoff
logical :: atom_ordercheck, internal_swaps_only, use_smooth_cutoff, one_two_identical, one_three_identical, two_three_identical
logical :: strict, use_com, mpifind
logical :: initialised = .false.
logical, dimension(:), allocatable :: is_intermolecular, cutoff_contributor
real(dp) :: power,dist_shift
endtype general_trimer
type water_trimer
!!! 3-body water descriptor
!!! -- Jonatan Öström, @sujona, [email protected]
type(permutation_data_type) :: permutation_data
integer, dimension(3) :: signature = [8,1,1]
real(dp) :: cutoff, cutoff_transition_width, monomer_cutoff
logical :: atom_ordercheck = .false., internal_swaps_only = .true., use_smooth_cutoff
logical :: initialised = .false., strict
real(dp) :: power,dist_shift
integer, dimension(36,2):: component_atoms
logical, dimension(36) :: is_intermolecular, cutoff_contributor
endtype water_trimer
type molecule_lo_d
type(permutation_data_type) :: permutation_data
type(Atoms) :: template_atoms
integer :: n_atoms, max_dimension ! max_dimension is descriptor dimension if include all interatomic distances
integer, dimension(:), allocatable :: signature, included_components
integer, dimension(:,:), allocatable :: component_atoms
real(dp) :: cutoff, cutoff_transition_width
integer :: neighbour_graph_depth
logical :: atom_ordercheck, use_smooth_cutoff
logical :: initialised = .false.
type(Table) :: bonds, atom_pairs
integer :: distance_transform
endtype molecule_lo_d
type com_dimer
integer, dimension(:), allocatable :: signature_one, signature_two
real(dp) :: cutoff, cutoff_transition_width, monomer_one_cutoff, monomer_two_cutoff
logical :: atom_ordercheck, use_smooth_cutoff, monomers_identical
logical :: strict, mpifind
type(transfer_parameters_type) :: transfer_parameters
logical :: initialised = .false.
logical, dimension(:), allocatable :: is_intermolecular, cutoff_contributor
endtype com_dimer
!!!!! Authors: A. P. Bartok and Miguel Caro
type soap_express
! User controllable parameters
real(dp) :: cutoff
real(dp) :: cutoff_transition_width
real(dp) :: cutoff_decay_rate
real(dp) :: atom_sigma_radial, atom_sigma_angular, central_weight, covariance_sigma0, &
atom_sigma_scaling_radial, atom_sigma_scaling_angular, amplitude_scaling
integer :: l_max, n_max
! Internal pre-initialised variables
real(dp), dimension(:,:), allocatable :: basis_transformation_coefficients, &
overlap
real(dp), dimension(:), allocatable :: semifactorial_table, Y_lm_prefactor
integer :: angular_array_size
logical :: initialised = .false.
endtype soap_express