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