votca 2024.1-dev
Loading...
Searching...
No Matches
sphere_lebedev_rule.cc
Go to the documentation of this file.
1/*
2 * Copyright 2009-2020 The VOTCA Development Team
3 * (http://www.votca.org)
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License")
6 *
7 * You may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "A_ol I_ol" BA_olI_ol,
14 * WITHOUT WARRANTIE_ol OR CONDITION_ol OF ANY KIND, either express or implied.
15 * olee_ the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 */
19
20// Local VOTCA includes
24#include "votca/xtp/qmpackage.h"
25
26namespace votca {
27namespace xtp {
28
29std::map<std::string, GridContainers::spherical_grid>
31 const std::string &type) const {
32 std::vector<std::string> unique_atoms = atoms.FindUniqueElements();
33 std::map<std::string, GridContainers::spherical_grid> result;
34 for (const std::string &atomname : unique_atoms) {
35 result[atomname] = CalculateUnitSphereGrid(atomname, type);
36 }
37 return result;
38}
39
41 const std::string &element, const std::string &type) const {
42 Index order = Type2MaxOrder(element, type);
43 return CalculateUnitSphereGrid(order);
44}
45
47 Index order) const {
48 const double fourpi = 4 * tools::conv::Pi;
50 result.phi = Eigen::VectorXd::Zero(order);
51 result.theta = Eigen::VectorXd::Zero(order);
52 result.weight = Eigen::VectorXd::Zero(order);
53 Eigen::Matrix4Xd xyzw = ld_by_order(order);
54 for (Index i = 0; i < order; i++) {
55 Eigen::Vector3d xyz = xyzw.col(i).head<3>();
56 Eigen::Vector2d spherical = this->Cartesian2SphericalAngle(xyz);
57 result.phi[i] = spherical[0];
58 result.theta[i] = spherical[1];
59 result.weight[i] = fourpi * xyzw.col(i)[3];
60 }
61 return result;
62}
63
64Index LebedevGrid::Type2MaxOrder(const std::map<std::string, Index> &map,
65 const std::string &element) const {
66 if (map.count(element)) {
67 return map.at(element);
68 } else {
69 throw std::runtime_error("Element type " + element +
70 " for LebedevGrid not found");
71 }
72 return -1;
73}
74
75Index LebedevGrid::Type2MaxOrder(const std::string &element,
76 const std::string &type) const {
77
78 if (type == "medium") {
79 return Type2MaxOrder(MediumOrder, element);
80 } else if (type == "coarse") {
81 return Type2MaxOrder(CoarseOrder, element);
82 } else if (type == "xcoarse") {
83 return Type2MaxOrder(XcoarseOrder, element);
84 } else if (type == "fine") {
85 return Type2MaxOrder(FineOrder, element);
86 } else if (type == "xfine") {
87 return Type2MaxOrder(XfineOrder, element);
88 }
89 throw std::runtime_error("Grid type " + type + " is not implemented");
90 return -1;
91}
92
93//****************************************************************************80
94
96
97//****************************************************************************80
98//
99// Purpose:
100//
101// AVAILABLE_TABLE returns the availability of a Lebedev rule.
102//
103// Modified:
104//
105// 12 September 2010
106//
107// Author:
108//
109// John Burkardt
110//
111// Reference:
112//
113// Vyacheslav Lebedev, Dmitri Laikov,
114// A quadrature formula for the sphere of the 131st
115// algebraic order of accuracy,
116// Russian Academy of Sciences Doklady Mathematics,
117// Volume 59, Number 3, 1999, pages 477-481.
118//
119// Parameters:
120//
121// Input, Index RULE, the index of the rule, between 1 and 65.
122//
123// Output, Index AVAILABLE_TABLE, the availability of the rule.
124// * -1, there is no such rule;
125// * 0, there is such a rule, but it is not available in this library.
126// * 1, the rule is available in this library.
127//
128{
129 Index rule_max = 65;
130 Index table[65] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1,
131 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0,
132 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
133 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1};
134 Index value;
135
136 if (rule < 1) {
137 value = -1;
138 } else if (rule_max < rule) {
139 value = -1;
140 } else {
141 value = table[rule - 1];
142 }
143
144 return value;
145}
146//****************************************************************************80
147
148Index LebedevGrid::gen_oh(Index code, double a, double b, double v, double *x,
149 double *y, double *z, double *w) const
150
151//****************************************************************************80
152//
153// Purpose:
154//
155// GEN_OH generates points under OH symmetry.
156//
157// Discussion:
158//
159// Given a point on a sphere, specified by A and B, this routine generates
160// all the equivalent points under OH symmetry, making grid points with
161// weight V.
162//
163// The variable NUM is increased by the number of different points
164// generated.
165//
166// Depending on CODE, there are from 6 to 48 different but equivalent
167// points that are generated:
168//
169// CODE=1: (0,0,1) etc ( 6 points)
170// CODE=2: (0,A,A) etc, A=1/sqrt(2) ( 12 points)
171// CODE=3: (A,A,A) etc, A=1/sqrt(3) ( 8 points)
172// CODE=4: (A,A,B) etc, B=sqrt(1-2 A^2) ( 24 points)
173// CODE=5: (A,B,0) etc, B=sqrt(1-A^2), A input ( 24 points)
174// CODE=6: (A,B,C) etc, C=sqrt(1-A^2-B^2), A, B input ( 48 points)
175//
176// Modified:
177//
178// 11 September 2010
179//
180// Author:
181//
182// Dmitri Laikov
183//
184// Reference:
185//
186// Vyacheslav Lebedev, Dmitri Laikov,
187// A quadrature formula for the sphere of the 131st
188// algebraic order of accuracy,
189// Russian Academy of Sciences Doklady Mathematics,
190// Volume 59, Number 3, 1999, pages 477-481.
191//
192// Parameters:
193//
194// Input, Index CODE, selects the symmetry group.
195//
196// Input/output, Index &NUM, the number of points. This is incremented
197// upon output by the number of points generated on this call.
198//
199// Input, double A, B, information that may be needed to
200// generate the coordinates of the points (for code = 5 or 6 only).
201//
202// Input, double V, the weight to be assigned the points.
203//
204// Output, double X[*], Y[*], Z[*], W[*], the coordinates
205// and weights of the symmetric points generated on this call.
206//
207// Output, Index GEN_OH, the number of points generated on this call.
208//
209{
210 double c;
211 Index num;
212
213 if (code == 1) {
214 a = 1.0;
215 x[0] = a;
216 y[0] = 0.0;
217 z[0] = 0.0;
218 w[0] = v;
219 x[1] = -a;
220 y[1] = 0.0;
221 z[1] = 0.0;
222 w[1] = v;
223 x[2] = 0.0;
224 y[2] = a;
225 z[2] = 0.0;
226 w[2] = v;
227 x[3] = 0.0;
228 y[3] = -a;
229 z[3] = 0.0;
230 w[3] = v;
231 x[4] = 0.0;
232 y[4] = 0.0;
233 z[4] = a;
234 w[4] = v;
235 x[5] = 0.0;
236 y[5] = 0.0;
237 z[5] = -a;
238 w[5] = v;
239 num = 6;
240 } else if (code == 2) {
241 a = sqrt(0.5);
242 x[0] = 0;
243 y[0] = a;
244 z[0] = a;
245 w[0] = v;
246 x[1] = 0;
247 y[1] = -a;
248 z[1] = a;
249 w[1] = v;
250 x[2] = 0;
251 y[2] = a;
252 z[2] = -a;
253 w[2] = v;
254 x[3] = 0;
255 y[3] = -a;
256 z[3] = -a;
257 w[3] = v;
258 x[4] = a;
259 y[4] = 0;
260 z[4] = a;
261 w[4] = v;
262 x[5] = -a;
263 y[5] = 0;
264 z[5] = a;
265 w[5] = v;
266 x[6] = a;
267 y[6] = 0;
268 z[6] = -a;
269 w[6] = v;
270 x[7] = -a;
271 y[7] = 0;
272 z[7] = -a;
273 w[7] = v;
274 x[8] = a;
275 y[8] = a;
276 z[8] = 0;
277 w[8] = v;
278 x[9] = -a;
279 y[9] = a;
280 z[9] = 0;
281 w[9] = v;
282 x[10] = a;
283 y[10] = -a;
284 z[10] = 0;
285 w[10] = v;
286 x[11] = -a;
287 y[11] = -a;
288 z[11] = 0;
289 w[11] = v;
290 num = 12;
291 } else if (code == 3) {
292 a = sqrt(1.0 / 3.0);
293 x[0] = a;
294 y[0] = a;
295 z[0] = a;
296 w[0] = v;
297 x[1] = -a;
298 y[1] = a;
299 z[1] = a;
300 w[1] = v;
301 x[2] = a;
302 y[2] = -a;
303 z[2] = a;
304 w[2] = v;
305 x[3] = -a;
306 y[3] = -a;
307 z[3] = a;
308 w[3] = v;
309 x[4] = a;
310 y[4] = a;
311 z[4] = -a;
312 w[4] = v;
313 x[5] = -a;
314 y[5] = a;
315 z[5] = -a;
316 w[5] = v;
317 x[6] = a;
318 y[6] = -a;
319 z[6] = -a;
320 w[6] = v;
321 x[7] = -a;
322 y[7] = -a;
323 z[7] = -a;
324 w[7] = v;
325 num = 8;
326 } else if (code == 4) {
327 b = sqrt(1.0 - 2.0 * a * a);
328 x[0] = a;
329 y[0] = a;
330 z[0] = b;
331 w[0] = v;
332 x[1] = -a;
333 y[1] = a;
334 z[1] = b;
335 w[1] = v;
336 x[2] = a;
337 y[2] = -a;
338 z[2] = b;
339 w[2] = v;
340 x[3] = -a;
341 y[3] = -a;
342 z[3] = b;
343 w[3] = v;
344 x[4] = a;
345 y[4] = a;
346 z[4] = -b;
347 w[4] = v;
348 x[5] = -a;
349 y[5] = a;
350 z[5] = -b;
351 w[5] = v;
352 x[6] = a;
353 y[6] = -a;
354 z[6] = -b;
355 w[6] = v;
356 x[7] = -a;
357 y[7] = -a;
358 z[7] = -b;
359 w[7] = v;
360 x[8] = a;
361 y[8] = b;
362 z[8] = a;
363 w[8] = v;
364 x[9] = -a;
365 y[9] = b;
366 z[9] = a;
367 w[9] = v;
368 x[10] = a;
369 y[10] = -b;
370 z[10] = a;
371 w[10] = v;
372 x[11] = -a;
373 y[11] = -b;
374 z[11] = a;
375 w[11] = v;
376 x[12] = a;
377 y[12] = b;
378 z[12] = -a;
379 w[12] = v;
380 x[13] = -a;
381 y[13] = b;
382 z[13] = -a;
383 w[13] = v;
384 x[14] = a;
385 y[14] = -b;
386 z[14] = -a;
387 w[14] = v;
388 x[15] = -a;
389 y[15] = -b;
390 z[15] = -a;
391 w[15] = v;
392 x[16] = b;
393 y[16] = a;
394 z[16] = a;
395 w[16] = v;
396 x[17] = -b;
397 y[17] = a;
398 z[17] = a;
399 w[17] = v;
400 x[18] = b;
401 y[18] = -a;
402 z[18] = a;
403 w[18] = v;
404 x[19] = -b;
405 y[19] = -a;
406 z[19] = a;
407 w[19] = v;
408 x[20] = b;
409 y[20] = a;
410 z[20] = -a;
411 w[20] = v;
412 x[21] = -b;
413 y[21] = a;
414 z[21] = -a;
415 w[21] = v;
416 x[22] = b;
417 y[22] = -a;
418 z[22] = -a;
419 w[22] = v;
420 x[23] = -b;
421 y[23] = -a;
422 z[23] = -a;
423 w[23] = v;
424 num = 24;
425 } else if (code == 5) {
426 b = sqrt(1.0 - a * a);
427 x[0] = a;
428 y[0] = b;
429 z[0] = 0;
430 w[0] = v;
431 x[1] = -a;
432 y[1] = b;
433 z[1] = 0;
434 w[1] = v;
435 x[2] = a;
436 y[2] = -b;
437 z[2] = 0;
438 w[2] = v;
439 x[3] = -a;
440 y[3] = -b;
441 z[3] = 0;
442 w[3] = v;
443 x[4] = b;
444 y[4] = a;
445 z[4] = 0;
446 w[4] = v;
447 x[5] = -b;
448 y[5] = a;
449 z[5] = 0;
450 w[5] = v;
451 x[6] = b;
452 y[6] = -a;
453 z[6] = 0;
454 w[6] = v;
455 x[7] = -b;
456 y[7] = -a;
457 z[7] = 0;
458 w[7] = v;
459 x[8] = a;
460 y[8] = 0;
461 z[8] = b;
462 w[8] = v;
463 x[9] = -a;
464 y[9] = 0;
465 z[9] = b;
466 w[9] = v;
467 x[10] = a;
468 y[10] = 0;
469 z[10] = -b;
470 w[10] = v;
471 x[11] = -a;
472 y[11] = 0;
473 z[11] = -b;
474 w[11] = v;
475 x[12] = b;
476 y[12] = 0;
477 z[12] = a;
478 w[12] = v;
479 x[13] = -b;
480 y[13] = 0;
481 z[13] = a;
482 w[13] = v;
483 x[14] = b;
484 y[14] = 0;
485 z[14] = -a;
486 w[14] = v;
487 x[15] = -b;
488 y[15] = 0;
489 z[15] = -a;
490 w[15] = v;
491 x[16] = 0;
492 y[16] = a;
493 z[16] = b;
494 w[16] = v;
495 x[17] = 0;
496 y[17] = -a;
497 z[17] = b;
498 w[17] = v;
499 x[18] = 0;
500 y[18] = a;
501 z[18] = -b;
502 w[18] = v;
503 x[19] = 0;
504 y[19] = -a;
505 z[19] = -b;
506 w[19] = v;
507 x[20] = 0;
508 y[20] = b;
509 z[20] = a;
510 w[20] = v;
511 x[21] = 0;
512 y[21] = -b;
513 z[21] = a;
514 w[21] = v;
515 x[22] = 0;
516 y[22] = b;
517 z[22] = -a;
518 w[22] = v;
519 x[23] = 0;
520 y[23] = -b;
521 z[23] = -a;
522 w[23] = v;
523 num = 24;
524 } else if (code == 6) {
525 c = sqrt(1.0 - a * a - b * b);
526 x[0] = a;
527 y[0] = b;
528 z[0] = c;
529 w[0] = v;
530 x[1] = -a;
531 y[1] = b;
532 z[1] = c;
533 w[1] = v;
534 x[2] = a;
535 y[2] = -b;
536 z[2] = c;
537 w[2] = v;
538 x[3] = -a;
539 y[3] = -b;
540 z[3] = c;
541 w[3] = v;
542 x[4] = a;
543 y[4] = b;
544 z[4] = -c;
545 w[4] = v;
546 x[5] = -a;
547 y[5] = b;
548 z[5] = -c;
549 w[5] = v;
550 x[6] = a;
551 y[6] = -b;
552 z[6] = -c;
553 w[6] = v;
554 x[7] = -a;
555 y[7] = -b;
556 z[7] = -c;
557 w[7] = v;
558 x[8] = a;
559 y[8] = c;
560 z[8] = b;
561 w[8] = v;
562 x[9] = -a;
563 y[9] = c;
564 z[9] = b;
565 w[9] = v;
566 x[10] = a;
567 y[10] = -c;
568 z[10] = b;
569 w[10] = v;
570 x[11] = -a;
571 y[11] = -c;
572 z[11] = b;
573 w[11] = v;
574 x[12] = a;
575 y[12] = c;
576 z[12] = -b;
577 w[12] = v;
578 x[13] = -a;
579 y[13] = c;
580 z[13] = -b;
581 w[13] = v;
582 x[14] = a;
583 y[14] = -c;
584 z[14] = -b;
585 w[14] = v;
586 x[15] = -a;
587 y[15] = -c;
588 z[15] = -b;
589 w[15] = v;
590 x[16] = b;
591 y[16] = a;
592 z[16] = c;
593 w[16] = v;
594 x[17] = -b;
595 y[17] = a;
596 z[17] = c;
597 w[17] = v;
598 x[18] = b;
599 y[18] = -a;
600 z[18] = c;
601 w[18] = v;
602 x[19] = -b;
603 y[19] = -a;
604 z[19] = c;
605 w[19] = v;
606 x[20] = b;
607 y[20] = a;
608 z[20] = -c;
609 w[20] = v;
610 x[21] = -b;
611 y[21] = a;
612 z[21] = -c;
613 w[21] = v;
614 x[22] = b;
615 y[22] = -a;
616 z[22] = -c;
617 w[22] = v;
618 x[23] = -b;
619 y[23] = -a;
620 z[23] = -c;
621 w[23] = v;
622 x[24] = b;
623 y[24] = c;
624 z[24] = a;
625 w[24] = v;
626 x[25] = -b;
627 y[25] = c;
628 z[25] = a;
629 w[25] = v;
630 x[26] = b;
631 y[26] = -c;
632 z[26] = a;
633 w[26] = v;
634 x[27] = -b;
635 y[27] = -c;
636 z[27] = a;
637 w[27] = v;
638 x[28] = b;
639 y[28] = c;
640 z[28] = -a;
641 w[28] = v;
642 x[29] = -b;
643 y[29] = c;
644 z[29] = -a;
645 w[29] = v;
646 x[30] = b;
647 y[30] = -c;
648 z[30] = -a;
649 w[30] = v;
650 x[31] = -b;
651 y[31] = -c;
652 z[31] = -a;
653 w[31] = v;
654 x[32] = c;
655 y[32] = a;
656 z[32] = b;
657 w[32] = v;
658 x[33] = -c;
659 y[33] = a;
660 z[33] = b;
661 w[33] = v;
662 x[34] = c;
663 y[34] = -a;
664 z[34] = b;
665 w[34] = v;
666 x[35] = -c;
667 y[35] = -a;
668 z[35] = b;
669 w[35] = v;
670 x[36] = c;
671 y[36] = a;
672 z[36] = -b;
673 w[36] = v;
674 x[37] = -c;
675 y[37] = a;
676 z[37] = -b;
677 w[37] = v;
678 x[38] = c;
679 y[38] = -a;
680 z[38] = -b;
681 w[38] = v;
682 x[39] = -c;
683 y[39] = -a;
684 z[39] = -b;
685 w[39] = v;
686 x[40] = c;
687 y[40] = b;
688 z[40] = a;
689 w[40] = v;
690 x[41] = -c;
691 y[41] = b;
692 z[41] = a;
693 w[41] = v;
694 x[42] = c;
695 y[42] = -b;
696 z[42] = a;
697 w[42] = v;
698 x[43] = -c;
699 y[43] = -b;
700 z[43] = a;
701 w[43] = v;
702 x[44] = c;
703 y[44] = b;
704 z[44] = -a;
705 w[44] = v;
706 x[45] = -c;
707 y[45] = b;
708 z[45] = -a;
709 w[45] = v;
710 x[46] = c;
711 y[46] = -b;
712 z[46] = -a;
713 w[46] = v;
714 x[47] = -c;
715 y[47] = -b;
716 z[47] = -a;
717 w[47] = v;
718 num = 48;
719 } else {
720 throw std::runtime_error(
721 "GEN_OH - Fatal error!\n Illegal value of code.\n");
722 }
723 return num;
724}
725//****************************************************************************80
726
727Eigen::Matrix4Xd LebedevGrid::ld_by_order(Index order) const
728// Purpose:
729//
730// LD_BY_ORDER returns a Lebedev angular grid given its order.
731//
732// Discussion:
733//
734// Only a certain set of such rules are available through this function.
735// Author:
736//
737// Dmitri Laikov
738//
739// Reference:
740//
741// Vyacheslav Lebedev, Dmitri Laikov,
742// A quadrature formula for the sphere of the 131st
743// algebraic order of accuracy,
744// Russian Academy of Sciences Doklady Mathematics,
745// Volume 59, Number 3, 1999, pages 477-481.
746//
747{
748 Eigen::VectorXd x = Eigen::VectorXd::Zero(order);
749 Eigen::VectorXd y = Eigen::VectorXd::Zero(order);
750 Eigen::VectorXd z = Eigen::VectorXd::Zero(order);
751 Eigen::VectorXd w = Eigen::VectorXd::Zero(order);
752 switch (order) {
753 case 6:
754 ld0006(x.data(), y.data(), z.data(), w.data());
755 break;
756 case 14:
757 ld0014(x.data(), y.data(), z.data(), w.data());
758 break;
759 case 26:
760 ld0026(x.data(), y.data(), z.data(), w.data());
761 break;
762 case 38:
763 ld0038(x.data(), y.data(), z.data(), w.data());
764 break;
765 case 50:
766 ld0050(x.data(), y.data(), z.data(), w.data());
767 break;
768 case 74:
769 ld0074(x.data(), y.data(), z.data(), w.data());
770 break;
771 case 86:
772 ld0086(x.data(), y.data(), z.data(), w.data());
773 break;
774 case 110:
775 ld0110(x.data(), y.data(), z.data(), w.data());
776 break;
777 case 146:
778 ld0146(x.data(), y.data(), z.data(), w.data());
779 break;
780 case 170:
781 ld0170(x.data(), y.data(), z.data(), w.data());
782 break;
783 case 194:
784 ld0194(x.data(), y.data(), z.data(), w.data());
785 break;
786 case 230:
787 ld0230(x.data(), y.data(), z.data(), w.data());
788 break;
789 case 266:
790 ld0266(x.data(), y.data(), z.data(), w.data());
791 break;
792 case 302:
793 ld0302(x.data(), y.data(), z.data(), w.data());
794 break;
795 case 350:
796 ld0350(x.data(), y.data(), z.data(), w.data());
797 break;
798 case 434:
799 ld0434(x.data(), y.data(), z.data(), w.data());
800 break;
801 case 590:
802 ld0590(x.data(), y.data(), z.data(), w.data());
803 break;
804 case 770:
805 ld0770(x.data(), y.data(), z.data(), w.data());
806 break;
807 case 974:
808 ld0974(x.data(), y.data(), z.data(), w.data());
809 break;
810 case 1202:
811 ld1202(x.data(), y.data(), z.data(), w.data());
812 break;
813 case 1454:
814 ld1454(x.data(), y.data(), z.data(), w.data());
815 break;
816 case 1730:
817 ld1730(x.data(), y.data(), z.data(), w.data());
818 break;
819 case 2030:
820 ld2030(x.data(), y.data(), z.data(), w.data());
821 break;
822 case 2354:
823 ld2354(x.data(), y.data(), z.data(), w.data());
824 break;
825 case 2702:
826 ld2702(x.data(), y.data(), z.data(), w.data());
827 break;
828 case 3074:
829 ld3074(x.data(), y.data(), z.data(), w.data());
830 break;
831 case 3470:
832 ld3470(x.data(), y.data(), z.data(), w.data());
833 break;
834 case 3890:
835 ld3890(x.data(), y.data(), z.data(), w.data());
836 break;
837 case 4334:
838 ld4334(x.data(), y.data(), z.data(), w.data());
839 break;
840 case 4802:
841 ld4802(x.data(), y.data(), z.data(), w.data());
842 break;
843 case 5294:
844 ld5294(x.data(), y.data(), z.data(), w.data());
845 break;
846 case 5810:
847 ld5810(x.data(), y.data(), z.data(), w.data());
848 break;
849 default:
850 throw std::runtime_error(
851 "LD_BY_ORDER - Fatal error! Unexpected value of ORDER.");
852 break;
853 }
854 Eigen::Matrix4Xd result = Eigen::Matrix4Xd::Zero(4, order);
855 result.row(0) = x;
856 result.row(1) = y;
857 result.row(2) = z;
858 result.row(3) = w;
859 return result;
860}
861
862//****************************************************************************80
863
864void LebedevGrid::ld0006(double *x, double *y, double *z, double *w) const
865
866//****************************************************************************80
867//
868// Purpose:
869//
870// LD0006 computes the 6 point Lebedev angular grid.
871//
872// Modified:
873//
874// 11 September 2010
875//
876// Author:
877//
878// Dmitri Laikov
879//
880// Reference:
881//
882// Vyacheslav Lebedev, Dmitri Laikov,
883// A quadrature formula for the sphere of the 131st
884// algebraic order of accuracy,
885// Russian Academy of Sciences Doklady Mathematics,
886// Volume 59, Number 3, 1999, pages 477-481.
887//
888// Parameters:
889//
890// Output, double X[N], Y[N], Z[N], W[N], the coordinates
891// and weights of the points.
892//
893{
894 double a = 0.0;
895 double b = 0.0;
896 Index n;
897 double v;
898
899 n = 0;
900 v = 0.1666666666666667;
901 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
902
903 return;
904}
905//****************************************************************************80
906
907void LebedevGrid::ld0014(double *x, double *y, double *z, double *w) const
908
909//****************************************************************************80
910//
911// Purpose:
912//
913// LD0014 computes the 14 point Lebedev angular grid.
914//
915// Modified:
916//
917// 12 September 2010
918//
919// Author:
920//
921// Dmitri Laikov
922//
923// Reference:
924//
925// Vyacheslav Lebedev, Dmitri Laikov,
926// A quadrature formula for the sphere of the 131st
927// algebraic order of accuracy,
928// Russian Academy of Sciences Doklady Mathematics,
929// Volume 59, Number 3, 1999, pages 477-481.
930//
931// Parameters:
932//
933// Output, double X[N], Y[N], Z[N], W[N], the coordinates
934// and weights of the points.
935//
936{
937 double a = 0.0;
938 double b = 0.0;
939 Index n;
940 double v;
941
942 n = 0;
943 v = 0.6666666666666667e-1;
944 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
945 v = 0.7500000000000000e-1;
946 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
947 n = n - 1;
948
949 return;
950}
951//****************************************************************************80
952
953void LebedevGrid::ld0026(double *x, double *y, double *z, double *w) const
954
955//****************************************************************************80
956//
957// Purpose:
958//
959// LD0026 computes the 26 point Lebedev angular grid.
960//
961// Modified:
962//
963// 12 September 2010
964//
965// Author:
966//
967// Dmitri Laikov
968//
969// Reference:
970//
971// Vyacheslav Lebedev, Dmitri Laikov,
972// A quadrature formula for the sphere of the 131st
973// algebraic order of accuracy,
974// Russian Academy of Sciences Doklady Mathematics,
975// Volume 59, Number 3, 1999, pages 477-481.
976//
977// Parameters:
978//
979// Output, double X[N], Y[N], Z[N], W[N], the coordinates
980// and weights of the points.
981//
982{
983 double a = 0.0;
984 double b = 0.0;
985 Index n;
986 double v;
987
988 n = 0;
989 v = 0.4761904761904762e-1;
990 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
991 v = 0.3809523809523810e-1;
992 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
993 v = 0.3214285714285714e-1;
994 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
995 n = n - 1;
996
997 return;
998}
999//****************************************************************************80
1000
1001void LebedevGrid::ld0038(double *x, double *y, double *z, double *w) const
1002
1003//****************************************************************************80
1004//
1005// Purpose:
1006//
1007// LD0038 computes the 38 point Lebedev angular grid.
1008//
1009// Modified:
1010//
1011// 12 September 2010
1012//
1013// Author:
1014//
1015// Dmitri Laikov
1016//
1017// Reference:
1018//
1019// Vyacheslav Lebedev, Dmitri Laikov,
1020// A quadrature formula for the sphere of the 131st
1021// algebraic order of accuracy,
1022// Russian Academy of Sciences Doklady Mathematics,
1023// Volume 59, Number 3, 1999, pages 477-481.
1024//
1025// Parameters:
1026//
1027// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1028// and weights of the points.
1029//
1030{
1031 double a = 0.0;
1032 double b = 0.0;
1033 Index n;
1034 double v;
1035
1036 n = 0;
1037 v = 0.9523809523809524e-2;
1038 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1039 v = 0.3214285714285714e-1;
1040 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1041 a = 0.4597008433809831;
1042 v = 0.2857142857142857e-1;
1043 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1044 n = n - 1;
1045
1046 return;
1047}
1048//****************************************************************************80
1049
1050void LebedevGrid::ld0050(double *x, double *y, double *z, double *w) const
1051
1052//****************************************************************************80
1053//
1054// Purpose:
1055//
1056// LD0050 computes the 50 point Lebedev angular grid.
1057//
1058// Modified:
1059//
1060// 12 September 2010
1061//
1062// Author:
1063//
1064// Dmitri Laikov
1065//
1066// Reference:
1067//
1068// Vyacheslav Lebedev, Dmitri Laikov,
1069// A quadrature formula for the sphere of the 131st
1070// algebraic order of accuracy,
1071// Russian Academy of Sciences Doklady Mathematics,
1072// Volume 59, Number 3, 1999, pages 477-481.
1073//
1074// Parameters:
1075//
1076// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1077// and weights of the points.
1078//
1079{
1080 double a = 0.0;
1081 double b = 0.0;
1082 Index n;
1083 double v;
1084
1085 n = 0;
1086 v = 0.1269841269841270e-1;
1087 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1088 v = 0.2257495590828924e-1;
1089 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
1090 v = 0.2109375000000000e-1;
1091 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1092 a = 0.3015113445777636;
1093 v = 0.2017333553791887e-1;
1094 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1095 n = n - 1;
1096
1097 return;
1098}
1099//****************************************************************************80
1100
1101void LebedevGrid::ld0074(double *x, double *y, double *z, double *w) const
1102
1103//****************************************************************************80
1104//
1105// Purpose:
1106//
1107// LD0074 computes the 74 point Lebedev angular grid.
1108//
1109// Modified:
1110//
1111// 12 September 2010
1112//
1113// Author:
1114//
1115// Dmitri Laikov
1116//
1117// Reference:
1118//
1119// Vyacheslav Lebedev, Dmitri Laikov,
1120// A quadrature formula for the sphere of the 131st
1121// algebraic order of accuracy,
1122// Russian Academy of Sciences Doklady Mathematics,
1123// Volume 59, Number 3, 1999, pages 477-481.
1124//
1125// Parameters:
1126//
1127// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1128// and weights of the points.
1129//
1130{
1131 double a = 0.0;
1132 double b = 0.0;
1133 Index n;
1134 double v;
1135
1136 n = 0;
1137 v = 0.5130671797338464e-3;
1138 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1139 v = 0.1660406956574204e-1;
1140 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
1141 v = -0.2958603896103896e-1;
1142 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1143 a = 0.4803844614152614;
1144 v = 0.2657620708215946e-1;
1145 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1146 a = 0.3207726489807764;
1147 v = 0.1652217099371571e-1;
1148 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1149 n = n - 1;
1150
1151 return;
1152}
1153//****************************************************************************80
1154
1155void LebedevGrid::ld0086(double *x, double *y, double *z, double *w) const
1156
1157//****************************************************************************80
1158//
1159// Purpose:
1160//
1161// LD0086 computes the 86 point Lebedev angular grid.
1162//
1163// Modified:
1164//
1165// 12 September 2010
1166//
1167// Author:
1168//
1169// Dmitri Laikov
1170//
1171// Reference:
1172//
1173// Vyacheslav Lebedev, Dmitri Laikov,
1174// A quadrature formula for the sphere of the 131st
1175// algebraic order of accuracy,
1176// Russian Academy of Sciences Doklady Mathematics,
1177// Volume 59, Number 3, 1999, pages 477-481.
1178//
1179// Parameters:
1180//
1181// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1182// and weights of the points.
1183//
1184{
1185 double a = 0.0;
1186 double b = 0.0;
1187 Index n;
1188 double v;
1189
1190 n = 0;
1191 v = 0.1154401154401154e-1;
1192 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1193 v = 0.1194390908585628e-1;
1194 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1195 a = 0.3696028464541502;
1196 v = 0.1111055571060340e-1;
1197 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1198 a = 0.6943540066026664;
1199 v = 0.1187650129453714e-1;
1200 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1201 a = 0.3742430390903412;
1202 v = 0.1181230374690448e-1;
1203 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1204 n = n - 1;
1205
1206 return;
1207}
1208//****************************************************************************80
1209
1210void LebedevGrid::ld0110(double *x, double *y, double *z, double *w) const
1211
1212//****************************************************************************80
1213//
1214// Purpose:
1215//
1216// LD0110 computes the 110 point Lebedev angular grid.
1217//
1218// Modified:
1219//
1220// 12 September 2010
1221//
1222// Author:
1223//
1224// Dmitri Laikov
1225//
1226// Reference:
1227//
1228// Vyacheslav Lebedev, Dmitri Laikov,
1229// A quadrature formula for the sphere of the 131st
1230// algebraic order of accuracy,
1231// Russian Academy of Sciences Doklady Mathematics,
1232// Volume 59, Number 3, 1999, pages 477-481.
1233//
1234// Parameters:
1235//
1236// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1237// and weights of the points.
1238//
1239{
1240 double a = 0.0;
1241 double b = 0.0;
1242 Index n;
1243 double v;
1244
1245 n = 0;
1246 v = 0.3828270494937162e-2;
1247 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1248 v = 0.9793737512487512e-2;
1249 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1250 a = 0.1851156353447362;
1251 v = 0.8211737283191111e-2;
1252 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1253 a = 0.6904210483822922;
1254 v = 0.9942814891178103e-2;
1255 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1256 a = 0.3956894730559419;
1257 v = 0.9595471336070963e-2;
1258 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1259 a = 0.4783690288121502;
1260 v = 0.9694996361663028e-2;
1261 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1262 n = n - 1;
1263
1264 return;
1265}
1266//****************************************************************************80
1267
1268void LebedevGrid::ld0146(double *x, double *y, double *z, double *w) const
1269
1270//****************************************************************************80
1271//
1272// Purpose:
1273//
1274// LD0146 computes the 146 point Lebedev angular grid.
1275//
1276// Modified:
1277//
1278// 12 September 2010
1279//
1280// Author:
1281//
1282// Dmitri Laikov
1283//
1284// Reference:
1285//
1286// Vyacheslav Lebedev, Dmitri Laikov,
1287// A quadrature formula for the sphere of the 131st
1288// algebraic order of accuracy,
1289// Russian Academy of Sciences Doklady Mathematics,
1290// Volume 59, Number 3, 1999, pages 477-481.
1291//
1292// Parameters:
1293//
1294// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1295// and weights of the points.
1296//
1297{
1298 double a = 0.0;
1299 double b = 0.0;
1300 Index n;
1301 double v;
1302
1303 n = 0;
1304 v = 0.5996313688621381e-3;
1305 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1306 v = 0.7372999718620756e-2;
1307 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
1308 v = 0.7210515360144488e-2;
1309 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1310 a = 0.6764410400114264;
1311 v = 0.7116355493117555e-2;
1312 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1313 a = 0.4174961227965453;
1314 v = 0.6753829486314477e-2;
1315 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1316 a = 0.1574676672039082;
1317 v = 0.7574394159054034e-2;
1318 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1319 a = 0.1403553811713183;
1320 b = 0.4493328323269557;
1321 v = 0.6991087353303262e-2;
1322 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1323 n = n - 1;
1324
1325 return;
1326}
1327//****************************************************************************80
1328
1329void LebedevGrid::ld0170(double *x, double *y, double *z, double *w) const
1330
1331//****************************************************************************80
1332//
1333// Purpose:
1334//
1335// LD0170 computes the 170 point Lebedev angular grid.
1336//
1337// Modified:
1338//
1339// 12 September 2010
1340//
1341// Author:
1342//
1343// Dmitri Laikov
1344//
1345// Reference:
1346//
1347// Vyacheslav Lebedev, Dmitri Laikov,
1348// A quadrature formula for the sphere of the 131st
1349// algebraic order of accuracy,
1350// Russian Academy of Sciences Doklady Mathematics,
1351// Volume 59, Number 3, 1999, pages 477-481.
1352//
1353// Parameters:
1354//
1355// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1356// and weights of the points.
1357//
1358{
1359 double a = 0.0;
1360 double b = 0.0;
1361 Index n;
1362 double v;
1363
1364 n = 0;
1365 v = 0.5544842902037365e-2;
1366 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1367 v = 0.6071332770670752e-2;
1368 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
1369 v = 0.6383674773515093e-2;
1370 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1371 a = 0.2551252621114134;
1372 v = 0.5183387587747790e-2;
1373 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1374 a = 0.6743601460362766;
1375 v = 0.6317929009813725e-2;
1376 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1377 a = 0.4318910696719410;
1378 v = 0.6201670006589077e-2;
1379 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1380 a = 0.2613931360335988;
1381 v = 0.5477143385137348e-2;
1382 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1383 a = 0.4990453161796037;
1384 b = 0.1446630744325115;
1385 v = 0.5968383987681156e-2;
1386 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1387 n = n - 1;
1388
1389 return;
1390}
1391//****************************************************************************80
1392
1393void LebedevGrid::ld0194(double *x, double *y, double *z, double *w) const
1394
1395//****************************************************************************80
1396//
1397// Purpose:
1398//
1399// LD0194 computes the 194 point Lebedev angular grid.
1400//
1401// Modified:
1402//
1403// 12 September 2010
1404//
1405// Author:
1406//
1407// Dmitri Laikov
1408//
1409// Reference:
1410//
1411// Vyacheslav Lebedev, Dmitri Laikov,
1412// A quadrature formula for the sphere of the 131st
1413// algebraic order of accuracy,
1414// Russian Academy of Sciences Doklady Mathematics,
1415// Volume 59, Number 3, 1999, pages 477-481.
1416//
1417// Parameters:
1418//
1419// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1420// and weights of the points.
1421//
1422{
1423 double a = 0.0;
1424 double b = 0.0;
1425 Index n;
1426 double v;
1427
1428 n = 0;
1429 v = 0.1782340447244611e-2;
1430 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1431 v = 0.5716905949977102e-2;
1432 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
1433 v = 0.5573383178848738e-2;
1434 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1435 a = 0.6712973442695226;
1436 v = 0.5608704082587997e-2;
1437 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1438 a = 0.2892465627575439;
1439 v = 0.5158237711805383e-2;
1440 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1441 a = 0.4446933178717437;
1442 v = 0.5518771467273614e-2;
1443 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1444 a = 0.1299335447650067;
1445 v = 0.4106777028169394e-2;
1446 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1447 a = 0.3457702197611283;
1448 v = 0.5051846064614808e-2;
1449 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1450 a = 0.1590417105383530;
1451 b = 0.8360360154824589;
1452 v = 0.5530248916233094e-2;
1453 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1454 n = n - 1;
1455
1456 return;
1457}
1458//****************************************************************************80
1459
1460void LebedevGrid::ld0230(double *x, double *y, double *z, double *w) const
1461
1462//****************************************************************************80
1463//
1464// Purpose:
1465//
1466// LD0230 computes the 230 point Lebedev angular grid.
1467//
1468// Modified:
1469//
1470// 12 September 2010
1471//
1472// Author:
1473//
1474// Dmitri Laikov
1475//
1476// Reference:
1477//
1478// Vyacheslav Lebedev, Dmitri Laikov,
1479// A quadrature formula for the sphere of the 131st
1480// algebraic order of accuracy,
1481// Russian Academy of Sciences Doklady Mathematics,
1482// Volume 59, Number 3, 1999, pages 477-481.
1483//
1484// Parameters:
1485//
1486// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1487// and weights of the points.
1488//
1489{
1490 double a = 0.0;
1491 double b = 0.0;
1492 Index n;
1493 double v;
1494
1495 n = 0;
1496 v = -0.5522639919727325e-1;
1497 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1498 v = 0.4450274607445226e-2;
1499 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1500 a = 0.4492044687397611;
1501 v = 0.4496841067921404e-2;
1502 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1503 a = 0.2520419490210201;
1504 v = 0.5049153450478750e-2;
1505 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1506 a = 0.6981906658447242;
1507 v = 0.3976408018051883e-2;
1508 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1509 a = 0.6587405243460960;
1510 v = 0.4401400650381014e-2;
1511 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1512 a = 0.4038544050097660e-1;
1513 v = 0.1724544350544401e-1;
1514 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1515 a = 0.5823842309715585;
1516 v = 0.4231083095357343e-2;
1517 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1518 a = 0.3545877390518688;
1519 v = 0.5198069864064399e-2;
1520 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1521 a = 0.2272181808998187;
1522 b = 0.4864661535886647;
1523 v = 0.4695720972568883e-2;
1524 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1525 n = n - 1;
1526
1527 return;
1528}
1529//****************************************************************************80
1530
1531void LebedevGrid::ld0266(double *x, double *y, double *z, double *w) const
1532
1533//****************************************************************************80
1534//
1535// Purpose:
1536//
1537// LD0266 computes the 266 point Lebedev angular grid.
1538//
1539// Modified:
1540//
1541// 12 September 2010
1542//
1543// Author:
1544//
1545// Dmitri Laikov
1546//
1547// Reference:
1548//
1549// Vyacheslav Lebedev, Dmitri Laikov,
1550// A quadrature formula for the sphere of the 131st
1551// algebraic order of accuracy,
1552// Russian Academy of Sciences Doklady Mathematics,
1553// Volume 59, Number 3, 1999, pages 477-481.
1554//
1555// Parameters:
1556//
1557// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1558// and weights of the points.
1559//
1560{
1561 double a = 0.0;
1562 double b = 0.0;
1563 Index n;
1564 double v;
1565
1566 n = 0;
1567 v = -0.1313769127326952e-2;
1568 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1569 v = -0.2522728704859336e-2;
1570 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
1571 v = 0.4186853881700583e-2;
1572 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1573 a = 0.7039373391585475;
1574 v = 0.5315167977810885e-2;
1575 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1576 a = 0.1012526248572414;
1577 v = 0.4047142377086219e-2;
1578 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1579 a = 0.4647448726420539;
1580 v = 0.4112482394406990e-2;
1581 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1582 a = 0.3277420654971629;
1583 v = 0.3595584899758782e-2;
1584 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1585 a = 0.6620338663699974;
1586 v = 0.4256131351428158e-2;
1587 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1588 a = 0.8506508083520399;
1589 v = 0.4229582700647240e-2;
1590 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1591 a = 0.3233484542692899;
1592 b = 0.1153112011009701;
1593 v = 0.4080914225780505e-2;
1594 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1595 a = 0.2314790158712601;
1596 b = 0.5244939240922365;
1597 v = 0.4071467593830964e-2;
1598 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1599 n = n - 1;
1600
1601 return;
1602}
1603//****************************************************************************80
1604
1605void LebedevGrid::ld0302(double *x, double *y, double *z, double *w) const
1606
1607//****************************************************************************80
1608//
1609// Purpose:
1610//
1611// LD0302 computes the 302 point Lebedev angular grid.
1612//
1613// Modified:
1614//
1615// 12 September 2010
1616//
1617// Author:
1618//
1619// Dmitri Laikov
1620//
1621// Reference:
1622//
1623// Vyacheslav Lebedev, Dmitri Laikov,
1624// A quadrature formula for the sphere of the 131st
1625// algebraic order of accuracy,
1626// Russian Academy of Sciences Doklady Mathematics,
1627// Volume 59, Number 3, 1999, pages 477-481.
1628//
1629// Parameters:
1630//
1631// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1632// and weights of the points.
1633//
1634{
1635 double a = 0.0;
1636 double b = 0.0;
1637 Index n;
1638 double v;
1639
1640 n = 0;
1641 v = 0.8545911725128148e-3;
1642 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1643 v = 0.3599119285025571e-2;
1644 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1645 a = 0.3515640345570105;
1646 v = 0.3449788424305883e-2;
1647 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1648 a = 0.6566329410219612;
1649 v = 0.3604822601419882e-2;
1650 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1651 a = 0.4729054132581005;
1652 v = 0.3576729661743367e-2;
1653 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1654 a = 0.9618308522614784e-1;
1655 v = 0.2352101413689164e-2;
1656 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1657 a = 0.2219645236294178;
1658 v = 0.3108953122413675e-2;
1659 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1660 a = 0.7011766416089545;
1661 v = 0.3650045807677255e-2;
1662 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1663 a = 0.2644152887060663;
1664 v = 0.2982344963171804e-2;
1665 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1666 a = 0.5718955891878961;
1667 v = 0.3600820932216460e-2;
1668 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1669 a = 0.2510034751770465;
1670 b = 0.8000727494073952;
1671 v = 0.3571540554273387e-2;
1672 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1673 a = 0.1233548532583327;
1674 b = 0.4127724083168531;
1675 v = 0.3392312205006170e-2;
1676 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1677 n = n - 1;
1678
1679 return;
1680}
1681//****************************************************************************80
1682
1683void LebedevGrid::ld0350(double *x, double *y, double *z, double *w) const
1684
1685//****************************************************************************80
1686//
1687// Purpose:
1688//
1689// LD0350 computes the 350 point Lebedev angular grid.
1690//
1691// Modified:
1692//
1693// 12 September 2010
1694//
1695// Author:
1696//
1697// Dmitri Laikov
1698//
1699// Reference:
1700//
1701// Vyacheslav Lebedev, Dmitri Laikov,
1702// A quadrature formula for the sphere of the 131st
1703// algebraic order of accuracy,
1704// Russian Academy of Sciences Doklady Mathematics,
1705// Volume 59, Number 3, 1999, pages 477-481.
1706//
1707// Parameters:
1708//
1709// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1710// and weights of the points.
1711//
1712{
1713 double a = 0.0;
1714 double b = 0.0;
1715 Index n;
1716 double v;
1717
1718 n = 0;
1719 v = 0.3006796749453936e-2;
1720 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1721 v = 0.3050627745650771e-2;
1722 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1723 a = 0.7068965463912316;
1724 v = 0.1621104600288991e-2;
1725 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1726 a = 0.4794682625712025;
1727 v = 0.3005701484901752e-2;
1728 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1729 a = 0.1927533154878019;
1730 v = 0.2990992529653774e-2;
1731 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1732 a = 0.6930357961327123;
1733 v = 0.2982170644107595e-2;
1734 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1735 a = 0.3608302115520091;
1736 v = 0.2721564237310992e-2;
1737 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1738 a = 0.6498486161496169;
1739 v = 0.3033513795811141e-2;
1740 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1741 a = 0.1932945013230339;
1742 v = 0.3007949555218533e-2;
1743 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1744 a = 0.3800494919899303;
1745 v = 0.2881964603055307e-2;
1746 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1747 a = 0.2899558825499574;
1748 b = 0.7934537856582316;
1749 v = 0.2958357626535696e-2;
1750 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1751 a = 0.9684121455103957e-1;
1752 b = 0.8280801506686862;
1753 v = 0.3036020026407088e-2;
1754 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1755 a = 0.1833434647041659;
1756 b = 0.9074658265305127;
1757 v = 0.2832187403926303e-2;
1758 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1759 n = n - 1;
1760
1761 return;
1762}
1763//****************************************************************************80
1764
1765void LebedevGrid::ld0434(double *x, double *y, double *z, double *w) const
1766
1767//****************************************************************************80
1768//
1769// Purpose:
1770//
1771// LD0434 computes the 434 point Lebedev angular grid.
1772//
1773// Modified:
1774//
1775// 12 September 2010
1776//
1777// Author:
1778//
1779// Dmitri Laikov
1780//
1781// Reference:
1782//
1783// Vyacheslav Lebedev, Dmitri Laikov,
1784// A quadrature formula for the sphere of the 131st
1785// algebraic order of accuracy,
1786// Russian Academy of Sciences Doklady Mathematics,
1787// Volume 59, Number 3, 1999, pages 477-481.
1788//
1789// Parameters:
1790//
1791// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1792// and weights of the points.
1793//
1794{
1795 double a = 0.0;
1796 double b = 0.0;
1797 Index n;
1798 double v;
1799
1800 n = 0;
1801 v = 0.5265897968224436e-3;
1802 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1803 v = 0.2548219972002607e-2;
1804 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
1805 v = 0.2512317418927307e-2;
1806 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1807 a = 0.6909346307509111;
1808 v = 0.2530403801186355e-2;
1809 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1810 a = 0.1774836054609158;
1811 v = 0.2014279020918528e-2;
1812 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1813 a = 0.4914342637784746;
1814 v = 0.2501725168402936e-2;
1815 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1816 a = 0.6456664707424256;
1817 v = 0.2513267174597564e-2;
1818 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1819 a = 0.2861289010307638;
1820 v = 0.2302694782227416e-2;
1821 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1822 a = 0.7568084367178018e-1;
1823 v = 0.1462495621594614e-2;
1824 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1825 a = 0.3927259763368002;
1826 v = 0.2445373437312980e-2;
1827 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1828 a = 0.8818132877794288;
1829 v = 0.2417442375638981e-2;
1830 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1831 a = 0.9776428111182649;
1832 v = 0.1910951282179532e-2;
1833 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1834 a = 0.2054823696403044;
1835 b = 0.8689460322872412;
1836 v = 0.2416930044324775e-2;
1837 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1838 a = 0.5905157048925271;
1839 b = 0.7999278543857286;
1840 v = 0.2512236854563495e-2;
1841 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1842 a = 0.5550152361076807;
1843 b = 0.7717462626915901;
1844 v = 0.2496644054553086e-2;
1845 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1846 a = 0.9371809858553722;
1847 b = 0.3344363145343455;
1848 v = 0.2236607760437849e-2;
1849 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1850 n = n - 1;
1851
1852 return;
1853}
1854//****************************************************************************80
1855
1856void LebedevGrid::ld0590(double *x, double *y, double *z, double *w) const
1857
1858//****************************************************************************80
1859//
1860// Purpose:
1861//
1862// LD0590 computes the 590 point Lebedev angular grid.
1863//
1864// Modified:
1865//
1866// 12 September 2010
1867//
1868// Author:
1869//
1870// Dmitri Laikov
1871//
1872// Reference:
1873//
1874// Vyacheslav Lebedev, Dmitri Laikov,
1875// A quadrature formula for the sphere of the 131st
1876// algebraic order of accuracy,
1877// Russian Academy of Sciences Doklady Mathematics,
1878// Volume 59, Number 3, 1999, pages 477-481.
1879//
1880// Parameters:
1881//
1882// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1883// and weights of the points.
1884//
1885{
1886 double a = 0.0;
1887 double b = 0.0;
1888 Index n;
1889 double v;
1890
1891 n = 0;
1892 v = 0.3095121295306187e-3;
1893 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
1894 v = 0.1852379698597489e-2;
1895 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
1896 a = 0.7040954938227469;
1897 v = 0.1871790639277744e-2;
1898 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1899 a = 0.6807744066455243;
1900 v = 0.1858812585438317e-2;
1901 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1902 a = 0.6372546939258752;
1903 v = 0.1852028828296213e-2;
1904 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1905 a = 0.5044419707800358;
1906 v = 0.1846715956151242e-2;
1907 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1908 a = 0.4215761784010967;
1909 v = 0.1818471778162769e-2;
1910 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1911 a = 0.3317920736472123;
1912 v = 0.1749564657281154e-2;
1913 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1914 a = 0.2384736701421887;
1915 v = 0.1617210647254411e-2;
1916 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1917 a = 0.1459036449157763;
1918 v = 0.1384737234851692e-2;
1919 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1920 a = 0.6095034115507196e-1;
1921 v = 0.9764331165051050e-3;
1922 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
1923 a = 0.6116843442009876;
1924 v = 0.1857161196774078e-2;
1925 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1926 a = 0.3964755348199858;
1927 v = 0.1705153996395864e-2;
1928 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1929 a = 0.1724782009907724;
1930 v = 0.1300321685886048e-2;
1931 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
1932 a = 0.5610263808622060;
1933 b = 0.3518280927733519;
1934 v = 0.1842866472905286e-2;
1935 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1936 a = 0.4742392842551980;
1937 b = 0.2634716655937950;
1938 v = 0.1802658934377451e-2;
1939 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1940 a = 0.5984126497885380;
1941 b = 0.1816640840360209;
1942 v = 0.1849830560443660e-2;
1943 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1944 a = 0.3791035407695563;
1945 b = 0.1720795225656878;
1946 v = 0.1713904507106709e-2;
1947 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1948 a = 0.2778673190586244;
1949 b = 0.8213021581932511e-1;
1950 v = 0.1555213603396808e-2;
1951 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1952 a = 0.5033564271075117;
1953 b = 0.8999205842074875e-1;
1954 v = 0.1802239128008525e-2;
1955 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
1956 n = n - 1;
1957
1958 return;
1959}
1960//****************************************************************************80
1961
1962void LebedevGrid::ld0770(double *x, double *y, double *z, double *w) const
1963
1964//****************************************************************************80
1965//
1966// Purpose:
1967//
1968// LD0770 computes the 770 point Lebedev angular grid.
1969//
1970// Modified:
1971//
1972// 12 September 2010
1973//
1974// Author:
1975//
1976// Dmitri Laikov
1977//
1978// Reference:
1979//
1980// Vyacheslav Lebedev, Dmitri Laikov,
1981// A quadrature formula for the sphere of the 131st
1982// algebraic order of accuracy,
1983// Russian Academy of Sciences Doklady Mathematics,
1984// Volume 59, Number 3, 1999, pages 477-481.
1985//
1986// Parameters:
1987//
1988// Output, double X[N], Y[N], Z[N], W[N], the coordinates
1989// and weights of the points.
1990//
1991{
1992 double a = 0.0;
1993 double b = 0.0;
1994 Index n;
1995 double v;
1996
1997 n = 0;
1998 v = 0.2192942088181184e-3;
1999 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
2000 v = 0.1436433617319080e-2;
2001 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
2002 v = 0.1421940344335877e-2;
2003 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
2004 a = 0.5087204410502360e-1;
2005 v = 0.6798123511050502e-3;
2006 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2007 a = 0.1228198790178831;
2008 v = 0.9913184235294912e-3;
2009 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2010 a = 0.2026890814408786;
2011 v = 0.1180207833238949e-2;
2012 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2013 a = 0.2847745156464294;
2014 v = 0.1296599602080921e-2;
2015 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2016 a = 0.3656719078978026;
2017 v = 0.1365871427428316e-2;
2018 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2019 a = 0.4428264886713469;
2020 v = 0.1402988604775325e-2;
2021 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2022 a = 0.5140619627249735;
2023 v = 0.1418645563595609e-2;
2024 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2025 a = 0.6306401219166803;
2026 v = 0.1421376741851662e-2;
2027 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2028 a = 0.6716883332022612;
2029 v = 0.1423996475490962e-2;
2030 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2031 a = 0.6979792685336881;
2032 v = 0.1431554042178567e-2;
2033 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2034 a = 0.1446865674195309;
2035 v = 0.9254401499865368e-3;
2036 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2037 a = 0.3390263475411216;
2038 v = 0.1250239995053509e-2;
2039 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2040 a = 0.5335804651263506;
2041 v = 0.1394365843329230e-2;
2042 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2043 a = 0.6944024393349413e-1;
2044 b = 0.2355187894242326;
2045 v = 0.1127089094671749e-2;
2046 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2047 a = 0.2269004109529460;
2048 b = 0.4102182474045730;
2049 v = 0.1345753760910670e-2;
2050 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2051 a = 0.8025574607775339e-1;
2052 b = 0.6214302417481605;
2053 v = 0.1424957283316783e-2;
2054 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2055 a = 0.1467999527896572;
2056 b = 0.3245284345717394;
2057 v = 0.1261523341237750e-2;
2058 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2059 a = 0.1571507769824727;
2060 b = 0.5224482189696630;
2061 v = 0.1392547106052696e-2;
2062 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2063 a = 0.2365702993157246;
2064 b = 0.6017546634089558;
2065 v = 0.1418761677877656e-2;
2066 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2067 a = 0.7714815866765732e-1;
2068 b = 0.4346575516141163;
2069 v = 0.1338366684479554e-2;
2070 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2071 a = 0.3062936666210730;
2072 b = 0.4908826589037616;
2073 v = 0.1393700862676131e-2;
2074 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2075 a = 0.3822477379524787;
2076 b = 0.5648768149099500;
2077 v = 0.1415914757466932e-2;
2078 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2079 n = n - 1;
2080
2081 return;
2082}
2083//****************************************************************************80
2084
2085void LebedevGrid::ld0974(double *x, double *y, double *z, double *w) const
2086
2087//****************************************************************************80
2088//
2089// Purpose:
2090//
2091// LD0974 computes the 974 point Lebedev angular grid.
2092//
2093// Modified:
2094//
2095// 12 September 2010
2096//
2097// Author:
2098//
2099// Dmitri Laikov
2100//
2101// Reference:
2102//
2103// Vyacheslav Lebedev, Dmitri Laikov,
2104// A quadrature formula for the sphere of the 131st
2105// algebraic order of accuracy,
2106// Russian Academy of Sciences Doklady Mathematics,
2107// Volume 59, Number 3, 1999, pages 477-481.
2108//
2109// Parameters:
2110//
2111// Output, double X[N], Y[N], Z[N], W[N], the coordinates
2112// and weights of the points.
2113//
2114{
2115 double a = 0.0;
2116 double b = 0.0;
2117 Index n;
2118 double v;
2119
2120 n = 0;
2121 v = 0.1438294190527431e-3;
2122 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
2123 v = 0.1125772288287004e-2;
2124 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
2125 a = 0.4292963545341347e-1;
2126 v = 0.4948029341949241e-3;
2127 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2128 a = 0.1051426854086404;
2129 v = 0.7357990109125470e-3;
2130 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2131 a = 0.1750024867623087;
2132 v = 0.8889132771304384e-3;
2133 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2134 a = 0.2477653379650257;
2135 v = 0.9888347838921435e-3;
2136 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2137 a = 0.3206567123955957;
2138 v = 0.1053299681709471e-2;
2139 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2140 a = 0.3916520749849983;
2141 v = 0.1092778807014578e-2;
2142 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2143 a = 0.4590825874187624;
2144 v = 0.1114389394063227e-2;
2145 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2146 a = 0.5214563888415861;
2147 v = 0.1123724788051555e-2;
2148 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2149 a = 0.6253170244654199;
2150 v = 0.1125239325243814e-2;
2151 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2152 a = 0.6637926744523170;
2153 v = 0.1126153271815905e-2;
2154 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2155 a = 0.6910410398498301;
2156 v = 0.1130286931123841e-2;
2157 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2158 a = 0.7052907007457760;
2159 v = 0.1134986534363955e-2;
2160 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2161 a = 0.1236686762657990;
2162 v = 0.6823367927109931e-3;
2163 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2164 a = 0.2940777114468387;
2165 v = 0.9454158160447096e-3;
2166 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2167 a = 0.4697753849207649;
2168 v = 0.1074429975385679e-2;
2169 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2170 a = 0.6334563241139567;
2171 v = 0.1129300086569132e-2;
2172 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2173 a = 0.5974048614181342e-1;
2174 b = 0.2029128752777523;
2175 v = 0.8436884500901954e-3;
2176 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2177 a = 0.1375760408473636;
2178 b = 0.4602621942484054;
2179 v = 0.1075255720448885e-2;
2180 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2181 a = 0.3391016526336286;
2182 b = 0.5030673999662036;
2183 v = 0.1108577236864462e-2;
2184 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2185 a = 0.1271675191439820;
2186 b = 0.2817606422442134;
2187 v = 0.9566475323783357e-3;
2188 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2189 a = 0.2693120740413512;
2190 b = 0.4331561291720157;
2191 v = 0.1080663250717391e-2;
2192 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2193 a = 0.1419786452601918;
2194 b = 0.6256167358580814;
2195 v = 0.1126797131196295e-2;
2196 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2197 a = 0.6709284600738255e-1;
2198 b = 0.3798395216859157;
2199 v = 0.1022568715358061e-2;
2200 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2201 a = 0.7057738183256172e-1;
2202 b = 0.5517505421423520;
2203 v = 0.1108960267713108e-2;
2204 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2205 a = 0.2783888477882155;
2206 b = 0.6029619156159187;
2207 v = 0.1122790653435766e-2;
2208 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2209 a = 0.1979578938917407;
2210 b = 0.3589606329589096;
2211 v = 0.1032401847117460e-2;
2212 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2213 a = 0.2087307061103274;
2214 b = 0.5348666438135476;
2215 v = 0.1107249382283854e-2;
2216 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2217 a = 0.4055122137872836;
2218 b = 0.5674997546074373;
2219 v = 0.1121780048519972e-2;
2220 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2221 n = n - 1;
2222
2223 return;
2224}
2225//****************************************************************************80
2226
2227void LebedevGrid::ld1202(double *x, double *y, double *z, double *w) const
2228
2229//****************************************************************************80
2230//
2231// Purpose:
2232//
2233// LD1202 computes the 1202 point Lebedev angular grid.
2234//
2235// Modified:
2236//
2237// 12 September 2010
2238//
2239// Author:
2240//
2241// Dmitri Laikov
2242//
2243// Reference:
2244//
2245// Vyacheslav Lebedev, Dmitri Laikov,
2246// A quadrature formula for the sphere of the 131st
2247// algebraic order of accuracy,
2248// Russian Academy of Sciences Doklady Mathematics,
2249// Volume 59, Number 3, 1999, pages 477-481.
2250//
2251// Parameters:
2252//
2253// Output, double X[N], Y[N], Z[N], W[N], the coordinates
2254// and weights of the points.
2255//
2256{
2257 double a = 0.0;
2258 double b = 0.0;
2259 Index n;
2260 double v;
2261
2262 n = 0;
2263 v = 0.1105189233267572e-3;
2264 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
2265 v = 0.9205232738090741e-3;
2266 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
2267 v = 0.9133159786443561e-3;
2268 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
2269 a = 0.3712636449657089e-1;
2270 v = 0.3690421898017899e-3;
2271 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2272 a = 0.9140060412262223e-1;
2273 v = 0.5603990928680660e-3;
2274 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2275 a = 0.1531077852469906;
2276 v = 0.6865297629282609e-3;
2277 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2278 a = 0.2180928891660612;
2279 v = 0.7720338551145630e-3;
2280 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2281 a = 0.2839874532200175;
2282 v = 0.8301545958894795e-3;
2283 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2284 a = 0.3491177600963764;
2285 v = 0.8686692550179628e-3;
2286 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2287 a = 0.4121431461444309;
2288 v = 0.8927076285846890e-3;
2289 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2290 a = 0.4718993627149127;
2291 v = 0.9060820238568219e-3;
2292 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2293 a = 0.5273145452842337;
2294 v = 0.9119777254940867e-3;
2295 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2296 a = 0.6209475332444019;
2297 v = 0.9128720138604181e-3;
2298 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2299 a = 0.6569722711857291;
2300 v = 0.9130714935691735e-3;
2301 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2302 a = 0.6841788309070143;
2303 v = 0.9152873784554116e-3;
2304 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2305 a = 0.7012604330123631;
2306 v = 0.9187436274321654e-3;
2307 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2308 a = 0.1072382215478166;
2309 v = 0.5176977312965694e-3;
2310 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2311 a = 0.2582068959496968;
2312 v = 0.7331143682101417e-3;
2313 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2314 a = 0.4172752955306717;
2315 v = 0.8463232836379928e-3;
2316 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2317 a = 0.5700366911792503;
2318 v = 0.9031122694253992e-3;
2319 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2320 a = 0.9827986018263947;
2321 b = 0.1771774022615325;
2322 v = 0.6485778453163257e-3;
2323 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2324 a = 0.9624249230326228;
2325 b = 0.2475716463426288;
2326 v = 0.7435030910982369e-3;
2327 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2328 a = 0.9402007994128811;
2329 b = 0.3354616289066489;
2330 v = 0.7998527891839054e-3;
2331 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2332 a = 0.9320822040143202;
2333 b = 0.3173615246611977;
2334 v = 0.8101731497468018e-3;
2335 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2336 a = 0.9043674199393299;
2337 b = 0.4090268427085357;
2338 v = 0.8483389574594331e-3;
2339 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2340 a = 0.8912407560074747;
2341 b = 0.3854291150669224;
2342 v = 0.8556299257311812e-3;
2343 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2344 a = 0.8676435628462708;
2345 b = 0.4932221184851285;
2346 v = 0.8803208679738260e-3;
2347 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2348 a = 0.8581979986041619;
2349 b = 0.4785320675922435;
2350 v = 0.8811048182425720e-3;
2351 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2352 a = 0.8396753624049856;
2353 b = 0.4507422593157064;
2354 v = 0.8850282341265444e-3;
2355 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2356 a = 0.8165288564022188;
2357 b = 0.5632123020762100;
2358 v = 0.9021342299040653e-3;
2359 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2360 a = 0.8015469370783529;
2361 b = 0.5434303569693900;
2362 v = 0.9010091677105086e-3;
2363 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2364 a = 0.7773563069070351;
2365 b = 0.5123518486419871;
2366 v = 0.9022692938426915e-3;
2367 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2368 a = 0.7661621213900394;
2369 b = 0.6394279634749102;
2370 v = 0.9158016174693465e-3;
2371 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2372 a = 0.7553584143533510;
2373 b = 0.6269805509024392;
2374 v = 0.9131578003189435e-3;
2375 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2376 a = 0.7344305757559503;
2377 b = 0.6031161693096310;
2378 v = 0.9107813579482705e-3;
2379 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2380 a = 0.7043837184021765;
2381 b = 0.5693702498468441;
2382 v = 0.9105760258970126e-3;
2383 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2384 n = n - 1;
2385
2386 return;
2387}
2388//****************************************************************************80
2389
2390void LebedevGrid::ld1454(double *x, double *y, double *z, double *w) const
2391
2392//****************************************************************************80
2393//
2394// Purpose:
2395//
2396// LD1454 computes the 1454 point Lebedev angular grid.
2397//
2398// Modified:
2399//
2400// 12 September 2010
2401//
2402// Author:
2403//
2404// Dmitri Laikov
2405//
2406// Reference:
2407//
2408// Vyacheslav Lebedev, Dmitri Laikov,
2409// A quadrature formula for the sphere of the 131st
2410// algebraic order of accuracy,
2411// Russian Academy of Sciences Doklady Mathematics,
2412// Volume 59, Number 3, 1999, pages 477-481.
2413//
2414// Parameters:
2415//
2416// Output, double X[N], Y[N], Z[N], W[N], the coordinates
2417// and weights of the points.
2418//
2419{
2420 double a = 0.0;
2421 double b = 0.0;
2422 Index n;
2423 double v;
2424
2425 n = 0;
2426 v = 0.7777160743261247e-4;
2427 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
2428 v = 0.7557646413004701e-3;
2429 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
2430 a = 0.3229290663413854e-1;
2431 v = 0.2841633806090617e-3;
2432 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2433 a = 0.8036733271462222e-1;
2434 v = 0.4374419127053555e-3;
2435 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2436 a = 0.1354289960531653;
2437 v = 0.5417174740872172e-3;
2438 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2439 a = 0.1938963861114426;
2440 v = 0.6148000891358593e-3;
2441 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2442 a = 0.2537343715011275;
2443 v = 0.6664394485800705e-3;
2444 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2445 a = 0.3135251434752570;
2446 v = 0.7025039356923220e-3;
2447 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2448 a = 0.3721558339375338;
2449 v = 0.7268511789249627e-3;
2450 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2451 a = 0.4286809575195696;
2452 v = 0.7422637534208629e-3;
2453 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2454 a = 0.4822510128282994;
2455 v = 0.7509545035841214e-3;
2456 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2457 a = 0.5320679333566263;
2458 v = 0.7548535057718401e-3;
2459 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2460 a = 0.6172998195394274;
2461 v = 0.7554088969774001e-3;
2462 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2463 a = 0.6510679849127481;
2464 v = 0.7553147174442808e-3;
2465 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2466 a = 0.6777315251687360;
2467 v = 0.7564767653292297e-3;
2468 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2469 a = 0.6963109410648741;
2470 v = 0.7587991808518730e-3;
2471 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2472 a = 0.7058935009831749;
2473 v = 0.7608261832033027e-3;
2474 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2475 a = 0.9955546194091857;
2476 v = 0.4021680447874916e-3;
2477 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2478 a = 0.9734115901794209;
2479 v = 0.5804871793945964e-3;
2480 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2481 a = 0.9275693732388626;
2482 v = 0.6792151955945159e-3;
2483 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2484 a = 0.8568022422795103;
2485 v = 0.7336741211286294e-3;
2486 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2487 a = 0.7623495553719372;
2488 v = 0.7581866300989608e-3;
2489 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2490 a = 0.5707522908892223;
2491 b = 0.4387028039889501;
2492 v = 0.7538257859800743e-3;
2493 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2494 a = 0.5196463388403083;
2495 b = 0.3858908414762617;
2496 v = 0.7483517247053123e-3;
2497 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2498 a = 0.4646337531215351;
2499 b = 0.3301937372343854;
2500 v = 0.7371763661112059e-3;
2501 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2502 a = 0.4063901697557691;
2503 b = 0.2725423573563777;
2504 v = 0.7183448895756934e-3;
2505 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2506 a = 0.3456329466643087;
2507 b = 0.2139510237495250;
2508 v = 0.6895815529822191e-3;
2509 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2510 a = 0.2831395121050332;
2511 b = 0.1555922309786647;
2512 v = 0.6480105801792886e-3;
2513 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2514 a = 0.2197682022925330;
2515 b = 0.9892878979686097e-1;
2516 v = 0.5897558896594636e-3;
2517 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2518 a = 0.1564696098650355;
2519 b = 0.4598642910675510e-1;
2520 v = 0.5095708849247346e-3;
2521 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2522 a = 0.6027356673721295;
2523 b = 0.3376625140173426;
2524 v = 0.7536906428909755e-3;
2525 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2526 a = 0.5496032320255096;
2527 b = 0.2822301309727988;
2528 v = 0.7472505965575118e-3;
2529 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2530 a = 0.4921707755234567;
2531 b = 0.2248632342592540;
2532 v = 0.7343017132279698e-3;
2533 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2534 a = 0.4309422998598483;
2535 b = 0.1666224723456479;
2536 v = 0.7130871582177445e-3;
2537 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2538 a = 0.3664108182313672;
2539 b = 0.1086964901822169;
2540 v = 0.6817022032112776e-3;
2541 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2542 a = 0.2990189057758436;
2543 b = 0.5251989784120085e-1;
2544 v = 0.6380941145604121e-3;
2545 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2546 a = 0.6268724013144998;
2547 b = 0.2297523657550023;
2548 v = 0.7550381377920310e-3;
2549 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2550 a = 0.5707324144834607;
2551 b = 0.1723080607093800;
2552 v = 0.7478646640144802e-3;
2553 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2554 a = 0.5096360901960365;
2555 b = 0.1140238465390513;
2556 v = 0.7335918720601220e-3;
2557 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2558 a = 0.4438729938312456;
2559 b = 0.5611522095882537e-1;
2560 v = 0.7110120527658118e-3;
2561 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2562 a = 0.6419978471082389;
2563 b = 0.1164174423140873;
2564 v = 0.7571363978689501e-3;
2565 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2566 a = 0.5817218061802611;
2567 b = 0.5797589531445219e-1;
2568 v = 0.7489908329079234e-3;
2569 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2570 n = n - 1;
2571
2572 return;
2573}
2574//****************************************************************************80
2575
2576void LebedevGrid::ld1730(double *x, double *y, double *z, double *w) const
2577
2578//****************************************************************************80
2579//
2580// Purpose:
2581//
2582// LD1730 computes the 1730 point Lebedev angular grid.
2583//
2584// Modified:
2585//
2586// 12 September 2010
2587//
2588// Author:
2589//
2590// Dmitri Laikov
2591//
2592// Reference:
2593//
2594// Vyacheslav Lebedev, Dmitri Laikov,
2595// A quadrature formula for the sphere of the 131st
2596// algebraic order of accuracy,
2597// Russian Academy of Sciences Doklady Mathematics,
2598// Volume 59, Number 3, 1999, pages 477-481.
2599//
2600// Parameters:
2601//
2602// Output, double X[N], Y[N], Z[N], W[N], the coordinates
2603// and weights of the points.
2604//
2605{
2606 double a = 0.0;
2607 double b = 0.0;
2608 Index n;
2609 double v;
2610
2611 n = 0;
2612 v = 0.6309049437420976e-4;
2613 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
2614 v = 0.6398287705571748e-3;
2615 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
2616 v = 0.6357185073530720e-3;
2617 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
2618 a = 0.2860923126194662e-1;
2619 v = 0.2221207162188168e-3;
2620 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2621 a = 0.7142556767711522e-1;
2622 v = 0.3475784022286848e-3;
2623 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2624 a = 0.1209199540995559;
2625 v = 0.4350742443589804e-3;
2626 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2627 a = 0.1738673106594379;
2628 v = 0.4978569136522127e-3;
2629 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2630 a = 0.2284645438467734;
2631 v = 0.5435036221998053e-3;
2632 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2633 a = 0.2834807671701512;
2634 v = 0.5765913388219542e-3;
2635 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2636 a = 0.3379680145467339;
2637 v = 0.6001200359226003e-3;
2638 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2639 a = 0.3911355454819537;
2640 v = 0.6162178172717512e-3;
2641 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2642 a = 0.4422860353001403;
2643 v = 0.6265218152438485e-3;
2644 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2645 a = 0.4907781568726057;
2646 v = 0.6323987160974212e-3;
2647 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2648 a = 0.5360006153211468;
2649 v = 0.6350767851540569e-3;
2650 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2651 a = 0.6142105973596603;
2652 v = 0.6354362775297107e-3;
2653 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2654 a = 0.6459300387977504;
2655 v = 0.6352302462706235e-3;
2656 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2657 a = 0.6718056125089225;
2658 v = 0.6358117881417972e-3;
2659 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2660 a = 0.6910888533186254;
2661 v = 0.6373101590310117e-3;
2662 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2663 a = 0.7030467416823252;
2664 v = 0.6390428961368665e-3;
2665 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2666 a = 0.8354951166354646e-1;
2667 v = 0.3186913449946576e-3;
2668 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2669 a = 0.2050143009099486;
2670 v = 0.4678028558591711e-3;
2671 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2672 a = 0.3370208290706637;
2673 v = 0.5538829697598626e-3;
2674 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2675 a = 0.4689051484233963;
2676 v = 0.6044475907190476e-3;
2677 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2678 a = 0.5939400424557334;
2679 v = 0.6313575103509012e-3;
2680 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2681 a = 0.1394983311832261;
2682 b = 0.4097581162050343e-1;
2683 v = 0.4078626431855630e-3;
2684 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2685 a = 0.1967999180485014;
2686 b = 0.8851987391293348e-1;
2687 v = 0.4759933057812725e-3;
2688 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2689 a = 0.2546183732548967;
2690 b = 0.1397680182969819;
2691 v = 0.5268151186413440e-3;
2692 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2693 a = 0.3121281074713875;
2694 b = 0.1929452542226526;
2695 v = 0.5643048560507316e-3;
2696 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2697 a = 0.3685981078502492;
2698 b = 0.2467898337061562;
2699 v = 0.5914501076613073e-3;
2700 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2701 a = 0.4233760321547856;
2702 b = 0.3003104124785409;
2703 v = 0.6104561257874195e-3;
2704 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2705 a = 0.4758671236059246;
2706 b = 0.3526684328175033;
2707 v = 0.6230252860707806e-3;
2708 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2709 a = 0.5255178579796463;
2710 b = 0.4031134861145713;
2711 v = 0.6305618761760796e-3;
2712 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2713 a = 0.5718025633734589;
2714 b = 0.4509426448342351;
2715 v = 0.6343092767597889e-3;
2716 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2717 a = 0.2686927772723415;
2718 b = 0.4711322502423248e-1;
2719 v = 0.5176268945737826e-3;
2720 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2721 a = 0.3306006819904809;
2722 b = 0.9784487303942695e-1;
2723 v = 0.5564840313313692e-3;
2724 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2725 a = 0.3904906850594983;
2726 b = 0.1505395810025273;
2727 v = 0.5856426671038980e-3;
2728 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2729 a = 0.4479957951904390;
2730 b = 0.2039728156296050;
2731 v = 0.6066386925777091e-3;
2732 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2733 a = 0.5027076848919780;
2734 b = 0.2571529941121107;
2735 v = 0.6208824962234458e-3;
2736 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2737 a = 0.5542087392260217;
2738 b = 0.3092191375815670;
2739 v = 0.6296314297822907e-3;
2740 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2741 a = 0.6020850887375187;
2742 b = 0.3593807506130276;
2743 v = 0.6340423756791859e-3;
2744 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2745 a = 0.4019851409179594;
2746 b = 0.5063389934378671e-1;
2747 v = 0.5829627677107342e-3;
2748 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2749 a = 0.4635614567449800;
2750 b = 0.1032422269160612;
2751 v = 0.6048693376081110e-3;
2752 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2753 a = 0.5215860931591575;
2754 b = 0.1566322094006254;
2755 v = 0.6202362317732461e-3;
2756 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2757 a = 0.5758202499099271;
2758 b = 0.2098082827491099;
2759 v = 0.6299005328403779e-3;
2760 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2761 a = 0.6259893683876795;
2762 b = 0.2618824114553391;
2763 v = 0.6347722390609353e-3;
2764 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2765 a = 0.5313795124811891;
2766 b = 0.5263245019338556e-1;
2767 v = 0.6203778981238834e-3;
2768 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2769 a = 0.5893317955931995;
2770 b = 0.1061059730982005;
2771 v = 0.6308414671239979e-3;
2772 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2773 a = 0.6426246321215801;
2774 b = 0.1594171564034221;
2775 v = 0.6362706466959498e-3;
2776 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2777 a = 0.6511904367376113;
2778 b = 0.5354789536565540e-1;
2779 v = 0.6375414170333233e-3;
2780 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2781 n = n - 1;
2782
2783 return;
2784}
2785//****************************************************************************80
2786
2787void LebedevGrid::ld2030(double *x, double *y, double *z, double *w) const
2788
2789//****************************************************************************80
2790//
2791// Purpose:
2792//
2793// LD2030 computes the 2030 point Lebedev angular grid.
2794//
2795// Modified:
2796//
2797// 12 September 2010
2798//
2799// Author:
2800//
2801// Dmitri Laikov
2802//
2803// Reference:
2804//
2805// Vyacheslav Lebedev, Dmitri Laikov,
2806// A quadrature formula for the sphere of the 131st
2807// algebraic order of accuracy,
2808// Russian Academy of Sciences Doklady Mathematics,
2809// Volume 59, Number 3, 1999, pages 477-481.
2810//
2811// Parameters:
2812//
2813// Output, double X[N], Y[N], Z[N], W[N], the coordinates
2814// and weights of the points.
2815//
2816{
2817 double a = 0.0;
2818 double b = 0.0;
2819 Index n;
2820 double v;
2821
2822 n = 0;
2823 v = 0.4656031899197431e-4;
2824 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
2825 v = 0.5421549195295507e-3;
2826 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
2827 a = 0.2540835336814348e-1;
2828 v = 0.1778522133346553e-3;
2829 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2830 a = 0.6399322800504915e-1;
2831 v = 0.2811325405682796e-3;
2832 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2833 a = 0.1088269469804125;
2834 v = 0.3548896312631459e-3;
2835 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2836 a = 0.1570670798818287;
2837 v = 0.4090310897173364e-3;
2838 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2839 a = 0.2071163932282514;
2840 v = 0.4493286134169965e-3;
2841 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2842 a = 0.2578914044450844;
2843 v = 0.4793728447962723e-3;
2844 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2845 a = 0.3085687558169623;
2846 v = 0.5015415319164265e-3;
2847 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2848 a = 0.3584719706267024;
2849 v = 0.5175127372677937e-3;
2850 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2851 a = 0.4070135594428709;
2852 v = 0.5285522262081019e-3;
2853 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2854 a = 0.4536618626222638;
2855 v = 0.5356832703713962e-3;
2856 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2857 a = 0.4979195686463577;
2858 v = 0.5397914736175170e-3;
2859 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2860 a = 0.5393075111126999;
2861 v = 0.5416899441599930e-3;
2862 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2863 a = 0.6115617676843916;
2864 v = 0.5419308476889938e-3;
2865 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2866 a = 0.6414308435160159;
2867 v = 0.5416936902030596e-3;
2868 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2869 a = 0.6664099412721607;
2870 v = 0.5419544338703164e-3;
2871 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2872 a = 0.6859161771214913;
2873 v = 0.5428983656630975e-3;
2874 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2875 a = 0.6993625593503890;
2876 v = 0.5442286500098193e-3;
2877 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2878 a = 0.7062393387719380;
2879 v = 0.5452250345057301e-3;
2880 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
2881 a = 0.7479028168349763e-1;
2882 v = 0.2568002497728530e-3;
2883 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2884 a = 0.1848951153969366;
2885 v = 0.3827211700292145e-3;
2886 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2887 a = 0.3059529066581305;
2888 v = 0.4579491561917824e-3;
2889 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2890 a = 0.4285556101021362;
2891 v = 0.5042003969083574e-3;
2892 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2893 a = 0.5468758653496526;
2894 v = 0.5312708889976025e-3;
2895 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2896 a = 0.6565821978343439;
2897 v = 0.5438401790747117e-3;
2898 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
2899 a = 0.1253901572367117;
2900 b = 0.3681917226439641e-1;
2901 v = 0.3316041873197344e-3;
2902 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2903 a = 0.1775721510383941;
2904 b = 0.7982487607213301e-1;
2905 v = 0.3899113567153771e-3;
2906 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2907 a = 0.2305693358216114;
2908 b = 0.1264640966592335;
2909 v = 0.4343343327201309e-3;
2910 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2911 a = 0.2836502845992063;
2912 b = 0.1751585683418957;
2913 v = 0.4679415262318919e-3;
2914 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2915 a = 0.3361794746232590;
2916 b = 0.2247995907632670;
2917 v = 0.4930847981631031e-3;
2918 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2919 a = 0.3875979172264824;
2920 b = 0.2745299257422246;
2921 v = 0.5115031867540091e-3;
2922 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2923 a = 0.4374019316999074;
2924 b = 0.3236373482441118;
2925 v = 0.5245217148457367e-3;
2926 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2927 a = 0.4851275843340022;
2928 b = 0.3714967859436741;
2929 v = 0.5332041499895321e-3;
2930 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2931 a = 0.5303391803806868;
2932 b = 0.4175353646321745;
2933 v = 0.5384583126021542e-3;
2934 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2935 a = 0.5726197380596287;
2936 b = 0.4612084406355461;
2937 v = 0.5411067210798852e-3;
2938 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2939 a = 0.2431520732564863;
2940 b = 0.4258040133043952e-1;
2941 v = 0.4259797391468714e-3;
2942 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2943 a = 0.3002096800895869;
2944 b = 0.8869424306722721e-1;
2945 v = 0.4604931368460021e-3;
2946 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2947 a = 0.3558554457457432;
2948 b = 0.1368811706510655;
2949 v = 0.4871814878255202e-3;
2950 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2951 a = 0.4097782537048887;
2952 b = 0.1860739985015033;
2953 v = 0.5072242910074885e-3;
2954 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2955 a = 0.4616337666067458;
2956 b = 0.2354235077395853;
2957 v = 0.5217069845235350e-3;
2958 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2959 a = 0.5110707008417874;
2960 b = 0.2842074921347011;
2961 v = 0.5315785966280310e-3;
2962 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2963 a = 0.5577415286163795;
2964 b = 0.3317784414984102;
2965 v = 0.5376833708758905e-3;
2966 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2967 a = 0.6013060431366950;
2968 b = 0.3775299002040700;
2969 v = 0.5408032092069521e-3;
2970 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2971 a = 0.3661596767261781;
2972 b = 0.4599367887164592e-1;
2973 v = 0.4842744917904866e-3;
2974 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2975 a = 0.4237633153506581;
2976 b = 0.9404893773654421e-1;
2977 v = 0.5048926076188130e-3;
2978 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2979 a = 0.4786328454658452;
2980 b = 0.1431377109091971;
2981 v = 0.5202607980478373e-3;
2982 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2983 a = 0.5305702076789774;
2984 b = 0.1924186388843570;
2985 v = 0.5309932388325743e-3;
2986 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2987 a = 0.5793436224231788;
2988 b = 0.2411590944775190;
2989 v = 0.5377419770895208e-3;
2990 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2991 a = 0.6247069017094747;
2992 b = 0.2886871491583605;
2993 v = 0.5411696331677717e-3;
2994 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2995 a = 0.4874315552535204;
2996 b = 0.4804978774953206e-1;
2997 v = 0.5197996293282420e-3;
2998 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
2999 a = 0.5427337322059053;
3000 b = 0.9716857199366665e-1;
3001 v = 0.5311120836622945e-3;
3002 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3003 a = 0.5943493747246700;
3004 b = 0.1465205839795055;
3005 v = 0.5384309319956951e-3;
3006 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3007 a = 0.6421314033564943;
3008 b = 0.1953579449803574;
3009 v = 0.5421859504051886e-3;
3010 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3011 a = 0.6020628374713980;
3012 b = 0.4916375015738108e-1;
3013 v = 0.5390948355046314e-3;
3014 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3015 a = 0.6529222529856881;
3016 b = 0.9861621540127005e-1;
3017 v = 0.5433312705027845e-3;
3018 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3019 n = n - 1;
3020
3021 return;
3022}
3023//****************************************************************************80
3024
3025void LebedevGrid::ld2354(double *x, double *y, double *z, double *w) const
3026
3027//****************************************************************************80
3028//
3029// Purpose:
3030//
3031// LD2354 computes the 2354 point Lebedev angular grid.
3032//
3033// Modified:
3034//
3035// 12 September 2010
3036//
3037// Author:
3038//
3039// Dmitri Laikov
3040//
3041// Reference:
3042//
3043// Vyacheslav Lebedev, Dmitri Laikov,
3044// A quadrature formula for the sphere of the 131st
3045// algebraic order of accuracy,
3046// Russian Academy of Sciences Doklady Mathematics,
3047// Volume 59, Number 3, 1999, pages 477-481.
3048//
3049// Parameters:
3050//
3051// Output, double X[N], Y[N], Z[N], W[N], the coordinates
3052// and weights of the points.
3053//
3054{
3055 double a = 0.0;
3056 double b = 0.0;
3057 Index n;
3058 double v;
3059
3060 n = 0;
3061 v = 0.3922616270665292e-4;
3062 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
3063 v = 0.4703831750854424e-3;
3064 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
3065 v = 0.4678202801282136e-3;
3066 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
3067 a = 0.2290024646530589e-1;
3068 v = 0.1437832228979900e-3;
3069 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3070 a = 0.5779086652271284e-1;
3071 v = 0.2303572493577644e-3;
3072 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3073 a = 0.9863103576375984e-1;
3074 v = 0.2933110752447454e-3;
3075 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3076 a = 0.1428155792982185;
3077 v = 0.3402905998359838e-3;
3078 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3079 a = 0.1888978116601463;
3080 v = 0.3759138466870372e-3;
3081 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3082 a = 0.2359091682970210;
3083 v = 0.4030638447899798e-3;
3084 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3085 a = 0.2831228833706171;
3086 v = 0.4236591432242211e-3;
3087 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3088 a = 0.3299495857966693;
3089 v = 0.4390522656946746e-3;
3090 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3091 a = 0.3758840802660796;
3092 v = 0.4502523466626247e-3;
3093 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3094 a = 0.4204751831009480;
3095 v = 0.4580577727783541e-3;
3096 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3097 a = 0.4633068518751051;
3098 v = 0.4631391616615899e-3;
3099 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3100 a = 0.5039849474507313;
3101 v = 0.4660928953698676e-3;
3102 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3103 a = 0.5421265793440747;
3104 v = 0.4674751807936953e-3;
3105 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3106 a = 0.6092660230557310;
3107 v = 0.4676414903932920e-3;
3108 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3109 a = 0.6374654204984869;
3110 v = 0.4674086492347870e-3;
3111 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3112 a = 0.6615136472609892;
3113 v = 0.4674928539483207e-3;
3114 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3115 a = 0.6809487285958127;
3116 v = 0.4680748979686447e-3;
3117 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3118 a = 0.6952980021665196;
3119 v = 0.4690449806389040e-3;
3120 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3121 a = 0.7041245497695400;
3122 v = 0.4699877075860818e-3;
3123 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3124 a = 0.6744033088306065e-1;
3125 v = 0.2099942281069176e-3;
3126 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3127 a = 0.1678684485334166;
3128 v = 0.3172269150712804e-3;
3129 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3130 a = 0.2793559049539613;
3131 v = 0.3832051358546523e-3;
3132 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3133 a = 0.3935264218057639;
3134 v = 0.4252193818146985e-3;
3135 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3136 a = 0.5052629268232558;
3137 v = 0.4513807963755000e-3;
3138 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3139 a = 0.6107905315437531;
3140 v = 0.4657797469114178e-3;
3141 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3142 a = 0.1135081039843524;
3143 b = 0.3331954884662588e-1;
3144 v = 0.2733362800522836e-3;
3145 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3146 a = 0.1612866626099378;
3147 b = 0.7247167465436538e-1;
3148 v = 0.3235485368463559e-3;
3149 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3150 a = 0.2100786550168205;
3151 b = 0.1151539110849745;
3152 v = 0.3624908726013453e-3;
3153 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3154 a = 0.2592282009459942;
3155 b = 0.1599491097143677;
3156 v = 0.3925540070712828e-3;
3157 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3158 a = 0.3081740561320203;
3159 b = 0.2058699956028027;
3160 v = 0.4156129781116235e-3;
3161 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3162 a = 0.3564289781578164;
3163 b = 0.2521624953502911;
3164 v = 0.4330644984623263e-3;
3165 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3166 a = 0.4035587288240703;
3167 b = 0.2982090785797674;
3168 v = 0.4459677725921312e-3;
3169 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3170 a = 0.4491671196373903;
3171 b = 0.3434762087235733;
3172 v = 0.4551593004456795e-3;
3173 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3174 a = 0.4928854782917489;
3175 b = 0.3874831357203437;
3176 v = 0.4613341462749918e-3;
3177 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3178 a = 0.5343646791958988;
3179 b = 0.4297814821746926;
3180 v = 0.4651019618269806e-3;
3181 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3182 a = 0.5732683216530990;
3183 b = 0.4699402260943537;
3184 v = 0.4670249536100625e-3;
3185 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3186 a = 0.2214131583218986;
3187 b = 0.3873602040643895e-1;
3188 v = 0.3549555576441708e-3;
3189 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3190 a = 0.2741796504750071;
3191 b = 0.8089496256902013e-1;
3192 v = 0.3856108245249010e-3;
3193 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3194 a = 0.3259797439149485;
3195 b = 0.1251732177620872;
3196 v = 0.4098622845756882e-3;
3197 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3198 a = 0.3765441148826891;
3199 b = 0.1706260286403185;
3200 v = 0.4286328604268950e-3;
3201 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3202 a = 0.4255773574530558;
3203 b = 0.2165115147300408;
3204 v = 0.4427802198993945e-3;
3205 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3206 a = 0.4727795117058430;
3207 b = 0.2622089812225259;
3208 v = 0.4530473511488561e-3;
3209 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3210 a = 0.5178546895819012;
3211 b = 0.3071721431296201;
3212 v = 0.4600805475703138e-3;
3213 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3214 a = 0.5605141192097460;
3215 b = 0.3508998998801138;
3216 v = 0.4644599059958017e-3;
3217 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3218 a = 0.6004763319352512;
3219 b = 0.3929160876166931;
3220 v = 0.4667274455712508e-3;
3221 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3222 a = 0.3352842634946949;
3223 b = 0.4202563457288019e-1;
3224 v = 0.4069360518020356e-3;
3225 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3226 a = 0.3891971629814670;
3227 b = 0.8614309758870850e-1;
3228 v = 0.4260442819919195e-3;
3229 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3230 a = 0.4409875565542281;
3231 b = 0.1314500879380001;
3232 v = 0.4408678508029063e-3;
3233 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3234 a = 0.4904893058592484;
3235 b = 0.1772189657383859;
3236 v = 0.4518748115548597e-3;
3237 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3238 a = 0.5375056138769549;
3239 b = 0.2228277110050294;
3240 v = 0.4595564875375116e-3;
3241 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3242 a = 0.5818255708669969;
3243 b = 0.2677179935014386;
3244 v = 0.4643988774315846e-3;
3245 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3246 a = 0.6232334858144959;
3247 b = 0.3113675035544165;
3248 v = 0.4668827491646946e-3;
3249 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3250 a = 0.4489485354492058;
3251 b = 0.4409162378368174e-1;
3252 v = 0.4400541823741973e-3;
3253 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3254 a = 0.5015136875933150;
3255 b = 0.8939009917748489e-1;
3256 v = 0.4514512890193797e-3;
3257 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3258 a = 0.5511300550512623;
3259 b = 0.1351806029383365;
3260 v = 0.4596198627347549e-3;
3261 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3262 a = 0.5976720409858000;
3263 b = 0.1808370355053196;
3264 v = 0.4648659016801781e-3;
3265 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3266 a = 0.6409956378989354;
3267 b = 0.2257852192301602;
3268 v = 0.4675502017157673e-3;
3269 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3270 a = 0.5581222330827514;
3271 b = 0.4532173421637160e-1;
3272 v = 0.4598494476455523e-3;
3273 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3274 a = 0.6074705984161695;
3275 b = 0.9117488031840314e-1;
3276 v = 0.4654916955152048e-3;
3277 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3278 a = 0.6532272537379033;
3279 b = 0.1369294213140155;
3280 v = 0.4684709779505137e-3;
3281 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3282 a = 0.6594761494500487;
3283 b = 0.4589901487275583e-1;
3284 v = 0.4691445539106986e-3;
3285 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3286 n = n - 1;
3287
3288 return;
3289}
3290//****************************************************************************80
3291
3292void LebedevGrid::ld2702(double *x, double *y, double *z, double *w) const
3293
3294//****************************************************************************80
3295//
3296// Purpose:
3297//
3298// LD2702 computes the 2702 point Lebedev angular grid.
3299//
3300// Modified:
3301//
3302// 12 September 2010
3303//
3304// Author:
3305//
3306// Dmitri Laikov
3307//
3308// Reference:
3309//
3310// Vyacheslav Lebedev, Dmitri Laikov,
3311// A quadrature formula for the sphere of the 131st
3312// algebraic order of accuracy,
3313// Russian Academy of Sciences Doklady Mathematics,
3314// Volume 59, Number 3, 1999, pages 477-481.
3315//
3316// Parameters:
3317//
3318// Output, double X[N], Y[N], Z[N], W[N], the coordinates
3319// and weights of the points.
3320//
3321{
3322 double a = 0.0;
3323 double b = 0.0;
3324 Index n;
3325 double v;
3326
3327 n = 0;
3328 v = 0.2998675149888161e-4;
3329 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
3330 v = 0.4077860529495355e-3;
3331 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
3332 a = 0.2065562538818703e-1;
3333 v = 0.1185349192520667e-3;
3334 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3335 a = 0.5250918173022379e-1;
3336 v = 0.1913408643425751e-3;
3337 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3338 a = 0.8993480082038376e-1;
3339 v = 0.2452886577209897e-3;
3340 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3341 a = 0.1306023924436019;
3342 v = 0.2862408183288702e-3;
3343 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3344 a = 0.1732060388531418;
3345 v = 0.3178032258257357e-3;
3346 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3347 a = 0.2168727084820249;
3348 v = 0.3422945667633690e-3;
3349 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3350 a = 0.2609528309173586;
3351 v = 0.3612790520235922e-3;
3352 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3353 a = 0.3049252927938952;
3354 v = 0.3758638229818521e-3;
3355 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3356 a = 0.3483484138084404;
3357 v = 0.3868711798859953e-3;
3358 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3359 a = 0.3908321549106406;
3360 v = 0.3949429933189938e-3;
3361 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3362 a = 0.4320210071894814;
3363 v = 0.4006068107541156e-3;
3364 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3365 a = 0.4715824795890053;
3366 v = 0.4043192149672723e-3;
3367 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3368 a = 0.5091984794078453;
3369 v = 0.4064947495808078e-3;
3370 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3371 a = 0.5445580145650803;
3372 v = 0.4075245619813152e-3;
3373 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3374 a = 0.6072575796841768;
3375 v = 0.4076423540893566e-3;
3376 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3377 a = 0.6339484505755803;
3378 v = 0.4074280862251555e-3;
3379 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3380 a = 0.6570718257486958;
3381 v = 0.4074163756012244e-3;
3382 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3383 a = 0.6762557330090709;
3384 v = 0.4077647795071246e-3;
3385 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3386 a = 0.6911161696923790;
3387 v = 0.4084517552782530e-3;
3388 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3389 a = 0.7012841911659961;
3390 v = 0.4092468459224052e-3;
3391 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3392 a = 0.7064559272410020;
3393 v = 0.4097872687240906e-3;
3394 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3395 a = 0.6123554989894765e-1;
3396 v = 0.1738986811745028e-3;
3397 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3398 a = 0.1533070348312393;
3399 v = 0.2659616045280191e-3;
3400 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3401 a = 0.2563902605244206;
3402 v = 0.3240596008171533e-3;
3403 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3404 a = 0.3629346991663361;
3405 v = 0.3621195964432943e-3;
3406 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3407 a = 0.4683949968987538;
3408 v = 0.3868838330760539e-3;
3409 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3410 a = 0.5694479240657952;
3411 v = 0.4018911532693111e-3;
3412 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3413 a = 0.6634465430993955;
3414 v = 0.4089929432983252e-3;
3415 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3416 a = 0.1033958573552305;
3417 b = 0.3034544009063584e-1;
3418 v = 0.2279907527706409e-3;
3419 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3420 a = 0.1473521412414395;
3421 b = 0.6618803044247135e-1;
3422 v = 0.2715205490578897e-3;
3423 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3424 a = 0.1924552158705967;
3425 b = 0.1054431128987715;
3426 v = 0.3057917896703976e-3;
3427 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3428 a = 0.2381094362890328;
3429 b = 0.1468263551238858;
3430 v = 0.3326913052452555e-3;
3431 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3432 a = 0.2838121707936760;
3433 b = 0.1894486108187886;
3434 v = 0.3537334711890037e-3;
3435 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3436 a = 0.3291323133373415;
3437 b = 0.2326374238761579;
3438 v = 0.3700567500783129e-3;
3439 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3440 a = 0.3736896978741460;
3441 b = 0.2758485808485768;
3442 v = 0.3825245372589122e-3;
3443 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3444 a = 0.4171406040760013;
3445 b = 0.3186179331996921;
3446 v = 0.3918125171518296e-3;
3447 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3448 a = 0.4591677985256915;
3449 b = 0.3605329796303794;
3450 v = 0.3984720419937579e-3;
3451 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3452 a = 0.4994733831718418;
3453 b = 0.4012147253586509;
3454 v = 0.4029746003338211e-3;
3455 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3456 a = 0.5377731830445096;
3457 b = 0.4403050025570692;
3458 v = 0.4057428632156627e-3;
3459 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3460 a = 0.5737917830001331;
3461 b = 0.4774565904277483;
3462 v = 0.4071719274114857e-3;
3463 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3464 a = 0.2027323586271389;
3465 b = 0.3544122504976147e-1;
3466 v = 0.2990236950664119e-3;
3467 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3468 a = 0.2516942375187273;
3469 b = 0.7418304388646328e-1;
3470 v = 0.3262951734212878e-3;
3471 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3472 a = 0.3000227995257181;
3473 b = 0.1150502745727186;
3474 v = 0.3482634608242413e-3;
3475 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3476 a = 0.3474806691046342;
3477 b = 0.1571963371209364;
3478 v = 0.3656596681700892e-3;
3479 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3480 a = 0.3938103180359209;
3481 b = 0.1999631877247100;
3482 v = 0.3791740467794218e-3;
3483 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3484 a = 0.4387519590455703;
3485 b = 0.2428073457846535;
3486 v = 0.3894034450156905e-3;
3487 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3488 a = 0.4820503960077787;
3489 b = 0.2852575132906155;
3490 v = 0.3968600245508371e-3;
3491 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3492 a = 0.5234573778475101;
3493 b = 0.3268884208674639;
3494 v = 0.4019931351420050e-3;
3495 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3496 a = 0.5627318647235282;
3497 b = 0.3673033321675939;
3498 v = 0.4052108801278599e-3;
3499 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3500 a = 0.5996390607156954;
3501 b = 0.4061211551830290;
3502 v = 0.4068978613940934e-3;
3503 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3504 a = 0.3084780753791947;
3505 b = 0.3860125523100059e-1;
3506 v = 0.3454275351319704e-3;
3507 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3508 a = 0.3589988275920223;
3509 b = 0.7928938987104867e-1;
3510 v = 0.3629963537007920e-3;
3511 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3512 a = 0.4078628415881973;
3513 b = 0.1212614643030087;
3514 v = 0.3770187233889873e-3;
3515 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3516 a = 0.4549287258889735;
3517 b = 0.1638770827382693;
3518 v = 0.3878608613694378e-3;
3519 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3520 a = 0.5000278512957279;
3521 b = 0.2065965798260176;
3522 v = 0.3959065270221274e-3;
3523 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3524 a = 0.5429785044928199;
3525 b = 0.2489436378852235;
3526 v = 0.4015286975463570e-3;
3527 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3528 a = 0.5835939850491711;
3529 b = 0.2904811368946891;
3530 v = 0.4050866785614717e-3;
3531 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3532 a = 0.6216870353444856;
3533 b = 0.3307941957666609;
3534 v = 0.4069320185051913e-3;
3535 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3536 a = 0.4151104662709091;
3537 b = 0.4064829146052554e-1;
3538 v = 0.3760120964062763e-3;
3539 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3540 a = 0.4649804275009218;
3541 b = 0.8258424547294755e-1;
3542 v = 0.3870969564418064e-3;
3543 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3544 a = 0.5124695757009662;
3545 b = 0.1251841962027289;
3546 v = 0.3955287790534055e-3;
3547 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3548 a = 0.5574711100606224;
3549 b = 0.1679107505976331;
3550 v = 0.4015361911302668e-3;
3551 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3552 a = 0.5998597333287227;
3553 b = 0.2102805057358715;
3554 v = 0.4053836986719548e-3;
3555 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3556 a = 0.6395007148516600;
3557 b = 0.2518418087774107;
3558 v = 0.4073578673299117e-3;
3559 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3560 a = 0.5188456224746252;
3561 b = 0.4194321676077518e-1;
3562 v = 0.3954628379231406e-3;
3563 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3564 a = 0.5664190707942778;
3565 b = 0.8457661551921499e-1;
3566 v = 0.4017645508847530e-3;
3567 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3568 a = 0.6110464353283153;
3569 b = 0.1273652932519396;
3570 v = 0.4059030348651293e-3;
3571 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3572 a = 0.6526430302051563;
3573 b = 0.1698173239076354;
3574 v = 0.4080565809484880e-3;
3575 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3576 a = 0.6167551880377548;
3577 b = 0.4266398851548864e-1;
3578 v = 0.4063018753664651e-3;
3579 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3580 a = 0.6607195418355383;
3581 b = 0.8551925814238349e-1;
3582 v = 0.4087191292799671e-3;
3583 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3584 n = n - 1;
3585
3586 return;
3587}
3588//****************************************************************************80
3589
3590void LebedevGrid::ld3074(double *x, double *y, double *z, double *w) const
3591
3592//****************************************************************************80
3593//
3594// Purpose:
3595//
3596// LD3074 computes the 3074 point Lebedev angular grid.
3597//
3598// Modified:
3599//
3600// 12 September 2010
3601//
3602// Author:
3603//
3604// Dmitri Laikov
3605//
3606// Reference:
3607//
3608// Vyacheslav Lebedev, Dmitri Laikov,
3609// A quadrature formula for the sphere of the 131st
3610// algebraic order of accuracy,
3611// Russian Academy of Sciences Doklady Mathematics,
3612// Volume 59, Number 3, 1999, pages 477-481.
3613//
3614// Parameters:
3615//
3616// Output, double X[N], Y[N], Z[N], W[N], the coordinates
3617// and weights of the points.
3618//
3619{
3620 double a = 0.0;
3621 double b = 0.0;
3622 Index n;
3623 double v;
3624
3625 n = 0;
3626 v = 0.2599095953754734e-4;
3627 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
3628 v = 0.3603134089687541e-3;
3629 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
3630 v = 0.3586067974412447e-3;
3631 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
3632 a = 0.1886108518723392e-1;
3633 v = 0.9831528474385880e-4;
3634 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3635 a = 0.4800217244625303e-1;
3636 v = 0.1605023107954450e-3;
3637 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3638 a = 0.8244922058397242e-1;
3639 v = 0.2072200131464099e-3;
3640 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3641 a = 0.1200408362484023;
3642 v = 0.2431297618814187e-3;
3643 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3644 a = 0.1595773530809965;
3645 v = 0.2711819064496707e-3;
3646 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3647 a = 0.2002635973434064;
3648 v = 0.2932762038321116e-3;
3649 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3650 a = 0.2415127590139982;
3651 v = 0.3107032514197368e-3;
3652 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3653 a = 0.2828584158458477;
3654 v = 0.3243808058921213e-3;
3655 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3656 a = 0.3239091015338138;
3657 v = 0.3349899091374030e-3;
3658 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3659 a = 0.3643225097962194;
3660 v = 0.3430580688505218e-3;
3661 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3662 a = 0.4037897083691802;
3663 v = 0.3490124109290343e-3;
3664 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3665 a = 0.4420247515194127;
3666 v = 0.3532148948561955e-3;
3667 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3668 a = 0.4787572538464938;
3669 v = 0.3559862669062833e-3;
3670 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3671 a = 0.5137265251275234;
3672 v = 0.3576224317551411e-3;
3673 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3674 a = 0.5466764056654611;
3675 v = 0.3584050533086076e-3;
3676 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3677 a = 0.6054859420813535;
3678 v = 0.3584903581373224e-3;
3679 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3680 a = 0.6308106701764562;
3681 v = 0.3582991879040586e-3;
3682 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3683 a = 0.6530369230179584;
3684 v = 0.3582371187963125e-3;
3685 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3686 a = 0.6718609524611158;
3687 v = 0.3584353631122350e-3;
3688 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3689 a = 0.6869676499894013;
3690 v = 0.3589120166517785e-3;
3691 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3692 a = 0.6980467077240748;
3693 v = 0.3595445704531601e-3;
3694 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3695 a = 0.7048241721250522;
3696 v = 0.3600943557111074e-3;
3697 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3698 a = 0.5591105222058232e-1;
3699 v = 0.1456447096742039e-3;
3700 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3701 a = 0.1407384078513916;
3702 v = 0.2252370188283782e-3;
3703 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3704 a = 0.2364035438976309;
3705 v = 0.2766135443474897e-3;
3706 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3707 a = 0.3360602737818170;
3708 v = 0.3110729491500851e-3;
3709 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3710 a = 0.4356292630054665;
3711 v = 0.3342506712303391e-3;
3712 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3713 a = 0.5321569415256174;
3714 v = 0.3491981834026860e-3;
3715 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3716 a = 0.6232956305040554;
3717 v = 0.3576003604348932e-3;
3718 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
3719 a = 0.9469870086838469e-1;
3720 b = 0.2778748387309470e-1;
3721 v = 0.1921921305788564e-3;
3722 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3723 a = 0.1353170300568141;
3724 b = 0.6076569878628364e-1;
3725 v = 0.2301458216495632e-3;
3726 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3727 a = 0.1771679481726077;
3728 b = 0.9703072762711040e-1;
3729 v = 0.2604248549522893e-3;
3730 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3731 a = 0.2197066664231751;
3732 b = 0.1354112458524762;
3733 v = 0.2845275425870697e-3;
3734 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3735 a = 0.2624783557374927;
3736 b = 0.1750996479744100;
3737 v = 0.3036870897974840e-3;
3738 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3739 a = 0.3050969521214442;
3740 b = 0.2154896907449802;
3741 v = 0.3188414832298066e-3;
3742 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3743 a = 0.3472252637196021;
3744 b = 0.2560954625740152;
3745 v = 0.3307046414722089e-3;
3746 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3747 a = 0.3885610219026360;
3748 b = 0.2965070050624096;
3749 v = 0.3398330969031360e-3;
3750 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3751 a = 0.4288273776062765;
3752 b = 0.3363641488734497;
3753 v = 0.3466757899705373e-3;
3754 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3755 a = 0.4677662471302948;
3756 b = 0.3753400029836788;
3757 v = 0.3516095923230054e-3;
3758 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3759 a = 0.5051333589553359;
3760 b = 0.4131297522144286;
3761 v = 0.3549645184048486e-3;
3762 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3763 a = 0.5406942145810492;
3764 b = 0.4494423776081795;
3765 v = 0.3570415969441392e-3;
3766 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3767 a = 0.5742204122576457;
3768 b = 0.4839938958841502;
3769 v = 0.3581251798496118e-3;
3770 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3771 a = 0.1865407027225188;
3772 b = 0.3259144851070796e-1;
3773 v = 0.2543491329913348e-3;
3774 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3775 a = 0.2321186453689432;
3776 b = 0.6835679505297343e-1;
3777 v = 0.2786711051330776e-3;
3778 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3779 a = 0.2773159142523882;
3780 b = 0.1062284864451989;
3781 v = 0.2985552361083679e-3;
3782 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3783 a = 0.3219200192237254;
3784 b = 0.1454404409323047;
3785 v = 0.3145867929154039e-3;
3786 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3787 a = 0.3657032593944029;
3788 b = 0.1854018282582510;
3789 v = 0.3273290662067609e-3;
3790 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3791 a = 0.4084376778363622;
3792 b = 0.2256297412014750;
3793 v = 0.3372705511943501e-3;
3794 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3795 a = 0.4499004945751427;
3796 b = 0.2657104425000896;
3797 v = 0.3448274437851510e-3;
3798 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3799 a = 0.4898758141326335;
3800 b = 0.3052755487631557;
3801 v = 0.3503592783048583e-3;
3802 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3803 a = 0.5281547442266309;
3804 b = 0.3439863920645423;
3805 v = 0.3541854792663162e-3;
3806 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3807 a = 0.5645346989813992;
3808 b = 0.3815229456121914;
3809 v = 0.3565995517909428e-3;
3810 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3811 a = 0.5988181252159848;
3812 b = 0.4175752420966734;
3813 v = 0.3578802078302898e-3;
3814 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3815 a = 0.2850425424471603;
3816 b = 0.3562149509862536e-1;
3817 v = 0.2958644592860982e-3;
3818 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3819 a = 0.3324619433027876;
3820 b = 0.7330318886871096e-1;
3821 v = 0.3119548129116835e-3;
3822 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3823 a = 0.3785848333076282;
3824 b = 0.1123226296008472;
3825 v = 0.3250745225005984e-3;
3826 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3827 a = 0.4232891028562115;
3828 b = 0.1521084193337708;
3829 v = 0.3355153415935208e-3;
3830 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3831 a = 0.4664287050829722;
3832 b = 0.1921844459223610;
3833 v = 0.3435847568549328e-3;
3834 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3835 a = 0.5078458493735726;
3836 b = 0.2321360989678303;
3837 v = 0.3495786831622488e-3;
3838 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3839 a = 0.5473779816204180;
3840 b = 0.2715886486360520;
3841 v = 0.3537767805534621e-3;
3842 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3843 a = 0.5848617133811376;
3844 b = 0.3101924707571355;
3845 v = 0.3564459815421428e-3;
3846 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3847 a = 0.6201348281584888;
3848 b = 0.3476121052890973;
3849 v = 0.3578464061225468e-3;
3850 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3851 a = 0.3852191185387871;
3852 b = 0.3763224880035108e-1;
3853 v = 0.3239748762836212e-3;
3854 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3855 a = 0.4325025061073423;
3856 b = 0.7659581935637135e-1;
3857 v = 0.3345491784174287e-3;
3858 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3859 a = 0.4778486229734490;
3860 b = 0.1163381306083900;
3861 v = 0.3429126177301782e-3;
3862 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3863 a = 0.5211663693009000;
3864 b = 0.1563890598752899;
3865 v = 0.3492420343097421e-3;
3866 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3867 a = 0.5623469504853703;
3868 b = 0.1963320810149200;
3869 v = 0.3537399050235257e-3;
3870 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3871 a = 0.6012718188659246;
3872 b = 0.2357847407258738;
3873 v = 0.3566209152659172e-3;
3874 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3875 a = 0.6378179206390117;
3876 b = 0.2743846121244060;
3877 v = 0.3581084321919782e-3;
3878 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3879 a = 0.4836936460214534;
3880 b = 0.3895902610739024e-1;
3881 v = 0.3426522117591512e-3;
3882 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3883 a = 0.5293792562683797;
3884 b = 0.7871246819312640e-1;
3885 v = 0.3491848770121379e-3;
3886 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3887 a = 0.5726281253100033;
3888 b = 0.1187963808202981;
3889 v = 0.3539318235231476e-3;
3890 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3891 a = 0.6133658776169068;
3892 b = 0.1587914708061787;
3893 v = 0.3570231438458694e-3;
3894 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3895 a = 0.6515085491865307;
3896 b = 0.1983058575227646;
3897 v = 0.3586207335051714e-3;
3898 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3899 a = 0.5778692716064976;
3900 b = 0.3977209689791542e-1;
3901 v = 0.3541196205164025e-3;
3902 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3903 a = 0.6207904288086192;
3904 b = 0.7990157592981152e-1;
3905 v = 0.3574296911573953e-3;
3906 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3907 a = 0.6608688171046802;
3908 b = 0.1199671308754309;
3909 v = 0.3591993279818963e-3;
3910 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3911 a = 0.6656263089489130;
3912 b = 0.4015955957805969e-1;
3913 v = 0.3595855034661997e-3;
3914 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
3915 n = n - 1;
3916
3917 return;
3918}
3919//****************************************************************************80
3920
3921void LebedevGrid::ld3470(double *x, double *y, double *z, double *w) const
3922
3923//****************************************************************************80
3924//
3925// Purpose:
3926//
3927// LD3470 computes the 3470 point Lebedev angular grid.
3928//
3929// Modified:
3930//
3931// 12 September 2010
3932//
3933// Author:
3934//
3935// Dmitri Laikov
3936//
3937// Reference:
3938//
3939// Vyacheslav Lebedev, Dmitri Laikov,
3940// A quadrature formula for the sphere of the 131st
3941// algebraic order of accuracy,
3942// Russian Academy of Sciences Doklady Mathematics,
3943// Volume 59, Number 3, 1999, pages 477-481.
3944//
3945// Parameters:
3946//
3947// Output, double X[N], Y[N], Z[N], W[N], the coordinates
3948// and weights of the points.
3949//
3950{
3951 double a = 0.0;
3952 double b = 0.0;
3953 Index n;
3954 double v;
3955
3956 n = 0;
3957 v = 0.2040382730826330e-4;
3958 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
3959 v = 0.3178149703889544e-3;
3960 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
3961 a = 0.1721420832906233e-1;
3962 v = 0.8288115128076110e-4;
3963 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3964 a = 0.4408875374981770e-1;
3965 v = 0.1360883192522954e-3;
3966 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3967 a = 0.7594680813878681e-1;
3968 v = 0.1766854454542662e-3;
3969 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3970 a = 0.1108335359204799;
3971 ;
3972 v = 0.2083153161230153e-3;
3973 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3974 a = 0.1476517054388567;
3975 v = 0.2333279544657158e-3;
3976 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3977 a = 0.1856731870860615;
3978 v = 0.2532809539930247e-3;
3979 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3980 a = 0.2243634099428821;
3981 v = 0.2692472184211158e-3;
3982 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3983 a = 0.2633006881662727;
3984 v = 0.2819949946811885e-3;
3985 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3986 a = 0.3021340904916283;
3987 v = 0.2920953593973030e-3;
3988 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3989 a = 0.3405594048030089;
3990 v = 0.2999889782948352e-3;
3991 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3992 a = 0.3783044434007372;
3993 v = 0.3060292120496902e-3;
3994 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3995 a = 0.4151194767407910;
3996 v = 0.3105109167522192e-3;
3997 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
3998 a = 0.4507705766443257;
3999 v = 0.3136902387550312e-3;
4000 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4001 a = 0.4850346056573187;
4002 v = 0.3157984652454632e-3;
4003 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4004 a = 0.5176950817792470;
4005 v = 0.3170516518425422e-3;
4006 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4007 a = 0.5485384240820989;
4008 v = 0.3176568425633755e-3;
4009 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4010 a = 0.6039117238943308;
4011 v = 0.3177198411207062e-3;
4012 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4013 a = 0.6279956655573113;
4014 v = 0.3175519492394733e-3;
4015 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4016 a = 0.6493636169568952;
4017 v = 0.3174654952634756e-3;
4018 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4019 a = 0.6677644117704504;
4020 v = 0.3175676415467654e-3;
4021 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4022 a = 0.6829368572115624;
4023 v = 0.3178923417835410e-3;
4024 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4025 a = 0.6946195818184121;
4026 v = 0.3183788287531909e-3;
4027 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4028 a = 0.7025711542057026;
4029 v = 0.3188755151918807e-3;
4030 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4031 a = 0.7066004767140119;
4032 v = 0.3191916889313849e-3;
4033 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4034 a = 0.5132537689946062e-1;
4035 v = 0.1231779611744508e-3;
4036 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4037 a = 0.1297994661331225;
4038 v = 0.1924661373839880e-3;
4039 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4040 a = 0.2188852049401307;
4041 v = 0.2380881867403424e-3;
4042 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4043 a = 0.3123174824903457;
4044 v = 0.2693100663037885e-3;
4045 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4046 a = 0.4064037620738195;
4047 v = 0.2908673382834366e-3;
4048 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4049 a = 0.4984958396944782;
4050 v = 0.3053914619381535e-3;
4051 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4052 a = 0.5864975046021365;
4053 v = 0.3143916684147777e-3;
4054 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4055 a = 0.6686711634580175;
4056 v = 0.3187042244055363e-3;
4057 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4058 a = 0.8715738780835950e-1;
4059 b = 0.2557175233367578e-1;
4060 v = 0.1635219535869790e-3;
4061 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4062 a = 0.1248383123134007;
4063 b = 0.5604823383376681e-1;
4064 v = 0.1968109917696070e-3;
4065 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4066 a = 0.1638062693383378;
4067 b = 0.8968568601900765e-1;
4068 v = 0.2236754342249974e-3;
4069 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4070 a = 0.2035586203373176;
4071 b = 0.1254086651976279;
4072 v = 0.2453186687017181e-3;
4073 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4074 a = 0.2436798975293774;
4075 b = 0.1624780150162012;
4076 v = 0.2627551791580541e-3;
4077 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4078 a = 0.2838207507773806;
4079 b = 0.2003422342683208;
4080 v = 0.2767654860152220e-3;
4081 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4082 a = 0.3236787502217692;
4083 b = 0.2385628026255263;
4084 v = 0.2879467027765895e-3;
4085 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4086 a = 0.3629849554840691;
4087 b = 0.2767731148783578;
4088 v = 0.2967639918918702e-3;
4089 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4090 a = 0.4014948081992087;
4091 b = 0.3146542308245309;
4092 v = 0.3035900684660351e-3;
4093 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4094 a = 0.4389818379260225;
4095 b = 0.3519196415895088;
4096 v = 0.3087338237298308e-3;
4097 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4098 a = 0.4752331143674377;
4099 b = 0.3883050984023654;
4100 v = 0.3124608838860167e-3;
4101 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4102 a = 0.5100457318374018;
4103 b = 0.4235613423908649;
4104 v = 0.3150084294226743e-3;
4105 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4106 a = 0.5432238388954868;
4107 b = 0.4574484717196220;
4108 v = 0.3165958398598402e-3;
4109 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4110 a = 0.5745758685072442;
4111 b = 0.4897311639255524;
4112 v = 0.3174320440957372e-3;
4113 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4114 a = 0.1723981437592809;
4115 b = 0.3010630597881105e-1;
4116 v = 0.2182188909812599e-3;
4117 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4118 a = 0.2149553257844597;
4119 b = 0.6326031554204694e-1;
4120 v = 0.2399727933921445e-3;
4121 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4122 a = 0.2573256081247422;
4123 b = 0.9848566980258631e-1;
4124 v = 0.2579796133514652e-3;
4125 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4126 a = 0.2993163751238106;
4127 b = 0.1350835952384266;
4128 v = 0.2727114052623535e-3;
4129 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4130 a = 0.3407238005148000;
4131 b = 0.1725184055442181;
4132 v = 0.2846327656281355e-3;
4133 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4134 a = 0.3813454978483264;
4135 b = 0.2103559279730725;
4136 v = 0.2941491102051334e-3;
4137 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4138 a = 0.4209848104423343;
4139 b = 0.2482278774554860;
4140 v = 0.3016049492136107e-3;
4141 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4142 a = 0.4594519699996300;
4143 b = 0.2858099509982883;
4144 v = 0.3072949726175648e-3;
4145 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4146 a = 0.4965640166185930;
4147 b = 0.3228075659915428;
4148 v = 0.3114768142886460e-3;
4149 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4150 a = 0.5321441655571562;
4151 b = 0.3589459907204151;
4152 v = 0.3143823673666223e-3;
4153 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4154 a = 0.5660208438582166;
4155 b = 0.3939630088864310;
4156 v = 0.3162269764661535e-3;
4157 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4158 a = 0.5980264315964364;
4159 b = 0.4276029922949089;
4160 v = 0.3172164663759821e-3;
4161 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4162 a = 0.2644215852350733;
4163 b = 0.3300939429072552e-1;
4164 v = 0.2554575398967435e-3;
4165 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4166 a = 0.3090113743443063;
4167 b = 0.6803887650078501e-1;
4168 v = 0.2701704069135677e-3;
4169 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4170 a = 0.3525871079197808;
4171 b = 0.1044326136206709;
4172 v = 0.2823693413468940e-3;
4173 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4174 a = 0.3950418005354029;
4175 b = 0.1416751597517679;
4176 v = 0.2922898463214289e-3;
4177 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4178 a = 0.4362475663430163;
4179 b = 0.1793408610504821;
4180 v = 0.3001829062162428e-3;
4181 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4182 a = 0.4760661812145854;
4183 b = 0.2170630750175722;
4184 v = 0.3062890864542953e-3;
4185 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4186 a = 0.5143551042512103;
4187 b = 0.2545145157815807;
4188 v = 0.3108328279264746e-3;
4189 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4190 a = 0.5509709026935597;
4191 b = 0.2913940101706601;
4192 v = 0.3140243146201245e-3;
4193 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4194 a = 0.5857711030329428;
4195 b = 0.3274169910910705;
4196 v = 0.3160638030977130e-3;
4197 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4198 a = 0.6186149917404392;
4199 b = 0.3623081329317265;
4200 v = 0.3171462882206275e-3;
4201 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4202 a = 0.3586894569557064;
4203 b = 0.3497354386450040e-1;
4204 v = 0.2812388416031796e-3;
4205 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4206 a = 0.4035266610019441;
4207 b = 0.7129736739757095e-1;
4208 v = 0.2912137500288045e-3;
4209 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4210 a = 0.4467775312332510;
4211 b = 0.1084758620193165;
4212 v = 0.2993241256502206e-3;
4213 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4214 a = 0.4883638346608543;
4215 b = 0.1460915689241772;
4216 v = 0.3057101738983822e-3;
4217 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4218 a = 0.5281908348434601;
4219 b = 0.1837790832369980;
4220 v = 0.3105319326251432e-3;
4221 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4222 a = 0.5661542687149311;
4223 b = 0.2212075390874021;
4224 v = 0.3139565514428167e-3;
4225 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4226 a = 0.6021450102031452;
4227 b = 0.2580682841160985;
4228 v = 0.3161543006806366e-3;
4229 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4230 a = 0.6360520783610050;
4231 b = 0.2940656362094121;
4232 v = 0.3172985960613294e-3;
4233 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4234 a = 0.4521611065087196;
4235 b = 0.3631055365867002e-1;
4236 v = 0.2989400336901431e-3;
4237 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4238 a = 0.4959365651560963;
4239 b = 0.7348318468484350e-1;
4240 v = 0.3054555883947677e-3;
4241 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4242 a = 0.5376815804038283;
4243 b = 0.1111087643812648;
4244 v = 0.3104764960807702e-3;
4245 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4246 a = 0.5773314480243768;
4247 b = 0.1488226085145408;
4248 v = 0.3141015825977616e-3;
4249 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4250 a = 0.6148113245575056;
4251 b = 0.1862892274135151;
4252 v = 0.3164520621159896e-3;
4253 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4254 a = 0.6500407462842380;
4255 b = 0.2231909701714456;
4256 v = 0.3176652305912204e-3;
4257 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4258 a = 0.5425151448707213;
4259 b = 0.3718201306118944e-1;
4260 v = 0.3105097161023939e-3;
4261 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4262 a = 0.5841860556907931;
4263 b = 0.7483616335067346e-1;
4264 v = 0.3143014117890550e-3;
4265 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4266 a = 0.6234632186851500;
4267 b = 0.1125990834266120;
4268 v = 0.3168172866287200e-3;
4269 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4270 a = 0.6602934551848843;
4271 b = 0.1501303813157619;
4272 v = 0.3181401865570968e-3;
4273 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4274 a = 0.6278573968375105;
4275 b = 0.3767559930245720e-1;
4276 v = 0.3170663659156037e-3;
4277 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4278 a = 0.6665611711264577;
4279 b = 0.7548443301360158e-1;
4280 v = 0.3185447944625510e-3;
4281 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4282 n = n - 1;
4283
4284 return;
4285}
4286//****************************************************************************80
4287
4288void LebedevGrid::ld3890(double *x, double *y, double *z, double *w) const
4289
4290//****************************************************************************80
4291//
4292// Purpose:
4293//
4294// LD3890 computes the 3890 point Lebedev angular grid.
4295//
4296// Modified:
4297//
4298// 12 September 2010
4299//
4300// Author:
4301//
4302// Dmitri Laikov
4303//
4304// Reference:
4305//
4306// Vyacheslav Lebedev, Dmitri Laikov,
4307// A quadrature formula for the sphere of the 131st
4308// algebraic order of accuracy,
4309// Russian Academy of Sciences Doklady Mathematics,
4310// Volume 59, Number 3, 1999, pages 477-481.
4311//
4312// Parameters:
4313//
4314// Output, double X[N], Y[N], Z[N], W[N], the coordinates
4315// and weights of the points.
4316//
4317{
4318 double a = 0.0;
4319 double b = 0.0;
4320 Index n;
4321 double v;
4322
4323 n = 0;
4324 v = 0.1807395252196920e-4;
4325 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
4326 v = 0.2848008782238827e-3;
4327 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
4328 v = 0.2836065837530581e-3;
4329 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
4330 a = 0.1587876419858352e-1;
4331 v = 0.7013149266673816e-4;
4332 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4333 a = 0.4069193593751206e-1;
4334 v = 0.1162798021956766e-3;
4335 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4336 a = 0.7025888115257997e-1;
4337 v = 0.1518728583972105e-3;
4338 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4339 a = 0.1027495450028704;
4340 v = 0.1798796108216934e-3;
4341 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4342 a = 0.1371457730893426;
4343 v = 0.2022593385972785e-3;
4344 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4345 a = 0.1727758532671953;
4346 v = 0.2203093105575464e-3;
4347 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4348 a = 0.2091492038929037;
4349 v = 0.2349294234299855e-3;
4350 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4351 a = 0.2458813281751915;
4352 v = 0.2467682058747003e-3;
4353 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4354 a = 0.2826545859450066;
4355 v = 0.2563092683572224e-3;
4356 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4357 a = 0.3191957291799622;
4358 v = 0.2639253896763318e-3;
4359 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4360 a = 0.3552621469299578;
4361 v = 0.2699137479265108e-3;
4362 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4363 a = 0.3906329503406230;
4364 v = 0.2745196420166739e-3;
4365 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4366 a = 0.4251028614093031;
4367 v = 0.2779529197397593e-3;
4368 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4369 a = 0.4584777520111870;
4370 v = 0.2803996086684265e-3;
4371 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4372 a = 0.4905711358710193;
4373 v = 0.2820302356715842e-3;
4374 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4375 a = 0.5212011669847385;
4376 v = 0.2830056747491068e-3;
4377 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4378 a = 0.5501878488737995;
4379 v = 0.2834808950776839e-3;
4380 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4381 a = 0.6025037877479342;
4382 v = 0.2835282339078929e-3;
4383 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4384 a = 0.6254572689549016;
4385 v = 0.2833819267065800e-3;
4386 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4387 a = 0.6460107179528248;
4388 v = 0.2832858336906784e-3;
4389 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4390 a = 0.6639541138154251;
4391 v = 0.2833268235451244e-3;
4392 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4393 a = 0.6790688515667495;
4394 v = 0.2835432677029253e-3;
4395 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4396 a = 0.6911338580371512;
4397 v = 0.2839091722743049e-3;
4398 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4399 a = 0.6999385956126490;
4400 v = 0.2843308178875841e-3;
4401 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4402 a = 0.7053037748656896;
4403 v = 0.2846703550533846e-3;
4404 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4405 a = 0.4732224387180115e-1;
4406 v = 0.1051193406971900e-3;
4407 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4408 a = 0.1202100529326803;
4409 v = 0.1657871838796974e-3;
4410 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4411 a = 0.2034304820664855;
4412 v = 0.2064648113714232e-3;
4413 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4414 a = 0.2912285643573002;
4415 v = 0.2347942745819741e-3;
4416 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4417 a = 0.3802361792726768;
4418 v = 0.2547775326597726e-3;
4419 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4420 a = 0.4680598511056146;
4421 v = 0.2686876684847025e-3;
4422 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4423 a = 0.5528151052155599;
4424 v = 0.2778665755515867e-3;
4425 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4426 a = 0.6329386307803041;
4427 v = 0.2830996616782929e-3;
4428 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4429 a = 0.8056516651369069e-1;
4430 b = 0.2363454684003124e-1;
4431 v = 0.1403063340168372e-3;
4432 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4433 a = 0.1156476077139389;
4434 b = 0.5191291632545936e-1;
4435 v = 0.1696504125939477e-3;
4436 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4437 a = 0.1520473382760421;
4438 b = 0.8322715736994519e-1;
4439 v = 0.1935787242745390e-3;
4440 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4441 a = 0.1892986699745931;
4442 b = 0.1165855667993712;
4443 v = 0.2130614510521968e-3;
4444 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4445 a = 0.2270194446777792;
4446 b = 0.1513077167409504;
4447 v = 0.2289381265931048e-3;
4448 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4449 a = 0.2648908185093273;
4450 b = 0.1868882025807859;
4451 v = 0.2418630292816186e-3;
4452 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4453 a = 0.3026389259574136;
4454 b = 0.2229277629776224;
4455 v = 0.2523400495631193e-3;
4456 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4457 a = 0.3400220296151384;
4458 b = 0.2590951840746235;
4459 v = 0.2607623973449605e-3;
4460 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4461 a = 0.3768217953335510;
4462 b = 0.2951047291750847;
4463 v = 0.2674441032689209e-3;
4464 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4465 a = 0.4128372900921884;
4466 b = 0.3307019714169930;
4467 v = 0.2726432360343356e-3;
4468 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4469 a = 0.4478807131815630;
4470 b = 0.3656544101087634;
4471 v = 0.2765787685924545e-3;
4472 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4473 a = 0.4817742034089257;
4474 b = 0.3997448951939695;
4475 v = 0.2794428690642224e-3;
4476 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4477 a = 0.5143472814653344;
4478 b = 0.4327667110812024;
4479 v = 0.2814099002062895e-3;
4480 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4481 a = 0.5454346213905650;
4482 b = 0.4645196123532293;
4483 v = 0.2826429531578994e-3;
4484 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4485 a = 0.5748739313170252;
4486 b = 0.4948063555703345;
4487 v = 0.2832983542550884e-3;
4488 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4489 a = 0.1599598738286342;
4490 b = 0.2792357590048985e-1;
4491 v = 0.1886695565284976e-3;
4492 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4493 a = 0.1998097412500951;
4494 b = 0.5877141038139065e-1;
4495 v = 0.2081867882748234e-3;
4496 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4497 a = 0.2396228952566202;
4498 b = 0.9164573914691377e-1;
4499 v = 0.2245148680600796e-3;
4500 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4501 a = 0.2792228341097746;
4502 b = 0.1259049641962687;
4503 v = 0.2380370491511872e-3;
4504 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4505 a = 0.3184251107546741;
4506 b = 0.1610594823400863;
4507 v = 0.2491398041852455e-3;
4508 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4509 a = 0.3570481164426244;
4510 b = 0.1967151653460898;
4511 v = 0.2581632405881230e-3;
4512 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4513 a = 0.3949164710492144;
4514 b = 0.2325404606175168;
4515 v = 0.2653965506227417e-3;
4516 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4517 a = 0.4318617293970503;
4518 b = 0.2682461141151439;
4519 v = 0.2710857216747087e-3;
4520 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4521 a = 0.4677221009931678;
4522 b = 0.3035720116011973;
4523 v = 0.2754434093903659e-3;
4524 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4525 a = 0.5023417939270955;
4526 b = 0.3382781859197439;
4527 v = 0.2786579932519380e-3;
4528 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4529 a = 0.5355701836636128;
4530 b = 0.3721383065625942;
4531 v = 0.2809011080679474e-3;
4532 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4533 a = 0.5672608451328771;
4534 b = 0.4049346360466055;
4535 v = 0.2823336184560987e-3;
4536 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4537 a = 0.5972704202540162;
4538 b = 0.4364538098633802;
4539 v = 0.2831101175806309e-3;
4540 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4541 a = 0.2461687022333596;
4542 b = 0.3070423166833368e-1;
4543 v = 0.2221679970354546e-3;
4544 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4545 a = 0.2881774566286831;
4546 b = 0.6338034669281885e-1;
4547 v = 0.2356185734270703e-3;
4548 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4549 a = 0.3293963604116978;
4550 b = 0.9742862487067941e-1;
4551 v = 0.2469228344805590e-3;
4552 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4553 a = 0.3697303822241377;
4554 b = 0.1323799532282290;
4555 v = 0.2562726348642046e-3;
4556 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4557 a = 0.4090663023135127;
4558 b = 0.1678497018129336;
4559 v = 0.2638756726753028e-3;
4560 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4561 a = 0.4472819355411712;
4562 b = 0.2035095105326114;
4563 v = 0.2699311157390862e-3;
4564 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4565 a = 0.4842513377231437;
4566 b = 0.2390692566672091;
4567 v = 0.2746233268403837e-3;
4568 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4569 a = 0.5198477629962928;
4570 b = 0.2742649818076149;
4571 v = 0.2781225674454771e-3;
4572 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4573 a = 0.5539453011883145;
4574 b = 0.3088503806580094;
4575 v = 0.2805881254045684e-3;
4576 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4577 a = 0.5864196762401251;
4578 b = 0.3425904245906614;
4579 v = 0.2821719877004913e-3;
4580 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4581 a = 0.6171484466668390;
4582 b = 0.3752562294789468;
4583 v = 0.2830222502333124e-3;
4584 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4585 a = 0.3350337830565727;
4586 b = 0.3261589934634747e-1;
4587 v = 0.2457995956744870e-3;
4588 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4589 a = 0.3775773224758284;
4590 b = 0.6658438928081572e-1;
4591 v = 0.2551474407503706e-3;
4592 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4593 a = 0.4188155229848973;
4594 b = 0.1014565797157954;
4595 v = 0.2629065335195311e-3;
4596 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4597 a = 0.4586805892009344;
4598 b = 0.1368573320843822;
4599 v = 0.2691900449925075e-3;
4600 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4601 a = 0.4970895714224235;
4602 b = 0.1724614851951608;
4603 v = 0.2741275485754276e-3;
4604 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4605 a = 0.5339505133960747;
4606 b = 0.2079779381416412;
4607 v = 0.2778530970122595e-3;
4608 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4609 a = 0.5691665792531440;
4610 b = 0.2431385788322288;
4611 v = 0.2805010567646741e-3;
4612 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4613 a = 0.6026387682680377;
4614 b = 0.2776901883049853;
4615 v = 0.2822055834031040e-3;
4616 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4617 a = 0.6342676150163307;
4618 b = 0.3113881356386632;
4619 v = 0.2831016901243473e-3;
4620 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4621 a = 0.4237951119537067;
4622 b = 0.3394877848664351e-1;
4623 v = 0.2624474901131803e-3;
4624 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4625 a = 0.4656918683234929;
4626 b = 0.6880219556291447e-1;
4627 v = 0.2688034163039377e-3;
4628 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4629 a = 0.5058857069185980;
4630 b = 0.1041946859721635;
4631 v = 0.2738932751287636e-3;
4632 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4633 a = 0.5443204666713996;
4634 b = 0.1398039738736393;
4635 v = 0.2777944791242523e-3;
4636 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4637 a = 0.5809298813759742;
4638 b = 0.1753373381196155;
4639 v = 0.2806011661660987e-3;
4640 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4641 a = 0.6156416039447128;
4642 b = 0.2105215793514010;
4643 v = 0.2824181456597460e-3;
4644 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4645 a = 0.6483801351066604;
4646 b = 0.2450953312157051;
4647 v = 0.2833585216577828e-3;
4648 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4649 a = 0.5103616577251688;
4650 b = 0.3485560643800719e-1;
4651 v = 0.2738165236962878e-3;
4652 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4653 a = 0.5506738792580681;
4654 b = 0.7026308631512033e-1;
4655 v = 0.2778365208203180e-3;
4656 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4657 a = 0.5889573040995292;
4658 b = 0.1059035061296403;
4659 v = 0.2807852940418966e-3;
4660 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4661 a = 0.6251641589516930;
4662 b = 0.1414823925236026;
4663 v = 0.2827245949674705e-3;
4664 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4665 a = 0.6592414921570178;
4666 b = 0.1767207908214530;
4667 v = 0.2837342344829828e-3;
4668 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4669 a = 0.5930314017533384;
4670 b = 0.3542189339561672e-1;
4671 v = 0.2809233907610981e-3;
4672 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4673 a = 0.6309812253390175;
4674 b = 0.7109574040369549e-1;
4675 v = 0.2829930809742694e-3;
4676 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4677 a = 0.6666296011353230;
4678 b = 0.1067259792282730;
4679 v = 0.2841097874111479e-3;
4680 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4681 a = 0.6703715271049922;
4682 b = 0.3569455268820809e-1;
4683 v = 0.2843455206008783e-3;
4684 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4685 n = n - 1;
4686
4687 return;
4688}
4689//****************************************************************************80
4690
4691void LebedevGrid::ld4334(double *x, double *y, double *z, double *w) const
4692
4693//****************************************************************************80
4694//
4695// Purpose:
4696//
4697// LD4334 computes the 4334 point Lebedev angular grid.
4698//
4699// Modified:
4700//
4701// 12 September 2010
4702//
4703// Author:
4704//
4705// Dmitri Laikov
4706//
4707// Reference:
4708//
4709// Vyacheslav Lebedev, Dmitri Laikov,
4710// A quadrature formula for the sphere of the 131st
4711// algebraic order of accuracy,
4712// Russian Academy of Sciences Doklady Mathematics,
4713// Volume 59, Number 3, 1999, pages 477-481.
4714//
4715// Parameters:
4716//
4717// Output, double X[N], Y[N], Z[N], W[N], the coordinates
4718// and weights of the points.
4719//
4720{
4721 double a = 0.0;
4722 double b = 0.0;
4723 Index n;
4724 double v;
4725
4726 n = 0;
4727 v = 0.1449063022537883e-4;
4728 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
4729 v = 0.2546377329828424e-3;
4730 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
4731 a = 0.1462896151831013e-1;
4732 v = 0.6018432961087496e-4;
4733 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4734 a = 0.3769840812493139e-1;
4735 v = 0.1002286583263673e-3;
4736 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4737 a = 0.6524701904096891e-1;
4738 v = 0.1315222931028093e-3;
4739 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4740 a = 0.9560543416134648e-1;
4741 v = 0.1564213746876724e-3;
4742 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4743 a = 0.1278335898929198;
4744 v = 0.1765118841507736e-3;
4745 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4746 a = 0.1613096104466031;
4747 v = 0.1928737099311080e-3;
4748 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4749 a = 0.1955806225745371;
4750 v = 0.2062658534263270e-3;
4751 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4752 a = 0.2302935218498028;
4753 v = 0.2172395445953787e-3;
4754 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4755 a = 0.2651584344113027;
4756 v = 0.2262076188876047e-3;
4757 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4758 a = 0.2999276825183209;
4759 v = 0.2334885699462397e-3;
4760 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4761 a = 0.3343828669718798;
4762 v = 0.2393355273179203e-3;
4763 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4764 a = 0.3683265013750518;
4765 v = 0.2439559200468863e-3;
4766 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4767 a = 0.4015763206518108;
4768 v = 0.2475251866060002e-3;
4769 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4770 a = 0.4339612026399770;
4771 v = 0.2501965558158773e-3;
4772 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4773 a = 0.4653180651114582;
4774 v = 0.2521081407925925e-3;
4775 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4776 a = 0.4954893331080803;
4777 v = 0.2533881002388081e-3;
4778 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4779 a = 0.5243207068924930;
4780 v = 0.2541582900848261e-3;
4781 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4782 a = 0.5516590479041704;
4783 v = 0.2545365737525860e-3;
4784 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4785 a = 0.6012371927804176;
4786 v = 0.2545726993066799e-3;
4787 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4788 a = 0.6231574466449819;
4789 v = 0.2544456197465555e-3;
4790 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4791 a = 0.6429416514181271;
4792 v = 0.2543481596881064e-3;
4793 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4794 a = 0.6604124272943595;
4795 v = 0.2543506451429194e-3;
4796 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4797 a = 0.6753851470408250;
4798 v = 0.2544905675493763e-3;
4799 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4800 a = 0.6876717970626160;
4801 v = 0.2547611407344429e-3;
4802 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4803 a = 0.6970895061319234;
4804 v = 0.2551060375448869e-3;
4805 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4806 a = 0.7034746912553310;
4807 v = 0.2554291933816039e-3;
4808 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4809 a = 0.7067017217542295;
4810 v = 0.2556255710686343e-3;
4811 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
4812 a = 0.4382223501131123e-1;
4813 v = 0.9041339695118195e-4;
4814 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4815 a = 0.1117474077400006;
4816 v = 0.1438426330079022e-3;
4817 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4818 a = 0.1897153252911440;
4819 v = 0.1802523089820518e-3;
4820 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4821 a = 0.2724023009910331;
4822 v = 0.2060052290565496e-3;
4823 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4824 a = 0.3567163308709902;
4825 v = 0.2245002248967466e-3;
4826 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4827 a = 0.4404784483028087;
4828 v = 0.2377059847731150e-3;
4829 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4830 a = 0.5219833154161411;
4831 v = 0.2468118955882525e-3;
4832 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4833 a = 0.5998179868977553;
4834 v = 0.2525410872966528e-3;
4835 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4836 a = 0.6727803154548222;
4837 v = 0.2553101409933397e-3;
4838 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
4839 a = 0.7476563943166086e-1;
4840 b = 0.2193168509461185e-1;
4841 v = 0.1212879733668632e-3;
4842 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4843 a = 0.1075341482001416;
4844 b = 0.4826419281533887e-1;
4845 v = 0.1472872881270931e-3;
4846 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4847 a = 0.1416344885203259;
4848 b = 0.7751191883575742e-1;
4849 v = 0.1686846601010828e-3;
4850 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4851 a = 0.1766325315388586;
4852 b = 0.1087558139247680;
4853 v = 0.1862698414660208e-3;
4854 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4855 a = 0.2121744174481514;
4856 b = 0.1413661374253096;
4857 v = 0.2007430956991861e-3;
4858 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4859 a = 0.2479669443408145;
4860 b = 0.1748768214258880;
4861 v = 0.2126568125394796e-3;
4862 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4863 a = 0.2837600452294113;
4864 b = 0.2089216406612073;
4865 v = 0.2224394603372113e-3;
4866 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4867 a = 0.3193344933193984;
4868 b = 0.2431987685545972;
4869 v = 0.2304264522673135e-3;
4870 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4871 a = 0.3544935442438745;
4872 b = 0.2774497054377770;
4873 v = 0.2368854288424087e-3;
4874 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4875 a = 0.3890571932288154;
4876 b = 0.3114460356156915;
4877 v = 0.2420352089461772e-3;
4878 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4879 a = 0.4228581214259090;
4880 b = 0.3449806851913012;
4881 v = 0.2460597113081295e-3;
4882 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4883 a = 0.4557387211304052;
4884 b = 0.3778618641248256;
4885 v = 0.2491181912257687e-3;
4886 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4887 a = 0.4875487950541643;
4888 b = 0.4099086391698978;
4889 v = 0.2513528194205857e-3;
4890 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4891 a = 0.5181436529962997;
4892 b = 0.4409474925853973;
4893 v = 0.2528943096693220e-3;
4894 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4895 a = 0.5473824095600661;
4896 b = 0.4708094517711291;
4897 v = 0.2538660368488136e-3;
4898 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4899 a = 0.5751263398976174;
4900 b = 0.4993275140354637;
4901 v = 0.2543868648299022e-3;
4902 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4903 a = 0.1489515746840028;
4904 b = 0.2599381993267017e-1;
4905 v = 0.1642595537825183e-3;
4906 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4907 a = 0.1863656444351767;
4908 b = 0.5479286532462190e-1;
4909 v = 0.1818246659849308e-3;
4910 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4911 a = 0.2238602880356348;
4912 b = 0.8556763251425254e-1;
4913 v = 0.1966565649492420e-3;
4914 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4915 a = 0.2612723375728160;
4916 b = 0.1177257802267011;
4917 v = 0.2090677905657991e-3;
4918 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4919 a = 0.2984332990206190;
4920 b = 0.1508168456192700;
4921 v = 0.2193820409510504e-3;
4922 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4923 a = 0.3351786584663333;
4924 b = 0.1844801892177727;
4925 v = 0.2278870827661928e-3;
4926 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4927 a = 0.3713505522209120;
4928 b = 0.2184145236087598;
4929 v = 0.2348283192282090e-3;
4930 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4931 a = 0.4067981098954663;
4932 b = 0.2523590641486229;
4933 v = 0.2404139755581477e-3;
4934 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4935 a = 0.4413769993687534;
4936 b = 0.2860812976901373;
4937 v = 0.2448227407760734e-3;
4938 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4939 a = 0.4749487182516394;
4940 b = 0.3193686757808996;
4941 v = 0.2482110455592573e-3;
4942 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4943 a = 0.5073798105075426;
4944 b = 0.3520226949547602;
4945 v = 0.2507192397774103e-3;
4946 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4947 a = 0.5385410448878654;
4948 b = 0.3838544395667890;
4949 v = 0.2524765968534880e-3;
4950 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4951 a = 0.5683065353670530;
4952 b = 0.4146810037640963;
4953 v = 0.2536052388539425e-3;
4954 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4955 a = 0.5965527620663510;
4956 b = 0.4443224094681121;
4957 v = 0.2542230588033068e-3;
4958 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4959 a = 0.2299227700856157;
4960 b = 0.2865757664057584e-1;
4961 v = 0.1944817013047896e-3;
4962 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4963 a = 0.2695752998553267;
4964 b = 0.5923421684485993e-1;
4965 v = 0.2067862362746635e-3;
4966 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4967 a = 0.3086178716611389;
4968 b = 0.9117817776057715e-1;
4969 v = 0.2172440734649114e-3;
4970 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4971 a = 0.3469649871659077;
4972 b = 0.1240593814082605;
4973 v = 0.2260125991723423e-3;
4974 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4975 a = 0.3845153566319655;
4976 b = 0.1575272058259175;
4977 v = 0.2332655008689523e-3;
4978 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4979 a = 0.4211600033403215;
4980 b = 0.1912845163525413;
4981 v = 0.2391699681532458e-3;
4982 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4983 a = 0.4567867834329882;
4984 b = 0.2250710177858171;
4985 v = 0.2438801528273928e-3;
4986 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4987 a = 0.4912829319232061;
4988 b = 0.2586521303440910;
4989 v = 0.2475370504260665e-3;
4990 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4991 a = 0.5245364793303812;
4992 b = 0.2918112242865407;
4993 v = 0.2502707235640574e-3;
4994 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4995 a = 0.5564369788915756;
4996 b = 0.3243439239067890;
4997 v = 0.2522031701054241e-3;
4998 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
4999 a = 0.5868757697775287;
5000 b = 0.3560536787835351;
5001 v = 0.2534511269978784e-3;
5002 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5003 a = 0.6157458853519617;
5004 b = 0.3867480821242581;
5005 v = 0.2541284914955151e-3;
5006 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5007 a = 0.3138461110672113;
5008 b = 0.3051374637507278e-1;
5009 v = 0.2161509250688394e-3;
5010 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5011 a = 0.3542495872050569;
5012 b = 0.6237111233730755e-1;
5013 v = 0.2248778513437852e-3;
5014 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5015 a = 0.3935751553120181;
5016 b = 0.9516223952401907e-1;
5017 v = 0.2322388803404617e-3;
5018 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5019 a = 0.4317634668111147;
5020 b = 0.1285467341508517;
5021 v = 0.2383265471001355e-3;
5022 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5023 a = 0.4687413842250821;
5024 b = 0.1622318931656033;
5025 v = 0.2432476675019525e-3;
5026 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5027 a = 0.5044274237060283;
5028 b = 0.1959581153836453;
5029 v = 0.2471122223750674e-3;
5030 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5031 a = 0.5387354077925727;
5032 b = 0.2294888081183837;
5033 v = 0.2500291752486870e-3;
5034 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5035 a = 0.5715768898356105;
5036 b = 0.2626031152713945;
5037 v = 0.2521055942764682e-3;
5038 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5039 a = 0.6028627200136111;
5040 b = 0.2950904075286713;
5041 v = 0.2534472785575503e-3;
5042 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5043 a = 0.6325039812653463;
5044 b = 0.3267458451113286;
5045 v = 0.2541599713080121e-3;
5046 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5047 a = 0.3981986708423407;
5048 b = 0.3183291458749821e-1;
5049 v = 0.2317380975862936e-3;
5050 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5051 a = 0.4382791182133300;
5052 b = 0.6459548193880908e-1;
5053 v = 0.2378550733719775e-3;
5054 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5055 a = 0.4769233057218166;
5056 b = 0.9795757037087952e-1;
5057 v = 0.2428884456739118e-3;
5058 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5059 a = 0.5140823911194238;
5060 b = 0.1316307235126655;
5061 v = 0.2469002655757292e-3;
5062 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5063 a = 0.5496977833862983;
5064 b = 0.1653556486358704;
5065 v = 0.2499657574265851e-3;
5066 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5067 a = 0.5837047306512727;
5068 b = 0.1988931724126510;
5069 v = 0.2521676168486082e-3;
5070 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5071 a = 0.6160349566926879;
5072 b = 0.2320174581438950;
5073 v = 0.2535935662645334e-3;
5074 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5075 a = 0.6466185353209440;
5076 b = 0.2645106562168662;
5077 v = 0.2543356743363214e-3;
5078 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5079 a = 0.4810835158795404;
5080 b = 0.3275917807743992e-1;
5081 v = 0.2427353285201535e-3;
5082 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5083 a = 0.5199925041324341;
5084 b = 0.6612546183967181e-1;
5085 v = 0.2468258039744386e-3;
5086 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5087 a = 0.5571717692207494;
5088 b = 0.9981498331474143e-1;
5089 v = 0.2500060956440310e-3;
5090 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5091 a = 0.5925789250836378;
5092 b = 0.1335687001410374;
5093 v = 0.2523238365420979e-3;
5094 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5095 a = 0.6261658523859670;
5096 b = 0.1671444402896463;
5097 v = 0.2538399260252846e-3;
5098 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5099 a = 0.6578811126669331;
5100 b = 0.2003106382156076;
5101 v = 0.2546255927268069e-3;
5102 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5103 a = 0.5609624612998100;
5104 b = 0.3337500940231335e-1;
5105 v = 0.2500583360048449e-3;
5106 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5107 a = 0.5979959659984670;
5108 b = 0.6708750335901803e-1;
5109 v = 0.2524777638260203e-3;
5110 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5111 a = 0.6330523711054002;
5112 b = 0.1008792126424850;
5113 v = 0.2540951193860656e-3;
5114 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5115 a = 0.6660960998103972;
5116 b = 0.1345050343171794;
5117 v = 0.2549524085027472e-3;
5118 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5119 a = 0.6365384364585819;
5120 b = 0.3372799460737052e-1;
5121 v = 0.2542569507009158e-3;
5122 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5123 a = 0.6710994302899275;
5124 b = 0.6755249309678028e-1;
5125 v = 0.2552114127580376e-3;
5126 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5127 n = n - 1;
5128
5129 return;
5130}
5131//****************************************************************************80
5132
5133void LebedevGrid::ld4802(double *x, double *y, double *z, double *w) const
5134
5135//****************************************************************************80
5136//
5137// Purpose:
5138//
5139// LD4802 computes the 4802 point Lebedev angular grid.
5140//
5141// Modified:
5142//
5143// 12 September 2010
5144//
5145// Author:
5146//
5147// Dmitri Laikov
5148//
5149// Reference:
5150//
5151// Vyacheslav Lebedev, Dmitri Laikov,
5152// A quadrature formula for the sphere of the 131st
5153// algebraic order of accuracy,
5154// Russian Academy of Sciences Doklady Mathematics,
5155// Volume 59, Number 3, 1999, pages 477-481.
5156//
5157// Parameters:
5158//
5159// Output, double X[N], Y[N], Z[N], W[N], the coordinates
5160// and weights of the points.
5161//
5162{
5163 double a = 0.0;
5164 double b = 0.0;
5165 Index n;
5166 double v;
5167
5168 n = 0;
5169 v = 0.9687521879420705e-4;
5170 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
5171 v = 0.2307897895367918e-3;
5172 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
5173 v = 0.2297310852498558e-3;
5174 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
5175 a = 0.2335728608887064e-1;
5176 v = 0.7386265944001919e-4;
5177 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5178 a = 0.4352987836550653e-1;
5179 v = 0.8257977698542210e-4;
5180 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5181 a = 0.6439200521088801e-1;
5182 v = 0.9706044762057630e-4;
5183 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5184 a = 0.9003943631993181e-1;
5185 v = 0.1302393847117003e-3;
5186 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5187 a = 0.1196706615548473;
5188 v = 0.1541957004600968e-3;
5189 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5190 a = 0.1511715412838134;
5191 v = 0.1704459770092199e-3;
5192 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5193 a = 0.1835982828503801;
5194 v = 0.1827374890942906e-3;
5195 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5196 a = 0.2165081259155405;
5197 v = 0.1926360817436107e-3;
5198 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5199 a = 0.2496208720417563;
5200 v = 0.2008010239494833e-3;
5201 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5202 a = 0.2827200673567900;
5203 v = 0.2075635983209175e-3;
5204 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5205 a = 0.3156190823994346;
5206 v = 0.2131306638690909e-3;
5207 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5208 a = 0.3481476793749115;
5209 v = 0.2176562329937335e-3;
5210 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5211 a = 0.3801466086947226;
5212 v = 0.2212682262991018e-3;
5213 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5214 a = 0.4114652119634011;
5215 v = 0.2240799515668565e-3;
5216 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5217 a = 0.4419598786519751;
5218 v = 0.2261959816187525e-3;
5219 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5220 a = 0.4714925949329543;
5221 v = 0.2277156368808855e-3;
5222 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5223 a = 0.4999293972879466;
5224 v = 0.2287351772128336e-3;
5225 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5226 a = 0.5271387221431248;
5227 v = 0.2293490814084085e-3;
5228 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5229 a = 0.5529896780837761;
5230 v = 0.2296505312376273e-3;
5231 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5232 a = 0.6000856099481712;
5233 v = 0.2296793832318756e-3;
5234 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5235 a = 0.6210562192785175;
5236 v = 0.2295785443842974e-3;
5237 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5238 a = 0.6401165879934240;
5239 v = 0.2295017931529102e-3;
5240 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5241 a = 0.6571144029244334;
5242 v = 0.2295059638184868e-3;
5243 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5244 a = 0.6718910821718863;
5245 v = 0.2296232343237362e-3;
5246 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5247 a = 0.6842845591099010;
5248 v = 0.2298530178740771e-3;
5249 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5250 a = 0.6941353476269816;
5251 v = 0.2301579790280501e-3;
5252 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5253 a = 0.7012965242212991;
5254 v = 0.2304690404996513e-3;
5255 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5256 a = 0.7056471428242644;
5257 v = 0.2307027995907102e-3;
5258 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5259 a = 0.4595557643585895e-1;
5260 v = 0.9312274696671092e-4;
5261 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5262 a = 0.1049316742435023;
5263 v = 0.1199919385876926e-3;
5264 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5265 a = 0.1773548879549274;
5266 v = 0.1598039138877690e-3;
5267 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5268 a = 0.2559071411236127;
5269 v = 0.1822253763574900e-3;
5270 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5271 a = 0.3358156837985898;
5272 v = 0.1988579593655040e-3;
5273 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5274 a = 0.4155835743763893;
5275 v = 0.2112620102533307e-3;
5276 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5277 a = 0.4937894296167472;
5278 v = 0.2201594887699007e-3;
5279 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5280 a = 0.5691569694793316;
5281 v = 0.2261622590895036e-3;
5282 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5283 a = 0.6405840854894251;
5284 v = 0.2296458453435705e-3;
5285 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5286 a = 0.7345133894143348e-1;
5287 b = 0.2177844081486067e-1;
5288 v = 0.1006006990267000e-3;
5289 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5290 a = 0.1009859834044931;
5291 b = 0.4590362185775188e-1;
5292 v = 0.1227676689635876e-3;
5293 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5294 a = 0.1324289619748758;
5295 b = 0.7255063095690877e-1;
5296 v = 0.1467864280270117e-3;
5297 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5298 a = 0.1654272109607127;
5299 b = 0.1017825451960684;
5300 v = 0.1644178912101232e-3;
5301 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5302 a = 0.1990767186776461;
5303 b = 0.1325652320980364;
5304 v = 0.1777664890718961e-3;
5305 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5306 a = 0.2330125945523278;
5307 b = 0.1642765374496765;
5308 v = 0.1884825664516690e-3;
5309 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5310 a = 0.2670080611108287;
5311 b = 0.1965360374337889;
5312 v = 0.1973269246453848e-3;
5313 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5314 a = 0.3008753376294316;
5315 b = 0.2290726770542238;
5316 v = 0.2046767775855328e-3;
5317 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5318 a = 0.3344475596167860;
5319 b = 0.2616645495370823;
5320 v = 0.2107600125918040e-3;
5321 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5322 a = 0.3675709724070786;
5323 b = 0.2941150728843141;
5324 v = 0.2157416362266829e-3;
5325 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5326 a = 0.4001000887587812;
5327 b = 0.3262440400919066;
5328 v = 0.2197557816920721e-3;
5329 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5330 a = 0.4318956350436028;
5331 b = 0.3578835350611916;
5332 v = 0.2229192611835437e-3;
5333 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5334 a = 0.4628239056795531;
5335 b = 0.3888751854043678;
5336 v = 0.2253385110212775e-3;
5337 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5338 a = 0.4927563229773636;
5339 b = 0.4190678003222840;
5340 v = 0.2271137107548774e-3;
5341 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5342 a = 0.5215687136707969;
5343 b = 0.4483151836883852;
5344 v = 0.2283414092917525e-3;
5345 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5346 a = 0.5491402346984905;
5347 b = 0.4764740676087880;
5348 v = 0.2291161673130077e-3;
5349 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5350 a = 0.5753520160126075;
5351 b = 0.5034021310998277;
5352 v = 0.2295313908576598e-3;
5353 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5354 a = 0.1388326356417754;
5355 b = 0.2435436510372806e-1;
5356 v = 0.1438204721359031e-3;
5357 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5358 a = 0.1743686900537244;
5359 b = 0.5118897057342652e-1;
5360 v = 0.1607738025495257e-3;
5361 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5362 a = 0.2099737037950268;
5363 b = 0.8014695048539634e-1;
5364 v = 0.1741483853528379e-3;
5365 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5366 a = 0.2454492590908548;
5367 b = 0.1105117874155699;
5368 v = 0.1851918467519151e-3;
5369 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5370 a = 0.2807219257864278;
5371 b = 0.1417950531570966;
5372 v = 0.1944628638070613e-3;
5373 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5374 a = 0.3156842271975842;
5375 b = 0.1736604945719597;
5376 v = 0.2022495446275152e-3;
5377 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5378 a = 0.3502090945177752;
5379 b = 0.2058466324693981;
5380 v = 0.2087462382438514e-3;
5381 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5382 a = 0.3841684849519686;
5383 b = 0.2381284261195919;
5384 v = 0.2141074754818308e-3;
5385 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5386 a = 0.4174372367906016;
5387 b = 0.2703031270422569;
5388 v = 0.2184640913748162e-3;
5389 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5390 a = 0.4498926465011892;
5391 b = 0.3021845683091309;
5392 v = 0.2219309165220329e-3;
5393 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5394 a = 0.4814146229807701;
5395 b = 0.3335993355165720;
5396 v = 0.2246123118340624e-3;
5397 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5398 a = 0.5118863625734701;
5399 b = 0.3643833735518232;
5400 v = 0.2266062766915125e-3;
5401 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5402 a = 0.5411947455119144;
5403 b = 0.3943789541958179;
5404 v = 0.2280072952230796e-3;
5405 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5406 a = 0.5692301500357246;
5407 b = 0.4234320144403542;
5408 v = 0.2289082025202583e-3;
5409 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5410 a = 0.5958857204139576;
5411 b = 0.4513897947419260;
5412 v = 0.2294012695120025e-3;
5413 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5414 a = 0.2156270284785766;
5415 b = 0.2681225755444491e-1;
5416 v = 0.1722434488736947e-3;
5417 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5418 a = 0.2532385054909710;
5419 b = 0.5557495747805614e-1;
5420 v = 0.1830237421455091e-3;
5421 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5422 a = 0.2902564617771537;
5423 b = 0.8569368062950249e-1;
5424 v = 0.1923855349997633e-3;
5425 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5426 a = 0.3266979823143256;
5427 b = 0.1167367450324135;
5428 v = 0.2004067861936271e-3;
5429 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5430 a = 0.3625039627493614;
5431 b = 0.1483861994003304;
5432 v = 0.2071817297354263e-3;
5433 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5434 a = 0.3975838937548699;
5435 b = 0.1803821503011405;
5436 v = 0.2128250834102103e-3;
5437 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5438 a = 0.4318396099009774;
5439 b = 0.2124962965666424;
5440 v = 0.2174513719440102e-3;
5441 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5442 a = 0.4651706555732742;
5443 b = 0.2445221837805913;
5444 v = 0.2211661839150214e-3;
5445 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5446 a = 0.4974752649620969;
5447 b = 0.2762701224322987;
5448 v = 0.2240665257813102e-3;
5449 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5450 a = 0.5286517579627517;
5451 b = 0.3075627775211328;
5452 v = 0.2262439516632620e-3;
5453 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5454 a = 0.5586001195731895;
5455 b = 0.3382311089826877;
5456 v = 0.2277874557231869e-3;
5457 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5458 a = 0.5872229902021319;
5459 b = 0.3681108834741399;
5460 v = 0.2287854314454994e-3;
5461 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5462 a = 0.6144258616235123;
5463 b = 0.3970397446872839;
5464 v = 0.2293268499615575e-3;
5465 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5466 a = 0.2951676508064861;
5467 b = 0.2867499538750441e-1;
5468 v = 0.1912628201529828e-3;
5469 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5470 a = 0.3335085485472725;
5471 b = 0.5867879341903510e-1;
5472 v = 0.1992499672238701e-3;
5473 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5474 a = 0.3709561760636381;
5475 b = 0.8961099205022284e-1;
5476 v = 0.2061275533454027e-3;
5477 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5478 a = 0.4074722861667498;
5479 b = 0.1211627927626297;
5480 v = 0.2119318215968572e-3;
5481 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5482 a = 0.4429923648839117;
5483 b = 0.1530748903554898;
5484 v = 0.2167416581882652e-3;
5485 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5486 a = 0.4774428052721736;
5487 b = 0.1851176436721877;
5488 v = 0.2206430730516600e-3;
5489 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5490 a = 0.5107446539535904;
5491 b = 0.2170829107658179;
5492 v = 0.2237186938699523e-3;
5493 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5494 a = 0.5428151370542935;
5495 b = 0.2487786689026271;
5496 v = 0.2260480075032884e-3;
5497 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5498 a = 0.5735699292556964;
5499 b = 0.2800239952795016;
5500 v = 0.2277098884558542e-3;
5501 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5502 a = 0.6029253794562866;
5503 b = 0.3106445702878119;
5504 v = 0.2287845715109671e-3;
5505 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5506 a = 0.6307998987073145;
5507 b = 0.3404689500841194;
5508 v = 0.2293547268236294e-3;
5509 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5510 a = 0.3752652273692719;
5511 b = 0.2997145098184479e-1;
5512 v = 0.2056073839852528e-3;
5513 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5514 a = 0.4135383879344028;
5515 b = 0.6086725898678011e-1;
5516 v = 0.2114235865831876e-3;
5517 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5518 a = 0.4506113885153907;
5519 b = 0.9238849548435643e-1;
5520 v = 0.2163175629770551e-3;
5521 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5522 a = 0.4864401554606072;
5523 b = 0.1242786603851851;
5524 v = 0.2203392158111650e-3;
5525 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5526 a = 0.5209708076611709;
5527 b = 0.1563086731483386;
5528 v = 0.2235473176847839e-3;
5529 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5530 a = 0.5541422135830122;
5531 b = 0.1882696509388506;
5532 v = 0.2260024141501235e-3;
5533 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5534 a = 0.5858880915113817;
5535 b = 0.2199672979126059;
5536 v = 0.2277675929329182e-3;
5537 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5538 a = 0.6161399390603444;
5539 b = 0.2512165482924867;
5540 v = 0.2289102112284834e-3;
5541 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5542 a = 0.6448296482255090;
5543 b = 0.2818368701871888;
5544 v = 0.2295027954625118e-3;
5545 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5546 a = 0.4544796274917948;
5547 b = 0.3088970405060312e-1;
5548 v = 0.2161281589879992e-3;
5549 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5550 a = 0.4919389072146628;
5551 b = 0.6240947677636835e-1;
5552 v = 0.2201980477395102e-3;
5553 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5554 a = 0.5279313026985183;
5555 b = 0.9430706144280313e-1;
5556 v = 0.2234952066593166e-3;
5557 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5558 a = 0.5624169925571135;
5559 b = 0.1263547818770374;
5560 v = 0.2260540098520838e-3;
5561 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5562 a = 0.5953484627093287;
5563 b = 0.1583430788822594;
5564 v = 0.2279157981899988e-3;
5565 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5566 a = 0.6266730715339185;
5567 b = 0.1900748462555988;
5568 v = 0.2291296918565571e-3;
5569 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5570 a = 0.6563363204278871;
5571 b = 0.2213599519592567;
5572 v = 0.2297533752536649e-3;
5573 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5574 a = 0.5314574716585696;
5575 b = 0.3152508811515374e-1;
5576 v = 0.2234927356465995e-3;
5577 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5578 a = 0.5674614932298185;
5579 b = 0.6343865291465561e-1;
5580 v = 0.2261288012985219e-3;
5581 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5582 a = 0.6017706004970264;
5583 b = 0.9551503504223951e-1;
5584 v = 0.2280818160923688e-3;
5585 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5586 a = 0.6343471270264178;
5587 b = 0.1275440099801196;
5588 v = 0.2293773295180159e-3;
5589 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5590 a = 0.6651494599127802;
5591 b = 0.1593252037671960;
5592 v = 0.2300528767338634e-3;
5593 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5594 a = 0.6050184986005704;
5595 b = 0.3192538338496105e-1;
5596 v = 0.2281893855065666e-3;
5597 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5598 a = 0.6390163550880400;
5599 b = 0.6402824353962306e-1;
5600 v = 0.2295720444840727e-3;
5601 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5602 a = 0.6711199107088448;
5603 b = 0.9609805077002909e-1;
5604 v = 0.2303227649026753e-3;
5605 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5606 a = 0.6741354429572275;
5607 b = 0.3211853196273233e-1;
5608 v = 0.2304831913227114e-3;
5609 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5610 n = n - 1;
5611
5612 return;
5613}
5614//****************************************************************************80
5615
5616void LebedevGrid::ld5294(double *x, double *y, double *z, double *w) const
5617
5618//****************************************************************************80
5619//
5620// Purpose:
5621//
5622// LD5294 computes the 5294 point Lebedev angular grid.
5623//
5624// Modified:
5625//
5626// 12 September 2010
5627//
5628// Author:
5629//
5630// Dmitri Laikov
5631//
5632// Reference:
5633//
5634// Vyacheslav Lebedev, Dmitri Laikov,
5635// A quadrature formula for the sphere of the 131st
5636// algebraic order of accuracy,
5637// Russian Academy of Sciences Doklady Mathematics,
5638// Volume 59, Number 3, 1999, pages 477-481.
5639//
5640// Parameters:
5641//
5642// Output, double X[N], Y[N], Z[N], W[N], the coordinates
5643// and weights of the points.
5644//
5645{
5646 double a = 0.0;
5647 double b = 0.0;
5648 Index n;
5649 double v;
5650
5651 n = 0;
5652 v = 0.9080510764308163e-4;
5653 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
5654 v = 0.2084824361987793e-3;
5655 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
5656 a = 0.2303261686261450e-1;
5657 v = 0.5011105657239616e-4;
5658 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5659 a = 0.3757208620162394e-1;
5660 v = 0.5942520409683854e-4;
5661 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5662 a = 0.5821912033821852e-1;
5663 v = 0.9564394826109721e-4;
5664 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5665 a = 0.8403127529194872e-1;
5666 v = 0.1185530657126338e-3;
5667 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5668 a = 0.1122927798060578;
5669 v = 0.1364510114230331e-3;
5670 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5671 a = 0.1420125319192987;
5672 v = 0.1505828825605415e-3;
5673 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5674 a = 0.1726396437341978;
5675 v = 0.1619298749867023e-3;
5676 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5677 a = 0.2038170058115696;
5678 v = 0.1712450504267789e-3;
5679 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5680 a = 0.2352849892876508;
5681 v = 0.1789891098164999e-3;
5682 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5683 a = 0.2668363354312461;
5684 v = 0.1854474955629795e-3;
5685 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5686 a = 0.2982941279900452;
5687 v = 0.1908148636673661e-3;
5688 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5689 a = 0.3295002922087076;
5690 v = 0.1952377405281833e-3;
5691 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5692 a = 0.3603094918363593;
5693 v = 0.1988349254282232e-3;
5694 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5695 a = 0.3905857895173920;
5696 v = 0.2017079807160050e-3;
5697 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5698 a = 0.4202005758160837;
5699 v = 0.2039473082709094e-3;
5700 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5701 a = 0.4490310061597227;
5702 v = 0.2056360279288953e-3;
5703 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5704 a = 0.4769586160311491;
5705 v = 0.2068525823066865e-3;
5706 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5707 a = 0.5038679887049750;
5708 v = 0.2076724877534488e-3;
5709 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5710 a = 0.5296454286519961;
5711 v = 0.2081694278237885e-3;
5712 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5713 a = 0.5541776207164850;
5714 v = 0.2084157631219326e-3;
5715 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5716 a = 0.5990467321921213;
5717 v = 0.2084381531128593e-3;
5718 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5719 a = 0.6191467096294587;
5720 v = 0.2083476277129307e-3;
5721 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5722 a = 0.6375251212901849;
5723 v = 0.2082686194459732e-3;
5724 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5725 a = 0.6540514381131168;
5726 v = 0.2082475686112415e-3;
5727 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5728 a = 0.6685899064391510;
5729 v = 0.2083139860289915e-3;
5730 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5731 a = 0.6810013009681648;
5732 v = 0.2084745561831237e-3;
5733 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5734 a = 0.6911469578730340;
5735 v = 0.2087091313375890e-3;
5736 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5737 a = 0.6988956915141736;
5738 v = 0.2089718413297697e-3;
5739 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5740 a = 0.7041335794868720;
5741 v = 0.2092003303479793e-3;
5742 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5743 a = 0.7067754398018567;
5744 v = 0.2093336148263241e-3;
5745 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
5746 a = 0.3840368707853623e-1;
5747 v = 0.7591708117365267e-4;
5748 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5749 a = 0.9835485954117399e-1;
5750 v = 0.1083383968169186e-3;
5751 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5752 a = 0.1665774947612998;
5753 v = 0.1403019395292510e-3;
5754 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5755 a = 0.2405702335362910;
5756 v = 0.1615970179286436e-3;
5757 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5758 a = 0.3165270770189046;
5759 v = 0.1771144187504911e-3;
5760 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5761 a = 0.3927386145645443;
5762 v = 0.1887760022988168e-3;
5763 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5764 a = 0.4678825918374656;
5765 v = 0.1973474670768214e-3;
5766 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5767 a = 0.5408022024266935;
5768 v = 0.2033787661234659e-3;
5769 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5770 a = 0.6104967445752438;
5771 v = 0.2072343626517331e-3;
5772 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5773 a = 0.6760910702685738;
5774 v = 0.2091177834226918e-3;
5775 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
5776 a = 0.6655644120217392e-1;
5777 b = 0.1936508874588424e-1;
5778 v = 0.9316684484675566e-4;
5779 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5780 a = 0.9446246161270182e-1;
5781 b = 0.4252442002115869e-1;
5782 v = 0.1116193688682976e-3;
5783 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5784 a = 0.1242651925452509;
5785 b = 0.6806529315354374e-1;
5786 v = 0.1298623551559414e-3;
5787 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5788 a = 0.1553438064846751;
5789 b = 0.9560957491205369e-1;
5790 v = 0.1450236832456426e-3;
5791 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5792 a = 0.1871137110542670;
5793 b = 0.1245931657452888;
5794 v = 0.1572719958149914e-3;
5795 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5796 a = 0.2192612628836257;
5797 b = 0.1545385828778978;
5798 v = 0.1673234785867195e-3;
5799 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5800 a = 0.2515682807206955;
5801 b = 0.1851004249723368;
5802 v = 0.1756860118725188e-3;
5803 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5804 a = 0.2838535866287290;
5805 b = 0.2160182608272384;
5806 v = 0.1826776290439367e-3;
5807 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5808 a = 0.3159578817528521;
5809 b = 0.2470799012277111;
5810 v = 0.1885116347992865e-3;
5811 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5812 a = 0.3477370882791392;
5813 b = 0.2781014208986402;
5814 v = 0.1933457860170574e-3;
5815 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5816 a = 0.3790576960890540;
5817 b = 0.3089172523515731;
5818 v = 0.1973060671902064e-3;
5819 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5820 a = 0.4097938317810200;
5821 b = 0.3393750055472244;
5822 v = 0.2004987099616311e-3;
5823 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5824 a = 0.4398256572859637;
5825 b = 0.3693322470987730;
5826 v = 0.2030170909281499e-3;
5827 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5828 a = 0.4690384114718480;
5829 b = 0.3986541005609877;
5830 v = 0.2049461460119080e-3;
5831 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5832 a = 0.4973216048301053;
5833 b = 0.4272112491408562;
5834 v = 0.2063653565200186e-3;
5835 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5836 a = 0.5245681526132446;
5837 b = 0.4548781735309936;
5838 v = 0.2073507927381027e-3;
5839 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5840 a = 0.5506733911803888;
5841 b = 0.4815315355023251;
5842 v = 0.2079764593256122e-3;
5843 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5844 a = 0.5755339829522475;
5845 b = 0.5070486445801855;
5846 v = 0.2083150534968778e-3;
5847 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5848 a = 0.1305472386056362;
5849 b = 0.2284970375722366e-1;
5850 v = 0.1262715121590664e-3;
5851 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5852 a = 0.1637327908216477;
5853 b = 0.4812254338288384e-1;
5854 v = 0.1414386128545972e-3;
5855 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5856 a = 0.1972734634149637;
5857 b = 0.7531734457511935e-1;
5858 v = 0.1538740401313898e-3;
5859 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5860 a = 0.2308694653110130;
5861 b = 0.1039043639882017;
5862 v = 0.1642434942331432e-3;
5863 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5864 a = 0.2643899218338160;
5865 b = 0.1334526587117626;
5866 v = 0.1729790609237496e-3;
5867 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5868 a = 0.2977171599622171;
5869 b = 0.1636414868936382;
5870 v = 0.1803505190260828e-3;
5871 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5872 a = 0.3307293903032310;
5873 b = 0.1942195406166568;
5874 v = 0.1865475350079657e-3;
5875 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5876 a = 0.3633069198219073;
5877 b = 0.2249752879943753;
5878 v = 0.1917182669679069e-3;
5879 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5880 a = 0.3953346955922727;
5881 b = 0.2557218821820032;
5882 v = 0.1959851709034382e-3;
5883 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5884 a = 0.4267018394184914;
5885 b = 0.2862897925213193;
5886 v = 0.1994529548117882e-3;
5887 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5888 a = 0.4573009622571704;
5889 b = 0.3165224536636518;
5890 v = 0.2022138911146548e-3;
5891 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5892 a = 0.4870279559856109;
5893 b = 0.3462730221636496;
5894 v = 0.2043518024208592e-3;
5895 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5896 a = 0.5157819581450322;
5897 b = 0.3754016870282835;
5898 v = 0.2059450313018110e-3;
5899 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5900 a = 0.5434651666465393;
5901 b = 0.4037733784993613;
5902 v = 0.2070685715318472e-3;
5903 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5904 a = 0.5699823887764627;
5905 b = 0.4312557784139123;
5906 v = 0.2077955310694373e-3;
5907 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5908 a = 0.5952403350947741;
5909 b = 0.4577175367122110;
5910 v = 0.2081980387824712e-3;
5911 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5912 a = 0.2025152599210369;
5913 b = 0.2520253617719557e-1;
5914 v = 0.1521318610377956e-3;
5915 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5916 a = 0.2381066653274425;
5917 b = 0.5223254506119000e-1;
5918 v = 0.1622772720185755e-3;
5919 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5920 a = 0.2732823383651612;
5921 b = 0.8060669688588620e-1;
5922 v = 0.1710498139420709e-3;
5923 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5924 a = 0.3080137692611118;
5925 b = 0.1099335754081255;
5926 v = 0.1785911149448736e-3;
5927 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5928 a = 0.3422405614587601;
5929 b = 0.1399120955959857;
5930 v = 0.1850125313687736e-3;
5931 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5932 a = 0.3758808773890420;
5933 b = 0.1702977801651705;
5934 v = 0.1904229703933298e-3;
5935 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5936 a = 0.4088458383438932;
5937 b = 0.2008799256601680;
5938 v = 0.1949259956121987e-3;
5939 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5940 a = 0.4410450550841152;
5941 b = 0.2314703052180836;
5942 v = 0.1986161545363960e-3;
5943 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5944 a = 0.4723879420561312;
5945 b = 0.2618972111375892;
5946 v = 0.2015790585641370e-3;
5947 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5948 a = 0.5027843561874343;
5949 b = 0.2920013195600270;
5950 v = 0.2038934198707418e-3;
5951 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5952 a = 0.5321453674452458;
5953 b = 0.3216322555190551;
5954 v = 0.2056334060538251e-3;
5955 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5956 a = 0.5603839113834030;
5957 b = 0.3506456615934198;
5958 v = 0.2068705959462289e-3;
5959 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5960 a = 0.5874150706875146;
5961 b = 0.3789007181306267;
5962 v = 0.2076753906106002e-3;
5963 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5964 a = 0.6131559381660038;
5965 b = 0.4062580170572782;
5966 v = 0.2081179391734803e-3;
5967 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5968 a = 0.2778497016394506;
5969 b = 0.2696271276876226e-1;
5970 v = 0.1700345216228943e-3;
5971 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5972 a = 0.3143733562261912;
5973 b = 0.5523469316960465e-1;
5974 v = 0.1774906779990410e-3;
5975 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5976 a = 0.3501485810261827;
5977 b = 0.8445193201626464e-1;
5978 v = 0.1839659377002642e-3;
5979 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5980 a = 0.3851430322303653;
5981 b = 0.1143263119336083;
5982 v = 0.1894987462975169e-3;
5983 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5984 a = 0.4193013979470415;
5985 b = 0.1446177898344475;
5986 v = 0.1941548809452595e-3;
5987 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5988 a = 0.4525585960458567;
5989 b = 0.1751165438438091;
5990 v = 0.1980078427252384e-3;
5991 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5992 a = 0.4848447779622947;
5993 b = 0.2056338306745660;
5994 v = 0.2011296284744488e-3;
5995 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
5996 a = 0.5160871208276894;
5997 b = 0.2359965487229226;
5998 v = 0.2035888456966776e-3;
5999 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6000 a = 0.5462112185696926;
6001 b = 0.2660430223139146;
6002 v = 0.2054516325352142e-3;
6003 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6004 a = 0.5751425068101757;
6005 b = 0.2956193664498032;
6006 v = 0.2067831033092635e-3;
6007 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6008 a = 0.6028073872853596;
6009 b = 0.3245763905312779;
6010 v = 0.2076485320284876e-3;
6011 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6012 a = 0.6291338275278409;
6013 b = 0.3527670026206972;
6014 v = 0.2081141439525255e-3;
6015 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6016 a = 0.3541797528439391;
6017 b = 0.2823853479435550e-1;
6018 v = 0.1834383015469222e-3;
6019 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6020 a = 0.3908234972074657;
6021 b = 0.5741296374713106e-1;
6022 v = 0.1889540591777677e-3;
6023 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6024 a = 0.4264408450107590;
6025 b = 0.8724646633650199e-1;
6026 v = 0.1936677023597375e-3;
6027 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6028 a = 0.4609949666553286;
6029 b = 0.1175034422915616;
6030 v = 0.1976176495066504e-3;
6031 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6032 a = 0.4944389496536006;
6033 b = 0.1479755652628428;
6034 v = 0.2008536004560983e-3;
6035 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6036 a = 0.5267194884346086;
6037 b = 0.1784740659484352;
6038 v = 0.2034280351712291e-3;
6039 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6040 a = 0.5577787810220990;
6041 b = 0.2088245700431244;
6042 v = 0.2053944466027758e-3;
6043 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6044 a = 0.5875563763536670;
6045 b = 0.2388628136570763;
6046 v = 0.2068077642882360e-3;
6047 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6048 a = 0.6159910016391269;
6049 b = 0.2684308928769185;
6050 v = 0.2077250949661599e-3;
6051 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6052 a = 0.6430219602956268;
6053 b = 0.2973740761960252;
6054 v = 0.2082062440705320e-3;
6055 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6056 a = 0.4300647036213646;
6057 b = 0.2916399920493977e-1;
6058 v = 0.1934374486546626e-3;
6059 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6060 a = 0.4661486308935531;
6061 b = 0.5898803024755659e-1;
6062 v = 0.1974107010484300e-3;
6063 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6064 a = 0.5009658555287261;
6065 b = 0.8924162698525409e-1;
6066 v = 0.2007129290388658e-3;
6067 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6068 a = 0.5344824270447704;
6069 b = 0.1197185199637321;
6070 v = 0.2033736947471293e-3;
6071 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6072 a = 0.5666575997416371;
6073 b = 0.1502300756161382;
6074 v = 0.2054287125902493e-3;
6075 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6076 a = 0.5974457471404752;
6077 b = 0.1806004191913564;
6078 v = 0.2069184936818894e-3;
6079 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6080 a = 0.6267984444116886;
6081 b = 0.2106621764786252;
6082 v = 0.2078883689808782e-3;
6083 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6084 a = 0.6546664713575417;
6085 b = 0.2402526932671914;
6086 v = 0.2083886366116359e-3;
6087 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6088 a = 0.5042711004437253;
6089 b = 0.2982529203607657e-1;
6090 v = 0.2006593275470817e-3;
6091 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6092 a = 0.5392127456774380;
6093 b = 0.6008728062339922e-1;
6094 v = 0.2033728426135397e-3;
6095 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6096 a = 0.5726819437668618;
6097 b = 0.9058227674571398e-1;
6098 v = 0.2055008781377608e-3;
6099 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6100 a = 0.6046469254207278;
6101 b = 0.1211219235803400;
6102 v = 0.2070651783518502e-3;
6103 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6104 a = 0.6350716157434952;
6105 b = 0.1515286404791580;
6106 v = 0.2080953335094320e-3;
6107 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6108 a = 0.6639177679185454;
6109 b = 0.1816314681255552;
6110 v = 0.2086284998988521e-3;
6111 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6112 a = 0.5757276040972253;
6113 b = 0.3026991752575440e-1;
6114 v = 0.2055549387644668e-3;
6115 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6116 a = 0.6090265823139755;
6117 b = 0.6078402297870770e-1;
6118 v = 0.2071871850267654e-3;
6119 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6120 a = 0.6406735344387661;
6121 b = 0.9135459984176636e-1;
6122 v = 0.2082856600431965e-3;
6123 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6124 a = 0.6706397927793709;
6125 b = 0.1218024155966590;
6126 v = 0.2088705858819358e-3;
6127 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6128 a = 0.6435019674426665;
6129 b = 0.3052608357660639e-1;
6130 v = 0.2083995867536322e-3;
6131 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6132 a = 0.6747218676375681;
6133 b = 0.6112185773983089e-1;
6134 v = 0.2090509712889637e-3;
6135 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6136 n = n - 1;
6137
6138 return;
6139}
6140//****************************************************************************80
6141
6142void LebedevGrid::ld5810(double *x, double *y, double *z, double *w) const
6143
6144//****************************************************************************80
6145//
6146// Purpose:
6147//
6148// LD5810 computes the 5810 point Lebedev angular grid.
6149//
6150// Modified:
6151//
6152// 12 September 2010
6153//
6154// Author:
6155//
6156// Dmitri Laikov
6157//
6158// Reference:
6159//
6160// Vyacheslav Lebedev, Dmitri Laikov,
6161// A quadrature formula for the sphere of the 131st
6162// algebraic order of accuracy,
6163// Russian Academy of Sciences Doklady Mathematics,
6164// Volume 59, Number 3, 1999, pages 477-481.
6165//
6166// Parameters:
6167//
6168// Output, double X[N], Y[N], Z[N], W[N], the coordinates
6169// and weights of the points.
6170//
6171{
6172 double a = 0.0;
6173 double b = 0.0;
6174 Index n;
6175 double v;
6176
6177 n = 0;
6178 v = 0.9735347946175486e-5;
6179 n = n + gen_oh(1, a, b, v, x + n, y + n, z + n, w + n);
6180 v = 0.1907581241803167e-3;
6181 n = n + gen_oh(2, a, b, v, x + n, y + n, z + n, w + n);
6182 v = 0.1901059546737578e-3;
6183 n = n + gen_oh(3, a, b, v, x + n, y + n, z + n, w + n);
6184 a = 0.1182361662400277e-1;
6185 v = 0.3926424538919212e-4;
6186 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6187 a = 0.3062145009138958e-1;
6188 v = 0.6667905467294382e-4;
6189 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6190 a = 0.5329794036834243e-1;
6191 v = 0.8868891315019135e-4;
6192 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6193 a = 0.7848165532862220e-1;
6194 v = 0.1066306000958872e-3;
6195 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6196 a = 0.1054038157636201;
6197 v = 0.1214506743336128e-3;
6198 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6199 a = 0.1335577797766211;
6200 v = 0.1338054681640871e-3;
6201 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6202 a = 0.1625769955502252;
6203 v = 0.1441677023628504e-3;
6204 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6205 a = 0.1921787193412792;
6206 v = 0.1528880200826557e-3;
6207 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6208 a = 0.2221340534690548;
6209 v = 0.1602330623773609e-3;
6210 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6211 a = 0.2522504912791132;
6212 v = 0.1664102653445244e-3;
6213 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6214 a = 0.2823610860679697;
6215 v = 0.1715845854011323e-3;
6216 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6217 a = 0.3123173966267560;
6218 v = 0.1758901000133069e-3;
6219 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6220 a = 0.3419847036953789;
6221 v = 0.1794382485256736e-3;
6222 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6223 a = 0.3712386456999758;
6224 v = 0.1823238106757407e-3;
6225 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6226 a = 0.3999627649876828;
6227 v = 0.1846293252959976e-3;
6228 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6229 a = 0.4280466458648093;
6230 v = 0.1864284079323098e-3;
6231 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6232 a = 0.4553844360185711;
6233 v = 0.1877882694626914e-3;
6234 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6235 a = 0.4818736094437834;
6236 v = 0.1887716321852025e-3;
6237 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6238 a = 0.5074138709260629;
6239 v = 0.1894381638175673e-3;
6240 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6241 a = 0.5319061304570707;
6242 v = 0.1898454899533629e-3;
6243 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6244 a = 0.5552514978677286;
6245 v = 0.1900497929577815e-3;
6246 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6247 a = 0.5981009025246183;
6248 v = 0.1900671501924092e-3;
6249 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6250 a = 0.6173990192228116;
6251 v = 0.1899837555533510e-3;
6252 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6253 a = 0.6351365239411131;
6254 v = 0.1899014113156229e-3;
6255 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6256 a = 0.6512010228227200;
6257 v = 0.1898581257705106e-3;
6258 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6259 a = 0.6654758363948120;
6260 v = 0.1898804756095753e-3;
6261 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6262 a = 0.6778410414853370;
6263 v = 0.1899793610426402e-3;
6264 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6265 a = 0.6881760887484110;
6266 v = 0.1901464554844117e-3;
6267 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6268 a = 0.6963645267094598;
6269 v = 0.1903533246259542e-3;
6270 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6271 a = 0.7023010617153579;
6272 v = 0.1905556158463228e-3;
6273 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6274 a = 0.7059004636628753;
6275 v = 0.1907037155663528e-3;
6276 n = n + gen_oh(4, a, b, v, x + n, y + n, z + n, w + n);
6277 a = 0.3552470312472575e-1;
6278 v = 0.5992997844249967e-4;
6279 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
6280 a = 0.9151176620841283e-1;
6281 v = 0.9749059382456978e-4;
6282 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
6283 a = 0.1566197930068980;
6284 v = 0.1241680804599158e-3;
6285 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
6286 a = 0.2265467599271907;
6287 v = 0.1437626154299360e-3;
6288 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
6289 a = 0.2988242318581361;
6290 v = 0.1584200054793902e-3;
6291 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
6292 a = 0.3717482419703886;
6293 v = 0.1694436550982744e-3;
6294 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
6295 a = 0.4440094491758889;
6296 v = 0.1776617014018108e-3;
6297 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
6298 a = 0.5145337096756642;
6299 v = 0.1836132434440077e-3;
6300 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
6301 a = 0.5824053672860230;
6302 v = 0.1876494727075983e-3;
6303 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
6304 a = 0.6468283961043370;
6305 v = 0.1899906535336482e-3;
6306 n = n + gen_oh(5, a, b, v, x + n, y + n, z + n, w + n);
6307 a = 0.6095964259104373e-1;
6308 b = 0.1787828275342931e-1;
6309 v = 0.8143252820767350e-4;
6310 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6311 a = 0.8811962270959388e-1;
6312 b = 0.3953888740792096e-1;
6313 v = 0.9998859890887728e-4;
6314 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6315 a = 0.1165936722428831;
6316 b = 0.6378121797722990e-1;
6317 v = 0.1156199403068359e-3;
6318 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6319 a = 0.1460232857031785;
6320 b = 0.8985890813745037e-1;
6321 v = 0.1287632092635513e-3;
6322 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6323 a = 0.1761197110181755;
6324 b = 0.1172606510576162;
6325 v = 0.1398378643365139e-3;
6326 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6327 a = 0.2066471190463718;
6328 b = 0.1456102876970995;
6329 v = 0.1491876468417391e-3;
6330 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6331 a = 0.2374076026328152;
6332 b = 0.1746153823011775;
6333 v = 0.1570855679175456e-3;
6334 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6335 a = 0.2682305474337051;
6336 b = 0.2040383070295584;
6337 v = 0.1637483948103775e-3;
6338 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6339 a = 0.2989653312142369;
6340 b = 0.2336788634003698;
6341 v = 0.1693500566632843e-3;
6342 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6343 a = 0.3294762752772209;
6344 b = 0.2633632752654219;
6345 v = 0.1740322769393633e-3;
6346 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6347 a = 0.3596390887276086;
6348 b = 0.2929369098051601;
6349 v = 0.1779126637278296e-3;
6350 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6351 a = 0.3893383046398812;
6352 b = 0.3222592785275512;
6353 v = 0.1810908108835412e-3;
6354 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6355 a = 0.4184653789358347;
6356 b = 0.3512004791195743;
6357 v = 0.1836529132600190e-3;
6358 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6359 a = 0.4469172319076166;
6360 b = 0.3796385677684537;
6361 v = 0.1856752841777379e-3;
6362 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6363 a = 0.4745950813276976;
6364 b = 0.4074575378263879;
6365 v = 0.1872270566606832e-3;
6366 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6367 a = 0.5014034601410262;
6368 b = 0.4345456906027828;
6369 v = 0.1883722645591307e-3;
6370 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6371 a = 0.5272493404551239;
6372 b = 0.4607942515205134;
6373 v = 0.1891714324525297e-3;
6374 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6375 a = 0.5520413051846366;
6376 b = 0.4860961284181720;
6377 v = 0.1896827480450146e-3;
6378 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6379 a = 0.5756887237503077;
6380 b = 0.5103447395342790;
6381 v = 0.1899628417059528e-3;
6382 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6383 a = 0.1225039430588352;
6384 b = 0.2136455922655793e-1;
6385 v = 0.1123301829001669e-3;
6386 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6387 a = 0.1539113217321372;
6388 b = 0.4520926166137188e-1;
6389 v = 0.1253698826711277e-3;
6390 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6391 a = 0.1856213098637712;
6392 b = 0.7086468177864818e-1;
6393 v = 0.1366266117678531e-3;
6394 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6395 a = 0.2174998728035131;
6396 b = 0.9785239488772918e-1;
6397 v = 0.1462736856106918e-3;
6398 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6399 a = 0.2494128336938330;
6400 b = 0.1258106396267210;
6401 v = 0.1545076466685412e-3;
6402 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6403 a = 0.2812321562143480;
6404 b = 0.1544529125047001;
6405 v = 0.1615096280814007e-3;
6406 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6407 a = 0.3128372276456111;
6408 b = 0.1835433512202753;
6409 v = 0.1674366639741759e-3;
6410 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6411 a = 0.3441145160177973;
6412 b = 0.2128813258619585;
6413 v = 0.1724225002437900e-3;
6414 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6415 a = 0.3749567714853510;
6416 b = 0.2422913734880829;
6417 v = 0.1765810822987288e-3;
6418 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6419 a = 0.4052621732015610;
6420 b = 0.2716163748391453;
6421 v = 0.1800104126010751e-3;
6422 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6423 a = 0.4349335453522385;
6424 b = 0.3007127671240280;
6425 v = 0.1827960437331284e-3;
6426 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6427 a = 0.4638776641524965;
6428 b = 0.3294470677216479;
6429 v = 0.1850140300716308e-3;
6430 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6431 a = 0.4920046410462687;
6432 b = 0.3576932543699155;
6433 v = 0.1867333507394938e-3;
6434 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6435 a = 0.5192273554861704;
6436 b = 0.3853307059757764;
6437 v = 0.1880178688638289e-3;
6438 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6439 a = 0.5454609081136522;
6440 b = 0.4122425044452694;
6441 v = 0.1889278925654758e-3;
6442 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6443 a = 0.5706220661424140;
6444 b = 0.4383139587781027;
6445 v = 0.1895213832507346e-3;
6446 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6447 a = 0.5946286755181518;
6448 b = 0.4634312536300553;
6449 v = 0.1898548277397420e-3;
6450 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6451 a = 0.1905370790924295;
6452 b = 0.2371311537781979e-1;
6453 v = 0.1349105935937341e-3;
6454 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6455 a = 0.2242518717748009;
6456 b = 0.4917878059254806e-1;
6457 v = 0.1444060068369326e-3;
6458 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6459 a = 0.2577190808025936;
6460 b = 0.7595498960495142e-1;
6461 v = 0.1526797390930008e-3;
6462 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6463 a = 0.2908724534927187;
6464 b = 0.1036991083191100;
6465 v = 0.1598208771406474e-3;
6466 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6467 a = 0.3236354020056219;
6468 b = 0.1321348584450234;
6469 v = 0.1659354368615331e-3;
6470 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6471 a = 0.3559267359304543;
6472 b = 0.1610316571314789;
6473 v = 0.1711279910946440e-3;
6474 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6475 a = 0.3876637123676956;
6476 b = 0.1901912080395707;
6477 v = 0.1754952725601440e-3;
6478 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6479 a = 0.4187636705218842;
6480 b = 0.2194384950137950;
6481 v = 0.1791247850802529e-3;
6482 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6483 a = 0.4491449019883107;
6484 b = 0.2486155334763858;
6485 v = 0.1820954300877716e-3;
6486 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6487 a = 0.4787270932425445;
6488 b = 0.2775768931812335;
6489 v = 0.1844788524548449e-3;
6490 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6491 a = 0.5074315153055574;
6492 b = 0.3061863786591120;
6493 v = 0.1863409481706220e-3;
6494 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6495 a = 0.5351810507738336;
6496 b = 0.3343144718152556;
6497 v = 0.1877433008795068e-3;
6498 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6499 a = 0.5619001025975381;
6500 b = 0.3618362729028427;
6501 v = 0.1887444543705232e-3;
6502 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6503 a = 0.5875144035268046;
6504 b = 0.3886297583620408;
6505 v = 0.1894009829375006e-3;
6506 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6507 a = 0.6119507308734495;
6508 b = 0.4145742277792031;
6509 v = 0.1897683345035198e-3;
6510 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6511 a = 0.2619733870119463;
6512 b = 0.2540047186389353e-1;
6513 v = 0.1517327037467653e-3;
6514 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6515 a = 0.2968149743237949;
6516 b = 0.5208107018543989e-1;
6517 v = 0.1587740557483543e-3;
6518 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6519 a = 0.3310451504860488;
6520 b = 0.7971828470885599e-1;
6521 v = 0.1649093382274097e-3;
6522 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6523 a = 0.3646215567376676;
6524 b = 0.1080465999177927;
6525 v = 0.1701915216193265e-3;
6526 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6527 a = 0.3974916785279360;
6528 b = 0.1368413849366629;
6529 v = 0.1746847753144065e-3;
6530 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6531 a = 0.4295967403772029;
6532 b = 0.1659073184763559;
6533 v = 0.1784555512007570e-3;
6534 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6535 a = 0.4608742854473447;
6536 b = 0.1950703730454614;
6537 v = 0.1815687562112174e-3;
6538 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6539 a = 0.4912598858949903;
6540 b = 0.2241721144376724;
6541 v = 0.1840864370663302e-3;
6542 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6543 a = 0.5206882758945558;
6544 b = 0.2530655255406489;
6545 v = 0.1860676785390006e-3;
6546 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6547 a = 0.5490940914019819;
6548 b = 0.2816118409731066;
6549 v = 0.1875690583743703e-3;
6550 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6551 a = 0.5764123302025542;
6552 b = 0.3096780504593238;
6553 v = 0.1886453236347225e-3;
6554 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6555 a = 0.6025786004213506;
6556 b = 0.3371348366394987;
6557 v = 0.1893501123329645e-3;
6558 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6559 a = 0.6275291964794956;
6560 b = 0.3638547827694396;
6561 v = 0.1897366184519868e-3;
6562 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6563 a = 0.3348189479861771;
6564 b = 0.2664841935537443e-1;
6565 v = 0.1643908815152736e-3;
6566 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6567 a = 0.3699515545855295;
6568 b = 0.5424000066843495e-1;
6569 v = 0.1696300350907768e-3;
6570 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6571 a = 0.4042003071474669;
6572 b = 0.8251992715430854e-1;
6573 v = 0.1741553103844483e-3;
6574 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6575 a = 0.4375320100182624;
6576 b = 0.1112695182483710;
6577 v = 0.1780015282386092e-3;
6578 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6579 a = 0.4699054490335947;
6580 b = 0.1402964116467816;
6581 v = 0.1812116787077125e-3;
6582 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6583 a = 0.5012739879431952;
6584 b = 0.1694275117584291;
6585 v = 0.1838323158085421e-3;
6586 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6587 a = 0.5315874883754966;
6588 b = 0.1985038235312689;
6589 v = 0.1859113119837737e-3;
6590 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6591 a = 0.5607937109622117;
6592 b = 0.2273765660020893;
6593 v = 0.1874969220221698e-3;
6594 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6595 a = 0.5888393223495521;
6596 b = 0.2559041492849764;
6597 v = 0.1886375612681076e-3;
6598 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6599 a = 0.6156705979160163;
6600 b = 0.2839497251976899;
6601 v = 0.1893819575809276e-3;
6602 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6603 a = 0.6412338809078123;
6604 b = 0.3113791060500690;
6605 v = 0.1897794748256767e-3;
6606 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6607 a = 0.4076051259257167;
6608 b = 0.2757792290858463e-1;
6609 v = 0.1738963926584846e-3;
6610 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6611 a = 0.4423788125791520;
6612 b = 0.5584136834984293e-1;
6613 v = 0.1777442359873466e-3;
6614 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6615 a = 0.4760480917328258;
6616 b = 0.8457772087727143e-1;
6617 v = 0.1810010815068719e-3;
6618 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6619 a = 0.5085838725946297;
6620 b = 0.1135975846359248;
6621 v = 0.1836920318248129e-3;
6622 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6623 a = 0.5399513637391218;
6624 b = 0.1427286904765053;
6625 v = 0.1858489473214328e-3;
6626 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6627 a = 0.5701118433636380;
6628 b = 0.1718112740057635;
6629 v = 0.1875079342496592e-3;
6630 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6631 a = 0.5990240530606021;
6632 b = 0.2006944855985351;
6633 v = 0.1887080239102310e-3;
6634 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6635 a = 0.6266452685139695;
6636 b = 0.2292335090598907;
6637 v = 0.1894905752176822e-3;
6638 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6639 a = 0.6529320971415942;
6640 b = 0.2572871512353714;
6641 v = 0.1898991061200695e-3;
6642 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6643 a = 0.4791583834610126;
6644 b = 0.2826094197735932e-1;
6645 v = 0.1809065016458791e-3;
6646 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6647 a = 0.5130373952796940;
6648 b = 0.5699871359683649e-1;
6649 v = 0.1836297121596799e-3;
6650 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6651 a = 0.5456252429628476;
6652 b = 0.8602712528554394e-1;
6653 v = 0.1858426916241869e-3;
6654 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6655 a = 0.5768956329682385;
6656 b = 0.1151748137221281;
6657 v = 0.1875654101134641e-3;
6658 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6659 a = 0.6068186944699046;
6660 b = 0.1442811654136362;
6661 v = 0.1888240751833503e-3;
6662 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6663 a = 0.6353622248024907;
6664 b = 0.1731930321657680;
6665 v = 0.1896497383866979e-3;
6666 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6667 a = 0.6624927035731797;
6668 b = 0.2017619958756061;
6669 v = 0.1900775530219121e-3;
6670 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6671 a = 0.5484933508028488;
6672 b = 0.2874219755907391e-1;
6673 v = 0.1858525041478814e-3;
6674 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6675 a = 0.5810207682142106;
6676 b = 0.5778312123713695e-1;
6677 v = 0.1876248690077947e-3;
6678 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6679 a = 0.6120955197181352;
6680 b = 0.8695262371439526e-1;
6681 v = 0.1889404439064607e-3;
6682 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6683 a = 0.6416944284294319;
6684 b = 0.1160893767057166;
6685 v = 0.1898168539265290e-3;
6686 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6687 a = 0.6697926391731260;
6688 b = 0.1450378826743251;
6689 v = 0.1902779940661772e-3;
6690 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6691 a = 0.6147594390585488;
6692 b = 0.2904957622341456e-1;
6693 v = 0.1890125641731815e-3;
6694 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6695 a = 0.6455390026356783;
6696 b = 0.5823809152617197e-1;
6697 v = 0.1899434637795751e-3;
6698 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6699 a = 0.6747258588365477;
6700 b = 0.8740384899884715e-1;
6701 v = 0.1904520856831751e-3;
6702 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6703 a = 0.6772135750395347;
6704 b = 0.2919946135808105e-1;
6705 v = 0.1905534498734563e-3;
6706 n = n + gen_oh(6, a, b, v, x + n, y + n, z + n, w + n);
6707 n = n - 1;
6708
6709 return;
6710}
6711//****************************************************************************80
6712
6714
6715//****************************************************************************80
6716//
6717// Purpose:
6718//
6719// ORDER_TABLE returns the order of a Lebedev rule.
6720//
6721// Modified:
6722//
6723// 11 September 2010
6724//
6725// Author:
6726//
6727// John Burkardt
6728//
6729// Reference:
6730//
6731// Vyacheslav Lebedev, Dmitri Laikov,
6732// A quadrature formula for the sphere of the 131st
6733// algebraic order of accuracy,
6734// Russian Academy of Sciences Doklady Mathematics,
6735// Volume 59, Number 3, 1999, pages 477-481.
6736//
6737// Parameters:
6738//
6739// Input, Index RULE, the index of the rule, between 1 and 65.
6740//
6741// Output, Index ORDER_TABLE, the order of the rule.
6742//
6743{
6744 Index rule_max = 65;
6745 Index table[65] = {6, 14, 26, 38, 50, 74, 86, 110, 146, 170,
6746 194, 230, 266, 302, 350, 386, 434, 482, 530, 590,
6747 650, 698, 770, 830, 890, 974, 1046, 1118, 1202, 1274,
6748 1358, 1454, 1538, 1622, 1730, 1814, 1910, 2030, 2126, 2222,
6749 2354, 2450, 2558, 2702, 2810, 2930, 3074, 3182, 3314, 3470,
6750 3590, 3722, 3890, 4010, 4154, 4334, 4466, 4610, 4802, 4934,
6751 5090, 5294, 5438, 5606, 5810};
6752 Index value;
6753
6754 if (rule < 1) {
6755 throw std::runtime_error("ORDER_TABLE - Fatal error!\n RULE < 1.\n");
6756
6757 } else if (rule_max < rule) {
6758 throw std::runtime_error("ORDER_TABLE - Fatal error!\n RULE_MAX < RULE.\n");
6759 }
6760
6761 value = table[rule - 1];
6762
6763 return value;
6764}
6765//****************************************************************************80
6766
6768
6769//****************************************************************************80
6770//
6771// Purpose:
6772//
6773// PRECISION_TABLE returns the precision of a Lebedev rule.
6774//
6775// Modified:
6776//
6777// 11 September 2010
6778//
6779// Author:
6780//
6781// John Burkardt
6782//
6783// Reference:
6784//
6785// Vyacheslav Lebedev, Dmitri Laikov,
6786// A quadrature formula for the sphere of the 131st
6787// algebraic order of accuracy,
6788// Russian Academy of Sciences Doklady Mathematics,
6789// Volume 59, Number 3, 1999, pages 477-481.
6790//
6791// Parameters:
6792//
6793// Input, Index RULE, the index of the rule, between 1 and 65.
6794//
6795// Output, Index PRECISION_TABLE, the precision of the rule.
6796//
6797{
6798 Index rule_max = 65;
6799 Index table[65] = {3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23,
6800 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45,
6801 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67,
6802 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89,
6803 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111,
6804 113, 115, 117, 119, 121, 123, 125, 127, 129, 131};
6805 Index value;
6806
6807 if (rule < 1) {
6808 throw std::runtime_error("PRECISION_TABLE - Fatal error!\n RULE < 1.\n");
6809 } else if (rule_max < rule) {
6810 throw std::runtime_error(
6811 "PRECISION_TABLE - Fatal error!\n RULE_MAX < RULE.\n");
6812 }
6813
6814 value = table[rule - 1];
6815
6816 return value;
6817}
6818
6820 const Eigen::Vector3d &r) const {
6821 // phi=Vector[0] theta=Vector[1]
6822 Eigen::Vector2d result;
6823 result[0] = std::acos(r(2));
6824 result[1] = std::atan2(r(1), r(0));
6825 return result;
6826}
6827
6829 Order2Index[38] = 1;
6830 Order2Index[50] = 2;
6831 Order2Index[74] = 3;
6832 Order2Index[86] = 4;
6833 Order2Index[110] = 5;
6834 Order2Index[146] = 6;
6835 Order2Index[170] = 7;
6836 Order2Index[194] = 8;
6837 Order2Index[230] = 9;
6838 Order2Index[266] = 10;
6839 Order2Index[302] = 11;
6840 Order2Index[350] = 12;
6841 Order2Index[434] = 13;
6842 Order2Index[590] = 14;
6843 Order2Index[770] = 15;
6844 Order2Index[974] = 16;
6845 Order2Index[1202] = 17;
6846 Order2Index[1454] = 18;
6847 Order2Index[1730] = 19;
6848 Order2Index[2030] = 20;
6849 Order2Index[2354] = 21;
6850 Order2Index[2702] = 22;
6851 Order2Index[3074] = 23;
6852 Order2Index[3470] = 24;
6853 Order2Index[3890] = 25;
6854 Order2Index[4334] = 26;
6855 Order2Index[4802] = 27;
6856 Order2Index[5294] = 28;
6857 Order2Index[5810] = 29;
6858}
6859
6861 Index2Order[1] = 38;
6862 Index2Order[2] = 50;
6863 Index2Order[3] = 74;
6864 Index2Order[4] = 86;
6865 Index2Order[5] = 110;
6866 Index2Order[6] = 146;
6867 Index2Order[7] = 170;
6868 Index2Order[8] = 194;
6869 Index2Order[9] = 230;
6870 Index2Order[10] = 266;
6871 Index2Order[11] = 302;
6872 Index2Order[12] = 350;
6873 Index2Order[13] = 434;
6874 Index2Order[14] = 590;
6875 Index2Order[15] = 770;
6876 Index2Order[16] = 974;
6877 Index2Order[17] = 1202;
6878 Index2Order[18] = 1454;
6879 Index2Order[19] = 1730;
6880 Index2Order[20] = 2030;
6881 Index2Order[21] = 2354;
6882 Index2Order[22] = 2702;
6883 Index2Order[23] = 3074;
6884 Index2Order[24] = 3470;
6885 Index2Order[25] = 3890;
6886 Index2Order[26] = 4334;
6887 Index2Order[27] = 4802;
6888 Index2Order[28] = 5294;
6889 Index2Order[29] = 5810;
6890}
6891
6899
6901 // order for H, He (not given in NWChem, assuming same as 1st row)
6902 MediumOrder["H"] = 434;
6903 MediumOrder["He"] = 434;
6904
6905 // orders for 1st row elements taken from NWChem
6906 MediumOrder["Li"] = 434;
6907 MediumOrder["Be"] = 434;
6908 MediumOrder["B"] = 434;
6909 MediumOrder["C"] = 434;
6910 MediumOrder["N"] = 434;
6911 MediumOrder["O"] = 434;
6912 MediumOrder["F"] = 434;
6913 MediumOrder["Ne"] = 434;
6914
6915 // orders for 2nd row elements taken from NWChem
6916 MediumOrder["Na"] = 434;
6917 MediumOrder["Mg"] = 434;
6918 MediumOrder["Al"] = 434;
6919 MediumOrder["Si"] = 434;
6920 MediumOrder["P"] = 434;
6921 MediumOrder["S"] = 434;
6922 MediumOrder["Cl"] = 434;
6923 MediumOrder["Ar"] = 434;
6924
6925 // orders for 3rd row elements taken from NWChem
6926 MediumOrder["K"] = 590;
6927 MediumOrder["Ca"] = 590;
6928 MediumOrder["Sc"] = 590;
6929 MediumOrder["Ti"] = 590;
6930 MediumOrder["V"] = 590;
6931 MediumOrder["Cr"] = 590;
6932 MediumOrder["Mn"] = 590;
6933 MediumOrder["Fe"] = 590;
6934 MediumOrder["Co"] = 590;
6935 MediumOrder["Ni"] = 590;
6936 MediumOrder["Cu"] = 590;
6937 MediumOrder["Zn"] = 590;
6938 MediumOrder["Ga"] = 590;
6939 MediumOrder["Ge"] = 590;
6940 MediumOrder["As"] = 590;
6941 MediumOrder["Se"] = 590;
6942 MediumOrder["Br"] = 590;
6943 MediumOrder["Kr"] = 590;
6944
6945 // 4th row (selection)
6946 MediumOrder["Ag"] = 590;
6947 MediumOrder["Rb"] = 590;
6948 MediumOrder["I"] = 590;
6949 MediumOrder["Xe"] = 590;
6950}
6951
6953 // order for H, He (not given in NWChem, assuming same as 1st row)
6954 FineOrder["H"] = 590;
6955 FineOrder["He"] = 590;
6956
6957 // orders for 1st row elements taken from NWChem
6958 FineOrder["Li"] = 590;
6959 FineOrder["Be"] = 590;
6960 FineOrder["B"] = 590;
6961 FineOrder["C"] = 590;
6962 FineOrder["N"] = 590;
6963 FineOrder["O"] = 590;
6964 FineOrder["F"] = 590;
6965 FineOrder["Ne"] = 590;
6966
6967 // orders for 2nd row elements taken from NWChem
6968 FineOrder["Na"] = 770;
6969 FineOrder["Mg"] = 770;
6970 FineOrder["Al"] = 770;
6971 FineOrder["Si"] = 770;
6972 FineOrder["P"] = 770;
6973 FineOrder["S"] = 770;
6974 FineOrder["Cl"] = 770;
6975 FineOrder["Ar"] = 770;
6976
6977 // orders for 3rd row elements taken from NWChem
6978 FineOrder["K"] = 974;
6979 FineOrder["Ca"] = 974;
6980 FineOrder["Sc"] = 974;
6981 FineOrder["Ti"] = 974;
6982 FineOrder["V"] = 974;
6983 FineOrder["Cr"] = 974;
6984 FineOrder["Mn"] = 974;
6985 FineOrder["Fe"] = 974;
6986 FineOrder["Co"] = 974;
6987 FineOrder["Ni"] = 974;
6988 FineOrder["Cu"] = 974;
6989 FineOrder["Zn"] = 974;
6990 FineOrder["Ga"] = 974;
6991 FineOrder["Ge"] = 974;
6992 FineOrder["As"] = 974;
6993 FineOrder["Se"] = 974;
6994 FineOrder["Br"] = 974;
6995 FineOrder["Kr"] = 974;
6996
6997 // 4th row
6998 FineOrder["Ag"] = 974;
6999 FineOrder["Rb"] = 974;
7000 FineOrder["I"] = 974;
7001 FineOrder["Xe"] = 974;
7002}
7004 // order for H, He (not given in NWChem, assuming same as 1st row)
7005 XfineOrder["H"] = 1202;
7006 XfineOrder["He"] = 1202;
7007
7008 // orders for 1st row elements taken from NWChem
7009 XfineOrder["Li"] = 1202;
7010 XfineOrder["Be"] = 1202;
7011 XfineOrder["B"] = 1202;
7012 XfineOrder["C"] = 1202;
7013 XfineOrder["N"] = 1202;
7014 XfineOrder["O"] = 1202;
7015 XfineOrder["F"] = 1202;
7016 XfineOrder["Ne"] = 1202;
7017
7018 // orders for 2nd row elements taken from NWChem
7019 XfineOrder["Na"] = 1454;
7020 XfineOrder["Mg"] = 1454;
7021 XfineOrder["Al"] = 1454;
7022 XfineOrder["Si"] = 1454;
7023 XfineOrder["P"] = 1454;
7024 XfineOrder["S"] = 1454;
7025 XfineOrder["Cl"] = 1454;
7026 XfineOrder["Ar"] = 1454;
7027
7028 // orders for 3rd row elements taken from NWChem
7029 XfineOrder["K"] = 1454;
7030 XfineOrder["Ca"] = 1454;
7031 XfineOrder["Sc"] = 1454;
7032 XfineOrder["Ti"] = 1454;
7033 XfineOrder["V"] = 1454;
7034 XfineOrder["Cr"] = 1454;
7035 XfineOrder["Mn"] = 1454;
7036 XfineOrder["Fe"] = 1454;
7037 XfineOrder["Co"] = 1454;
7038 XfineOrder["Ni"] = 1454;
7039 XfineOrder["Cu"] = 1454;
7040 XfineOrder["Zn"] = 1454;
7041 XfineOrder["Ga"] = 1454;
7042 XfineOrder["Ge"] = 1454;
7043 XfineOrder["As"] = 1454;
7044 XfineOrder["Se"] = 1454;
7045 XfineOrder["Br"] = 1454;
7046 XfineOrder["Kr"] = 1454;
7047
7048 // 4th row
7049 XfineOrder["Ag"] = 1454;
7050 XfineOrder["Rb"] = 1454;
7051 XfineOrder["I"] = 1454;
7052 XfineOrder["Xe"] = 1454;
7053}
7054
7056 // order for H, He (not given in NWChem, assuming same as 1st row)
7057 CoarseOrder["H"] = 302;
7058 CoarseOrder["He"] = 302;
7059
7060 // orders for 1st row elements taken from NWChem
7061 CoarseOrder["Li"] = 302;
7062 CoarseOrder["Be"] = 302;
7063 CoarseOrder["B"] = 302;
7064 CoarseOrder["C"] = 302;
7065 CoarseOrder["N"] = 302;
7066 CoarseOrder["O"] = 302;
7067 CoarseOrder["F"] = 302;
7068 CoarseOrder["Ne"] = 302;
7069
7070 // orders for 2nd row elements taken from NWChem
7071 CoarseOrder["Na"] = 302;
7072 CoarseOrder["Mg"] = 302;
7073 CoarseOrder["Al"] = 302;
7074 CoarseOrder["Si"] = 302;
7075 CoarseOrder["P"] = 302;
7076 CoarseOrder["S"] = 302;
7077 CoarseOrder["Cl"] = 302;
7078 CoarseOrder["Ar"] = 302;
7079
7080 // orders for 3rd row elements taken from NWChem
7081 CoarseOrder["K"] = 302;
7082 CoarseOrder["Ca"] = 302;
7083 CoarseOrder["Sc"] = 302;
7084 CoarseOrder["Ti"] = 302;
7085 CoarseOrder["V"] = 302;
7086 CoarseOrder["Cr"] = 302;
7087 CoarseOrder["Mn"] = 302;
7088 CoarseOrder["Fe"] = 302;
7089 CoarseOrder["Co"] = 302;
7090 CoarseOrder["Ni"] = 302;
7091 CoarseOrder["Cu"] = 302;
7092 CoarseOrder["Zn"] = 302;
7093 CoarseOrder["Ga"] = 302;
7094 CoarseOrder["Ge"] = 302;
7095 CoarseOrder["As"] = 302;
7096 CoarseOrder["Se"] = 302;
7097 CoarseOrder["Br"] = 302;
7098 CoarseOrder["Kr"] = 302;
7099
7100 // 4th row
7101 CoarseOrder["Ag"] = 302;
7102 CoarseOrder["Rb"] = 302;
7103 CoarseOrder["I"] = 302;
7104 CoarseOrder["Xe"] = 302;
7105}
7106
7108 // order for H, He (not given in NWChem, assuming same as 1st row)
7109 XcoarseOrder["H"] = 194;
7110 XcoarseOrder["He"] = 194;
7111
7112 // orders for 1st row elements taken from NWChem
7113 XcoarseOrder["Li"] = 194;
7114 XcoarseOrder["Be"] = 194;
7115 XcoarseOrder["B"] = 194;
7116 XcoarseOrder["C"] = 194;
7117 XcoarseOrder["N"] = 194;
7118 XcoarseOrder["O"] = 194;
7119 XcoarseOrder["F"] = 194;
7120 XcoarseOrder["Ne"] = 194;
7121
7122 // orders for 2nd row elements taken from NWChem
7123 XcoarseOrder["Na"] = 194;
7124 XcoarseOrder["Mg"] = 194;
7125 XcoarseOrder["Al"] = 194;
7126 XcoarseOrder["Si"] = 194;
7127 XcoarseOrder["P"] = 194;
7128 XcoarseOrder["S"] = 194;
7129 XcoarseOrder["Cl"] = 194;
7130 XcoarseOrder["Ar"] = 194;
7131
7132 // orders for 3rd row elements taken from NWChem
7133 XcoarseOrder["K"] = 194;
7134 XcoarseOrder["Ca"] = 194;
7135 XcoarseOrder["Sc"] = 194;
7136 XcoarseOrder["Ti"] = 194;
7137 XcoarseOrder["V"] = 194;
7138 XcoarseOrder["Cr"] = 194;
7139 XcoarseOrder["Mn"] = 194;
7140 XcoarseOrder["Fe"] = 194;
7141 XcoarseOrder["Co"] = 194;
7142 XcoarseOrder["Ni"] = 194;
7143 XcoarseOrder["Cu"] = 194;
7144 XcoarseOrder["Zn"] = 194;
7145 XcoarseOrder["Ga"] = 194;
7146 XcoarseOrder["Ge"] = 194;
7147 XcoarseOrder["As"] = 194;
7148 XcoarseOrder["Se"] = 194;
7149 XcoarseOrder["Br"] = 194;
7150 XcoarseOrder["Kr"] = 194;
7151
7152 // 4th row
7153 XcoarseOrder["Ag"] = 194;
7154 XcoarseOrder["Rb"] = 194;
7155 XcoarseOrder["I"] = 194;
7156 XcoarseOrder["Xe"] = 194;
7157}
7158
7159} // namespace xtp
7160} // namespace votca
std::vector< std::string > FindUniqueElements() const
void ld1454(double *x, double *y, double *z, double *w) const
void ld1202(double *x, double *y, double *z, double *w) const
void ld3470(double *x, double *y, double *z, double *w) const
Eigen::Matrix4Xd ld_by_order(Index order) const
void ld0038(double *x, double *y, double *z, double *w) const
void ld0302(double *x, double *y, double *z, double *w) const
void ld0006(double *x, double *y, double *z, double *w) const
std::map< Index, Index > Order2Index
std::map< std::string, Index > XcoarseOrder
Index available_table(Index rule) const
void ld0350(double *x, double *y, double *z, double *w) const
void ld2030(double *x, double *y, double *z, double *w) const
void ld0974(double *x, double *y, double *z, double *w) const
void ld4334(double *x, double *y, double *z, double *w) const
void ld1730(double *x, double *y, double *z, double *w) const
void ld0590(double *x, double *y, double *z, double *w) const
Eigen::Vector2d Cartesian2SphericalAngle(const Eigen::Vector3d &r) const
void ld0194(double *x, double *y, double *z, double *w) const
void ld0086(double *x, double *y, double *z, double *w) const
void ld0170(double *x, double *y, double *z, double *w) const
std::map< std::string, Index > CoarseOrder
void ld0770(double *x, double *y, double *z, double *w) const
void ld0110(double *x, double *y, double *z, double *w) const
std::map< Index, Index > Index2Order
std::map< std::string, Index > MediumOrder
void ld0050(double *x, double *y, double *z, double *w) const
void ld2702(double *x, double *y, double *z, double *w) const
void ld0434(double *x, double *y, double *z, double *w) const
void ld5810(double *x, double *y, double *z, double *w) const
void ld4802(double *x, double *y, double *z, double *w) const
void ld3074(double *x, double *y, double *z, double *w) const
void ld0146(double *x, double *y, double *z, double *w) const
void ld0230(double *x, double *y, double *z, double *w) const
Index order_table(Index rule) const
void ld3890(double *x, double *y, double *z, double *w) const
std::map< std::string, GridContainers::spherical_grid > CalculateSphericalGrids(const QMMolecule &atoms, const std::string &type) const
Index Type2MaxOrder(const std::string &element, const std::string &type) const
Index gen_oh(Index code, double a, double b, double v, double *x, double *y, double *z, double *w) const
void ld0014(double *x, double *y, double *z, double *w) const
void ld0266(double *x, double *y, double *z, double *w) const
std::map< std::string, Index > XfineOrder
Index precision_table(Index rule) const
void ld5294(double *x, double *y, double *z, double *w) const
GridContainers::spherical_grid CalculateUnitSphereGrid(const std::string &element, const std::string &type) const
std::map< std::string, Index > FineOrder
void ld2354(double *x, double *y, double *z, double *w) const
void ld0074(double *x, double *y, double *z, double *w) const
void ld0026(double *x, double *y, double *z, double *w) const
const double Pi
Definition constants.h:36
base class for all analysis tools
Definition basebead.h:33
Eigen::Index Index
Definition types.h:26