60 #include "../base/base_uses.f90"
67 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'lebedev'
69 INTEGER,
PARAMETER :: na1 = 6, &
80 INTEGER :: l = -1, n = -1
81 REAL(KIND=
dp),
DIMENSION(:),
POINTER :: w => null()
82 REAL(KIND=
dp),
DIMENSION(:, :),
POINTER :: r => null()
87 REAL(kind=
dp),
PARAMETER :: one = 1.0_dp, rs2 = one/sqrt(2.0_dp), rs3 = one/sqrt(3.0_dp), zero = 0.0_dp
89 LOGICAL :: init_lebedev_grids_done = .false.
91 REAL(kind=
dp),
DIMENSION(max_np/3) :: w = 0.0_dp
92 REAL(kind=
dp),
DIMENSION(max_np) :: r = 0.0_dp
115 INTEGER,
INTENT(IN),
OPTIONAL :: l, n
116 INTEGER :: number_of_lebedev_grid
119 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: ll, nn
120 INTEGER,
DIMENSION(1) :: lgnum
126 DO i = 1,
SIZE(nn, 1)
132 lgnum(:) = minloc(nn(:), mask=(ll(:) >= l))
133 ELSE IF (
PRESENT(n))
THEN
135 lgnum(:) = minloc(nn(:), mask=(nn(:) >= n))
137 cpabort(
"*** ERROR in FUNCTION get_number_of_lebedev_grid ***")
140 IF (lgnum(1) == 0)
THEN
141 cpabort(
"*** ERROR in FUNCTION get_number_of_lebedev_grid ***")
143 number_of_lebedev_grid = lgnum(1)
161 SUBROUTINE load_sub_grid(subsystem, lgnum, np)
162 CHARACTER(*),
INTENT(IN) :: subsystem
163 INTEGER,
INTENT(IN) :: lgnum, np
166 REAL(kind=
dp) :: x, y, z
170 IF ((lgnum < 1) .OR. (lgnum > nlg))
THEN
171 cpabort(
"Argument value #2 (lgnum) is out of range")
174 IF ((np < 0) .OR. (np > max_np))
THEN
175 cpabort(
"Argument value #3 (np) is out of range")
178 SELECT CASE (subsystem)
182 reshape((/zero, zero, one, &
187 -one, zero, zero/), (/3, na1/))
192 reshape((/zero, rs2, rs2, &
203 -rs2, -rs2, zero/), (/3, na2/))
208 reshape((/rs3, rs3, rs3, &
215 -rs3, -rs3, -rs3/), (/3, na3/))
220 y = rs2*sqrt(one - x**2)
221 lebedev_grid(lgnum)%w(nlgp + nb*(i - 1) + 1:nlgp + nb*i) = w(i)
222 lebedev_grid(lgnum)%r(1:3, nlgp + nb*(i - 1) + 1:nlgp + nb*i) = &
246 -y, -y, -x/), (/3, nb/))
253 lebedev_grid(lgnum)%w(nlgp + nc*(i - 1) + 1:nlgp + nc*i) = w(i)
254 lebedev_grid(lgnum)%r(1:3, nlgp + nc*(i - 1) + 1:nlgp + nc*i) = &
255 reshape((/x, y, zero, &
278 zero, -y, -x/), (/3, nc/))
282 IF (
modulo(np, 3) == 0)
THEN
288 lebedev_grid(lgnum)%w(nlgp + nd*(j - 1) + 1:nlgp + nd*j) = w(j)
289 lebedev_grid(lgnum)%r(1:3, nlgp + nd*(j - 1) + 1:nlgp + nd*j) = &
290 reshape((/x, y, z, x, y, -z, x, -y, z, -x, y, z, &
291 x, -y, -z, -x, y, -z, -x, -y, z, -x, -y, -z, &
292 x, z, y, x, z, -y, x, -z, y, -x, z, y, &
293 x, -z, -y, -x, z, -y, -x, -z, y, -x, -z, -y, &
294 y, x, z, y, x, -z, y, -x, z, -y, x, z, &
295 y, -x, -z, -y, x, -z, -y, -x, z, -y, -x, -z, &
296 y, z, x, y, z, -x, y, -z, x, -y, z, x, &
297 y, -z, -x, -y, z, -x, -y, -z, x, -y, -z, -x, &
298 z, x, y, z, x, -y, z, -x, y, -z, x, y, &
299 z, -x, -y, -z, x, -y, -z, -x, y, -z, -x, -y, &
300 z, y, x, z, y, -x, z, -y, x, -z, y, x, &
301 z, -y, -x, -z, y, -x, -z, -y, x, -z, -y, -x/), (/3, nd/))
304 cpabort(
"Subsytem D: np is not modulo 3 (check argument #3)")
306 nlgp = nlgp + nd*np/3
308 CALL cp_abort(__location__, &
309 "The invalid subsystem <"//trim(subsystem)//
"> was "// &
310 "specified (check argument #1)")
318 END SUBROUTINE load_sub_grid
327 cpassert(init_lebedev_grids_done)
328 init_lebedev_grids_done = .false.
345 CHARACTER(len=*),
PARAMETER :: routinen =
'init_lebedev_grids'
347 INTEGER :: handle, ilg
349 CALL timeset(routinen, handle)
358 lebedev_grid(1:nlg)%l = (/3, 5, 7, 9, 11, 15, 17, 19, 23, 29, 35, 41, 47, 53/)
362 lebedev_grid(1:nlg)%n = (/6, 14, 26, 38, 50, 86, 110, 146, 194, 302, 434, 590, 770, &
377 CALL load_sub_grid(
"A1", 1, 0)
381 w(1) = 1.0_dp/15.0_dp
382 CALL load_sub_grid(
"A1", 2, 0)
384 w(1) = 3.0_dp/40.0_dp
385 CALL load_sub_grid(
"A3", 2, 0)
389 w(1) = 1.0_dp/21.0_dp
390 CALL load_sub_grid(
"A1", 3, 0)
392 w(1) = 4.0_dp/105.0_dp
393 CALL load_sub_grid(
"A2", 3, 0)
395 w(1) = 9.0_dp/280.0_dp
396 CALL load_sub_grid(
"A3", 3, 0)
400 w(1) = 1.0_dp/105.0_dp
401 CALL load_sub_grid(
"A1", 4, 0)
403 w(1) = 9.0_dp/280.0_dp
404 CALL load_sub_grid(
"A3", 4, 0)
406 w(1) = 1.0_dp/35.0_dp
407 r(1) = rs2*sqrt(1.0_dp + rs3)
408 CALL load_sub_grid(
"C", 4, 1)
412 w(1) = 4.0_dp/315.0_dp
413 CALL load_sub_grid(
"A1", 5, 0)
415 w(1) = 64.0_dp/2835.0_dp
416 CALL load_sub_grid(
"A2", 5, 0)
418 w(1) = 27.0_dp/1280.0_dp
419 CALL load_sub_grid(
"A3", 5, 0)
421 w(1) = 14641.0_dp/725760.0_dp
422 r(1) = 3.0_dp/sqrt(11.0_dp)
423 CALL load_sub_grid(
"B", 5, 1)
427 w(1) = 1.15440115440115440115440115440115e-2_dp
428 CALL load_sub_grid(
"A1", 6, 0)
430 w(1) = 1.19439090858562823236989259736470e-2_dp
431 CALL load_sub_grid(
"A3", 6, 0)
433 w(1) = 1.11105557106034025109468482160140e-2_dp
434 r(1) = 8.52518311701267605338736780155357e-1_dp
435 w(2) = 1.18765012945371420137882805994025e-2_dp
436 r(2) = 1.89063552885395482707075847005288e-1_dp
437 CALL load_sub_grid(
"B", 6, 2)
439 w(1) = 1.18123037469044753644792263073650e-2_dp
440 r(1) = 9.27330657151172465678969739310097e-1_dp
441 CALL load_sub_grid(
"C", 6, 1)
445 w(1) = 3.82827049493716160382827049493716e-3_dp
446 CALL load_sub_grid(
"A1", 7, 0)
448 w(1) = 9.79373751248751248751248751248751e-3_dp
449 CALL load_sub_grid(
"A3", 7, 0)
451 w(1) = 8.21173728319111097598993405227308e-3_dp
452 r(1) = 9.65124035086594105655529546158531e-1_dp
453 w(2) = 9.59547133607096284945318117290259e-3_dp
454 r(2) = 8.28769981252592210694031500711749e-1_dp
455 w(3) = 9.94281489117810328140065828526450e-3_dp
456 r(3) = 2.15957291845848832354930328945946e-1_dp
457 CALL load_sub_grid(
"B", 7, 3)
459 w(1) = 9.69499636166302832969499636166303e-3_dp
460 r(1) = 8.78158910604066133449110592671618e-1_dp
461 CALL load_sub_grid(
"C", 7, 1)
465 w(1) = 5.99631368862138092907323676554446e-4_dp
466 CALL load_sub_grid(
"A1", 8, 0)
468 w(1) = 7.37299971862075642305743268410561e-3_dp
469 CALL load_sub_grid(
"A2", 8, 0)
471 w(1) = 7.21051536014448777763305996834282e-3_dp
472 CALL load_sub_grid(
"A3", 8, 0)
474 w(1) = 7.57439415905403372268748574713806e-3_dp
475 r(1) = 9.74888643677173235480043489928723e-1_dp
476 w(2) = 6.75382948631447744073541732486459e-3_dp
477 r(2) = 8.07089818359582501629574989264033e-1_dp
478 w(3) = 7.11635549311755538760089284953968e-3_dp
479 r(3) = 2.91298882209526746288335878313128e-1_dp
480 CALL load_sub_grid(
"B", 8, 3)
482 w(1) = 6.99108735330326239417148508057599e-3_dp
483 r(1) = 1.40355381171318328571556780746292e-1_dp
484 r(2) = 4.49332832326955734884695382705101e-1_dp
485 r(3) = 8.82270011260322631916665753046583e-1_dp
486 CALL load_sub_grid(
"D", 8, 3)
490 w(1) = 1.78234044724461115736727104869868e-3_dp
491 CALL load_sub_grid(
"A1", 9, 0)
493 w(1) = 5.71690594997710189299212838832099e-3_dp
494 CALL load_sub_grid(
"A2", 9, 0)
496 w(1) = 5.57338317884873796836784958446647e-3_dp
497 CALL load_sub_grid(
"A3", 9, 0)
499 w(1) = 5.51877146727361369172768460119380e-3_dp
500 r(1) = 7.77493219314767127213777704028801e-1_dp
501 w(2) = 5.15823771180538310324916154718792e-3_dp
502 r(2) = 9.12509096867473692992168387555434e-1_dp
503 w(3) = 5.60870408258799684374936673855184e-3_dp
504 r(3) = 3.14196994182586079225390955831946e-1_dp
505 w(4) = 4.10677702816939409072861128564582e-3_dp
506 r(4) = 9.82972302707253296863729593965148e-1_dp
507 CALL load_sub_grid(
"B", 9, 4)
509 w(1) = 5.05184606461480847598931196006390e-3_dp
510 r(1) = 9.38319218137591520905616389195671e-1_dp
511 CALL load_sub_grid(
"C", 9, 1)
513 w(1) = 5.53024891623309370129768269143303e-3_dp
514 r(1) = 1.59041710538352952424263581362096e-1_dp
515 r(2) = 5.25118572443642024905268207753317e-1_dp
516 r(3) = 8.36036015482458885943746377793309e-1_dp
517 CALL load_sub_grid(
"D", 9, 3)
521 w(1) = 8.54591172512814813423121032618880e-4_dp
522 CALL load_sub_grid(
"A1", 10, 0)
524 w(1) = 3.59911928502557145886397858961119e-3_dp
525 CALL load_sub_grid(
"A3", 10, 0)
527 w(1) = 3.65004580767725542865433220112651e-3_dp
528 r(1) = 1.29238672710514925339493976600550e-1_dp
529 w(2) = 3.60482260141988171131480913104353e-3_dp
530 r(2) = 3.71034178384821189405344300671593e-1_dp
531 w(3) = 3.57672966174336707556208137560857e-3_dp
532 r(3) = 7.43452042987555751133204566760209e-1_dp
533 w(4) = 3.44978842430588331001302771048283e-3_dp
534 r(4) = 8.67643624544083327473890295837421e-1_dp
535 w(5) = 3.10895312241367525484587698082774e-3_dp
536 r(5) = 9.49454317226443084214869821724903e-1_dp
537 w(6) = 2.35210141368916437879217118337424e-3_dp
538 r(6) = 9.90705621379408123821774729602922e-1_dp
539 CALL load_sub_grid(
"B", 10, 6)
541 w(1) = 3.60082093221646027279920634177099e-3_dp
542 r(1) = 8.20326419827759303328870367500864e-1_dp
543 w(2) = 2.98234496317180385195111046924520e-3_dp
544 r(2) = 9.64408914879206014987053264857406e-1_dp
545 CALL load_sub_grid(
"C", 10, 2)
547 w(1) = 3.57154055427338708123297920312395e-3_dp
548 r(1) = 2.51003475177046506904110494820777e-1_dp
549 r(2) = 5.44867737258077380269062623720797e-1_dp
550 r(3) = 8.00072749407395172686232883863933e-1_dp
551 w(2) = 3.39231220500617018197882653945702e-3_dp
552 r(4) = 1.23354853258332742165467555277499e-1_dp
553 r(5) = 4.12772408316853095996383989497138e-1_dp
554 r(6) = 9.02442529533000401095678759353334e-1_dp
555 CALL load_sub_grid(
"D", 10, 6)
559 w(1) = 5.26589796822443623921598397444095e-4_dp
560 CALL load_sub_grid(
"A1", 11, 0)
562 w(1) = 2.54821997200260718024899528063707e-3_dp
563 CALL load_sub_grid(
"A2", 11, 0)
565 w(1) = 2.51231741892730716751285677008112e-3_dp
566 CALL load_sub_grid(
"A3", 11, 0)
568 w(1) = 1.46249562159461384222611198788353e-3_dp
569 r(1) = 9.94255912631277812357804047239411e-1_dp
570 w(2) = 2.01427902091852819554717351102614e-3_dp
571 r(2) = 9.67987158791472796844440561853288e-1_dp
572 w(3) = 2.30269478222741577118243755624539e-3_dp
573 r(3) = 9.14472801120872429366691177286487e-1_dp
574 w(4) = 2.44537343731298000188170923067793e-3_dp
575 r(4) = 8.31584400419232294499745594669204e-1_dp
576 w(5) = 2.50172516840293614549327311336461e-3_dp
577 r(5) = 7.19016501040843432905788800294849e-1_dp
578 w(6) = 2.51326717459756436118956600426018e-3_dp
579 r(6) = 4.07712664897769512483055658274718e-1_dp
580 w(7) = 2.53040380118635500209853222454729e-3_dp
581 r(7) = 2.12646824707552073524018894972799e-1_dp
582 CALL load_sub_grid(
"B", 11, 7)
584 w(1) = 1.91095128217953227363116198076372e-3_dp
585 r(1) = 9.77642811118264871364737333213224e-1_dp
586 w(2) = 2.41744237563898077608784837021936e-3_dp
587 r(2) = 8.81813287779428812899447039158355e-1_dp
588 CALL load_sub_grid(
"C", 11, 2)
590 w(1) = 2.23660776043784866397235325901501e-3_dp
591 r(1) = 9.92176963642923726861469072682696e-2_dp
592 r(2) = 3.34436314534345491435541212141297e-1_dp
593 r(3) = 9.37180985855372235789161206437430e-1_dp
594 w(2) = 2.41693004432477530950382860647420e-3_dp
595 r(4) = 2.05482369640304370826435780923978e-1_dp
596 r(5) = 4.50233038258262537898138529993494e-1_dp
597 r(6) = 8.68946032287241197946412945028781e-1_dp
598 w(3) = 2.51223685456349510228853571762152e-3_dp
599 r(7) = 1.06801826075804827808519981079378e-1_dp
600 r(8) = 5.90515704892527108597639202779953e-1_dp
601 r(9) = 7.99927854385728570494616568630393e-1_dp
602 w(4) = 2.49664405455308596359511734587523e-3_dp
603 r(10) = 3.10428403516654146818973681387686e-1_dp
604 r(11) = 5.55015236107680716116395510647568e-1_dp
605 r(12) = 7.71746262691590088133470564383333e-1_dp
606 CALL load_sub_grid(
"D", 11, 12)
610 w(1) = 3.09512129530618734224885916984167e-4_dp
611 CALL load_sub_grid(
"A1", 12, 0)
613 w(1) = 1.85237969859748902097779927120955e-3_dp
614 CALL load_sub_grid(
"A3", 12, 0)
616 w(1) = 9.76433116505105003063946798281256e-4_dp
617 r(1) = 9.96278129754016372294779397439010e-1_dp
618 w(2) = 1.38473723485169190049558481046633e-3_dp
619 r(2) = 9.78480583762693839428807199465825e-1_dp
620 w(3) = 1.61721064725441119207240564027320e-3_dp
621 r(3) = 9.41414158220402542954812123169147e-1_dp
622 w(4) = 1.74956465728115411858337657547711e-3_dp
623 r(4) = 8.83078727934132546639472279693012e-1_dp
624 w(5) = 1.81847177816276877817839645350131e-3_dp
625 r(5) = 8.02836877335273789544708232847842e-1_dp
626 w(6) = 1.84671595615124182496431643927999e-3_dp
627 r(6) = 7.00768575373572920755474238992223e-1_dp
628 w(7) = 1.85202882829621309713188574624172e-3_dp
629 r(7) = 4.33373868777154278470427918169993e-1_dp
630 w(8) = 1.85881258543831701688713685607976e-3_dp
631 r(8) = 2.70356088359165054450644840302674e-1_dp
632 w(9) = 1.87179063927774375088198703268059e-3_dp
633 r(9) = 9.21904070768989460773325829762845e-2_dp
634 CALL load_sub_grid(
"B", 12, 9)
636 w(1) = 1.30032168588604773254689500223665e-3_dp
637 r(1) = 9.85013335028001910431569760301413e-1_dp
638 w(2) = 1.70515399639586401999426890257133e-3_dp
639 r(2) = 9.18045287711453949033261544688478e-1_dp
640 w(3) = 1.85716119677407798248150549753942e-3_dp
641 r(3) = 7.91101929626901988791072435283520e-1_dp
642 CALL load_sub_grid(
"C", 12, 3)
644 w(1) = 1.55521360339680849695800543399046e-3_dp
645 r(1) = 8.21302158193251139256011433978433e-2_dp
646 r(2) = 2.77867319058624428710339115104831e-1_dp
647 r(3) = 9.57102074310072578548507660672158e-1_dp
648 w(2) = 1.80223912800852549116687840059028e-3_dp
649 r(4) = 8.99920584207487492736600381248490e-2_dp
650 r(5) = 5.03356427107511721798695016575784e-1_dp
651 r(6) = 8.59379855890721226547417613471625e-1_dp
652 w(3) = 1.84983056044366016523678105066982e-3_dp
653 r(7) = 1.81664084036020946133369276322890e-1_dp
654 r(8) = 5.98412649788537962548021778158698e-1_dp
655 r(9) = 7.80320742479920327279647082439668e-1_dp
656 w(4) = 1.71390450710670866804340083221112e-3_dp
657 r(10) = 1.72079522565687812382959749101837e-1_dp
658 r(11) = 3.79103540769556328153581995776882e-1_dp
659 r(12) = 9.09213475092373607255560905376387e-1_dp
660 w(5) = 1.80265893437745115894760427403985e-3_dp
661 r(13) = 2.63471665593794963182134911777324e-1_dp
662 r(14) = 4.74239284255198024276965888711084e-1_dp
663 r(15) = 8.40047488359050429417090817376105e-1_dp
664 w(6) = 1.84286647290528563239873317969286e-3_dp
665 r(16) = 3.51828092773351899746468433493901e-1_dp
666 r(17) = 5.61026380862206018993247924039616e-1_dp
667 r(18) = 7.49310611904115932021924350883623e-1_dp
668 CALL load_sub_grid(
"D", 12, 18)
672 w(1) = 2.19294208818118413191132531546907e-4_dp
673 CALL load_sub_grid(
"A1", 13, 0)
675 w(1) = 1.43643361731907982089311290725143e-3_dp
676 CALL load_sub_grid(
"A2", 13, 0)
678 w(1) = 1.42194034433587736471699229343586e-3_dp
679 CALL load_sub_grid(
"A3", 13, 0)
681 w(1) = 6.79812351105050201620332392505941e-4_dp
682 r(1) = 9.97408677652823043744886496130338e-1_dp
683 w(2) = 9.91318423529491220896771270468706e-4_dp
684 r(2) = 9.84799753572301179668683394920869e-1_dp
685 w(3) = 1.18020783323894879580204544917243e-3_dp
686 r(3) = 9.58036675983391439732458619060098e-1_dp
687 w(4) = 1.29659960208092067423594734151509e-3_dp
688 r(4) = 9.15317950483154831654282453968846e-1_dp
689 w(5) = 1.36587142742831640181200652406724e-3_dp
690 r(5) = 8.55901928697886435270454067917142e-1_dp
691 w(6) = 1.40298860477532526267417750582642e-3_dp
692 r(6) = 7.79621319527635171330859492071650e-1_dp
693 w(7) = 1.41864556359560936142032713234525e-3_dp
694 r(7) = 6.86644447264154195285405155618666e-1_dp
695 w(8) = 1.42137674185166176103362636565150e-3_dp
696 r(8) = 4.52311920313658441442123883818590e-1_dp
697 w(9) = 1.42399647549096162940277119054908e-3_dp
698 r(9) = 3.12521305001653125265256223110153e-1_dp
699 w(10) = 1.43155404217856675285551659613462e-3_dp
700 r(10) = 1.60155803498828974610387120985563e-1_dp
701 CALL load_sub_grid(
"B", 13, 10)
703 w(1) = 9.25440149986536789398468419487000e-4_dp
704 r(1) = 9.89477537495598496934466234590453e-1_dp
705 w(2) = 1.25023999505350931588903916766368e-3_dp
706 r(2) = 9.40776878793758755393692765525837e-1_dp
707 w(3) = 1.39436584332923012313782491233921e-3_dp
708 r(3) = 8.45749305193653306776973233373898e-1_dp
709 CALL load_sub_grid(
"C", 13, 3)
711 w(1) = 1.12708909467174883469499826293069e-3_dp
712 r(1) = 6.94402439334941301856132689108761e-2_dp
713 r(2) = 2.35518789424232641745294975361896e-1_dp
714 r(3) = 9.69385863498432080572651262482050e-1_dp
715 w(2) = 1.34575376091067007284708159178371e-3_dp
716 r(4) = 2.26900410952945985812144550510454e-1_dp
717 r(5) = 4.10218247404573022502091360294078e-1_dp
718 r(6) = 8.83310360522112719095559130461882e-1_dp
719 w(3) = 1.42495728331678280442457616193820e-3_dp
720 r(7) = 8.02557460777533890494192154117455e-2_dp
721 r(8) = 6.21430241748160458082227723944198e-1_dp
722 r(9) = 7.79348105702660973885784203335648e-1_dp
723 w(4) = 1.26152334123774998512114871120604e-3_dp
724 r(10) = 1.46799952789657197013820141783396e-1_dp
725 r(11) = 3.24528434571739443574137218155171e-1_dp
726 r(12) = 9.34414827052402165196138643907493e-1_dp
727 w(5) = 1.39254710605269594012443620424449e-3_dp
728 r(13) = 1.57150776982472710564392240262888e-1_dp
729 r(14) = 5.22448218969662967424959711591943e-1_dp
730 r(15) = 8.38064133458312497889043403162912e-1_dp
731 w(6) = 1.41876167787765638610216672064623e-3_dp
732 r(16) = 2.36570299315724563080851921006450e-1_dp
733 r(17) = 6.01754663408955808458505175650313e-1_dp
734 r(18) = 7.62840624604669826410820436887813e-1_dp
735 w(7) = 1.33836668447955413932118842030907e-3_dp
736 r(19) = 7.71481586676573204146393256189282e-2_dp
737 r(20) = 4.34657551614116278920169057936696e-1_dp
738 r(21) = 8.97285336132833396499244991766618e-1_dp
739 w(8) = 1.39370086267613137196129133534721e-3_dp
740 r(22) = 3.06293666621073020830889612421600e-1_dp
741 r(23) = 4.90882658903761621546950183900134e-1_dp
742 r(24) = 8.15609223203975422051589658409773e-1_dp
743 w(9) = 1.41591475746693200265535028223575e-3_dp
744 r(25) = 3.82247737952478700050265491776632e-1_dp
745 r(26) = 5.64876814909950046651375249432877e-1_dp
746 r(27) = 7.31300793659765701947278263710234e-1_dp
747 CALL load_sub_grid(
"D", 13, 27)
751 w(1) = 1.43829419052743111472634384792800e-4_dp
752 CALL load_sub_grid(
"A1", 14, 0)
754 w(1) = 1.12577228828700411922446003897444e-3_dp
755 CALL load_sub_grid(
"A3", 14, 0)
757 w(1) = 4.94802934194924095056628951683154e-4_dp
758 r(1) = 9.98155345023846501191494527575073e-1_dp
759 w(2) = 7.35799010912547049057334785150092e-4_dp
760 r(2) = 9.88883224354685545466876075112182e-1_dp
761 w(3) = 8.88913277130438430936840534873175e-4_dp
762 r(3) = 9.68890220434707404463853311788372e-1_dp
763 w(4) = 9.88834783892143487490379018339493e-4_dp
764 r(4) = 9.36602730407163187902332491169310e-1_dp
765 w(5) = 1.05329968170947064968554154238842e-3_dp
766 r(5) = 8.91267942647606054508357503868536e-1_dp
767 w(6) = 1.09277880701457848752501645357106e-3_dp
768 r(6) = 8.32596723702351872809065001851482e-1_dp
769 w(7) = 1.11438939406322716311544826926779e-3_dp
770 r(7) = 7.60582905315251495676259855686005e-1_dp
771 w(8) = 1.12372478805155528926212353749792e-3_dp
772 r(8) = 6.75400969108414309734349145075511e-1_dp
773 w(9) = 1.12523932524381359890224350348300e-3_dp
774 r(9) = 4.66858905695743283152769352096062e-1_dp
775 w(10) = 1.12615327181590500171763113615557e-3_dp
776 r(10) = 3.44613654237438223690005816795002e-1_dp
777 w(11) = 1.13028693112384079609639852411886e-3_dp
778 r(11) = 2.11954151850184645694140401473565e-1_dp
779 w(12) = 1.13498653436395488643714589963293e-3_dp
780 r(12) = 7.16244014499556615845369803814026e-2_dp
781 CALL load_sub_grid(
"B", 14, 12)
783 w(1) = 6.82336792710993096637138363442284e-4_dp
784 r(1) = 9.92323565431490196070394244122238e-1_dp
785 w(2) = 9.45415816044709583567874030695969e-4_dp
786 r(2) = 9.55781512496548488574596747552425e-1_dp
787 w(3) = 1.07442997538567914061819358161104e-3_dp
788 r(3) = 8.82785980701181710576015026411856e-1_dp
789 w(4) = 1.12930008656913165822354345410170e-3_dp
790 r(4) = 7.73778447257374736807517446423091e-1_dp
791 CALL load_sub_grid(
"C", 14, 4)
793 w(1) = 8.43688450090195438498026316671055e-4_dp
794 r(1) = 5.97404861418134181366741615801962e-2_dp
795 r(2) = 2.02912875277752280821562682821390e-1_dp
796 r(3) = 9.77372722845309994986723236843860e-1_dp
797 w(2) = 1.07525572044888463296011392358171e-3_dp
798 r(4) = 1.37576040847363647998707229269443e-1_dp
799 r(5) = 4.60262194248405393969672054729315e-1_dp
800 r(6) = 8.77058461865802689033970747916718e-1_dp
801 w(3) = 1.10857723686446203483870096411918e-3_dp
802 r(7) = 3.39101652633628571879780724877562e-1_dp
803 r(8) = 5.03067399966203571325278413235681e-1_dp
804 r(9) = 7.94942299964208514029117644252761e-1_dp
805 w(4) = 9.56647532378335729987022997768218e-4_dp
806 r(10) = 1.27167519143981950887694563391455e-1_dp
807 r(11) = 2.81760642244213432084049569237994e-1_dp
808 r(12) = 9.51020169374389952612600596224493e-1_dp
809 w(5) = 1.08066325071739071464463316273343e-3_dp
810 r(13) = 2.69312074041351249441688496163892e-1_dp
811 r(14) = 4.33156129172015739916409763707103e-1_dp
812 r(15) = 8.60143461601761963548074094490711e-1_dp
813 w(6) = 1.12679713119629459182839576027292e-3_dp
814 r(16) = 1.41978645260191825726693154370171e-1_dp
815 r(17) = 6.25616735858081415467234398457286e-1_dp
816 r(18) = 7.67102186220558360145428572382623e-1_dp
817 w(7) = 1.02256871535806121135514702022316e-3_dp
818 r(19) = 6.70928460073825495111114896527700e-2_dp
819 r(20) = 3.79839521685915669705644712365302e-1_dp
820 r(21) = 9.22616110730809020138255560099254e-1_dp
821 w(8) = 1.10896026771310753764243318312336e-3_dp
822 r(22) = 7.05773818325617225225155364651637e-2_dp
823 r(23) = 5.51750542142352049132113965320893e-1_dp
824 r(24) = 8.31017552413474225750006298786621e-1_dp
825 w(9) = 1.12279065343576582686387381292198e-3_dp
826 r(25) = 2.78388847788215460217462722823059e-1_dp
827 r(26) = 6.02961915615918685584436745852250e-1_dp
828 r(27) = 7.47620610834085792324588316104014e-1_dp
829 w(10) = 1.03240184711745983700951101978720e-3_dp
830 r(28) = 1.97957893891740690574322079335028e-1_dp
831 r(29) = 3.58960632958909578333772677316348e-1_dp
832 r(30) = 9.12118378409121483660044157731511e-1_dp
833 w(11) = 1.10724938228385393683388780275631e-3_dp
834 r(31) = 2.08730706110327399856945819943227e-1_dp
835 r(32) = 5.34866643813547649971323458627733e-1_dp
836 r(33) = 8.18748536281021806431067610000242e-1_dp
837 w(12) = 1.12178004851997205823535727177375e-3_dp
838 r(34) = 4.05512213787283588596898056051174e-1_dp
839 r(35) = 5.67499754607437348401393912269671e-1_dp
840 r(36) = 7.16591845467023718833743633176626e-1_dp
841 CALL load_sub_grid(
"D", 14, 36)
843 init_lebedev_grids_done = .true.
845 CALL timestop(handle)
static GRID_HOST_DEVICE int modulo(int a, int m)
Equivalent of Fortran's MODULO, which always return a positive number. https://gcc....
Defines the basic variable types.
integer, parameter, public dp
Generation of the spherical Lebedev grids. All Lebedev grids were generated with a precision of at le...
subroutine, public deallocate_lebedev_grids()
...
type(oh_grid), dimension(nlg), target, public lebedev_grid
integer function, public get_number_of_lebedev_grid(l, n)
Get the number of the Lebedev grid, which has the requested angular momentum quantnum number l or siz...
subroutine, public init_lebedev_grids()
Load the coordinates and weights of the nonredundant Lebedev grid points.