Line data Source code
1 : !--------------------------------------------------------------------------------------------------!
2 : ! CP2K: A general program to perform molecular dynamics simulations !
3 : ! Copyright 2000-2026 CP2K developers group <https://cp2k.org> !
4 : ! !
5 : ! SPDX-License-Identifier: GPL-2.0-or-later !
6 : !--------------------------------------------------------------------------------------------------!
7 :
8 : ! **************************************************************************************************
9 : !> \brief Coordination number routines for dispersion pairpotentials
10 : !> \author JGH
11 : ! **************************************************************************************************
12 : MODULE qs_dispersion_cnum
13 :
14 : USE kinds, ONLY: dp
15 : USE mathconstants, ONLY: oorootpi
16 : USE memory_utilities, ONLY: reallocate
17 : USE message_passing, ONLY: mp_para_env_type
18 : USE particle_types, ONLY: particle_type
19 : USE physcon, ONLY: bohr
20 : USE qs_dispersion_types, ONLY: qs_dispersion_type
21 : USE qs_environment_types, ONLY: get_qs_env,&
22 : qs_environment_type
23 : USE qs_kind_types, ONLY: get_qs_kind,&
24 : qs_kind_type
25 : USE qs_neighbor_list_types, ONLY: get_iterator_info,&
26 : neighbor_list_iterate,&
27 : neighbor_list_iterator_create,&
28 : neighbor_list_iterator_p_type,&
29 : neighbor_list_iterator_release,&
30 : neighbor_list_set_p_type
31 :
32 : !$ USE OMP_LIB, ONLY: omp_get_max_threads, &
33 : !$ omp_get_thread_num, &
34 : !$ omp_lock_kind, &
35 : !$ omp_init_lock, omp_set_lock, &
36 : !$ omp_unset_lock, omp_destroy_lock
37 :
38 : #include "./base/base_uses.f90"
39 :
40 : IMPLICIT NONE
41 :
42 : PRIVATE
43 :
44 : CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'qs_dispersion_cnum'
45 :
46 : PUBLIC :: exclude_d3_kind_pair, setcn, setr0ab, setrcov, seten
47 :
48 : TYPE dcnum_type
49 : INTEGER :: neighbors = -1
50 : INTEGER, DIMENSION(:), POINTER :: nlist => NULL()
51 : REAL(KIND=dp), DIMENSION(:), POINTER :: dvals => NULL()
52 : REAL(KIND=dp), DIMENSION(:, :), POINTER :: rik => NULL()
53 : END TYPE dcnum_type
54 :
55 : PUBLIC :: d3_cnumber, dcnum_type, dcnum_distribute
56 : PUBLIC :: cnumber_init, cnumber_release, get_cn_radius
57 :
58 : ! **************************************************************************************************
59 :
60 : CONTAINS
61 :
62 : ! **************************************************************************************************
63 : !> \brief ...
64 : !> \param rout ...
65 : !> \param rcov ...
66 : !> \param r2r4 ...
67 : ! **************************************************************************************************
68 466 : SUBROUTINE setr0ab(rout, rcov, r2r4)
69 : ! set cut-off radii
70 : REAL(KIND=dp), DIMENSION(:, :) :: rout
71 : REAL(KIND=dp), DIMENSION(:) :: rcov, r2r4
72 :
73 : INTEGER :: i, j, k
74 : REAL(KIND=dp), DIMENSION(5356) :: r0ab
75 :
76 : r0ab(1:70) = [ &
77 : 2.1823, 1.8547, 1.7347, 2.9086, 2.5732, 3.4956, 2.3550 &
78 : , 2.5095, 2.9802, 3.0982, 2.5141, 2.3917, 2.9977, 2.9484 &
79 : , 3.2160, 2.4492, 2.2527, 3.1933, 3.0214, 2.9531, 2.9103 &
80 : , 2.3667, 2.1328, 2.8784, 2.7660, 2.7776, 2.7063, 2.6225 &
81 : , 2.1768, 2.0625, 2.6395, 2.6648, 2.6482, 2.5697, 2.4846 &
82 : , 2.4817, 2.0646, 1.9891, 2.5086, 2.6908, 2.6233, 2.4770 &
83 : , 2.3885, 2.3511, 2.2996, 1.9892, 1.9251, 2.4190, 2.5473 &
84 : , 2.4994, 2.4091, 2.3176, 2.2571, 2.1946, 2.1374, 2.9898 &
85 : , 2.6397, 3.6031, 3.1219, 3.7620, 3.2485, 2.9357, 2.7093 &
86 : , 2.5781, 2.4839, 3.7082, 2.5129, 2.7321, 3.1052, 3.2962 &
87 33086 : ]
88 : r0ab(71:140) = [ &
89 : 3.1331, 3.2000, 2.9586, 3.0822, 2.8582, 2.7120, 3.2570 &
90 : , 3.4839, 2.8766, 2.7427, 3.2776, 3.2363, 3.5929, 3.2826 &
91 : , 3.0911, 2.9369, 2.9030, 2.7789, 3.3921, 3.3970, 4.0106 &
92 : , 2.8884, 2.6605, 3.7513, 3.1613, 3.3605, 3.3325, 3.0991 &
93 : , 2.9297, 2.8674, 2.7571, 3.8129, 3.3266, 3.7105, 3.7917 &
94 : , 2.8304, 2.5538, 3.3932, 3.1193, 3.1866, 3.1245, 3.0465 &
95 : , 2.8727, 2.7664, 2.6926, 3.4608, 3.2984, 3.5142, 3.5418 &
96 : , 3.5017, 2.6190, 2.4797, 3.1331, 3.0540, 3.0651, 2.9879 &
97 : , 2.9054, 2.8805, 2.7330, 2.6331, 3.2096, 3.5668, 3.3684 &
98 : , 3.3686, 3.3180, 3.3107, 2.4757, 2.4019, 2.9789, 3.1468 &
99 33086 : ]
100 : r0ab(141:210) = [ &
101 : 2.9768, 2.8848, 2.7952, 2.7457, 2.6881, 2.5728, 3.0574 &
102 : , 3.3264, 3.3562, 3.2529, 3.1916, 3.1523, 3.1046, 2.3725 &
103 : , 2.3289, 2.8760, 2.9804, 2.9093, 2.8040, 2.7071, 2.6386 &
104 : , 2.5720, 2.5139, 2.9517, 3.1606, 3.2085, 3.1692, 3.0982 &
105 : , 3.0352, 2.9730, 2.9148, 3.2147, 2.8315, 3.8724, 3.4621 &
106 : , 3.8823, 3.3760, 3.0746, 2.8817, 2.7552, 2.6605, 3.9740 &
107 : , 3.6192, 3.6569, 3.9586, 3.6188, 3.3917, 3.2479, 3.1434 &
108 : , 4.2411, 2.7597, 3.0588, 3.3474, 3.6214, 3.4353, 3.4729 &
109 : , 3.2487, 3.3200, 3.0914, 2.9403, 3.4972, 3.7993, 3.6773 &
110 : , 3.8678, 3.5808, 3.8243, 3.5826, 3.4156, 3.8765, 4.1035 &
111 33086 : ]
112 : r0ab(211:280) = [ &
113 : 2.7361, 2.9765, 3.2475, 3.5004, 3.4185, 3.4378, 3.2084 &
114 : , 3.2787, 3.0604, 2.9187, 3.4037, 3.6759, 3.6586, 3.8327 &
115 : , 3.5372, 3.7665, 3.5310, 3.3700, 3.7788, 3.9804, 3.8903 &
116 : , 2.6832, 2.9060, 3.2613, 3.4359, 3.3538, 3.3860, 3.1550 &
117 : , 3.2300, 3.0133, 2.8736, 3.4024, 3.6142, 3.5979, 3.5295 &
118 : , 3.4834, 3.7140, 3.4782, 3.3170, 3.7434, 3.9623, 3.8181 &
119 : , 3.7642, 2.6379, 2.8494, 3.1840, 3.4225, 3.2771, 3.3401 &
120 : , 3.1072, 3.1885, 2.9714, 2.8319, 3.3315, 3.5979, 3.5256 &
121 : , 3.4980, 3.4376, 3.6714, 3.4346, 3.2723, 3.6859, 3.8985 &
122 : , 3.7918, 3.7372, 3.7211, 2.9230, 2.6223, 3.4161, 2.8999 &
123 33086 : ]
124 : r0ab(281:350) = [ &
125 : 3.0557, 3.3308, 3.0555, 2.8508, 2.7385, 2.6640, 3.5263 &
126 : , 3.0277, 3.2990, 3.7721, 3.5017, 3.2751, 3.1368, 3.0435 &
127 : , 3.7873, 3.2858, 3.2140, 3.1727, 3.2178, 3.4414, 2.5490 &
128 : , 2.7623, 3.0991, 3.3252, 3.1836, 3.2428, 3.0259, 3.1225 &
129 : , 2.9032, 2.7621, 3.2490, 3.5110, 3.4429, 3.3845, 3.3574 &
130 : , 3.6045, 3.3658, 3.2013, 3.6110, 3.8241, 3.7090, 3.6496 &
131 : , 3.6333, 3.0896, 3.5462, 2.4926, 2.7136, 3.0693, 3.2699 &
132 : , 3.1272, 3.1893, 2.9658, 3.0972, 2.8778, 2.7358, 3.2206 &
133 : , 3.4566, 3.3896, 3.3257, 3.2946, 3.5693, 3.3312, 3.1670 &
134 : , 3.5805, 3.7711, 3.6536, 3.5927, 3.5775, 3.0411, 3.4885 &
135 33086 : ]
136 : r0ab(351:420) = [ &
137 : 3.4421, 2.4667, 2.6709, 3.0575, 3.2357, 3.0908, 3.1537 &
138 : , 2.9235, 3.0669, 2.8476, 2.7054, 3.2064, 3.4519, 3.3593 &
139 : , 3.2921, 3.2577, 3.2161, 3.2982, 3.1339, 3.5606, 3.7582 &
140 : , 3.6432, 3.5833, 3.5691, 3.0161, 3.4812, 3.4339, 3.4327 &
141 : , 2.4515, 2.6338, 3.0511, 3.2229, 3.0630, 3.1265, 2.8909 &
142 : , 3.0253, 2.8184, 2.6764, 3.1968, 3.4114, 3.3492, 3.2691 &
143 : , 3.2320, 3.1786, 3.2680, 3.1036, 3.5453, 3.7259, 3.6090 &
144 : , 3.5473, 3.5327, 3.0018, 3.4413, 3.3907, 3.3593, 3.3462 &
145 : , 2.4413, 2.6006, 3.0540, 3.1987, 3.0490, 3.1058, 2.8643 &
146 : , 2.9948, 2.7908, 2.6491, 3.1950, 3.3922, 3.3316, 3.2585 &
147 33086 : ]
148 : r0ab(421:490) = [ &
149 : 3.2136, 3.1516, 3.2364, 3.0752, 3.5368, 3.7117, 3.5941 &
150 : , 3.5313, 3.5164, 2.9962, 3.4225, 3.3699, 3.3370, 3.3234 &
151 : , 3.3008, 2.4318, 2.5729, 3.0416, 3.1639, 3.0196, 3.0843 &
152 : , 2.8413, 2.7436, 2.7608, 2.6271, 3.1811, 3.3591, 3.3045 &
153 : , 3.2349, 3.1942, 3.1291, 3.2111, 3.0534, 3.5189, 3.6809 &
154 : , 3.5635, 3.5001, 3.4854, 2.9857, 3.3897, 3.3363, 3.3027 &
155 : , 3.2890, 3.2655, 3.2309, 2.8502, 2.6934, 3.2467, 3.1921 &
156 : , 3.5663, 3.2541, 3.0571, 2.9048, 2.8657, 2.7438, 3.3547 &
157 : , 3.3510, 3.9837, 3.6871, 3.4862, 3.3389, 3.2413, 3.1708 &
158 : , 3.6096, 3.6280, 3.6860, 3.5568, 3.4836, 3.2868, 3.3994 &
159 33086 : ]
160 : r0ab(491:560) = [ &
161 : 3.3476, 3.3170, 3.2950, 3.2874, 3.2606, 3.9579, 2.9226 &
162 : , 2.6838, 3.7867, 3.1732, 3.3872, 3.3643, 3.1267, 2.9541 &
163 : , 2.8505, 2.7781, 3.8475, 3.3336, 3.7359, 3.8266, 3.5733 &
164 : , 3.3959, 3.2775, 3.1915, 3.9878, 3.8816, 3.5810, 3.5364 &
165 : , 3.5060, 3.8097, 3.3925, 3.3348, 3.3019, 3.2796, 3.2662 &
166 : , 3.2464, 3.7136, 3.8619, 2.9140, 2.6271, 3.4771, 3.1774 &
167 : , 3.2560, 3.1970, 3.1207, 2.9406, 2.8322, 2.7571, 3.5455 &
168 : , 3.3514, 3.5837, 3.6177, 3.5816, 3.3902, 3.2604, 3.1652 &
169 : , 3.7037, 3.6283, 3.5858, 3.5330, 3.4884, 3.5789, 3.4094 &
170 : , 3.3473, 3.3118, 3.2876, 3.2707, 3.2521, 3.5570, 3.6496 &
171 33086 : ]
172 : r0ab(561:630) = [ &
173 : 3.6625, 2.7300, 2.5870, 3.2471, 3.1487, 3.1667, 3.0914 &
174 : , 3.0107, 2.9812, 2.8300, 2.7284, 3.3259, 3.3182, 3.4707 &
175 : , 3.4748, 3.4279, 3.4182, 3.2547, 3.1353, 3.5116, 3.9432 &
176 : , 3.8828, 3.8303, 3.7880, 3.3760, 3.7218, 3.3408, 3.3059 &
177 : , 3.2698, 3.2446, 3.2229, 3.4422, 3.5023, 3.5009, 3.5268 &
178 : , 2.6026, 2.5355, 3.1129, 3.2863, 3.1029, 3.0108, 2.9227 &
179 : , 2.8694, 2.8109, 2.6929, 3.1958, 3.4670, 3.4018, 3.3805 &
180 : , 3.3218, 3.2815, 3.2346, 3.0994, 3.3937, 3.7266, 3.6697 &
181 : , 3.6164, 3.5730, 3.2522, 3.5051, 3.4686, 3.4355, 3.4084 &
182 : , 3.3748, 3.3496, 3.3692, 3.4052, 3.3910, 3.3849, 3.3662 &
183 33086 : ]
184 : r0ab(631:700) = [ &
185 : 2.5087, 2.4814, 3.0239, 3.1312, 3.0535, 2.9457, 2.8496 &
186 : , 2.7780, 2.7828, 2.6532, 3.1063, 3.3143, 3.3549, 3.3120 &
187 : , 3.2421, 3.1787, 3.1176, 3.0613, 3.3082, 3.5755, 3.5222 &
188 : , 3.4678, 3.4231, 3.1684, 3.3528, 3.3162, 3.2827, 3.2527 &
189 : , 3.2308, 3.2029, 3.3173, 3.3343, 3.3092, 3.2795, 3.2452 &
190 : , 3.2096, 3.2893, 2.8991, 4.0388, 3.6100, 3.9388, 3.4475 &
191 : , 3.1590, 2.9812, 2.8586, 2.7683, 4.1428, 3.7911, 3.8225 &
192 : , 4.0372, 3.7059, 3.4935, 3.3529, 3.2492, 4.4352, 4.0826 &
193 : , 3.9733, 3.9254, 3.8646, 3.9315, 3.7837, 3.7465, 3.7211 &
194 : , 3.7012, 3.6893, 3.6676, 3.7736, 4.0660, 3.7926, 3.6158 &
195 33086 : ]
196 : r0ab(701:770) = [ &
197 : 3.5017, 3.4166, 4.6176, 2.8786, 3.1658, 3.5823, 3.7689 &
198 : , 3.5762, 3.5789, 3.3552, 3.4004, 3.1722, 3.0212, 3.7241 &
199 : , 3.9604, 3.8500, 3.9844, 3.7035, 3.9161, 3.6751, 3.5075 &
200 : , 4.1151, 4.2877, 4.1579, 4.1247, 4.0617, 3.4874, 3.9848 &
201 : , 3.9280, 3.9079, 3.8751, 3.8604, 3.8277, 3.8002, 3.9981 &
202 : , 3.7544, 4.0371, 3.8225, 3.6718, 4.3092, 4.4764, 2.8997 &
203 : , 3.0953, 3.4524, 3.6107, 3.6062, 3.5783, 3.3463, 3.3855 &
204 : , 3.1746, 3.0381, 3.6019, 3.7938, 3.8697, 3.9781, 3.6877 &
205 : , 3.8736, 3.6451, 3.4890, 3.9858, 4.1179, 4.0430, 3.9563 &
206 : , 3.9182, 3.4002, 3.8310, 3.7716, 3.7543, 3.7203, 3.7053 &
207 33086 : ]
208 : r0ab(771:840) = [ &
209 : 3.6742, 3.8318, 3.7631, 3.7392, 3.9892, 3.7832, 3.6406 &
210 : , 4.1701, 4.3016, 4.2196, 2.8535, 3.0167, 3.3978, 3.5363 &
211 : , 3.5393, 3.5301, 3.2960, 3.3352, 3.1287, 2.9967, 3.6659 &
212 : , 3.7239, 3.8070, 3.7165, 3.6368, 3.8162, 3.5885, 3.4336 &
213 : , 3.9829, 4.0529, 3.9584, 3.9025, 3.8607, 3.3673, 3.7658 &
214 : , 3.7035, 3.6866, 3.6504, 3.6339, 3.6024, 3.7708, 3.7283 &
215 : , 3.6896, 3.9315, 3.7250, 3.5819, 4.1457, 4.2280, 4.1130 &
216 : , 4.0597, 3.0905, 2.7998, 3.6448, 3.0739, 3.2996, 3.5262 &
217 : , 3.2559, 3.0518, 2.9394, 2.8658, 3.7514, 3.2295, 3.5643 &
218 : , 3.7808, 3.6931, 3.4723, 3.3357, 3.2429, 4.0280, 3.5589 &
219 33086 : ]
220 : r0ab(841:910) = [ &
221 : 3.4636, 3.4994, 3.4309, 3.6177, 3.2946, 3.2376, 3.2050 &
222 : , 3.1847, 3.1715, 3.1599, 3.5555, 3.8111, 3.7693, 3.5718 &
223 : , 3.4498, 3.3662, 4.1608, 3.7417, 3.6536, 3.6154, 3.8596 &
224 : , 3.0301, 2.7312, 3.5821, 3.0473, 3.2137, 3.4679, 3.1975 &
225 : , 2.9969, 2.8847, 2.8110, 3.6931, 3.2076, 3.4943, 3.5956 &
226 : , 3.6379, 3.4190, 3.2808, 3.1860, 3.9850, 3.5105, 3.4330 &
227 : , 3.3797, 3.4155, 3.6033, 3.2737, 3.2145, 3.1807, 3.1596 &
228 : , 3.1461, 3.1337, 3.4812, 3.6251, 3.7152, 3.5201, 3.3966 &
229 : , 3.3107, 4.1128, 3.6899, 3.6082, 3.5604, 3.7834, 3.7543 &
230 : , 2.9189, 2.6777, 3.4925, 2.9648, 3.1216, 3.2940, 3.0975 &
231 33086 : ]
232 : r0ab(911:980) = [ &
233 : 2.9757, 2.8493, 2.7638, 3.6085, 3.1214, 3.4006, 3.4793 &
234 : , 3.5147, 3.3806, 3.2356, 3.1335, 3.9144, 3.4183, 3.3369 &
235 : , 3.2803, 3.2679, 3.4871, 3.1714, 3.1521, 3.1101, 3.0843 &
236 : , 3.0670, 3.0539, 3.3890, 3.5086, 3.5895, 3.4783, 3.3484 &
237 : , 3.2559, 4.0422, 3.5967, 3.5113, 3.4576, 3.6594, 3.6313 &
238 : , 3.5690, 2.8578, 2.6334, 3.4673, 2.9245, 3.0732, 3.2435 &
239 : , 3.0338, 2.9462, 2.8143, 2.7240, 3.5832, 3.0789, 3.3617 &
240 : , 3.4246, 3.4505, 3.3443, 3.1964, 3.0913, 3.8921, 3.3713 &
241 : , 3.2873, 3.2281, 3.2165, 3.4386, 3.1164, 3.1220, 3.0761 &
242 : , 3.0480, 3.0295, 3.0155, 3.3495, 3.4543, 3.5260, 3.4413 &
243 33086 : ]
244 : r0ab(981:1050) = [ &
245 : 3.3085, 3.2134, 4.0170, 3.5464, 3.4587, 3.4006, 3.6027 &
246 : , 3.5730, 3.4945, 3.4623, 2.8240, 2.5960, 3.4635, 2.9032 &
247 : , 3.0431, 3.2115, 2.9892, 2.9148, 2.7801, 2.6873, 3.5776 &
248 : , 3.0568, 3.3433, 3.3949, 3.4132, 3.3116, 3.1616, 3.0548 &
249 : , 3.8859, 3.3719, 3.2917, 3.2345, 3.2274, 3.4171, 3.1293 &
250 : , 3.0567, 3.0565, 3.0274, 3.0087, 2.9939, 3.3293, 3.4249 &
251 : , 3.4902, 3.4091, 3.2744, 3.1776, 4.0078, 3.5374, 3.4537 &
252 : , 3.3956, 3.5747, 3.5430, 3.4522, 3.4160, 3.3975, 2.8004 &
253 : , 2.5621, 3.4617, 2.9154, 3.0203, 3.1875, 2.9548, 2.8038 &
254 : , 2.7472, 2.6530, 3.5736, 3.0584, 3.3304, 3.3748, 3.3871 &
255 33086 : ]
256 : r0ab(1051:1120) = [ &
257 : 3.2028, 3.1296, 3.0214, 3.8796, 3.3337, 3.2492, 3.1883 &
258 : , 3.1802, 3.4050, 3.0756, 3.0478, 3.0322, 3.0323, 3.0163 &
259 : , 3.0019, 3.3145, 3.4050, 3.4656, 3.3021, 3.2433, 3.1453 &
260 : , 3.9991, 3.5017, 3.4141, 3.3520, 3.5583, 3.5251, 3.4243 &
261 : , 3.3851, 3.3662, 3.3525, 2.7846, 2.5324, 3.4652, 2.8759 &
262 : , 3.0051, 3.1692, 2.9273, 2.7615, 2.7164, 2.6212, 3.5744 &
263 : , 3.0275, 3.3249, 3.3627, 3.3686, 3.1669, 3.0584, 2.9915 &
264 : , 3.8773, 3.3099, 3.2231, 3.1600, 3.1520, 3.4023, 3.0426 &
265 : , 3.0099, 2.9920, 2.9809, 2.9800, 2.9646, 3.3068, 3.3930 &
266 : , 3.4486, 3.2682, 3.1729, 3.1168, 3.9952, 3.4796, 3.3901 &
267 33086 : ]
268 : r0ab(1121:1190) = [ &
269 : 3.3255, 3.5530, 3.5183, 3.4097, 3.3683, 3.3492, 3.3360 &
270 : , 3.3308, 2.5424, 2.6601, 3.2555, 3.2807, 3.1384, 3.1737 &
271 : , 2.9397, 2.8429, 2.8492, 2.7225, 3.3875, 3.4910, 3.4520 &
272 : , 3.3608, 3.3036, 3.2345, 3.2999, 3.1487, 3.7409, 3.8392 &
273 : , 3.7148, 3.6439, 3.6182, 3.1753, 3.5210, 3.4639, 3.4265 &
274 : , 3.4075, 3.3828, 3.3474, 3.4071, 3.3754, 3.3646, 3.3308 &
275 : , 3.4393, 3.2993, 3.8768, 3.9891, 3.8310, 3.7483, 3.3417 &
276 : , 3.3019, 3.2250, 3.1832, 3.1578, 3.1564, 3.1224, 3.4620 &
277 : , 2.9743, 2.8058, 3.4830, 3.3474, 3.6863, 3.3617, 3.1608 &
278 : , 3.0069, 2.9640, 2.8427, 3.5885, 3.5219, 4.1314, 3.8120 &
279 33086 : ]
280 : r0ab(1191:1260) = [ &
281 : 3.6015, 3.4502, 3.3498, 3.2777, 3.8635, 3.8232, 3.8486 &
282 : , 3.7215, 3.6487, 3.4724, 3.5627, 3.5087, 3.4757, 3.4517 &
283 : , 3.4423, 3.4139, 4.1028, 3.8388, 3.6745, 3.5562, 3.4806 &
284 : , 3.4272, 4.0182, 3.9991, 4.0007, 3.9282, 3.7238, 3.6498 &
285 : , 3.5605, 3.5211, 3.5009, 3.4859, 3.4785, 3.5621, 4.2623 &
286 : , 3.0775, 2.8275, 4.0181, 3.3385, 3.5379, 3.5036, 3.2589 &
287 : , 3.0804, 3.0094, 2.9003, 4.0869, 3.5088, 3.9105, 3.9833 &
288 : , 3.7176, 3.5323, 3.4102, 3.3227, 4.2702, 4.0888, 3.7560 &
289 : , 3.7687, 3.6681, 3.6405, 3.5569, 3.4990, 3.4659, 3.4433 &
290 : , 3.4330, 3.4092, 3.8867, 4.0190, 3.7961, 3.6412, 3.5405 &
291 33086 : ]
292 : r0ab(1261:1330) = [ &
293 : 3.4681, 4.3538, 4.2136, 3.9381, 3.8912, 3.9681, 3.7909 &
294 : , 3.6774, 3.6262, 3.5999, 3.5823, 3.5727, 3.5419, 4.0245 &
295 : , 4.1874, 3.0893, 2.7917, 3.7262, 3.3518, 3.4241, 3.5433 &
296 : , 3.2773, 3.0890, 2.9775, 2.9010, 3.8048, 3.5362, 3.7746 &
297 : , 3.7911, 3.7511, 3.5495, 3.4149, 3.3177, 4.0129, 3.8370 &
298 : , 3.7739, 3.7125, 3.7152, 3.7701, 3.5813, 3.5187, 3.4835 &
299 : , 3.4595, 3.4439, 3.4242, 3.7476, 3.8239, 3.8346, 3.6627 &
300 : , 3.5479, 3.4639, 4.1026, 3.9733, 3.9292, 3.8667, 3.9513 &
301 : , 3.8959, 3.7698, 3.7089, 3.6765, 3.6548, 3.6409, 3.5398 &
302 : , 3.8759, 3.9804, 4.0150, 2.9091, 2.7638, 3.5066, 3.3377 &
303 33086 : ]
304 : r0ab(1331:1400) = [ &
305 : 3.3481, 3.2633, 3.1810, 3.1428, 2.9872, 2.8837, 3.5929 &
306 : , 3.5183, 3.6729, 3.6596, 3.6082, 3.5927, 3.4224, 3.2997 &
307 : , 3.8190, 4.1865, 4.1114, 4.0540, 3.6325, 3.5697, 3.5561 &
308 : , 3.5259, 3.4901, 3.4552, 3.4315, 3.4091, 3.6438, 3.6879 &
309 : , 3.6832, 3.7043, 3.5557, 3.4466, 3.9203, 4.2919, 4.2196 &
310 : , 4.1542, 3.7573, 3.7039, 3.6546, 3.6151, 3.5293, 3.4849 &
311 : , 3.4552, 3.5192, 3.7673, 3.8359, 3.8525, 3.8901, 2.7806 &
312 : , 2.7209, 3.3812, 3.4958, 3.2913, 3.1888, 3.0990, 3.0394 &
313 : , 2.9789, 2.8582, 3.4716, 3.6883, 3.6105, 3.5704, 3.5059 &
314 : , 3.4619, 3.4138, 3.2742, 3.7080, 3.9773, 3.9010, 3.8409 &
315 33086 : ]
316 : r0ab(1401:1470) = [ &
317 : 3.7944, 3.4465, 3.7235, 3.6808, 3.6453, 3.6168, 3.5844 &
318 : , 3.5576, 3.5772, 3.5959, 3.5768, 3.5678, 3.5486, 3.4228 &
319 : , 3.8107, 4.0866, 4.0169, 3.9476, 3.6358, 3.5800, 3.5260 &
320 : , 3.4838, 3.4501, 3.4204, 3.3553, 3.6487, 3.6973, 3.7398 &
321 : , 3.7405, 3.7459, 3.7380, 2.6848, 2.6740, 3.2925, 3.3386 &
322 : , 3.2473, 3.1284, 3.0301, 2.9531, 2.9602, 2.8272, 3.3830 &
323 : , 3.5358, 3.5672, 3.5049, 3.4284, 3.3621, 3.3001, 3.2451 &
324 : , 3.6209, 3.8299, 3.7543, 3.6920, 3.6436, 3.3598, 3.5701 &
325 : , 3.5266, 3.4904, 3.4590, 3.4364, 3.4077, 3.5287, 3.5280 &
326 : , 3.4969, 3.4650, 3.4304, 3.3963, 3.7229, 3.9402, 3.8753 &
327 33086 : ]
328 : r0ab(1471:1540) = [ &
329 : 3.8035, 3.5499, 3.4913, 3.4319, 3.3873, 3.3520, 3.3209 &
330 : , 3.2948, 3.5052, 3.6465, 3.6696, 3.6577, 3.6388, 3.6142 &
331 : , 3.5889, 3.3968, 3.0122, 4.2241, 3.7887, 4.0049, 3.5384 &
332 : , 3.2698, 3.1083, 2.9917, 2.9057, 4.3340, 3.9900, 4.6588 &
333 : , 4.1278, 3.8125, 3.6189, 3.4851, 3.3859, 4.6531, 4.3134 &
334 : , 4.2258, 4.1309, 4.0692, 4.0944, 3.9850, 3.9416, 3.9112 &
335 : , 3.8873, 3.8736, 3.8473, 4.6027, 4.1538, 3.8994, 3.7419 &
336 : , 3.6356, 3.5548, 4.8353, 4.5413, 4.3891, 4.3416, 4.3243 &
337 : , 4.2753, 4.2053, 4.1790, 4.1685, 4.1585, 4.1536, 4.0579 &
338 : , 4.1980, 4.4564, 4.2192, 4.0528, 3.9489, 3.8642, 5.0567 &
339 33086 : ]
340 : r0ab(1541:1610) = [ &
341 : 3.0630, 3.3271, 4.0432, 4.0046, 4.1555, 3.7426, 3.5130 &
342 : , 3.5174, 3.2884, 3.1378, 4.1894, 4.2321, 4.1725, 4.1833 &
343 : , 3.8929, 4.0544, 3.8118, 3.6414, 4.6373, 4.6268, 4.4750 &
344 : , 4.4134, 4.3458, 3.8582, 4.2583, 4.1898, 4.1562, 4.1191 &
345 : , 4.1069, 4.0639, 4.1257, 4.1974, 3.9532, 4.1794, 3.9660 &
346 : , 3.8130, 4.8160, 4.8272, 4.6294, 4.5840, 4.0770, 4.0088 &
347 : , 3.9103, 3.8536, 3.8324, 3.7995, 3.7826, 4.2294, 4.3380 &
348 : , 4.4352, 4.1933, 4.4580, 4.2554, 4.1072, 5.0454, 5.1814 &
349 : , 3.0632, 3.2662, 3.6432, 3.8088, 3.7910, 3.7381, 3.5093 &
350 : , 3.5155, 3.3047, 3.1681, 3.7871, 3.9924, 4.0637, 4.1382 &
351 33086 : ]
352 : r0ab(1611:1680) = [ &
353 : 3.8591, 4.0164, 3.7878, 3.6316, 4.1741, 4.3166, 4.2395 &
354 : , 4.1831, 4.1107, 3.5857, 4.0270, 3.9676, 3.9463, 3.9150 &
355 : , 3.9021, 3.8708, 4.0240, 4.1551, 3.9108, 4.1337, 3.9289 &
356 : , 3.7873, 4.3666, 4.5080, 4.4232, 4.3155, 3.8461, 3.8007 &
357 : , 3.6991, 3.6447, 3.6308, 3.5959, 3.5749, 4.0359, 4.3124 &
358 : , 4.3539, 4.1122, 4.3772, 4.1785, 4.0386, 4.7004, 4.8604 &
359 : , 4.6261, 2.9455, 3.2470, 3.6108, 3.8522, 3.6625, 3.6598 &
360 : , 3.4411, 3.4660, 3.2415, 3.0944, 3.7514, 4.0397, 3.9231 &
361 : , 4.0561, 3.7860, 3.9845, 3.7454, 3.5802, 4.1366, 4.3581 &
362 : , 4.2351, 4.2011, 4.1402, 3.5381, 4.0653, 4.0093, 3.9883 &
363 33086 : ]
364 : r0ab(1681:1750) = [ &
365 : 3.9570, 3.9429, 3.9112, 3.8728, 4.0682, 3.8351, 4.1054 &
366 : , 3.8928, 3.7445, 4.3415, 4.5497, 4.3833, 4.3122, 3.8051 &
367 : , 3.7583, 3.6622, 3.6108, 3.5971, 3.5628, 3.5408, 4.0780 &
368 : , 4.0727, 4.2836, 4.0553, 4.3647, 4.1622, 4.0178, 4.5802 &
369 : , 4.9125, 4.5861, 4.6201, 2.9244, 3.2241, 3.5848, 3.8293 &
370 : , 3.6395, 3.6400, 3.4204, 3.4499, 3.2253, 3.0779, 3.7257 &
371 : , 4.0170, 3.9003, 4.0372, 3.7653, 3.9672, 3.7283, 3.5630 &
372 : , 4.1092, 4.3347, 4.2117, 4.1793, 4.1179, 3.5139, 4.0426 &
373 : , 3.9867, 3.9661, 3.9345, 3.9200, 3.8883, 3.8498, 4.0496 &
374 : , 3.8145, 4.0881, 3.8756, 3.7271, 4.3128, 4.5242, 4.3578 &
375 33086 : ]
376 : r0ab(1751:1820) = [ &
377 : 4.2870, 3.7796, 3.7318, 3.6364, 3.5854, 3.5726, 3.5378 &
378 : , 3.5155, 4.0527, 4.0478, 4.2630, 4.0322, 4.3449, 4.1421 &
379 : , 3.9975, 4.5499, 4.8825, 4.5601, 4.5950, 4.5702, 2.9046 &
380 : , 3.2044, 3.5621, 3.8078, 3.6185, 3.6220, 3.4019, 3.4359 &
381 : , 3.2110, 3.0635, 3.7037, 3.9958, 3.8792, 4.0194, 3.7460 &
382 : , 3.9517, 3.7128, 3.5474, 4.0872, 4.3138, 4.1906, 4.1593 &
383 : , 4.0973, 3.4919, 4.0216, 3.9657, 3.9454, 3.9134, 3.8986 &
384 : , 3.8669, 3.8289, 4.0323, 3.7954, 4.0725, 3.8598, 3.7113 &
385 : , 4.2896, 4.5021, 4.3325, 4.2645, 3.7571, 3.7083, 3.6136 &
386 : , 3.5628, 3.5507, 3.5155, 3.4929, 4.0297, 4.0234, 4.2442 &
387 33086 : ]
388 : r0ab(1821:1890) = [ &
389 : 4.0112, 4.3274, 4.1240, 3.9793, 4.5257, 4.8568, 4.5353 &
390 : , 4.5733, 4.5485, 4.5271, 2.8878, 3.1890, 3.5412, 3.7908 &
391 : , 3.5974, 3.6078, 3.3871, 3.4243, 3.1992, 3.0513, 3.6831 &
392 : , 3.9784, 3.8579, 4.0049, 3.7304, 3.9392, 3.7002, 3.5347 &
393 : , 4.0657, 4.2955, 4.1705, 4.1424, 4.0800, 3.4717, 4.0043 &
394 : , 3.9485, 3.9286, 3.8965, 3.8815, 3.8500, 3.8073, 4.0180 &
395 : , 3.7796, 4.0598, 3.8470, 3.6983, 4.2678, 4.4830, 4.3132 &
396 : , 4.2444, 3.7370, 3.6876, 3.5935, 3.5428, 3.5314, 3.4958 &
397 : , 3.4730, 4.0117, 4.0043, 4.2287, 3.9939, 4.3134, 4.1096 &
398 : , 3.9646, 4.5032, 4.8356, 4.5156, 4.5544, 4.5297, 4.5083 &
399 33086 : ]
400 : r0ab(1891:1960) = [ &
401 : 4.4896, 2.8709, 3.1737, 3.5199, 3.7734, 3.5802, 3.5934 &
402 : , 3.3724, 3.4128, 3.1877, 3.0396, 3.6624, 3.9608, 3.8397 &
403 : , 3.9893, 3.7145, 3.9266, 3.6877, 3.5222, 4.0448, 4.2771 &
404 : , 4.1523, 4.1247, 4.0626, 3.4530, 3.9866, 3.9310, 3.9115 &
405 : , 3.8792, 3.8641, 3.8326, 3.7892, 4.0025, 3.7636, 4.0471 &
406 : , 3.8343, 3.6854, 4.2464, 4.4635, 4.2939, 4.2252, 3.7169 &
407 : , 3.6675, 3.5739, 3.5235, 3.5126, 3.4768, 3.4537, 3.9932 &
408 : , 3.9854, 4.2123, 3.9765, 4.2992, 4.0951, 3.9500, 4.4811 &
409 : , 4.8135, 4.4959, 4.5351, 4.5105, 4.4891, 4.4705, 4.4515 &
410 : , 2.8568, 3.1608, 3.5050, 3.7598, 3.5665, 3.5803, 3.3601 &
411 33086 : ]
412 : r0ab(1961:2030) = [ &
413 : 3.4031, 3.1779, 3.0296, 3.6479, 3.9471, 3.8262, 3.9773 &
414 : , 3.7015, 3.9162, 3.6771, 3.5115, 4.0306, 4.2634, 4.1385 &
415 : , 4.1116, 4.0489, 3.4366, 3.9732, 3.9176, 3.8983, 3.8659 &
416 : , 3.8507, 3.8191, 3.7757, 3.9907, 3.7506, 4.0365, 3.8235 &
417 : , 3.6745, 4.2314, 4.4490, 4.2792, 4.2105, 3.7003, 3.6510 &
418 : , 3.5578, 3.5075, 3.4971, 3.4609, 3.4377, 3.9788, 3.9712 &
419 : , 4.1997, 3.9624, 4.2877, 4.0831, 3.9378, 4.4655, 4.7974 &
420 : , 4.4813, 4.5209, 4.4964, 4.4750, 4.4565, 4.4375, 4.4234 &
421 : , 2.6798, 3.0151, 3.2586, 3.5292, 3.5391, 3.4902, 3.2887 &
422 : , 3.3322, 3.1228, 2.9888, 3.4012, 3.7145, 3.7830, 3.6665 &
423 33086 : ]
424 : r0ab(2031:2100) = [ &
425 : 3.5898, 3.8077, 3.5810, 3.4265, 3.7726, 4.0307, 3.9763 &
426 : , 3.8890, 3.8489, 3.2706, 3.7595, 3.6984, 3.6772, 3.6428 &
427 : , 3.6243, 3.5951, 3.7497, 3.6775, 3.6364, 3.9203, 3.7157 &
428 : , 3.5746, 3.9494, 4.2076, 4.1563, 4.0508, 3.5329, 3.4780 &
429 : , 3.3731, 3.3126, 3.2846, 3.2426, 3.2135, 3.7491, 3.9006 &
430 : , 3.8332, 3.8029, 4.1436, 3.9407, 3.7998, 4.1663, 4.5309 &
431 : , 4.3481, 4.2911, 4.2671, 4.2415, 4.2230, 4.2047, 4.1908 &
432 : , 4.1243, 2.5189, 2.9703, 3.3063, 3.6235, 3.4517, 3.3989 &
433 : , 3.2107, 3.2434, 3.0094, 2.8580, 3.4253, 3.8157, 3.7258 &
434 : , 3.6132, 3.5297, 3.7566, 3.5095, 3.3368, 3.7890, 4.1298 &
435 33086 : ]
436 : r0ab(2101:2170) = [ &
437 : 4.0190, 3.9573, 3.9237, 3.2677, 3.8480, 3.8157, 3.7656 &
438 : , 3.7317, 3.7126, 3.6814, 3.6793, 3.6218, 3.5788, 3.8763 &
439 : , 3.6572, 3.5022, 3.9737, 4.3255, 4.1828, 4.1158, 3.5078 &
440 : , 3.4595, 3.3600, 3.3088, 3.2575, 3.2164, 3.1856, 3.8522 &
441 : , 3.8665, 3.8075, 3.7772, 4.1391, 3.9296, 3.7772, 4.2134 &
442 : , 4.7308, 4.3787, 4.3894, 4.3649, 4.3441, 4.3257, 4.3073 &
443 : , 4.2941, 4.1252, 4.2427, 3.0481, 2.9584, 3.6919, 3.5990 &
444 : , 3.8881, 3.4209, 3.1606, 3.1938, 2.9975, 2.8646, 3.8138 &
445 : , 3.7935, 3.7081, 3.9155, 3.5910, 3.4808, 3.4886, 3.3397 &
446 : , 4.1336, 4.1122, 3.9888, 3.9543, 3.8917, 3.5894, 3.8131 &
447 33086 : ]
448 : r0ab(2171:2240) = [ &
449 : 3.7635, 3.7419, 3.7071, 3.6880, 3.6574, 3.6546, 3.9375 &
450 : , 3.6579, 3.5870, 3.6361, 3.5039, 4.3149, 4.2978, 4.1321 &
451 : , 4.1298, 3.8164, 3.7680, 3.7154, 3.6858, 3.6709, 3.6666 &
452 : , 3.6517, 3.8174, 3.8608, 4.1805, 3.9102, 3.8394, 3.8968 &
453 : , 3.7673, 4.5274, 4.6682, 4.3344, 4.3639, 4.3384, 4.3162 &
454 : , 4.2972, 4.2779, 4.2636, 4.0253, 4.1168, 4.1541, 2.8136 &
455 : , 3.0951, 3.4635, 3.6875, 3.4987, 3.5183, 3.2937, 3.3580 &
456 : , 3.1325, 2.9832, 3.6078, 3.8757, 3.7616, 3.9222, 3.6370 &
457 : , 3.8647, 3.6256, 3.4595, 3.9874, 4.1938, 4.0679, 4.0430 &
458 : , 3.9781, 3.3886, 3.9008, 3.8463, 3.8288, 3.7950, 3.7790 &
459 33086 : ]
460 : r0ab(2241:2310) = [ &
461 : 3.7472, 3.7117, 3.9371, 3.6873, 3.9846, 3.7709, 3.6210 &
462 : , 4.1812, 4.3750, 4.2044, 4.1340, 3.6459, 3.5929, 3.5036 &
463 : , 3.4577, 3.4528, 3.4146, 3.3904, 3.9014, 3.9031, 4.1443 &
464 : , 3.8961, 4.2295, 4.0227, 3.8763, 4.4086, 4.7097, 4.4064 &
465 : , 4.4488, 4.4243, 4.4029, 4.3842, 4.3655, 4.3514, 4.1162 &
466 : , 4.2205, 4.1953, 4.2794, 2.8032, 3.0805, 3.4519, 3.6700 &
467 : , 3.4827, 3.5050, 3.2799, 3.3482, 3.1233, 2.9747, 3.5971 &
468 : , 3.8586, 3.7461, 3.9100, 3.6228, 3.8535, 3.6147, 3.4490 &
469 : , 3.9764, 4.1773, 4.0511, 4.0270, 3.9614, 3.3754, 3.8836 &
470 : , 3.8291, 3.8121, 3.7780, 3.7619, 3.7300, 3.6965, 3.9253 &
471 33086 : ]
472 : r0ab(2311:2380) = [ &
473 : 3.6734, 3.9733, 3.7597, 3.6099, 4.1683, 4.3572, 4.1862 &
474 : , 4.1153, 3.6312, 3.5772, 3.4881, 3.4429, 3.4395, 3.4009 &
475 : , 3.3766, 3.8827, 3.8868, 4.1316, 3.8807, 4.2164, 4.0092 &
476 : , 3.8627, 4.3936, 4.6871, 4.3882, 4.4316, 4.4073, 4.3858 &
477 : , 4.3672, 4.3485, 4.3344, 4.0984, 4.2036, 4.1791, 4.2622 &
478 : , 4.2450, 2.7967, 3.0689, 3.4445, 3.6581, 3.4717, 3.4951 &
479 : , 3.2694, 3.3397, 3.1147, 2.9661, 3.5898, 3.8468, 3.7358 &
480 : , 3.9014, 3.6129, 3.8443, 3.6054, 3.4396, 3.9683, 4.1656 &
481 : , 4.0394, 4.0158, 3.9498, 3.3677, 3.8718, 3.8164, 3.8005 &
482 : , 3.7662, 3.7500, 3.7181, 3.6863, 3.9170, 3.6637, 3.9641 &
483 33086 : ]
484 : r0ab(2381:2450) = [ &
485 : 3.7503, 3.6004, 4.1590, 4.3448, 4.1739, 4.1029, 3.6224 &
486 : , 3.5677, 3.4785, 3.4314, 3.4313, 3.3923, 3.3680, 3.8698 &
487 : , 3.8758, 4.1229, 3.8704, 4.2063, 3.9987, 3.8519, 4.3832 &
488 : , 4.6728, 4.3759, 4.4195, 4.3952, 4.3737, 4.3551, 4.3364 &
489 : , 4.3223, 4.0861, 4.1911, 4.1676, 4.2501, 4.2329, 4.2208 &
490 : , 2.7897, 3.0636, 3.4344, 3.6480, 3.4626, 3.4892, 3.2626 &
491 : , 3.3344, 3.1088, 2.9597, 3.5804, 3.8359, 3.7251, 3.8940 &
492 : , 3.6047, 3.8375, 3.5990, 3.4329, 3.9597, 4.1542, 4.0278 &
493 : , 4.0048, 3.9390, 3.3571, 3.8608, 3.8056, 3.7899, 3.7560 &
494 : , 3.7400, 3.7081, 3.6758, 3.9095, 3.6552, 3.9572, 3.7436 &
495 33086 : ]
496 : r0ab(2451:2520) = [ &
497 : 3.5933, 4.1508, 4.3337, 4.1624, 4.0916, 3.6126, 3.5582 &
498 : , 3.4684, 3.4212, 3.4207, 3.3829, 3.3586, 3.8604, 3.8658 &
499 : , 4.1156, 3.8620, 4.1994, 3.9917, 3.8446, 4.3750, 4.6617 &
500 : , 4.3644, 4.4083, 4.3840, 4.3625, 4.3439, 4.3253, 4.3112 &
501 : , 4.0745, 4.1807, 4.1578, 4.2390, 4.2218, 4.2097, 4.1986 &
502 : , 2.8395, 3.0081, 3.3171, 3.4878, 3.5360, 3.5145, 3.2809 &
503 : , 3.3307, 3.1260, 2.9940, 3.4741, 3.6675, 3.7832, 3.6787 &
504 : , 3.6156, 3.8041, 3.5813, 3.4301, 3.8480, 3.9849, 3.9314 &
505 : , 3.8405, 3.8029, 3.2962, 3.7104, 3.6515, 3.6378, 3.6020 &
506 : , 3.5849, 3.5550, 3.7494, 3.6893, 3.6666, 3.9170, 3.7150 &
507 33086 : ]
508 : r0ab(2521:2590) = [ &
509 : 3.5760, 4.0268, 4.1596, 4.1107, 3.9995, 3.5574, 3.5103 &
510 : , 3.4163, 3.3655, 3.3677, 3.3243, 3.2975, 3.7071, 3.9047 &
511 : , 3.8514, 3.8422, 3.8022, 3.9323, 3.7932, 4.2343, 4.4583 &
512 : , 4.3115, 4.2457, 4.2213, 4.1945, 4.1756, 4.1569, 4.1424 &
513 : , 4.0620, 4.0494, 3.9953, 4.0694, 4.0516, 4.0396, 4.0280 &
514 : , 4.0130, 2.9007, 2.9674, 3.8174, 3.5856, 3.6486, 3.5339 &
515 : , 3.2832, 3.3154, 3.1144, 2.9866, 3.9618, 3.8430, 3.9980 &
516 : , 3.8134, 3.6652, 3.7985, 3.5756, 3.4207, 4.4061, 4.2817 &
517 : , 4.1477, 4.0616, 3.9979, 3.6492, 3.8833, 3.8027, 3.7660 &
518 : , 3.7183, 3.6954, 3.6525, 3.9669, 3.8371, 3.7325, 3.9160 &
519 33086 : ]
520 : r0ab(2591:2660) = [ &
521 : 3.7156, 3.5714, 4.6036, 4.4620, 4.3092, 4.2122, 3.8478 &
522 : , 3.7572, 3.6597, 3.5969, 3.5575, 3.5386, 3.5153, 3.7818 &
523 : , 4.1335, 4.0153, 3.9177, 3.8603, 3.9365, 3.7906, 4.7936 &
524 : , 4.7410, 4.5461, 4.5662, 4.5340, 4.5059, 4.4832, 4.4604 &
525 : , 4.4429, 4.2346, 4.4204, 4.3119, 4.3450, 4.3193, 4.3035 &
526 : , 4.2933, 4.1582, 4.2450, 2.8559, 2.9050, 3.8325, 3.5442 &
527 : , 3.5077, 3.4905, 3.2396, 3.2720, 3.0726, 2.9467, 3.9644 &
528 : , 3.8050, 3.8981, 3.7762, 3.6216, 3.7531, 3.5297, 3.3742 &
529 : , 4.3814, 4.2818, 4.1026, 4.0294, 3.9640, 3.6208, 3.8464 &
530 : , 3.7648, 3.7281, 3.6790, 3.6542, 3.6117, 3.8650, 3.8010 &
531 33086 : ]
532 : r0ab(2661:2730) = [ &
533 : 3.6894, 3.8713, 3.6699, 3.5244, 4.5151, 4.4517, 4.2538 &
534 : , 4.1483, 3.8641, 3.7244, 3.6243, 3.5589, 3.5172, 3.4973 &
535 : , 3.4715, 3.7340, 4.0316, 3.9958, 3.8687, 3.8115, 3.8862 &
536 : , 3.7379, 4.7091, 4.7156, 4.5199, 4.5542, 4.5230, 4.4959 &
537 : , 4.4750, 4.4529, 4.4361, 4.1774, 4.3774, 4.2963, 4.3406 &
538 : , 4.3159, 4.3006, 4.2910, 4.1008, 4.1568, 4.0980, 2.8110 &
539 : , 2.8520, 3.7480, 3.5105, 3.4346, 3.3461, 3.1971, 3.2326 &
540 : , 3.0329, 2.9070, 3.8823, 3.7928, 3.8264, 3.7006, 3.5797 &
541 : , 3.7141, 3.4894, 3.3326, 4.3048, 4.2217, 4.0786, 3.9900 &
542 : , 3.9357, 3.6331, 3.8333, 3.7317, 3.6957, 3.6460, 3.6197 &
543 33086 : ]
544 : r0ab(2731:2800) = [ &
545 : 3.5779, 3.7909, 3.7257, 3.6476, 3.5729, 3.6304, 3.4834 &
546 : , 4.4368, 4.3921, 4.2207, 4.1133, 3.8067, 3.7421, 3.6140 &
547 : , 3.5491, 3.5077, 3.4887, 3.4623, 3.6956, 3.9568, 3.8976 &
548 : , 3.8240, 3.7684, 3.8451, 3.6949, 4.6318, 4.6559, 4.4533 &
549 : , 4.4956, 4.4641, 4.4366, 4.4155, 4.3936, 4.3764, 4.1302 &
550 : , 4.3398, 4.2283, 4.2796, 4.2547, 4.2391, 4.2296, 4.0699 &
551 : , 4.1083, 4.0319, 3.9855, 2.7676, 2.8078, 3.6725, 3.4804 &
552 : , 3.3775, 3.2411, 3.1581, 3.1983, 2.9973, 2.8705, 3.8070 &
553 : , 3.7392, 3.7668, 3.6263, 3.5402, 3.6807, 3.4545, 3.2962 &
554 : , 4.2283, 4.1698, 4.0240, 3.9341, 3.8711, 3.5489, 3.7798 &
555 33086 : ]
556 : r0ab(2801:2870) = [ &
557 : 3.7000, 3.6654, 3.6154, 3.5882, 3.5472, 3.7289, 3.6510 &
558 : , 3.6078, 3.5355, 3.5963, 3.4480, 4.3587, 4.3390, 4.1635 &
559 : , 4.0536, 3.7193, 3.6529, 3.5512, 3.4837, 3.4400, 3.4191 &
560 : , 3.3891, 3.6622, 3.8934, 3.8235, 3.7823, 3.7292, 3.8106 &
561 : , 3.6589, 4.5535, 4.6013, 4.3961, 4.4423, 4.4109, 4.3835 &
562 : , 4.3625, 4.3407, 4.3237, 4.0863, 4.2835, 4.1675, 4.2272 &
563 : , 4.2025, 4.1869, 4.1774, 4.0126, 4.0460, 3.9815, 3.9340 &
564 : , 3.8955, 2.6912, 2.7604, 3.6037, 3.4194, 3.3094, 3.1710 &
565 : , 3.0862, 3.1789, 2.9738, 2.8427, 3.7378, 3.6742, 3.6928 &
566 : , 3.5512, 3.4614, 3.4087, 3.4201, 3.2607, 4.1527, 4.0977 &
567 33086 : ]
568 : r0ab(2871:2940) = [ &
569 : 3.9523, 3.8628, 3.8002, 3.4759, 3.7102, 3.6466, 3.6106 &
570 : , 3.5580, 3.5282, 3.4878, 3.6547, 3.5763, 3.5289, 3.5086 &
571 : , 3.5593, 3.4099, 4.2788, 4.2624, 4.0873, 3.9770, 3.6407 &
572 : , 3.5743, 3.5178, 3.4753, 3.3931, 3.3694, 3.3339, 3.6002 &
573 : , 3.8164, 3.7478, 3.7028, 3.6952, 3.7669, 3.6137, 4.4698 &
574 : , 4.5488, 4.3168, 4.3646, 4.3338, 4.3067, 4.2860, 4.2645 &
575 : , 4.2478, 4.0067, 4.2349, 4.0958, 4.1543, 4.1302, 4.1141 &
576 : , 4.1048, 3.9410, 3.9595, 3.8941, 3.8465, 3.8089, 3.7490 &
577 : , 2.7895, 2.5849, 3.6484, 3.0162, 3.1267, 3.2125, 3.0043 &
578 : , 2.9572, 2.8197, 2.7261, 3.7701, 3.2446, 3.5239, 3.4696 &
579 33086 : ]
580 : r0ab(2941:3010) = [ &
581 : 3.4261, 3.3508, 3.1968, 3.0848, 4.1496, 3.6598, 3.5111 &
582 : , 3.4199, 3.3809, 3.5382, 3.2572, 3.2100, 3.1917, 3.1519 &
583 : , 3.1198, 3.1005, 3.5071, 3.5086, 3.5073, 3.4509, 3.3120 &
584 : , 3.2082, 4.2611, 3.8117, 3.6988, 3.5646, 3.6925, 3.6295 &
585 : , 3.5383, 3.4910, 3.4625, 3.4233, 3.4007, 3.2329, 3.6723 &
586 : , 3.6845, 3.6876, 3.6197, 3.4799, 3.3737, 4.4341, 4.0525 &
587 : , 3.9011, 3.8945, 3.8635, 3.8368, 3.8153, 3.7936, 3.7758 &
588 : , 3.4944, 3.4873, 3.9040, 3.7110, 3.6922, 3.6799, 3.6724 &
589 : , 3.5622, 3.6081, 3.5426, 3.4922, 3.4498, 3.3984, 3.4456 &
590 : , 2.7522, 2.5524, 3.5742, 2.9508, 3.0751, 3.0158, 2.9644 &
591 33086 : ]
592 : r0ab(3011:3080) = [ &
593 : 2.8338, 2.7891, 2.6933, 3.6926, 3.1814, 3.4528, 3.4186 &
594 : , 3.3836, 3.2213, 3.1626, 3.0507, 4.0548, 3.5312, 3.4244 &
595 : , 3.3409, 3.2810, 3.4782, 3.1905, 3.1494, 3.1221, 3.1128 &
596 : , 3.0853, 3.0384, 3.4366, 3.4562, 3.4638, 3.3211, 3.2762 &
597 : , 3.1730, 4.1632, 3.6825, 3.5822, 3.4870, 3.6325, 3.5740 &
598 : , 3.4733, 3.4247, 3.3969, 3.3764, 3.3525, 3.1984, 3.5989 &
599 : , 3.6299, 3.6433, 3.4937, 3.4417, 3.3365, 4.3304, 3.9242 &
600 : , 3.7793, 3.7623, 3.7327, 3.7071, 3.6860, 3.6650, 3.6476 &
601 : , 3.3849, 3.3534, 3.8216, 3.5870, 3.5695, 3.5584, 3.5508 &
602 : , 3.4856, 3.5523, 3.4934, 3.4464, 3.4055, 3.3551, 3.3888 &
603 33086 : ]
604 : r0ab(3081:3150) = [ &
605 : 3.3525, 2.7202, 2.5183, 3.4947, 2.8731, 3.0198, 3.1457 &
606 : , 2.9276, 2.7826, 2.7574, 2.6606, 3.6090, 3.0581, 3.3747 &
607 : , 3.3677, 3.3450, 3.1651, 3.1259, 3.0147, 3.9498, 3.3857 &
608 : , 3.2917, 3.2154, 3.1604, 3.4174, 3.0735, 3.0342, 3.0096 &
609 : , 3.0136, 2.9855, 2.9680, 3.3604, 3.4037, 3.4243, 3.2633 &
610 : , 3.1810, 3.1351, 4.0557, 3.5368, 3.4526, 3.3699, 3.5707 &
611 : , 3.5184, 3.4085, 3.3595, 3.3333, 3.3143, 3.3041, 3.1094 &
612 : , 3.5193, 3.5745, 3.6025, 3.4338, 3.3448, 3.2952, 4.2158 &
613 : , 3.7802, 3.6431, 3.6129, 3.5853, 3.5610, 3.5406, 3.5204 &
614 : , 3.5036, 3.2679, 3.2162, 3.7068, 3.4483, 3.4323, 3.4221 &
615 33086 : ]
616 : r0ab(3151:3220) = [ &
617 : 3.4138, 3.3652, 3.4576, 3.4053, 3.3618, 3.3224, 3.2711 &
618 : , 3.3326, 3.2950, 3.2564, 2.5315, 2.6104, 3.2734, 3.2299 &
619 : , 3.1090, 2.9942, 2.9159, 2.8324, 2.8350, 2.7216, 3.3994 &
620 : , 3.4475, 3.4354, 3.3438, 3.2807, 3.2169, 3.2677, 3.1296 &
621 : , 3.7493, 3.8075, 3.6846, 3.6104, 3.5577, 3.2052, 3.4803 &
622 : , 3.4236, 3.3845, 3.3640, 3.3365, 3.3010, 3.3938, 3.3624 &
623 : , 3.3440, 3.3132, 3.4035, 3.2754, 3.8701, 3.9523, 3.8018 &
624 : , 3.7149, 3.3673, 3.3199, 3.2483, 3.2069, 3.1793, 3.1558 &
625 : , 3.1395, 3.4097, 3.5410, 3.5228, 3.5116, 3.4921, 3.4781 &
626 : , 3.4690, 4.0420, 4.1759, 4.0078, 4.0450, 4.0189, 3.9952 &
627 33086 : ]
628 : r0ab(3221:3290) = [ &
629 : 3.9770, 3.9583, 3.9434, 3.7217, 3.8228, 3.7826, 3.8640 &
630 : , 3.8446, 3.8314, 3.8225, 3.6817, 3.7068, 3.6555, 3.6159 &
631 : , 3.5831, 3.5257, 3.2133, 3.1689, 3.1196, 3.3599, 2.9852 &
632 : , 2.7881, 3.5284, 3.3493, 3.6958, 3.3642, 3.1568, 3.0055 &
633 : , 2.9558, 2.8393, 3.6287, 3.5283, 4.1511, 3.8259, 3.6066 &
634 : , 3.4527, 3.3480, 3.2713, 3.9037, 3.8361, 3.8579, 3.7311 &
635 : , 3.6575, 3.5176, 3.5693, 3.5157, 3.4814, 3.4559, 3.4445 &
636 : , 3.4160, 4.1231, 3.8543, 3.6816, 3.5602, 3.4798, 3.4208 &
637 : , 4.0542, 4.0139, 4.0165, 3.9412, 3.7698, 3.6915, 3.6043 &
638 : , 3.5639, 3.5416, 3.5247, 3.5153, 3.5654, 4.2862, 4.0437 &
639 33086 : ]
640 : r0ab(3291:3360) = [ &
641 : 3.8871, 3.7741, 3.6985, 3.6413, 4.2345, 4.3663, 4.3257 &
642 : , 4.0869, 4.0612, 4.0364, 4.0170, 3.9978, 3.9834, 3.9137 &
643 : , 3.8825, 3.8758, 3.9143, 3.8976, 3.8864, 3.8768, 3.9190 &
644 : , 4.1613, 4.0566, 3.9784, 3.9116, 3.8326, 3.7122, 3.6378 &
645 : , 3.5576, 3.5457, 4.3127, 3.1160, 2.8482, 4.0739, 3.3599 &
646 : , 3.5698, 3.5366, 3.2854, 3.1039, 2.9953, 2.9192, 4.1432 &
647 : , 3.5320, 3.9478, 4.0231, 3.7509, 3.5604, 3.4340, 3.3426 &
648 : , 4.3328, 3.8288, 3.7822, 3.7909, 3.6907, 3.6864, 3.5793 &
649 : , 3.5221, 3.4883, 3.4649, 3.4514, 3.4301, 3.9256, 4.0596 &
650 : , 3.8307, 3.6702, 3.5651, 3.4884, 4.4182, 4.2516, 3.9687 &
651 33086 : ]
652 : r0ab(3361:3430) = [ &
653 : 3.9186, 3.9485, 3.8370, 3.7255, 3.6744, 3.6476, 3.6295 &
654 : , 3.6193, 3.5659, 4.0663, 4.2309, 4.0183, 3.8680, 3.7672 &
655 : , 3.6923, 4.5240, 4.4834, 4.1570, 4.3204, 4.2993, 4.2804 &
656 : , 4.2647, 4.2481, 4.2354, 3.8626, 3.8448, 4.2267, 4.1799 &
657 : , 4.1670, 3.8738, 3.8643, 3.8796, 4.0575, 4.0354, 3.9365 &
658 : , 3.8611, 3.7847, 3.7388, 3.6826, 3.6251, 3.5492, 4.0889 &
659 : , 4.2764, 3.1416, 2.8325, 3.7735, 3.3787, 3.4632, 3.5923 &
660 : , 3.3214, 3.1285, 3.0147, 2.9366, 3.8527, 3.5602, 3.8131 &
661 : , 3.8349, 3.7995, 3.5919, 3.4539, 3.3540, 4.0654, 3.8603 &
662 : , 3.7972, 3.7358, 3.7392, 3.8157, 3.6055, 3.5438, 3.5089 &
663 33086 : ]
664 : r0ab(3431:3500) = [ &
665 : 3.4853, 3.4698, 3.4508, 3.7882, 3.8682, 3.8837, 3.7055 &
666 : , 3.5870, 3.5000, 4.1573, 4.0005, 3.9568, 3.8936, 3.9990 &
667 : , 3.9433, 3.8172, 3.7566, 3.7246, 3.7033, 3.6900, 3.5697 &
668 : , 3.9183, 4.0262, 4.0659, 3.8969, 3.7809, 3.6949, 4.2765 &
669 : , 4.2312, 4.1401, 4.0815, 4.0580, 4.0369, 4.0194, 4.0017 &
670 : , 3.9874, 3.8312, 3.8120, 3.9454, 3.9210, 3.9055, 3.8951 &
671 : , 3.8866, 3.8689, 3.9603, 3.9109, 3.9122, 3.8233, 3.7438 &
672 : , 3.7436, 3.6981, 3.6555, 3.5452, 3.9327, 4.0658, 4.1175 &
673 : , 2.9664, 2.8209, 3.5547, 3.3796, 3.3985, 3.3164, 3.2364 &
674 : , 3.1956, 3.0370, 2.9313, 3.6425, 3.5565, 3.7209, 3.7108 &
675 33086 : ]
676 : r0ab(3501:3570) = [ &
677 : 3.6639, 3.6484, 3.4745, 3.3492, 3.8755, 4.2457, 3.7758 &
678 : , 3.7161, 3.6693, 3.6155, 3.5941, 3.5643, 3.5292, 3.4950 &
679 : , 3.4720, 3.4503, 3.6936, 3.7392, 3.7388, 3.7602, 3.6078 &
680 : , 3.4960, 3.9800, 4.3518, 4.2802, 3.8580, 3.8056, 3.7527 &
681 : , 3.7019, 3.6615, 3.5768, 3.5330, 3.5038, 3.5639, 3.8192 &
682 : , 3.8883, 3.9092, 3.9478, 3.7995, 3.6896, 4.1165, 4.5232 &
683 : , 4.4357, 4.4226, 4.4031, 4.3860, 4.3721, 4.3580, 4.3466 &
684 : , 4.2036, 4.2037, 3.8867, 4.2895, 4.2766, 4.2662, 4.2598 &
685 : , 3.8408, 3.9169, 3.8681, 3.8250, 3.7855, 3.7501, 3.6753 &
686 : , 3.5499, 3.4872, 3.5401, 3.8288, 3.9217, 3.9538, 4.0054 &
687 33086 : ]
688 : r0ab(3571:3640) = [ &
689 : 2.8388, 2.7890, 3.4329, 3.5593, 3.3488, 3.2486, 3.1615 &
690 : , 3.1000, 3.0394, 2.9165, 3.5267, 3.7479, 3.6650, 3.6263 &
691 : , 3.5658, 3.5224, 3.4762, 3.3342, 3.7738, 4.0333, 3.9568 &
692 : , 3.8975, 3.8521, 3.4929, 3.7830, 3.7409, 3.7062, 3.6786 &
693 : , 3.6471, 3.6208, 3.6337, 3.6519, 3.6363, 3.6278, 3.6110 &
694 : , 3.4825, 3.8795, 4.1448, 4.0736, 4.0045, 3.6843, 3.6291 &
695 : , 3.5741, 3.5312, 3.4974, 3.4472, 3.4034, 3.7131, 3.7557 &
696 : , 3.7966, 3.8005, 3.8068, 3.8015, 3.6747, 4.0222, 4.3207 &
697 : , 4.2347, 4.2191, 4.1990, 4.1811, 4.1666, 4.1521, 4.1401 &
698 : , 3.9970, 3.9943, 3.9592, 4.0800, 4.0664, 4.0559, 4.0488 &
699 33086 : ]
700 : r0ab(3641:3710) = [ &
701 : 3.9882, 4.0035, 3.9539, 3.9138, 3.8798, 3.8355, 3.5359 &
702 : , 3.4954, 3.3962, 3.5339, 3.7595, 3.8250, 3.8408, 3.8600 &
703 : , 3.8644, 2.7412, 2.7489, 3.3374, 3.3950, 3.3076, 3.1910 &
704 : , 3.0961, 3.0175, 3.0280, 2.8929, 3.4328, 3.5883, 3.6227 &
705 : , 3.5616, 3.4894, 3.4241, 3.3641, 3.3120, 3.6815, 3.8789 &
706 : , 3.8031, 3.7413, 3.6939, 3.4010, 3.6225, 3.5797, 3.5443 &
707 : , 3.5139, 3.4923, 3.4642, 3.5860, 3.5849, 3.5570, 3.5257 &
708 : , 3.4936, 3.4628, 3.7874, 3.9916, 3.9249, 3.8530, 3.5932 &
709 : , 3.5355, 3.4757, 3.4306, 3.3953, 3.3646, 3.3390, 3.5637 &
710 : , 3.7053, 3.7266, 3.7177, 3.6996, 3.6775, 3.6558, 3.9331 &
711 33086 : ]
712 : r0ab(3711:3780) = [ &
713 : 4.1655, 4.0879, 4.0681, 4.0479, 4.0299, 4.0152, 4.0006 &
714 : , 3.9883, 3.8500, 3.8359, 3.8249, 3.9269, 3.9133, 3.9025 &
715 : , 3.8948, 3.8422, 3.8509, 3.7990, 3.7570, 3.7219, 3.6762 &
716 : , 3.4260, 3.3866, 3.3425, 3.5294, 3.7022, 3.7497, 3.7542 &
717 : , 3.7494, 3.7370, 3.7216, 3.3286, 3.5286, 4.5857, 4.2143 &
718 : , 3.9714, 3.9428, 3.8857, 3.7714, 3.7857, 3.8286, 4.8714 &
719 : , 4.6571, 4.4857, 4.3571, 4.4429, 4.3286, 4.2857, 4.2428 &
720 : , 5.3857, 5.0714, 4.7714, 4.6143, 4.6000, 4.4429, 4.4000 &
721 : , 4.3571, 4.3000, 4.2857, 4.3143, 4.4286, 4.4714, 4.4286 &
722 : , 4.5143, 4.4429, 4.5000, 4.5429, 5.5714, 5.2572, 4.9714 &
723 33086 : ]
724 : r0ab(3781:3850) = [ &
725 : 4.8572, 4.7571, 4.6428, 4.5143, 4.4857, 4.4857, 4.4143 &
726 : , 4.5143, 4.6286, 4.7000, 4.6714, 4.6714, 4.6286, 4.7571 &
727 : , 4.7429, 5.8571, 5.3857, 5.1857, 4.9714, 5.1286, 5.1143 &
728 : , 5.1000, 5.0857, 5.0286, 5.0428, 5.0286, 5.0143, 5.0000 &
729 : , 5.0000, 4.9857, 5.0571, 4.9571, 4.8286, 4.7429, 4.6286 &
730 : , 4.5572, 4.5286, 4.4572, 4.4714, 4.4857, 4.7571, 4.7286 &
731 : , 4.7286, 4.8143, 4.7429, 4.8429, 4.9000, 5.7428, 3.0429 &
732 : , 3.2429, 4.3000, 3.9286, 3.6857, 3.6571, 3.6000, 3.4857 &
733 : , 3.5000, 3.5428, 4.5857, 4.3714, 4.2000, 4.0714, 4.1572 &
734 : , 4.0429, 4.0000, 3.9571, 5.1000, 4.7857, 4.4857, 4.3286 &
735 33086 : ]
736 : r0ab(3851:3920) = [ &
737 : 4.3143, 4.1572, 4.1143, 4.0714, 4.0143, 4.0000, 4.0286 &
738 : , 4.1429, 4.1857, 4.1429, 4.2285, 4.1572, 4.2143, 4.2571 &
739 : , 5.2857, 4.9714, 4.6857, 4.5714, 4.4714, 4.3571, 4.2285 &
740 : , 4.2000, 4.2000, 4.1286, 4.2285, 4.3429, 4.4143, 4.3857 &
741 : , 4.3857, 4.3429, 4.4714, 4.4572, 5.5714, 5.1000, 4.9000 &
742 : , 4.6857, 4.8429, 4.8286, 4.8143, 4.8000, 4.7429, 4.7571 &
743 : , 4.7429, 4.7286, 4.7143, 4.7143, 4.7000, 4.7714, 4.6714 &
744 : , 4.5429, 4.4572, 4.3429, 4.2714, 4.2428, 4.1715, 4.1857 &
745 : , 4.2000, 4.4714, 4.4429, 4.4429, 4.5286, 4.4572, 4.5572 &
746 : , 4.6143, 5.4571, 5.1714, 2.8428, 3.0429, 4.1000, 3.7286 &
747 33086 : ]
748 : r0ab(3921:3990) = [ &
749 : 3.4857, 3.4572, 3.4000, 3.2857, 3.3000, 3.3429, 4.3857 &
750 : , 4.1715, 4.0000, 3.8714, 3.9571, 3.8428, 3.8000, 3.7572 &
751 : , 4.9000, 4.5857, 4.2857, 4.1286, 4.1143, 3.9571, 3.9143 &
752 : , 3.8714, 3.8143, 3.8000, 3.8286, 3.9428, 3.9857, 3.9428 &
753 : , 4.0286, 3.9571, 4.0143, 4.0571, 5.0857, 4.7714, 4.4857 &
754 : , 4.3714, 4.2714, 4.1572, 4.0286, 4.0000, 4.0000, 3.9286 &
755 : , 4.0286, 4.1429, 4.2143, 4.1857, 4.1857, 4.1429, 4.2714 &
756 : , 4.2571, 5.3714, 4.9000, 4.7000, 4.4857, 4.6428, 4.6286 &
757 : , 4.6143, 4.6000, 4.5429, 4.5572, 4.5429, 4.5286, 4.5143 &
758 : , 4.5143, 4.5000, 4.5714, 4.4714, 4.3429, 4.2571, 4.1429 &
759 33086 : ]
760 : r0ab(3991:4060) = [ &
761 : 4.0714, 4.0429, 3.9714, 3.9857, 4.0000, 4.2714, 4.2428 &
762 : , 4.2428, 4.3286, 4.2571, 4.3571, 4.4143, 5.2572, 4.9714 &
763 : , 4.7714, 2.7143, 2.9143, 3.9714, 3.6000, 3.3572, 3.3286 &
764 : , 3.2714, 3.1571, 3.1714, 3.2143, 4.2571, 4.0429, 3.8714 &
765 : , 3.7429, 3.8286, 3.7143, 3.6714, 3.6286, 4.7714, 4.4572 &
766 : , 4.1572, 4.0000, 3.9857, 3.8286, 3.7857, 3.7429, 3.6857 &
767 : , 3.6714, 3.7000, 3.8143, 3.8571, 3.8143, 3.9000, 3.8286 &
768 : , 3.8857, 3.9286, 4.9571, 4.6428, 4.3571, 4.2428, 4.1429 &
769 : , 4.0286, 3.9000, 3.8714, 3.8714, 3.8000, 3.9000, 4.0143 &
770 : , 4.0857, 4.0571, 4.0571, 4.0143, 4.1429, 4.1286, 5.2429 &
771 33086 : ]
772 : r0ab(4061:4130) = [ &
773 : 4.7714, 4.5714, 4.3571, 4.5143, 4.5000, 4.4857, 4.4714 &
774 : , 4.4143, 4.4286, 4.4143, 4.4000, 4.3857, 4.3857, 4.3714 &
775 : , 4.4429, 4.3429, 4.2143, 4.1286, 4.0143, 3.9428, 3.9143 &
776 : , 3.8428, 3.8571, 3.8714, 4.1429, 4.1143, 4.1143, 4.2000 &
777 : , 4.1286, 4.2285, 4.2857, 5.1286, 4.8429, 4.6428, 4.5143 &
778 : , 2.6286, 2.8286, 3.8857, 3.5143, 3.2714, 3.2429, 3.1857 &
779 : , 3.0715, 3.0857, 3.1285, 4.1715, 3.9571, 3.7857, 3.6571 &
780 : , 3.7429, 3.6286, 3.5857, 3.5428, 4.6857, 4.3714, 4.0714 &
781 : , 3.9143, 3.9000, 3.7429, 3.7000, 3.6571, 3.6000, 3.5857 &
782 : , 3.6143, 3.7286, 3.7714, 3.7286, 3.8143, 3.7429, 3.8000 &
783 33086 : ]
784 : r0ab(4131:4200) = [ &
785 : 3.8428, 4.8714, 4.5572, 4.2714, 4.1572, 4.0571, 3.9428 &
786 : , 3.8143, 3.7857, 3.7857, 3.7143, 3.8143, 3.9286, 4.0000 &
787 : , 3.9714, 3.9714, 3.9286, 4.0571, 4.0429, 5.1571, 4.6857 &
788 : , 4.4857, 4.2714, 4.4286, 4.4143, 4.4000, 4.3857, 4.3286 &
789 : , 4.3429, 4.3286, 4.3143, 4.3000, 4.3000, 4.2857, 4.3571 &
790 : , 4.2571, 4.1286, 4.0429, 3.9286, 3.8571, 3.8286, 3.7572 &
791 : , 3.7714, 3.7857, 4.0571, 4.0286, 4.0286, 4.1143, 4.0429 &
792 : , 4.1429, 4.2000, 5.0428, 4.7571, 4.5572, 4.4286, 4.3429 &
793 : , 2.6429, 2.8428, 3.9000, 3.5286, 3.2857, 3.2571, 3.2000 &
794 : , 3.0857, 3.1000, 3.1428, 4.1857, 3.9714, 3.8000, 3.6714 &
795 33086 : ]
796 : r0ab(4201:4270) = [ &
797 : 3.7572, 3.6429, 3.6000, 3.5571, 4.7000, 4.3857, 4.0857 &
798 : , 3.9286, 3.9143, 3.7572, 3.7143, 3.6714, 3.6143, 3.6000 &
799 : , 3.6286, 3.7429, 3.7857, 3.7429, 3.8286, 3.7572, 3.8143 &
800 : , 3.8571, 4.8857, 4.5714, 4.2857, 4.1715, 4.0714, 3.9571 &
801 : , 3.8286, 3.8000, 3.8000, 3.7286, 3.8286, 3.9428, 4.0143 &
802 : , 3.9857, 3.9857, 3.9428, 4.0714, 4.0571, 5.1714, 4.7000 &
803 : , 4.5000, 4.2857, 4.4429, 4.4286, 4.4143, 4.4000, 4.3429 &
804 : , 4.3571, 4.3429, 4.3286, 4.3143, 4.3143, 4.3000, 4.3714 &
805 : , 4.2714, 4.1429, 4.0571, 3.9428, 3.8714, 3.8428, 3.7714 &
806 : , 3.7857, 3.8000, 4.0714, 4.0429, 4.0429, 4.1286, 4.0571 &
807 33086 : ]
808 : r0ab(4271:4340) = [ &
809 : 4.1572, 4.2143, 5.0571, 4.7714, 4.5714, 4.4429, 4.3571 &
810 : , 4.3714, 2.6572, 2.8571, 3.9143, 3.5428, 3.3000, 3.2714 &
811 : , 3.2143, 3.1000, 3.1143, 3.1571, 4.2000, 3.9857, 3.8143 &
812 : , 3.6857, 3.7714, 3.6571, 3.6143, 3.5714, 4.7143, 4.4000 &
813 : , 4.1000, 3.9428, 3.9286, 3.7714, 3.7286, 3.6857, 3.6286 &
814 : , 3.6143, 3.6429, 3.7572, 3.8000, 3.7572, 3.8428, 3.7714 &
815 : , 3.8286, 3.8714, 4.9000, 4.5857, 4.3000, 4.1857, 4.0857 &
816 : , 3.9714, 3.8428, 3.8143, 3.8143, 3.7429, 3.8428, 3.9571 &
817 : , 4.0286, 4.0000, 4.0000, 3.9571, 4.0857, 4.0714, 5.1857 &
818 : , 4.7143, 4.5143, 4.3000, 4.4572, 4.4429, 4.4286, 4.4143 &
819 33086 : ]
820 : r0ab(4341:4410) = [ &
821 : 4.3571, 4.3714, 4.3571, 4.3429, 4.3286, 4.3286, 4.3143 &
822 : , 4.3857, 4.2857, 4.1572, 4.0714, 3.9571, 3.8857, 3.8571 &
823 : , 3.7857, 3.8000, 3.8143, 4.0857, 4.0571, 4.0571, 4.1429 &
824 : , 4.0714, 4.1715, 4.2285, 5.0714, 4.7857, 4.5857, 4.4572 &
825 : , 4.3714, 4.3857, 4.4000, 2.6714, 2.8714, 3.9286, 3.5571 &
826 : , 3.3143, 3.2857, 3.2286, 3.1143, 3.1285, 3.1714, 4.2143 &
827 : , 4.0000, 3.8286, 3.7000, 3.7857, 3.6714, 3.6286, 3.5857 &
828 : , 4.7286, 4.4143, 4.1143, 3.9571, 3.9428, 3.7857, 3.7429 &
829 : , 3.7000, 3.6429, 3.6286, 3.6571, 3.7714, 3.8143, 3.7714 &
830 : , 3.8571, 3.7857, 3.8428, 3.8857, 4.9143, 4.6000, 4.3143 &
831 33086 : ]
832 : r0ab(4411:4480) = [ &
833 : 4.2000, 4.1000, 3.9857, 3.8571, 3.8286, 3.8286, 3.7572 &
834 : , 3.8571, 3.9714, 4.0429, 4.0143, 4.0143, 3.9714, 4.1000 &
835 : , 4.0857, 5.2000, 4.7286, 4.5286, 4.3143, 4.4714, 4.4572 &
836 : , 4.4429, 4.4286, 4.3714, 4.3857, 4.3714, 4.3571, 4.3429 &
837 : , 4.3429, 4.3286, 4.4000, 4.3000, 4.1715, 4.0857, 3.9714 &
838 : , 3.9000, 3.8714, 3.8000, 3.8143, 3.8286, 4.1000, 4.0714 &
839 : , 4.0714, 4.1572, 4.0857, 4.1857, 4.2428, 5.0857, 4.8000 &
840 : , 4.6000, 4.4714, 4.3857, 4.4000, 4.4143, 4.4286, 2.5857 &
841 : , 2.7857, 3.8428, 3.4714, 3.2286, 3.2000, 3.1428, 3.0286 &
842 : , 3.0429, 3.0857, 4.1286, 3.9143, 3.7429, 3.6143, 3.7000 &
843 33086 : ]
844 : r0ab(4481:4550) = [ &
845 : 3.5857, 3.5428, 3.5000, 4.6428, 4.3286, 4.0286, 3.8714 &
846 : , 3.8571, 3.7000, 3.6571, 3.6143, 3.5571, 3.5428, 3.5714 &
847 : , 3.6857, 3.7286, 3.6857, 3.7714, 3.7000, 3.7572, 3.8000 &
848 : , 4.8286, 4.5143, 4.2285, 4.1143, 4.0143, 3.9000, 3.7714 &
849 : , 3.7429, 3.7429, 3.6714, 3.7714, 3.8857, 3.9571, 3.9286 &
850 : , 3.9286, 3.8857, 4.0143, 4.0000, 5.1143, 4.6428, 4.4429 &
851 : , 4.2285, 4.3857, 4.3714, 4.3571, 4.3429, 4.2857, 4.3000 &
852 : , 4.2857, 4.2714, 4.2571, 4.2571, 4.2428, 4.3143, 4.2143 &
853 : , 4.0857, 4.0000, 3.8857, 3.8143, 3.7857, 3.7143, 3.7286 &
854 : , 3.7429, 4.0143, 3.9857, 3.9857, 4.0714, 4.0000, 4.1000 &
855 33086 : ]
856 : r0ab(4551:4620) = [ &
857 : 4.1572, 5.0000, 4.7143, 4.5143, 4.3857, 4.3000, 4.3143 &
858 : , 4.3286, 4.3429, 4.2571, 2.5857, 2.7857, 3.8428, 3.4714 &
859 : , 3.2286, 3.2000, 3.1428, 3.0286, 3.0429, 3.0857, 4.1286 &
860 : , 3.9143, 3.7429, 3.6143, 3.7000, 3.5857, 3.5428, 3.5000 &
861 : , 4.6428, 4.3286, 4.0286, 3.8714, 3.8571, 3.7000, 3.6571 &
862 : , 3.6143, 3.5571, 3.5428, 3.5714, 3.6857, 3.7286, 3.6857 &
863 : , 3.7714, 3.7000, 3.7572, 3.8000, 4.8286, 4.5143, 4.2285 &
864 : , 4.1143, 4.0143, 3.9000, 3.7714, 3.7429, 3.7429, 3.6714 &
865 : , 3.7714, 3.8857, 3.9571, 3.9286, 3.9286, 3.8857, 4.0143 &
866 : , 4.0000, 5.1143, 4.6428, 4.4429, 4.2285, 4.3857, 4.3714 &
867 33086 : ]
868 : r0ab(4621:4690) = [ &
869 : 4.3571, 4.3429, 4.2857, 4.3000, 4.2857, 4.2714, 4.2571 &
870 : , 4.2571, 4.2428, 4.3143, 4.2143, 4.0857, 4.0000, 3.8857 &
871 : , 3.8143, 3.7857, 3.7143, 3.7286, 3.7429, 4.0143, 3.9857 &
872 : , 3.9857, 4.0714, 4.0000, 4.1000, 4.1572, 5.0000, 4.7143 &
873 : , 4.5143, 4.3857, 4.3000, 4.3143, 4.3286, 4.3429, 4.2571 &
874 : , 4.2571, 2.6143, 2.8143, 3.8714, 3.5000, 3.2571, 3.2286 &
875 : , 3.1714, 3.0572, 3.0715, 3.1143, 4.1572, 3.9428, 3.7714 &
876 : , 3.6429, 3.7286, 3.6143, 3.5714, 3.5286, 4.6714, 4.3571 &
877 : , 4.0571, 3.9000, 3.8857, 3.7286, 3.6857, 3.6429, 3.5857 &
878 : , 3.5714, 3.6000, 3.7143, 3.7572, 3.7143, 3.8000, 3.7286 &
879 33086 : ]
880 : r0ab(4691:4760) = [ &
881 : 3.7857, 3.8286, 4.8572, 4.5429, 4.2571, 4.1429, 4.0429 &
882 : , 3.9286, 3.8000, 3.7714, 3.7714, 3.7000, 3.8000, 3.9143 &
883 : , 3.9857, 3.9571, 3.9571, 3.9143, 4.0429, 4.0286, 5.1429 &
884 : , 4.6714, 4.4714, 4.2571, 4.4143, 4.4000, 4.3857, 4.3714 &
885 : , 4.3143, 4.3286, 4.3143, 4.3000, 4.2857, 4.2857, 4.2714 &
886 : , 4.3429, 4.2428, 4.1143, 4.0286, 3.9143, 3.8428, 3.8143 &
887 : , 3.7429, 3.7572, 3.7714, 4.0429, 4.0143, 4.0143, 4.1000 &
888 : , 4.0286, 4.1286, 4.1857, 5.0286, 4.7429, 4.5429, 4.4143 &
889 : , 4.3286, 4.3429, 4.3571, 4.3714, 4.2857, 4.2857, 4.3143 &
890 : , 2.6143, 2.8143, 3.8714, 3.5000, 3.2571, 3.2286, 3.1714 &
891 33086 : ]
892 : r0ab(4761:4830) = [ &
893 : 3.0572, 3.0715, 3.1143, 4.1572, 3.9428, 3.7714, 3.6429 &
894 : , 3.7286, 3.6143, 3.5714, 3.5286, 4.6714, 4.3571, 4.0571 &
895 : , 3.9000, 3.8857, 3.7286, 3.6857, 3.6429, 3.5857, 3.5714 &
896 : , 3.6000, 3.7143, 3.7572, 3.7143, 3.8000, 3.7286, 3.7857 &
897 : , 3.8286, 4.8572, 4.5429, 4.2571, 4.1429, 4.0429, 3.9286 &
898 : , 3.8000, 3.7714, 3.7714, 3.7000, 3.8000, 3.9143, 3.9857 &
899 : , 3.9571, 3.9571, 3.9143, 4.0429, 4.0286, 5.1429, 4.6714 &
900 : , 4.4714, 4.2571, 4.4143, 4.4000, 4.3857, 4.3714, 4.3143 &
901 : , 4.3286, 4.3143, 4.3000, 4.2857, 4.2857, 4.2714, 4.3429 &
902 : , 4.2428, 4.1143, 4.0286, 3.9143, 3.8428, 3.8143, 3.7429 &
903 33086 : ]
904 : r0ab(4831:4900) = [ &
905 : 3.7572, 3.7714, 4.0429, 4.0143, 4.0143, 4.1000, 4.0286 &
906 : , 4.1286, 4.1857, 5.0286, 4.7429, 4.5429, 4.4143, 4.3286 &
907 : , 4.3429, 4.3571, 4.3714, 4.2857, 4.2857, 4.3143, 4.3143 &
908 : , 2.5714, 2.7714, 3.8286, 3.4572, 3.2143, 3.1857, 3.1285 &
909 : , 3.0143, 3.0286, 3.0715, 4.1143, 3.9000, 3.7286, 3.6000 &
910 : , 3.6857, 3.5714, 3.5286, 3.4857, 4.6286, 4.3143, 4.0143 &
911 : , 3.8571, 3.8428, 3.6857, 3.6429, 3.6000, 3.5428, 3.5286 &
912 : , 3.5571, 3.6714, 3.7143, 3.6714, 3.7572, 3.6857, 3.7429 &
913 : , 3.7857, 4.8143, 4.5000, 4.2143, 4.1000, 4.0000, 3.8857 &
914 : , 3.7572, 3.7286, 3.7286, 3.6571, 3.7572, 3.8714, 3.9428 &
915 33086 : ]
916 : r0ab(4901:4970) = [ &
917 : 3.9143, 3.9143, 3.8714, 4.0000, 3.9857, 5.1000, 4.6286 &
918 : , 4.4286, 4.2143, 4.3714, 4.3571, 4.3429, 4.3286, 4.2714 &
919 : , 4.2857, 4.2714, 4.2571, 4.2428, 4.2428, 4.2285, 4.3000 &
920 : , 4.2000, 4.0714, 3.9857, 3.8714, 3.8000, 3.7714, 3.7000 &
921 : , 3.7143, 3.7286, 4.0000, 3.9714, 3.9714, 4.0571, 3.9857 &
922 : , 4.0857, 4.1429, 4.9857, 4.7000, 4.5000, 4.3714, 4.2857 &
923 : , 4.3000, 4.3143, 4.3286, 4.2428, 4.2428, 4.2714, 4.2714 &
924 : , 4.2285, 2.6000, 2.8000, 3.8571, 3.4857, 3.2429, 3.2143 &
925 : , 3.1571, 3.0429, 3.0572, 3.1000, 4.1429, 3.9286, 3.7572 &
926 : , 3.6286, 3.7143, 3.6000, 3.5571, 3.5143, 4.6571, 4.3429 &
927 33086 : ]
928 : r0ab(4971:5040) = [ &
929 : 4.0429, 3.8857, 3.8714, 3.7143, 3.6714, 3.6286, 3.5714 &
930 : , 3.5571, 3.5857, 3.7000, 3.7429, 3.7000, 3.7857, 3.7143 &
931 : , 3.7714, 3.8143, 4.8429, 4.5286, 4.2428, 4.1286, 4.0286 &
932 : , 3.9143, 3.7857, 3.7572, 3.7572, 3.6857, 3.7857, 3.9000 &
933 : , 3.9714, 3.9428, 3.9428, 3.9000, 4.0286, 4.0143, 5.1286 &
934 : , 4.6571, 4.4572, 4.2428, 4.4000, 4.3857, 4.3714, 4.3571 &
935 : , 4.3000, 4.3143, 4.3000, 4.2857, 4.2714, 4.2714, 4.2571 &
936 : , 4.3286, 4.2285, 4.1000, 4.0143, 3.9000, 3.8286, 3.8000 &
937 : , 3.7286, 3.7429, 3.7572, 4.0286, 4.0000, 4.0000, 4.0857 &
938 : , 4.0143, 4.1143, 4.1715, 5.0143, 4.7286, 4.5286, 4.4000 &
939 33086 : ]
940 : r0ab(5041:5110) = [ &
941 : 4.3143, 4.3286, 4.3429, 4.3571, 4.2714, 4.2714, 4.3000 &
942 : , 4.3000, 4.2571, 4.2857, 2.6857, 2.8857, 3.9428, 3.5714 &
943 : , 3.3286, 3.3000, 3.2429, 3.1285, 3.1428, 3.1857, 4.2285 &
944 : , 4.0143, 3.8428, 3.7143, 3.8000, 3.6857, 3.6429, 3.6000 &
945 : , 4.7429, 4.4286, 4.1286, 3.9714, 3.9571, 3.8000, 3.7572 &
946 : , 3.7143, 3.6571, 3.6429, 3.6714, 3.7857, 3.8286, 3.7857 &
947 : , 3.8714, 3.8000, 3.8571, 3.9000, 4.9285, 4.6143, 4.3286 &
948 : , 4.2143, 4.1143, 4.0000, 3.8714, 3.8428, 3.8428, 3.7714 &
949 : , 3.8714, 3.9857, 4.0571, 4.0286, 4.0286, 3.9857, 4.1143 &
950 : , 4.1000, 5.2143, 4.7429, 4.5429, 4.3286, 4.4857, 4.4714 &
951 33086 : ]
952 : r0ab(5111:5180) = [ &
953 : 4.4572, 4.4429, 4.3857, 4.4000, 4.3857, 4.3714, 4.3571 &
954 : , 4.3571, 4.3429, 4.4143, 4.3143, 4.1857, 4.1000, 3.9857 &
955 : , 3.9143, 3.8857, 3.8143, 3.8286, 3.8428, 4.1143, 4.0857 &
956 : , 4.0857, 4.1715, 4.1000, 4.2000, 4.2571, 5.1000, 4.8143 &
957 : , 4.6143, 4.4857, 4.4000, 4.4143, 4.4286, 4.4429, 4.3571 &
958 : , 4.3571, 4.3857, 4.3857, 4.3429, 4.3714, 4.4572, 2.7143 &
959 : , 2.9143, 3.9714, 3.6000, 3.3572, 3.3286, 3.2714, 3.1571 &
960 : , 3.1714, 3.2143, 4.2571, 4.0429, 3.8714, 3.7429, 3.8286 &
961 : , 3.7143, 3.6714, 3.6286, 4.7714, 4.4572, 4.1572, 4.0000 &
962 : , 3.9857, 3.8286, 3.7857, 3.7429, 3.6857, 3.6714, 3.7000 &
963 33086 : ]
964 : r0ab(5181:5250) = [ &
965 : 3.8143, 3.8571, 3.8143, 3.9000, 3.8286, 3.8857, 3.9286 &
966 : , 4.9571, 4.6428, 4.3571, 4.2428, 4.1429, 4.0286, 3.9000 &
967 : , 3.8714, 3.8714, 3.8000, 3.9000, 4.0143, 4.0857, 4.0571 &
968 : , 4.0571, 4.0143, 4.1429, 4.1286, 5.2429, 4.7714, 4.5714 &
969 : , 4.3571, 4.5143, 4.5000, 4.4857, 4.4714, 4.4143, 4.4286 &
970 : , 4.4143, 4.4000, 4.3857, 4.3857, 4.3714, 4.4429, 4.3429 &
971 : , 4.2143, 4.1286, 4.0143, 3.9428, 3.9143, 3.8428, 3.8571 &
972 : , 3.8714, 4.1429, 4.1143, 4.1143, 4.2000, 4.1286, 4.2285 &
973 : , 4.2857, 5.1286, 4.8429, 4.6428, 4.5143, 4.4286, 4.4429 &
974 : , 4.4572, 4.4714, 4.3857, 4.3857, 4.4143, 4.4143, 4.3714 &
975 33086 : ]
976 : r0ab(5251:5320) = [ &
977 : 4.4000, 4.4857, 4.5143, 2.5286, 2.7286, 3.7857, 3.4143 &
978 : , 3.1714, 3.1428, 3.0857, 2.9714, 2.9857, 3.0286, 4.0714 &
979 : , 3.8571, 3.6857, 3.5571, 3.6429, 3.5286, 3.4857, 3.4429 &
980 : , 4.5857, 4.2714, 3.9714, 3.8143, 3.8000, 3.6429, 3.6000 &
981 : , 3.5571, 3.5000, 3.4857, 3.5143, 3.6286, 3.6714, 3.6286 &
982 : , 3.7143, 3.6429, 3.7000, 3.7429, 4.7714, 4.4572, 4.1715 &
983 : , 4.0571, 3.9571, 3.8428, 3.7143, 3.6857, 3.6857, 3.6143 &
984 : , 3.7143, 3.8286, 3.9000, 3.8714, 3.8714, 3.8286, 3.9571 &
985 : , 3.9428, 5.0571, 4.5857, 4.3857, 4.1715, 4.3286, 4.3143 &
986 : , 4.3000, 4.2857, 4.2285, 4.2428, 4.2285, 4.2143, 4.2000 &
987 33086 : ]
988 : r0ab(5321:5356) = [ &
989 : 4.2000, 4.1857, 4.2571, 4.1572, 4.0286, 3.9428, 3.8286 &
990 : , 3.7572, 3.7286, 3.6571, 3.6714, 3.6857, 3.9571, 3.9286 &
991 : , 3.9286, 4.0143, 3.9428, 4.0429, 4.1000, 4.9428, 4.6571 &
992 : , 4.4572, 4.3286, 4.2428, 4.2571, 4.2714, 4.2857, 4.2000 &
993 : , 4.2000, 4.2285, 4.2285, 4.1857, 4.2143, 4.3000, 4.3286 &
994 : , 4.1429 &
995 17242 : ]
996 :
997 466 : k = 0
998 48464 : DO i = 1, SIZE(rout, 1)
999 2544360 : DO j = 1, i
1000 2495896 : k = k + 1
1001 2495896 : rout(i, j) = r0ab(k)*bohr
1002 2543894 : rout(j, i) = r0ab(k)*bohr
1003 : END DO
1004 : END DO
1005 :
1006 : ! covalent radii (taken from Pyykko and Atsumi, Chem. Eur. J. 15, 2009, 188-197)
1007 : ! values for metals decreased by 10 %
1008 : rcov(1:70) = [ &
1009 : 0.32, 0.46, 1.20, 0.94, 0.77, 0.75, 0.71 &
1010 : , 0.63, 0.64, 0.67, 1.40, 1.25, 1.13, 1.04 &
1011 : , 1.10, 1.02, 0.99, 0.96, 1.76, 1.54, 1.33 &
1012 : , 1.22, 1.21, 1.10, 1.07, 1.04, 1.00, 0.99 &
1013 : , 1.01, 1.09, 1.12, 1.09, 1.15, 1.10, 1.14 &
1014 : , 1.17, 1.89, 1.67, 1.47, 1.39, 1.32, 1.24 &
1015 : , 1.15, 1.13, 1.13, 1.08, 1.15, 1.23, 1.28 &
1016 : , 1.26, 1.26, 1.23, 1.32, 1.31, 2.09, 1.76 &
1017 : , 1.62, 1.47, 1.58, 1.57, 1.56, 1.55, 1.51 &
1018 : , 1.52, 1.51, 1.50, 1.49, 1.49, 1.48, 1.53 &
1019 33086 : ]
1020 : rcov(71:103) = [ &
1021 : 1.46, 1.37, 1.31, 1.23, 1.18, 1.16, 1.11 &
1022 : , 1.12, 1.13, 1.32, 1.30, 1.30, 1.36, 1.31 &
1023 : , 1.38, 1.42, 2.01, 1.81, 1.67, 1.58, 1.52 &
1024 : , 1.53, 1.54, 1.55, 1.49, 1.49, 1.51, 1.51 &
1025 : , 1.48, 1.50, 1.56, 1.58, 1.45 &
1026 15844 : ]
1027 :
1028 : ! PBE0/def2-QZVP atomic values
1029 : r2r4(1:70) = [ &
1030 : 8.0589, 3.4698, 29.0974, 14.8517, 11.8799, 7.8715, 5.5588 &
1031 : , 4.7566, 3.8025, 3.1036, 26.1552, 17.2304, 17.7210, 12.7442 &
1032 : , 9.5361, 8.1652, 6.7463, 5.6004, 29.2012, 22.3934, 19.0598 &
1033 : , 16.8590, 15.4023, 12.5589, 13.4788, 12.2309, 11.2809, 10.5569 &
1034 : , 10.1428, 9.4907, 13.4606, 10.8544, 8.9386, 8.1350, 7.1251 &
1035 : , 6.1971, 30.0162, 24.4103, 20.3537, 17.4780, 13.5528, 11.8451 &
1036 : , 11.0355, 10.1997, 9.5414, 9.0061, 8.6417, 8.9975, 14.0834 &
1037 : , 11.8333, 10.0179, 9.3844, 8.4110, 7.5152, 32.7622, 27.5708 &
1038 : , 23.1671, 21.6003, 20.9615, 20.4562, 20.1010, 19.7475, 19.4828 &
1039 : , 15.6013, 19.2362, 17.4717, 17.8321, 17.4237, 17.1954, 17.1631 &
1040 33086 : ]
1041 : r2r4(71:103) = [ &
1042 : 14.5716, 15.8758, 13.8989, 12.4834, 11.4421, 10.2671, 8.3549 &
1043 : , 7.8496, 7.3278, 7.4820, 13.5124, 11.6554, 10.0959, 9.7340 &
1044 : , 8.8584, 8.0125, 29.8135, 26.3157, 19.1885, 15.8542, 16.1305 &
1045 : , 15.6161, 15.1226, 16.1576, 14.6510, 14.7178, 13.9108, 13.5623 &
1046 : , 13.2326, 12.9189, 12.6133, 12.3142, 14.8326 &
1047 15844 : ]
1048 :
1049 466 : END SUBROUTINE setr0ab
1050 :
1051 : ! **************************************************************************************************
1052 : !> \brief ...
1053 : !> \param rcov ...
1054 : ! **************************************************************************************************
1055 682 : SUBROUTINE setrcov(rcov)
1056 : ! set cut-off radii
1057 : REAL(KIND=dp), DIMENSION(:) :: rcov
1058 :
1059 : ! covalent radii (taken from Pyykko and Atsumi, Chem. Eur. J. 15, 2009, 188-197)
1060 : ! values for metals decreased by 10 %
1061 : rcov(1:70) = [ &
1062 : 0.32, 0.46, 1.20, 0.94, 0.77, 0.75, 0.71 &
1063 : , 0.63, 0.64, 0.67, 1.40, 1.25, 1.13, 1.04 &
1064 : , 1.10, 1.02, 0.99, 0.96, 1.76, 1.54, 1.33 &
1065 : , 1.22, 1.21, 1.10, 1.07, 1.04, 1.00, 0.99 &
1066 : , 1.01, 1.09, 1.12, 1.09, 1.15, 1.10, 1.14 &
1067 : , 1.17, 1.89, 1.67, 1.47, 1.39, 1.32, 1.24 &
1068 : , 1.15, 1.13, 1.13, 1.08, 1.15, 1.23, 1.28 &
1069 : , 1.26, 1.26, 1.23, 1.32, 1.31, 2.09, 1.76 &
1070 : , 1.62, 1.47, 1.58, 1.57, 1.56, 1.55, 1.51 &
1071 : , 1.52, 1.51, 1.50, 1.49, 1.49, 1.48, 1.53 &
1072 48422 : ]
1073 : rcov(71:103) = [ &
1074 : 1.46, 1.37, 1.31, 1.23, 1.18, 1.16, 1.11 &
1075 : , 1.12, 1.13, 1.32, 1.30, 1.30, 1.36, 1.31 &
1076 : , 1.38, 1.42, 2.01, 1.81, 1.67, 1.58, 1.52 &
1077 : , 1.53, 1.54, 1.55, 1.49, 1.49, 1.51, 1.51 &
1078 : , 1.48, 1.50, 1.56, 1.58, 1.45 &
1079 23188 : ]
1080 :
1081 682 : END SUBROUTINE setrcov
1082 :
1083 : ! **************************************************************************************************
1084 : !> \brief ...
1085 : !> \param cnout ...
1086 : ! **************************************************************************************************
1087 1148 : SUBROUTINE setcn(cnout)
1088 : ! default coordination numbers
1089 : REAL(KIND=dp), DIMENSION(:) :: cnout
1090 :
1091 : INTEGER :: n
1092 : REAL(KIND=dp), DIMENSION(104) :: cn
1093 :
1094 : cn(1:104) = [ &
1095 : 1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 3.0, 2.0, 1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0 &
1096 : , 2.0, 1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 3.0, 2.0, 3.0, 2.0, 2.0, 2.0, 2.0 &
1097 : , 3.0, 4.0, 3.0, 4.0, 1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 4.0, 3.0 &
1098 : , 2.0, 1.0, 2.0, 3.0, 2.0, 3.0, 4.0, 1.0, 0.0, 1.0, 2.0, 3.0, 3.0, 3.0, 3.0 &
1099 : , 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 4.0, 5.0, 6.0, 7.0 &
1100 : , 4.0, 4.0, 4.0, 3.0, 2.0, 1.0, 2.0, 3.0, 4.0, 1.0, 0.0, 1.0, 2.0, 3.0, 4.0 &
1101 : , 5.0, 6.0, 5.0, 4.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 3.0, 3.0 &
1102 1148 : ]
1103 :
1104 119392 : cnout = 0._dp
1105 1148 : n = MIN(SIZE(cn), SIZE(cnout))
1106 119392 : cnout(1:n) = cn(1:n)
1107 :
1108 1148 : END SUBROUTINE setcn
1109 :
1110 : ! **************************************************************************************************
1111 : !> \brief ...
1112 : !> \param enout ...
1113 : ! **************************************************************************************************
1114 1148 : SUBROUTINE seten(enout)
1115 : ! Element Pauling Electronegativity
1116 : REAL(KIND=dp), DIMENSION(:) :: enout
1117 :
1118 : INTEGER :: n
1119 : REAL(KIND=dp), DIMENSION(104) :: en
1120 :
1121 : en(1:104) = [2.20_dp, 3.00_dp, & ! 2
1122 : 0.98_dp, 1.57_dp, 2.04_dp, 2.55_dp, 3.04_dp, 3.44_dp, 3.98_dp, 4.50_dp, & ! 10
1123 : 0.93_dp, 1.31_dp, 1.61_dp, 1.90_dp, 2.19_dp, 2.58_dp, 3.16_dp, 3.50_dp, & ! 18
1124 : 0.82_dp, 1.00_dp, 1.36_dp, 1.54_dp, 1.63_dp, 1.66_dp, 1.55_dp, 1.83_dp, &
1125 : 1.88_dp, 1.91_dp, 1.90_dp, 1.65_dp, 1.81_dp, 2.01_dp, 2.18_dp, 2.55_dp, 2.96_dp, 3.00_dp, & ! 36
1126 : 0.82_dp, 0.95_dp, 1.22_dp, 1.33_dp, 1.60_dp, 2.16_dp, 1.90_dp, 2.20_dp, &
1127 : 2.28_dp, 2.20_dp, 1.93_dp, 1.69_dp, 1.78_dp, 1.96_dp, 2.05_dp, 2.10_dp, 2.66_dp, 2.60_dp, & ! 54
1128 : 0.79_dp, 0.89_dp, 1.10_dp, &
1129 : 1.12_dp, 1.13_dp, 1.14_dp, 1.15_dp, 1.17_dp, 1.18_dp, 1.20_dp, 1.21_dp, &
1130 : 1.22_dp, 1.23_dp, 1.24_dp, 1.25_dp, 1.26_dp, 1.27_dp, & ! Lanthanides
1131 : 1.30_dp, 1.50_dp, 2.36_dp, 1.90_dp, 2.20_dp, 2.20_dp, 2.28_dp, 2.54_dp, &
1132 : 2.00_dp, 2.04_dp, 2.33_dp, 2.02_dp, 2.00_dp, 2.20_dp, 2.20_dp, & ! 86
1133 : 0.70_dp, 0.89_dp, 1.10_dp, &
1134 : 1.30_dp, 1.50_dp, 1.38_dp, 1.36_dp, 1.28_dp, 1.30_dp, 1.30_dp, 1.30_dp, &
1135 : 1.30_dp, 1.30_dp, 1.30_dp, 1.30_dp, 1.30_dp, 1.50_dp, & ! Actinides
1136 1148 : 1.50_dp]
1137 :
1138 119392 : enout = 0._dp
1139 1148 : n = MIN(SIZE(en), SIZE(enout))
1140 119392 : enout(1:n) = en(1:n)
1141 :
1142 1148 : END SUBROUTINE seten
1143 :
1144 : ! **************************************************************************************************
1145 : !> \brief ...
1146 : !> \param rab ...
1147 : !> \param rcovab ...
1148 : !> \param k1 ...
1149 : !> \param cnab ...
1150 : !> \param dcnab ...
1151 : ! **************************************************************************************************
1152 559749 : SUBROUTINE cnparam_d3(rab, rcovab, k1, cnab, dcnab)
1153 :
1154 : REAL(KIND=dp), INTENT(IN) :: rab, rcovab, k1
1155 : REAL(KIND=dp), INTENT(OUT) :: cnab, dcnab
1156 :
1157 : REAL(KIND=dp) :: dfz, ee, ff, fz, rr
1158 :
1159 : ! covalent distance in Bohr
1160 559749 : rr = rcovab/rab
1161 : ! counting function exponential has a better long-range behavior
1162 : ! than MHGs inverse damping
1163 : ! factor k2 already included into rcov
1164 559749 : ee = EXP(-k1*(rr - 1.0_dp))
1165 : ! force the function to zero using a second step function
1166 559749 : fz = 0.5_dp*(1.0_dp - TANH(rab - 2.0_dp*rcovab))
1167 559749 : dfz = 0.5_dp*((TANH(rab - 2.0_dp*rcovab))**2 - 1.0_dp)
1168 559749 : ff = 1.0_dp/(1.0_dp + ee)
1169 559749 : cnab = ff*fz
1170 559749 : dcnab = -fz*ff*ff*k1*rr/rab*ee + ff*dfz
1171 :
1172 559749 : END SUBROUTINE cnparam_d3
1173 :
1174 : ! **************************************************************************************************
1175 : !> \brief ...
1176 : !> \param dcnum ...
1177 : !> \param para_env ...
1178 : ! **************************************************************************************************
1179 1484 : SUBROUTINE dcnum_distribute(dcnum, para_env)
1180 :
1181 : TYPE(dcnum_type), DIMENSION(:) :: dcnum
1182 : TYPE(mp_para_env_type), POINTER :: para_env
1183 :
1184 : INTEGER :: i, ia, ipe, jn, n, natom, ntmax, ntot
1185 1484 : INTEGER, ALLOCATABLE, DIMENSION(:) :: list, nloc
1186 1484 : REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: dvals
1187 1484 : REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :) :: rik
1188 :
1189 : ! we only have to do something if this is a parallel run
1190 1484 : IF (para_env%num_pe > 1) THEN
1191 1280 : natom = SIZE(dcnum)
1192 : !pack my dcnum data
1193 3840 : ALLOCATE (nloc(natom))
1194 15858 : DO ia = 1, natom
1195 15858 : nloc(ia) = dcnum(ia)%neighbors
1196 : END DO
1197 15858 : ntot = SUM(nloc)
1198 1280 : ntmax = ntot
1199 1280 : CALL para_env%max(ntmax)
1200 8726 : ALLOCATE (list(ntmax), dvals(ntmax), rik(3, ntmax))
1201 1280 : list = 0
1202 1280 : dvals = 0._dp
1203 1280 : rik = 0._dp
1204 1280 : i = 0
1205 15858 : DO ia = 1, natom
1206 111624 : DO jn = 1, nloc(ia)
1207 95766 : i = i + 1
1208 95766 : list(i) = dcnum(ia)%nlist(jn)
1209 95766 : dvals(i) = dcnum(ia)%dvals(jn)
1210 397642 : rik(1:3, i) = dcnum(ia)%rik(1:3, jn)
1211 : END DO
1212 : END DO
1213 2560 : DO ipe = 1, para_env%num_pe - 1
1214 : !send/receive packed data
1215 1280 : CALL para_env%shift(nloc)
1216 : !unpack received data
1217 1280 : CALL para_env%shift(list)
1218 1280 : CALL para_env%shift(dvals)
1219 1280 : CALL para_env%shift(rik)
1220 : !add data to local dcnum
1221 1280 : i = 0
1222 17138 : DO ia = 1, natom
1223 14578 : n = dcnum(ia)%neighbors + nloc(ia)
1224 14578 : IF (n > SIZE(dcnum(ia)%nlist)) THEN
1225 3640 : CALL reallocate(dcnum(ia)%nlist, 1, 2*n)
1226 3640 : CALL reallocate(dcnum(ia)%dvals, 1, 2*n)
1227 3640 : CALL reallocate(dcnum(ia)%rik, 1, 3, 1, 2*n)
1228 : END IF
1229 110344 : DO jn = 1, nloc(ia)
1230 95766 : i = i + 1
1231 95766 : n = dcnum(ia)%neighbors + jn
1232 95766 : dcnum(ia)%nlist(n) = list(i)
1233 95766 : dcnum(ia)%dvals(n) = dvals(i)
1234 397642 : dcnum(ia)%rik(1:3, n) = rik(1:3, i)
1235 : END DO
1236 15858 : dcnum(ia)%neighbors = dcnum(ia)%neighbors + nloc(ia)
1237 : END DO
1238 : END DO
1239 1280 : DEALLOCATE (nloc)
1240 1280 : DEALLOCATE (list, dvals, rik)
1241 : END IF
1242 :
1243 1484 : END SUBROUTINE dcnum_distribute
1244 :
1245 : ! **************************************************************************************************
1246 : !> \brief ...
1247 : !> \param dispersion_env ...
1248 : !> \return ...
1249 : ! **************************************************************************************************
1250 682 : FUNCTION get_cn_radius(dispersion_env) RESULT(rcut)
1251 : TYPE(qs_dispersion_type), POINTER :: dispersion_env
1252 : REAL(KIND=dp) :: rcut
1253 :
1254 : INTEGER :: i
1255 : REAL(KIND=dp) :: cnab, cnfun, dcnab, den, rcov
1256 :
1257 682 : cnfun = dispersion_env%cnfun
1258 682 : rcut = 0.0_dp
1259 70928 : rcov = 1.5_dp*MAXVAL(dispersion_env%rcov)
1260 75702 : DO i = 1, 250
1261 75702 : rcut = rcut + 0.1_dp
1262 75702 : IF (cnfun == 1) THEN
1263 0 : CALL cnparam_d3(rcut, rcov, dispersion_env%k1, cnab, dcnab)
1264 75702 : ELSEIF (cnfun == 2) THEN
1265 0 : CALL modcn_d3(rcut, rcov, cnab, dcnab)
1266 75702 : ELSEIF (cnfun == 3) THEN
1267 75702 : den = 0.0_dp
1268 75702 : CALL cn_d4per(rcut, rcov, den, cnab, dcnab)
1269 : ELSE
1270 0 : CPABORT("cnfun in get_cn_radius")
1271 : END IF
1272 75702 : IF (cnab < 10._dp*dispersion_env%eps_cn) EXIT
1273 : END DO
1274 :
1275 682 : END FUNCTION get_cn_radius
1276 :
1277 : ! **************************************************************************************************
1278 : !> \brief ...
1279 : !> \param qs_env ...
1280 : !> \param dispersion_env ...
1281 : !> \param cnumbers ...
1282 : !> \param dcnum ...
1283 : !> \param exclude ...
1284 : !> \param atomnumber ...
1285 : !> \param derivatives ...
1286 : !> \param cnfun ...
1287 : ! **************************************************************************************************
1288 12578 : SUBROUTINE d3_cnumber(qs_env, dispersion_env, cnumbers, dcnum, exclude, atomnumber, &
1289 : derivatives, cnfun)
1290 :
1291 : TYPE(qs_environment_type), POINTER :: qs_env
1292 : TYPE(qs_dispersion_type), POINTER :: dispersion_env
1293 : REAL(KIND=dp), DIMENSION(:), INTENT(INOUT) :: cnumbers
1294 : TYPE(dcnum_type), DIMENSION(:), INTENT(INOUT) :: dcnum
1295 : LOGICAL, DIMENSION(:), INTENT(IN) :: exclude
1296 : INTEGER, DIMENSION(:), INTENT(IN) :: atomnumber
1297 : LOGICAL, INTENT(IN) :: derivatives
1298 : INTEGER, INTENT(IN) :: cnfun
1299 :
1300 : CHARACTER(LEN=*), PARAMETER :: routineN = 'd3_cnumber'
1301 :
1302 : INTEGER :: handle, iatom, ikind, jatom, jkind, &
1303 : mepos, natom, ni, nj, num_pe, za, zb
1304 : LOGICAL :: exclude_pair
1305 : REAL(KIND=dp) :: cnab, dcnab, den, eps_cn, rcc, rcovab
1306 : REAL(KIND=dp), DIMENSION(3) :: rij
1307 : TYPE(neighbor_list_iterator_p_type), &
1308 12578 : DIMENSION(:), POINTER :: nl_iterator
1309 : TYPE(neighbor_list_set_p_type), DIMENSION(:), &
1310 12578 : POINTER :: sab_cn
1311 12578 : TYPE(particle_type), DIMENSION(:), POINTER :: particle_set
1312 :
1313 12578 : !$ INTEGER(kind=omp_lock_kind), ALLOCATABLE, DIMENSION(:) :: locks
1314 : !$ INTEGER :: lock, number_of_locks
1315 :
1316 12578 : CALL timeset(routineN, handle)
1317 :
1318 : ! Calculate coordination numbers
1319 12578 : NULLIFY (particle_set)
1320 12578 : CALL get_qs_env(qs_env=qs_env, particle_set=particle_set)
1321 12578 : natom = SIZE(particle_set)
1322 :
1323 12578 : eps_cn = dispersion_env%eps_cn
1324 12578 : sab_cn => dispersion_env%sab_cn
1325 : num_pe = 1
1326 12578 : !$ num_pe = omp_get_max_threads()
1327 12578 : CALL neighbor_list_iterator_create(nl_iterator, sab_cn, nthread=num_pe)
1328 12578 : !$ number_of_locks = natom
1329 :
1330 : !$OMP PARALLEL DEFAULT( NONE ) &
1331 : !$OMP SHARED( locks, number_of_locks, nl_iterator &
1332 : !$OMP , exclude, atomnumber, eps_cn &
1333 : !$OMP , dispersion_env, derivatives &
1334 : !$OMP , dcnum, cnumbers, cnfun &
1335 : !$OMP ) &
1336 : !$OMP PRIVATE( mepos &
1337 : !$OMP , ikind, jkind, iatom, jatom, rij, rcc &
1338 : !$OMP , za, zb, rcovab, cnab, dcnab, den &
1339 : !$OMP , ni, nj, exclude_pair &
1340 12578 : !$OMP )
1341 :
1342 : !$OMP SINGLE
1343 : !$ ALLOCATE (locks(number_of_locks))
1344 : !$OMP END SINGLE
1345 :
1346 : !$OMP DO
1347 : !$ DO lock = 1, number_of_locks
1348 : !$ call omp_init_lock(locks(lock))
1349 : !$ END DO
1350 : !$OMP END DO
1351 :
1352 : mepos = 0
1353 : !$ mepos = omp_get_thread_num()
1354 : DO WHILE (neighbor_list_iterate(nl_iterator, mepos=mepos) == 0)
1355 :
1356 : CALL get_iterator_info(nl_iterator, mepos=mepos, ikind=ikind, jkind=jkind, iatom=iatom, jatom=jatom, r=rij)
1357 : IF (exclude(ikind) .OR. exclude(jkind)) CYCLE
1358 : IF (dispersion_env%nd3_exclude_pair > 0) THEN
1359 : CALL exclude_d3_kind_pair(dispersion_env%d3_exclude_pair, ikind, jkind, exclude=exclude_pair)
1360 : IF (exclude_pair) CYCLE
1361 : END IF
1362 :
1363 : rcc = SQRT(rij(1)*rij(1) + rij(2)*rij(2) + rij(3)*rij(3))
1364 : IF (rcc > 1.e-6_dp) THEN
1365 : za = atomnumber(ikind)
1366 : zb = atomnumber(jkind)
1367 : rcovab = dispersion_env%rcov(za) + dispersion_env%rcov(zb)
1368 : IF (cnfun == 1) THEN
1369 : CALL cnparam_d3(rcc, rcovab, dispersion_env%k1, cnab, dcnab)
1370 : ELSEIF (cnfun == 2) THEN
1371 : CALL modcn_d3(rcc, rcovab, cnab, dcnab)
1372 : ELSEIF (cnfun == 3) THEN
1373 : den = ABS(dispersion_env%eneg(za) - dispersion_env%eneg(zb))
1374 : CALL cn_d4per(rcc, rcovab, den, cnab, dcnab)
1375 : ELSE
1376 : CPABORT("cnfun in d3_cnumber")
1377 : END IF
1378 : IF (cnab > eps_cn) THEN
1379 : !$OMP ATOMIC
1380 : cnumbers(iatom) = cnumbers(iatom) + cnab
1381 : IF (iatom /= jatom) THEN
1382 : !$OMP ATOMIC
1383 : cnumbers(jatom) = cnumbers(jatom) + cnab
1384 : END IF
1385 : END IF
1386 : IF (derivatives .AND. cnab > eps_cn) THEN
1387 : !$ CALL omp_set_lock(locks(iatom))
1388 : dcnum(iatom)%neighbors = dcnum(iatom)%neighbors + 1
1389 : ni = dcnum(iatom)%neighbors
1390 : IF (ni > SIZE(dcnum(iatom)%nlist)) THEN
1391 : CALL reallocate(dcnum(iatom)%nlist, 1, 2*ni)
1392 : CALL reallocate(dcnum(iatom)%dvals, 1, 2*ni)
1393 : CALL reallocate(dcnum(iatom)%rik, 1, 3, 1, 2*ni)
1394 : END IF
1395 : dcnum(iatom)%nlist(ni) = jatom
1396 : dcnum(iatom)%dvals(ni) = dcnab
1397 : dcnum(iatom)%rik(1:3, ni) = rij(1:3)
1398 : !$ CALL omp_unset_lock(locks(iatom))
1399 :
1400 : IF (iatom /= jatom) THEN
1401 : !$ CALL omp_set_lock(locks(jatom))
1402 : dcnum(jatom)%neighbors = dcnum(jatom)%neighbors + 1
1403 : nj = dcnum(jatom)%neighbors
1404 : IF (nj > SIZE(dcnum(jatom)%dvals)) THEN
1405 : CALL reallocate(dcnum(jatom)%nlist, 1, 2*nj)
1406 : CALL reallocate(dcnum(jatom)%dvals, 1, 2*nj)
1407 : CALL reallocate(dcnum(jatom)%rik, 1, 3, 1, 2*nj)
1408 : END IF
1409 : dcnum(jatom)%nlist(nj) = iatom
1410 : dcnum(jatom)%dvals(nj) = dcnab
1411 : dcnum(jatom)%rik(1:3, nj) = -rij(1:3)
1412 : !$ CALL omp_unset_lock(locks(jatom))
1413 : END IF
1414 : END IF
1415 : END IF
1416 : END DO
1417 :
1418 : !$OMP BARRIER ! Wait for all threads to finish the loop before locks can be freed
1419 : !$OMP DO
1420 : !$ DO lock = 1, number_of_locks
1421 : !$ call omp_destroy_lock(locks(lock))
1422 : !$ END DO
1423 : !$OMP END DO
1424 : !$OMP SINGLE
1425 : !$ DEALLOCATE (locks)
1426 : !$OMP END SINGLE NOWAIT
1427 :
1428 : !$OMP END PARALLEL
1429 12578 : CALL neighbor_list_iterator_release(nl_iterator)
1430 :
1431 12578 : CALL timestop(handle)
1432 :
1433 25156 : END SUBROUTINE d3_cnumber
1434 :
1435 : ! **************************************************************************************************
1436 : !> \brief ...
1437 : !> \param rab ...
1438 : !> \param rcovab ...
1439 : !> \param cnab ...
1440 : !> \param dcnab ...
1441 : ! **************************************************************************************************
1442 113775 : SUBROUTINE modcn_d3(rab, rcovab, cnab, dcnab)
1443 :
1444 : REAL(KIND=dp), INTENT(IN) :: rab, rcovab
1445 : REAL(KIND=dp), INTENT(OUT) :: cnab, dcnab
1446 :
1447 : REAL(KIND=dp) :: ee, k1, rr
1448 :
1449 113775 : rr = rab/rcovab
1450 113775 : k1 = 7.5_dp
1451 113775 : ee = ERF(-k1*(rr - 1.0_dp))
1452 113775 : cnab = 0.5_dp*(1.0_dp + ee)
1453 113775 : dcnab = -k1*oorootpi/rcovab*EXP(-k1*k1*(rr - 1.0_dp)**2)
1454 :
1455 113775 : END SUBROUTINE modcn_d3
1456 :
1457 : ! **************************************************************************************************
1458 : !> \brief ...
1459 : !> \param rab ...
1460 : !> \param rcovab ...
1461 : !> \param den ...
1462 : !> \param cnab ...
1463 : !> \param dcnab ...
1464 : ! **************************************************************************************************
1465 76212 : SUBROUTINE cn_d4per(rab, rcovab, den, cnab, dcnab)
1466 :
1467 : REAL(KIND=dp), INTENT(IN) :: rab, rcovab, den
1468 : REAL(KIND=dp), INTENT(OUT) :: cnab, dcnab
1469 :
1470 : REAL(KIND=dp), PARAMETER :: k0 = 7.5_dp, k1 = 4.10451_dp, &
1471 : k2 = 19.08857_dp, k3 = 2*11.28174_dp**2
1472 :
1473 : REAL(KIND=dp) :: dee, dij, ee, rr
1474 :
1475 76212 : rr = rab/rcovab
1476 76212 : dij = k1*EXP(-((den + k2)**2)/k3)
1477 76212 : ee = ERF(-k0*(rr - 1.0_dp))
1478 76212 : cnab = 0.5_dp*dij*(1.0_dp + ee)
1479 76212 : dee = -2.0_dp*k0/rcovab*oorootpi*EXP(-k0*k0*(rr - 1.0_dp)**2)
1480 76212 : dcnab = 0.5_dp*dij*dee
1481 :
1482 76212 : END SUBROUTINE cn_d4per
1483 :
1484 : ! **************************************************************************************************
1485 : !> \brief ...
1486 : !> \param exclude_list List of kind pairs to exclude
1487 : !> \param za first kind
1488 : !> \param zb second kind
1489 : !> \param zc third kind in case of the three-body term
1490 : !> \param exclude whether to exclude the interaction or not
1491 : ! **************************************************************************************************
1492 5422 : SUBROUTINE exclude_d3_kind_pair(exclude_list, za, zb, zc, exclude)
1493 :
1494 : INTEGER, DIMENSION(:, :), INTENT(IN) :: exclude_list
1495 : INTEGER, INTENT(in) :: za, zb
1496 : INTEGER, INTENT(in), OPTIONAL :: zc
1497 : LOGICAL, INTENT(out) :: exclude
1498 :
1499 : CHARACTER(LEN=*), PARAMETER :: routineN = 'exclude_d3_kind_pair'
1500 :
1501 : INTEGER :: handle, i
1502 :
1503 5422 : CALL timeset(routineN, handle)
1504 5422 : exclude = .FALSE.
1505 13112 : DO i = 1, SIZE(exclude_list, 1)
1506 10752 : IF (exclude_list(i, 1) == za .AND. exclude_list(i, 2) == zb .OR. &
1507 : exclude_list(i, 1) == zb .AND. exclude_list(i, 2) == za) THEN
1508 256 : exclude = .TRUE.
1509 256 : EXIT
1510 : END IF
1511 12856 : IF (PRESENT(zc)) THEN
1512 : IF (exclude_list(i, 1) == za .AND. exclude_list(i, 2) == zc .OR. &
1513 : exclude_list(i, 1) == zc .AND. exclude_list(i, 2) == za .OR. &
1514 10140 : exclude_list(i, 1) == zb .AND. exclude_list(i, 2) == zc .OR. &
1515 : exclude_list(i, 1) == zc .AND. exclude_list(i, 2) == zb) THEN
1516 2806 : exclude = .TRUE.
1517 2806 : EXIT
1518 : END IF
1519 : END IF
1520 : END DO
1521 :
1522 5422 : CALL timestop(handle)
1523 :
1524 5422 : END SUBROUTINE exclude_d3_kind_pair
1525 :
1526 : ! **************************************************************************************************
1527 : !> \brief ...
1528 : !> \param qs_env ...
1529 : !> \param cnumbers ...
1530 : !> \param dcnum ...
1531 : !> \param ftype ...
1532 : !> \param derivatives ...
1533 : !> \param disp_env ...
1534 : ! **************************************************************************************************
1535 7088 : SUBROUTINE cnumber_init(qs_env, cnumbers, dcnum, ftype, derivatives, disp_env)
1536 :
1537 : TYPE(qs_environment_type), POINTER :: qs_env
1538 : REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: cnumbers
1539 : TYPE(dcnum_type), ALLOCATABLE, DIMENSION(:) :: dcnum
1540 : INTEGER, INTENT(IN) :: ftype
1541 : LOGICAL, INTENT(IN) :: derivatives
1542 : TYPE(qs_dispersion_type), OPTIONAL, POINTER :: disp_env
1543 :
1544 : INTEGER :: iatom, ikind, natom, nkind, za
1545 7088 : INTEGER, ALLOCATABLE, DIMENSION(:) :: atomnumber
1546 : LOGICAL :: floating_a, ghost_a
1547 7088 : LOGICAL, ALLOCATABLE, DIMENSION(:) :: exclude
1548 : TYPE(mp_para_env_type), POINTER :: para_env
1549 : TYPE(qs_dispersion_type), POINTER :: dispersion_env
1550 7088 : TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set
1551 :
1552 : CALL get_qs_env(qs_env=qs_env, qs_kind_set=qs_kind_set, &
1553 : dispersion_env=dispersion_env, &
1554 : para_env=para_env, &
1555 7088 : nkind=nkind, natom=natom)
1556 7088 : IF (PRESENT(disp_env)) dispersion_env => disp_env
1557 :
1558 7088 : CALL cnumber_release(cnumbers, dcnum, derivatives)
1559 :
1560 21264 : ALLOCATE (cnumbers(natom))
1561 7088 : cnumbers = 0._dp
1562 7088 : IF (derivatives) THEN
1563 7528 : ALLOCATE (dcnum(natom))
1564 6128 : dcnum(:)%neighbors = 0
1565 6128 : DO iatom = 1, natom
1566 6128 : ALLOCATE (dcnum(iatom)%nlist(10), dcnum(iatom)%dvals(10), dcnum(iatom)%rik(3, 10))
1567 : END DO
1568 : ELSE
1569 12776 : ALLOCATE (dcnum(1))
1570 : END IF
1571 :
1572 28352 : ALLOCATE (exclude(nkind), atomnumber(nkind))
1573 23942 : DO ikind = 1, nkind
1574 16854 : CALL get_qs_kind(qs_kind_set(ikind), zatom=za, ghost=ghost_a, floating=floating_a)
1575 16854 : exclude(ikind) = ghost_a .OR. floating_a
1576 40796 : atomnumber(ikind) = za
1577 : END DO
1578 :
1579 : CALL d3_cnumber(qs_env, dispersion_env, cnumbers, dcnum, exclude, atomnumber, &
1580 7088 : derivatives, ftype)
1581 :
1582 7088 : CALL para_env%sum(cnumbers)
1583 7088 : IF (derivatives) THEN
1584 700 : CALL dcnum_distribute(dcnum, para_env)
1585 : END IF
1586 :
1587 7088 : DEALLOCATE (exclude, atomnumber)
1588 :
1589 7088 : END SUBROUTINE cnumber_init
1590 :
1591 : ! **************************************************************************************************
1592 : !> \brief ...
1593 : !> \param cnumbers ...
1594 : !> \param dcnum ...
1595 : !> \param derivatives ...
1596 : ! **************************************************************************************************
1597 14176 : SUBROUTINE cnumber_release(cnumbers, dcnum, derivatives)
1598 :
1599 : REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: cnumbers
1600 : TYPE(dcnum_type), ALLOCATABLE, DIMENSION(:) :: dcnum
1601 : LOGICAL, INTENT(IN) :: derivatives
1602 :
1603 : INTEGER :: iatom, natom
1604 :
1605 : ! deallocate coordination numbers
1606 14176 : IF (ALLOCATED(cnumbers)) DEALLOCATE (cnumbers)
1607 14176 : IF (ALLOCATED(dcnum)) THEN
1608 7088 : IF (derivatives) THEN
1609 700 : natom = SIZE(dcnum)
1610 6128 : DO iatom = 1, natom
1611 6128 : DEALLOCATE (dcnum(iatom)%nlist, dcnum(iatom)%dvals, dcnum(iatom)%rik)
1612 : END DO
1613 : END IF
1614 7088 : DEALLOCATE (dcnum)
1615 : END IF
1616 :
1617 14176 : END SUBROUTINE cnumber_release
1618 :
1619 0 : END MODULE qs_dispersion_cnum
|