59 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
70 if (
config(i,j,k,l) .eq. 0_array_int) cycle
71 energy = energy + setup%nbr_energy(
config, i, j, k, l)
78 energy = 0.5_real64*energy
101 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
103 integer,
dimension(4),
intent(in) :: idx1, idx2
110 energy = setup%nbr_energy(
config, idx1(1), idx1(2), idx1(3), idx1(4)) &
111 + setup%nbr_energy(
config, idx2(1), idx2(2), idx2(3), idx2(4))
137 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
140 integer,
intent(in) :: site_b, site_i, site_j, site_k
141 integer(array_int),
intent(in) :: species
142 integer(array_int),
allocatable,
dimension(:) :: nbrs
143 integer :: i, ip1, im1, jp1, jm1, kp1, km1, ib
148 ip1 = modulo(site_i, 2*setup%n_1) + 1
149 im1 = modulo(site_i-2, 2*setup%n_1) + 1
150 jp1 = modulo(site_j, 2*setup%n_2) + 1
151 jm1 = modulo(site_j-2, 2*setup%n_2) + 1
152 kp1 = modulo(site_k, 2*setup%n_3) + 1
153 km1 = modulo(site_k-2, 2*setup%n_3) + 1
161 nbrs(1) =
config(ib, ip1, jp1, kp1)
162 nbrs(2) =
config(ib, ip1, jp1, km1)
163 nbrs(3) =
config(ib, ip1, jm1, kp1)
164 nbrs(4) =
config(ib, ip1, jm1, km1)
165 nbrs(5) =
config(ib, im1, jp1, kp1)
166 nbrs(6) =
config(ib, im1, jp1, km1)
167 nbrs(7) =
config(ib, im1, jm1, kp1)
168 nbrs(8) =
config(ib, im1, jm1, km1)
171 energy = energy +
v_ex(species, nbrs(i), 1)
200 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
203 integer,
intent(in) :: site_b, site_i, site_j, site_k
204 integer(array_int),
intent(in) :: species
205 integer(array_int),
allocatable,
dimension(:) :: nbrs
206 integer :: i, ip2, im2, jp2, jm2, kp2, km2, ib
211 ip2 = modulo(site_i+1, 2*setup%n_1) + 1
212 im2 = modulo(site_i-3, 2*setup%n_1) + 1
213 jp2 = modulo(site_j+1, 2*setup%n_2) + 1
214 jm2 = modulo(site_j-3, 2*setup%n_2) + 1
215 kp2 = modulo(site_k+1, 2*setup%n_3) + 1
216 km2 = modulo(site_k-3, 2*setup%n_3) + 1
224 nbrs(1) =
config(ib, ip2, site_j , site_k )
225 nbrs(2) =
config(ib, im2, site_j , site_k )
226 nbrs(3) =
config(ib, site_i , jm2, site_k )
227 nbrs(4) =
config(ib, site_i , jp2, site_k )
228 nbrs(5) =
config(ib, site_i , site_j , kp2)
229 nbrs(6) =
config(ib, site_i , site_j , km2)
232 energy = energy +
v_ex(species, nbrs(i), 2)
261 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
264 integer,
intent(in) :: site_b, site_i, site_j, site_k
265 integer(array_int),
intent(in) :: species
266 integer(array_int),
allocatable,
dimension(:) :: nbrs
267 integer :: i, ip2, im2, jp2, jm2, kp2, km2, ib
272 ip2 = modulo(site_i+1, 2*setup%n_1) + 1
273 im2 = modulo(site_i-3, 2*setup%n_1) + 1
274 jp2 = modulo(site_j+1, 2*setup%n_2) + 1
275 jm2 = modulo(site_j-3, 2*setup%n_2) + 1
276 kp2 = modulo(site_k+1, 2*setup%n_3) + 1
277 km2 = modulo(site_k-3, 2*setup%n_3) + 1
285 nbrs(1) =
config(ib,site_i, jm2, km2)
286 nbrs(2) =
config(ib, ip2, site_j, km2)
287 nbrs(3) =
config(ib, im2, site_j, km2)
288 nbrs(4) =
config(ib,site_i, jp2, km2)
289 nbrs(5) =
config(ib, ip2, jm2, site_k)
290 nbrs(6) =
config(ib, im2, jm2, site_k)
291 nbrs(7) =
config(ib, ip2, jp2, site_k)
292 nbrs(8) =
config(ib, im2, jp2, site_k)
293 nbrs(9) =
config(ib,site_i, jm2, kp2)
294 nbrs(10) =
config(ib, ip2, site_j, kp2)
295 nbrs(11) =
config(ib, im2, site_j, kp2)
296 nbrs(12) =
config(ib,site_i, jp2, kp2)
299 energy = energy +
v_ex(species, nbrs(i), 3)
328 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
331 integer,
intent(in) :: site_b, site_i, site_j, site_k
332 integer(array_int),
intent(in) :: species
333 integer(array_int),
allocatable,
dimension(:) :: nbrs
334 integer :: i, up, dn, fw, bw, lt, rt, upupup, dndndn, &
335 fwfwfw, bwbwbw, ltltlt, rtrtrt, ib
339 up = modulo(site_i, 2*setup%n_1) + 1
340 dn = modulo(site_i-2, 2*setup%n_1) + 1
341 lt = modulo(site_j, 2*setup%n_2) + 1
342 rt = modulo(site_j-2, 2*setup%n_2) + 1
343 fw = modulo(site_k, 2*setup%n_3) + 1
344 bw = modulo(site_k-2, 2*setup%n_3) + 1
345 up = modulo(site_i, 2*setup%n_1) + 1
346 dn = modulo(site_i-2, 2*setup%n_1) + 1
347 upupup = modulo(site_i+2, 2*setup%n_1) + 1
348 dndndn = modulo(site_i-4, 2*setup%n_1) + 1
349 ltltlt = modulo(site_j+2, 2*setup%n_2) + 1
350 rtrtrt = modulo(site_j-4, 2*setup%n_2) + 1
351 fwfwfw = modulo(site_k+2, 2*setup%n_3) + 1
352 bwbwbw = modulo(site_k-4, 2*setup%n_3) + 1
360 nbrs(1) =
config(ib, up, lt, fwfwfw)
361 nbrs(2) =
config(ib, dn, lt, fwfwfw)
362 nbrs(3) =
config(ib, up, rt, fwfwfw)
363 nbrs(4) =
config(ib, dn, rt, fwfwfw)
364 nbrs(5) =
config(ib, up, lt, bwbwbw)
365 nbrs(6) =
config(ib, dn, lt, bwbwbw)
366 nbrs(7) =
config(ib, up, rt, bwbwbw)
367 nbrs(8) =
config(ib, dn, rt, bwbwbw)
368 nbrs(9) =
config(ib, up, ltltlt, fw)
369 nbrs(10) =
config(ib, dn, ltltlt, fw)
370 nbrs(11) =
config(ib, up, ltltlt, bw)
371 nbrs(12) =
config(ib, dn, ltltlt, bw)
372 nbrs(13) =
config(ib, up, rtrtrt, fw)
373 nbrs(14) =
config(ib, dn, rtrtrt, fw)
374 nbrs(15) =
config(ib, up, rtrtrt, bw)
375 nbrs(16) =
config(ib, dn, rtrtrt, bw)
376 nbrs(17) =
config(ib, upupup, lt, fw)
377 nbrs(18) =
config(ib, upupup, rt, fw)
378 nbrs(19) =
config(ib, upupup, lt, bw)
379 nbrs(20) =
config(ib, upupup, rt, bw)
380 nbrs(21) =
config(ib, dndndn, lt, fw)
381 nbrs(22) =
config(ib, dndndn, rt, fw)
382 nbrs(23) =
config(ib, dndndn, lt, bw)
383 nbrs(24) =
config(ib, dndndn, rt, bw)
387 energy = energy +
v_ex(species, nbrs(i),4)
416 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
419 integer,
intent(in) :: site_b, site_i, site_j, site_k
420 integer(array_int),
intent(in) :: species
421 integer(array_int),
allocatable,
dimension(:) :: nbrs
422 integer :: i, upup, dndn, fwfw, bwbw, ltlt, rtrt, ib
426 upup = modulo(site_i+1, 2*setup%n_1) + 1
427 dndn = modulo(site_i-3, 2*setup%n_1) + 1
428 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
429 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
430 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
431 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
439 nbrs(1) =
config(ib, upup, ltlt, fwfw)
440 nbrs(2) =
config(ib, dndn, ltlt, fwfw)
441 nbrs(3) =
config(ib, upup, rtrt, fwfw)
442 nbrs(4) =
config(ib, dndn, rtrt, fwfw)
443 nbrs(5) =
config(ib, upup, ltlt, bwbw)
444 nbrs(6) =
config(ib, dndn, ltlt, bwbw)
445 nbrs(7) =
config(ib, upup, rtrt, bwbw)
446 nbrs(8) =
config(ib, dndn, rtrt, bwbw)
450 energy = energy +
v_ex(species, nbrs(i),5)
479 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
482 integer,
intent(in) :: site_b, site_i, site_j, site_k
483 integer(array_int),
intent(in) :: species
484 integer(array_int),
allocatable,
dimension(:) :: nbrs
485 integer :: i, upupupup, dndndndn, fwfwfwfw, bwbwbwbw, &
486 ltltltlt, rtrtrtrt, ib
490 upupupup = modulo(site_i+3, 2*setup%n_1) + 1
491 dndndndn = modulo(site_i-5, 2*setup%n_1) + 1
492 ltltltlt = modulo(site_j+3, 2*setup%n_2) + 1
493 rtrtrtrt = modulo(site_j-5, 2*setup%n_2) + 1
494 fwfwfwfw = modulo(site_k+3, 2*setup%n_3) + 1
495 bwbwbwbw = modulo(site_k-5, 2*setup%n_3) + 1
503 nbrs(1) =
config(ib, upupupup, site_j, site_k)
504 nbrs(2) =
config(ib, dndndndn, site_j, site_k)
505 nbrs(3) =
config(ib, site_i, ltltltlt, site_k)
506 nbrs(4) =
config(ib, site_i, rtrtrtrt, site_k)
507 nbrs(5) =
config(ib, site_i, site_j, fwfwfwfw)
508 nbrs(6) =
config(ib, site_i, site_j, bwbwbwbw)
512 energy = energy +
v_ex(species, nbrs(i),6)
541 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
544 integer,
intent(in) :: site_b, site_i, site_j, site_k
545 integer(array_int),
intent(in) :: species
546 integer(array_int),
allocatable,
dimension(:) :: nbrs
547 integer :: i, up, dn, fw, bw, lt, rt, upupup, dndndn, &
548 fwfwfw, bwbwbw, ltltlt, rtrtrt, ib
552 up = modulo(site_i, 2*setup%n_1) + 1
553 dn = modulo(site_i-2, 2*setup%n_1) + 1
554 lt = modulo(site_j, 2*setup%n_2) + 1
555 rt = modulo(site_j-2, 2*setup%n_2) + 1
556 fw = modulo(site_k, 2*setup%n_3) + 1
557 bw = modulo(site_k-2, 2*setup%n_3) + 1
558 upupup = modulo(site_i+2, 2*setup%n_1) + 1
559 dndndn = modulo(site_i-4, 2*setup%n_1) + 1
560 ltltlt = modulo(site_j+2, 2*setup%n_2) + 1
561 rtrtrt = modulo(site_j-4, 2*setup%n_2) + 1
562 fwfwfw = modulo(site_k+2, 2*setup%n_3) + 1
563 bwbwbw = modulo(site_k-4, 2*setup%n_3) + 1
571 nbrs(1) =
config(ib, up, ltltlt, fwfwfw)
572 nbrs(2) =
config(ib, dn, ltltlt, fwfwfw)
573 nbrs(3) =
config(ib, upupup, lt, fwfwfw)
574 nbrs(4) =
config(ib, dndndn, lt, fwfwfw)
575 nbrs(5) =
config(ib, upupup, rt, fwfwfw)
576 nbrs(6) =
config(ib, dndndn, rt, fwfwfw)
577 nbrs(7) =
config(ib, up, rtrtrt, fwfwfw)
578 nbrs(8) =
config(ib, dn, rtrtrt, fwfwfw)
579 nbrs(9) =
config(ib, upupup, ltltlt, fw)
580 nbrs(10) =
config(ib, dndndn, ltltlt, fw)
581 nbrs(11) =
config(ib, upupup, rtrtrt, fw)
582 nbrs(12) =
config(ib, dndndn, rtrtrt, fw)
583 nbrs(13) =
config(ib, upupup, ltltlt, bw)
584 nbrs(14) =
config(ib, dndndn, ltltlt, bw)
585 nbrs(15) =
config(ib, upupup, rtrtrt, bw)
586 nbrs(16) =
config(ib, dndndn, rtrtrt, bw)
587 nbrs(17) =
config(ib, up, ltltlt, bwbwbw)
588 nbrs(18) =
config(ib, dn, ltltlt, bwbwbw)
589 nbrs(19) =
config(ib, upupup, lt, bwbwbw)
590 nbrs(20) =
config(ib, dndndn, lt, bwbwbw)
591 nbrs(21) =
config(ib, upupup, rt, bwbwbw)
592 nbrs(22) =
config(ib, dndndn, rt, bwbwbw)
593 nbrs(23) =
config(ib, up, rtrtrt, bwbwbw)
594 nbrs(24) =
config(ib, dn, rtrtrt, bwbwbw)
598 energy = energy +
v_ex(species, nbrs(i),7)
627 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
630 integer,
intent(in) :: site_b, site_i, site_j, site_k
631 integer(array_int),
intent(in) :: species
632 integer(array_int),
allocatable,
dimension(:) :: nbrs
633 integer :: i, upup, dndn, fwfw, bwbw, ltlt, rtrt, upupupup, &
634 dndndndn, fwfwfwfw, bwbwbwbw, ltltltlt, rtrtrtrt, ib
638 upup = modulo(site_i+1, 2*setup%n_1) + 1
639 dndn = modulo(site_i-3, 2*setup%n_1) + 1
640 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
641 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
642 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
643 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
644 upupupup = modulo(site_i+3, 2*setup%n_1) + 1
645 dndndndn = modulo(site_i-5, 2*setup%n_1) + 1
646 ltltltlt = modulo(site_j+3, 2*setup%n_2) + 1
647 rtrtrtrt = modulo(site_j-5, 2*setup%n_2) + 1
648 fwfwfwfw = modulo(site_k+3, 2*setup%n_3) + 1
649 bwbwbwbw = modulo(site_k-5, 2*setup%n_3) + 1
657 nbrs(1) =
config(ib, site_i, ltlt, fwfwfwfw)
658 nbrs(2) =
config(ib, upup, site_j, fwfwfwfw)
659 nbrs(3) =
config(ib, dndn, site_j, fwfwfwfw)
660 nbrs(4) =
config(ib, site_i, rtrt, fwfwfwfw)
661 nbrs(5) =
config(ib, site_i, ltltltlt, fwfw)
662 nbrs(6) =
config(ib, dndndndn, site_j, fwfw)
663 nbrs(7) =
config(ib, upupupup, site_j, fwfw)
664 nbrs(8) =
config(ib, site_i, rtrtrtrt, fwfw)
665 nbrs(9) =
config(ib, upup, ltltltlt, site_k)
666 nbrs(10) =
config(ib, dndn, ltltltlt, site_k)
667 nbrs(11) =
config(ib, upupupup, ltlt, site_k)
668 nbrs(12) =
config(ib, dndndndn, ltlt, site_k)
669 nbrs(13) =
config(ib, upupupup, rtrt, site_k)
670 nbrs(14) =
config(ib, dndndndn, rtrt, site_k)
671 nbrs(15) =
config(ib, site_i, ltltltlt, site_k)
672 nbrs(16) =
config(ib, dndndndn, site_j, site_k)
673 nbrs(17) =
config(ib, site_i, ltltltlt, bwbw)
674 nbrs(18) =
config(ib, dndndndn, site_j, bwbw)
675 nbrs(19) =
config(ib, upupupup, site_j, bwbw)
676 nbrs(20) =
config(ib, site_i, rtrtrtrt, bwbw)
677 nbrs(21) =
config(ib, site_i, ltlt, bwbwbwbw)
678 nbrs(22) =
config(ib, upup, site_j, bwbwbwbw)
679 nbrs(23) =
config(ib, dndn, site_j, bwbwbwbw)
680 nbrs(24) =
config(ib, site_i, rtrt, bwbwbwbw)
684 energy = energy +
v_ex(species, nbrs(i),8)
713 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
716 integer,
intent(in) :: site_b, site_i, site_j, site_k
717 integer(array_int),
intent(in) :: species
718 integer(array_int),
allocatable,
dimension(:) :: nbrs
719 integer :: i, upup, dndn, fwfw, bwbw, ltlt, rtrt, upupupup, &
720 dndndndn, fwfwfwfw, bwbwbwbw, ltltltlt, rtrtrtrt, ib
724 upup = modulo(site_i+1, 2*setup%n_1) + 1
725 dndn = modulo(site_i-3, 2*setup%n_1) + 1
726 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
727 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
728 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
729 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
730 upupupup = modulo(site_i+3, 2*setup%n_1) + 1
731 dndndndn = modulo(site_i-5, 2*setup%n_1) + 1
732 ltltltlt = modulo(site_j+3, 2*setup%n_2) + 1
733 rtrtrtrt = modulo(site_j-5, 2*setup%n_2) + 1
734 fwfwfwfw = modulo(site_k+3, 2*setup%n_3) + 1
735 bwbwbwbw = modulo(site_k-5, 2*setup%n_3) + 1
743 nbrs(1) =
config(ib, upup, ltlt, fwfwfwfw)
744 nbrs(2) =
config(ib, dndn, ltlt, fwfwfwfw)
745 nbrs(3) =
config(ib, upup, rtrt, fwfwfwfw)
746 nbrs(4) =
config(ib, dndn, rtrt, fwfwfwfw)
747 nbrs(5) =
config(ib, upup, ltltltlt, fwfw)
748 nbrs(6) =
config(ib, dndn, ltltltlt, fwfw)
749 nbrs(7) =
config(ib, upupupup, ltlt, fwfw)
750 nbrs(8) =
config(ib, dndndndn, ltlt, fwfw)
751 nbrs(9) =
config(ib, upupupup, rtrt, fwfw)
752 nbrs(10) =
config(ib, dndndndn, rtrt, fwfw)
753 nbrs(11) =
config(ib, upup, rtrtrtrt, fwfw)
754 nbrs(12) =
config(ib, dndn, rtrtrtrt, fwfw)
755 nbrs(13) =
config(ib, upup, ltltltlt, bwbw)
756 nbrs(14) =
config(ib, dndn, ltltltlt, bwbw)
757 nbrs(15) =
config(ib, upupupup, ltlt, bwbw)
758 nbrs(16) =
config(ib, dndndndn, ltlt, bwbw)
759 nbrs(17) =
config(ib, upupupup, rtrt, bwbw)
760 nbrs(18) =
config(ib, dndndndn, rtrt, bwbw)
761 nbrs(19) =
config(ib, upup, rtrtrtrt, bwbw)
762 nbrs(20) =
config(ib, dndn, rtrtrtrt, bwbw)
763 nbrs(21) =
config(ib, upup, ltlt, bwbwbwbw)
764 nbrs(22) =
config(ib, dndn, ltlt, bwbwbwbw)
765 nbrs(23) =
config(ib, upup, rtrt, bwbwbwbw)
766 nbrs(24) =
config(ib, dndn, rtrt, bwbwbwbw)
770 energy = energy +
v_ex(species, nbrs(i),9)
799 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
802 integer,
intent(in) :: site_b, site_i, site_j, site_k
803 integer(array_int),
intent(in) :: species
804 integer(array_int),
allocatable,
dimension(:) :: nbrs
805 integer :: i, up, dn, fw, bw, lt, rt, upupup, dndndn, fwfwfw, &
806 bwbwbw, ltltlt, rtrtrt, upupupupup, dndndndndn, &
807 fwfwfwfwfw, bwbwbwbwbw, ltltltltlt, rtrtrtrtrt, ib
811 up = modulo( site_i, 2*setup%n_1) + 1
812 dn = modulo(site_i-2, 2*setup%n_1) + 1
813 lt = modulo( site_j, 2*setup%n_2) + 1
814 rt = modulo(site_j-2, 2*setup%n_2) + 1
815 fw = modulo(site_k, 2*setup%n_3) + 1
816 bw = modulo(site_k-2, 2*setup%n_3) + 1
817 upupup = modulo(site_i+2, 2*setup%n_1) + 1
818 dndndn = modulo(site_i-4, 2*setup%n_1) + 1
819 ltltlt = modulo(site_j+2, 2*setup%n_2) + 1
820 rtrtrt = modulo(site_j-4, 2*setup%n_2) + 1
821 fwfwfw = modulo(site_k+2, 2*setup%n_3) + 1
822 bwbwbw = modulo(site_k-4, 2*setup%n_3) + 1
823 upupupupup = modulo(site_i+4, 2*setup%n_1) + 1
824 dndndndndn = modulo(site_i-6, 2*setup%n_1) + 1
825 ltltltltlt = modulo(site_j+4, 2*setup%n_2) + 1
826 rtrtrtrtrt = modulo(site_j-6, 2*setup%n_2) + 1
827 fwfwfwfwfw = modulo(site_k+4, 2*setup%n_3) + 1
828 bwbwbwbwbw = modulo(site_k-6, 2*setup%n_3) + 1
836 nbrs(1) =
config(ib, up, lt, fwfwfwfwfw)
837 nbrs(2) =
config(ib, dn, lt, fwfwfwfwfw)
838 nbrs(3) =
config(ib, up, rt, fwfwfwfwfw)
839 nbrs(4) =
config(ib, dn, rt, fwfwfwfwfw)
840 nbrs(5) =
config(ib, upupup, ltltlt, fwfwfw)
841 nbrs(6) =
config(ib, dndndn, ltltlt, fwfwfw)
842 nbrs(7) =
config(ib, upupup, rtrtrt, fwfwfw)
843 nbrs(8) =
config(ib, dndndn, rtrtrt, fwfwfw)
844 nbrs(9) =
config(ib, up, rtrtrtrtrt, fw)
845 nbrs(10) =
config(ib, dn, rtrtrtrtrt, fw)
846 nbrs(11) =
config(ib, upupupupup, rt, fw)
847 nbrs(12) =
config(ib, dndndndndn, rt, fw)
848 nbrs(13) =
config(ib, upupupupup, lt, fw)
849 nbrs(14) =
config(ib, dndndndndn, lt, fw)
850 nbrs(15) =
config(ib, up, rtrtrtrtrt, fw)
851 nbrs(16) =
config(ib, dn, rtrtrtrtrt, fw)
852 nbrs(17) =
config(ib, up, rtrtrtrtrt, bw)
853 nbrs(18) =
config(ib, dn, rtrtrtrtrt, bw)
854 nbrs(19) =
config(ib, upupupupup, rt, bw)
855 nbrs(20) =
config(ib, dndndndndn, rt, bw)
856 nbrs(21) =
config(ib, upupupupup, lt, bw)
857 nbrs(22) =
config(ib, dndndndndn, lt, bw)
858 nbrs(23) =
config(ib, up, rtrtrtrtrt, bw)
859 nbrs(24) =
config(ib, dn, rtrtrtrtrt, bw)
860 nbrs(25) =
config(ib, upupup, ltltlt, bwbwbw)
861 nbrs(26) =
config(ib, dndndn, ltltlt, bwbwbw)
862 nbrs(27) =
config(ib, upupup, rtrtrt, bwbwbw)
863 nbrs(28) =
config(ib, dndndn, rtrtrt, bwbwbw)
864 nbrs(29) =
config(ib, up, lt, bwbwbwbwbw)
865 nbrs(30) =
config(ib, dn, lt, bwbwbwbwbw)
866 nbrs(31) =
config(ib, up, rt, bwbwbwbwbw)
867 nbrs(32) =
config(ib, dn, rt, bwbwbwbwbw)
871 energy = energy +
v_ex(species, nbrs(i),10)
900 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
903 integer,
intent(in) :: site_b, site_i, site_j, site_k
904 integer(array_int) :: species
906 species =
config(site_b, site_i, site_j, site_k)
934 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
937 integer,
intent(in) :: site_b, site_i, site_j, site_k
938 integer(array_int) :: species
940 species =
config(site_b, site_i, site_j, site_k)
969 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
972 integer,
intent(in) :: site_b, site_i, site_j, site_k
973 integer(array_int) :: species
975 species =
config(site_b, site_i, site_j, site_k)
1005 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1008 integer,
intent(in) :: site_b, site_i, site_j, site_k
1009 integer(array_int) :: species
1011 species =
config(site_b, site_i, site_j, site_k)
1042 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1045 integer,
intent(in) :: site_b, site_i, site_j, site_k
1046 integer(array_int) :: species
1048 species =
config(site_b, site_i, site_j, site_k)
1080 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1083 integer,
intent(in) :: site_b, site_i, site_j, site_k
1084 integer(array_int) :: species
1086 species =
config(site_b, site_i, site_j, site_k)
1119 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1122 integer,
intent(in) :: site_b, site_i, site_j, site_k
1123 integer(array_int) :: species
1125 species =
config(site_b, site_i, site_j, site_k)
1159 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1162 integer,
intent(in) :: site_b, site_i, site_j, site_k
1163 integer(array_int) :: species
1165 species =
config(site_b, site_i, site_j, site_k)
1200 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1203 integer,
intent(in) :: site_b, site_i, site_j, site_k
1204 integer(array_int) :: species
1206 species =
config(site_b, site_i, site_j, site_k)
1242 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1245 integer,
intent(in) :: site_b, site_i, site_j, site_k
1246 integer(array_int) :: species
1248 species =
config(site_b, site_i, site_j, site_k)
1285 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1288 integer,
intent(in) :: site_b, site_i, site_j, site_k
1289 integer(array_int),
intent(in) :: species
1290 integer(array_int),
allocatable,
dimension(:) :: nbrs
1291 integer :: i, up, dn, fw, bw, lt, rt, ib
1296 up = modulo(site_i, 2*setup%n_1) + 1
1297 dn = modulo(site_i-2, 2*setup%n_1) + 1
1298 lt = modulo(site_j, 2*setup%n_2) + 1
1299 rt = modulo(site_j-2, 2*setup%n_2) + 1
1300 fw = modulo(site_k, 2*setup%n_3) + 1
1301 bw = modulo(site_k-2, 2*setup%n_3) + 1
1309 nbrs(1) =
config(ib, site_i, rt, fw)
1310 nbrs(2) =
config(ib, site_i, rt, bw)
1311 nbrs(3) =
config(ib, site_i, lt, fw)
1312 nbrs(4) =
config(ib, site_i, lt, bw)
1313 nbrs(5) =
config(ib, up, rt, site_k)
1314 nbrs(6) =
config(ib, up, lt, site_k)
1315 nbrs(7) =
config(ib, up, site_j, fw)
1316 nbrs(8) =
config(ib, up, site_j, bw)
1317 nbrs(9) =
config(ib, dn, rt, site_k)
1318 nbrs(10) =
config(ib, dn, lt, site_k)
1319 nbrs(11) =
config(ib, dn, site_j, fw)
1320 nbrs(12) =
config(ib, dn, site_j, bw)
1323 energy = energy +
v_ex(species, nbrs(i), 1)
1352 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1355 integer,
intent(in) :: site_b, site_i, site_j, site_k
1356 integer(array_int),
intent(in) :: species
1357 integer(array_int),
allocatable,
dimension(:) :: nbrs
1359 integer :: upup, dndn, fwfw, bwbw, ltlt, rtrt, ib
1363 upup = modulo(site_i+1, 2*setup%n_1) + 1
1364 dndn = modulo(site_i-3, 2*setup%n_1) + 1
1365 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
1366 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
1367 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
1368 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
1376 nbrs(1) =
config(ib, upup, site_j, site_k)
1377 nbrs(2) =
config(ib, dndn, site_j, site_k)
1378 nbrs(3) =
config(ib, site_i, ltlt, site_k)
1379 nbrs(4) =
config(ib, site_i, rtrt, site_k)
1380 nbrs(5) =
config(ib, site_i, site_j, fwfw)
1381 nbrs(6) =
config(ib, site_i, site_j, bwbw)
1384 energy = energy +
v_ex(species, nbrs(i), 2)
1413 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1416 integer,
intent(in) :: site_b, site_i, site_j, site_k
1417 integer(array_int),
intent(in) :: species
1418 integer(array_int),
allocatable,
dimension(:) :: nbrs
1419 integer :: i, up, dn, fw, bw, lt, rt
1420 integer :: upup, dndn, fwfw, bwbw, ltlt, rtrt, ib
1424 up = modulo(site_i, 2*setup%n_1) + 1
1425 dn = modulo(site_i-2, 2*setup%n_1) + 1
1426 lt = modulo(site_j, 2*setup%n_2) + 1
1427 rt = modulo(site_j-2, 2*setup%n_2) + 1
1428 fw = modulo(site_k, 2*setup%n_3) + 1
1429 bw = modulo(site_k-2, 2*setup%n_3) + 1
1431 upup = modulo(site_i+1, 2*setup%n_1) + 1
1432 dndn = modulo(site_i-3, 2*setup%n_1) + 1
1433 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
1434 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
1435 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
1436 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
1444 nbrs(1) =
config(ib, dndn, lt, fw)
1445 nbrs(2) =
config(ib, dndn, lt, bw)
1446 nbrs(3) =
config(ib, dndn, rt, fw)
1447 nbrs(4) =
config(ib, dndn, rt, bw)
1448 nbrs(5) =
config(ib, upup, lt, fw)
1449 nbrs(6) =
config(ib, upup, lt, bw)
1450 nbrs(7) =
config(ib, upup, rt, fw)
1451 nbrs(8) =
config(ib, upup, rt, bw)
1452 nbrs(9) =
config(ib, up, ltlt, fw)
1453 nbrs(10) =
config(ib, dn, ltlt, fw)
1454 nbrs(11) =
config(ib, up, ltlt, bw)
1455 nbrs(12) =
config(ib, dn, ltlt, bw)
1456 nbrs(13) =
config(ib, up, rtrt, fw)
1457 nbrs(14) =
config(ib, dn, rtrt, fw)
1458 nbrs(15) =
config(ib, up, rtrt, bw)
1459 nbrs(16) =
config(ib, dn, rtrt, bw)
1460 nbrs(17) =
config(ib, up, lt, fwfw)
1461 nbrs(18) =
config(ib, dn, lt, fwfw)
1462 nbrs(19) =
config(ib, up, rt, fwfw)
1463 nbrs(20) =
config(ib, dn, rt, fwfw)
1464 nbrs(21) =
config(ib, up, lt, bwbw)
1465 nbrs(22) =
config(ib, dn, lt, bwbw)
1466 nbrs(23) =
config(ib, up, rt, bwbw)
1467 nbrs(24) =
config(ib, dn, rt, bwbw)
1470 energy = energy +
v_ex(species, nbrs(i), 3)
1499 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1502 integer,
intent(in) :: site_b, site_i, site_j, site_k
1503 integer(array_int),
intent(in) :: species
1504 integer(array_int),
allocatable,
dimension(:) :: nbrs
1506 integer :: upup, dndn, fwfw, bwbw, ltlt, rtrt, ib
1510 upup = modulo(site_i+1, 2*setup%n_1) + 1
1511 dndn = modulo(site_i-3, 2*setup%n_1) + 1
1512 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
1513 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
1514 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
1515 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
1523 nbrs(1) =
config(ib, upup, site_j, bwbw)
1524 nbrs(2) =
config(ib, dndn, site_j, bwbw)
1525 nbrs(3) =
config(ib, site_i, ltlt, bwbw)
1526 nbrs(4) =
config(ib, site_i, rtrt, bwbw)
1527 nbrs(5) =
config(ib, upup, ltlt, site_k)
1528 nbrs(6) =
config(ib, dndn, ltlt, site_k)
1529 nbrs(7) =
config(ib, upup, rtrt, site_k)
1530 nbrs(8) =
config(ib, dndn, rtrt, site_k)
1531 nbrs(9) =
config(ib, upup, site_j, fwfw)
1532 nbrs(10) =
config(ib, dndn, site_j, fwfw)
1533 nbrs(11) =
config(ib, site_i, ltlt, fwfw)
1534 nbrs(12) =
config(ib, site_i, rtrt, fwfw)
1537 energy = energy +
v_ex(species, nbrs(i), 4)
1566 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1569 integer,
intent(in) :: site_b, site_i, site_j, site_k
1570 integer(array_int),
intent(in) :: species
1571 integer(array_int),
allocatable,
dimension(:) :: nbrs
1572 integer :: i, up, dn, fw, bw, lt, rt
1573 integer :: upupup, dndndn, fwfwfw, bwbwbw, ltltlt, rtrtrt, ib
1577 up = modulo(site_i, 2*setup%n_1) + 1
1578 dn = modulo(site_i-2, 2*setup%n_1) + 1
1579 lt = modulo(site_j, 2*setup%n_2) + 1
1580 rt = modulo(site_j-2, 2*setup%n_2) + 1
1581 fw = modulo(site_k, 2*setup%n_3) + 1
1582 bw = modulo(site_k-2, 2*setup%n_3) + 1
1584 upupup = modulo(site_i+2, 2*setup%n_1) + 1
1585 dndndn = modulo(site_i-4, 2*setup%n_1) + 1
1586 ltltlt = modulo(site_j+2, 2*setup%n_2) + 1
1587 rtrtrt = modulo(site_j-4, 2*setup%n_2) + 1
1588 fwfwfw = modulo(site_k+2, 2*setup%n_3) + 1
1589 bwbwbw = modulo(site_k-4, 2*setup%n_3) + 1
1597 nbrs(1) =
config(ib, up, site_j, bwbwbw)
1598 nbrs(2) =
config(ib, dn, site_j, bwbwbw)
1599 nbrs(3) =
config(ib, site_i, rt, bwbwbw)
1600 nbrs(4) =
config(ib, site_i, lt, bwbwbw)
1601 nbrs(5) =
config(ib, site_i, ltltlt, bw)
1602 nbrs(6) =
config(ib, upupup, site_j, bw)
1603 nbrs(7) =
config(ib, dndndn, site_j, bw)
1604 nbrs(8) =
config(ib, site_i, rtrtrt, bw)
1605 nbrs(9) =
config(ib, up, ltltlt, site_k)
1606 nbrs(10) =
config(ib, dn, ltltlt, site_k)
1607 nbrs(11) =
config(ib, upupup, lt, site_k)
1608 nbrs(12) =
config(ib, dndndn, lt, site_k)
1609 nbrs(13) =
config(ib, upupup, rt, site_k)
1610 nbrs(14) =
config(ib, dndndn, rt, site_k)
1611 nbrs(15) =
config(ib, up, rtrtrt, site_k)
1612 nbrs(16) =
config(ib, dn, rtrtrt, site_k)
1613 nbrs(17) =
config(ib, site_i, ltltlt, fw)
1614 nbrs(18) =
config(ib, upupup, site_j, fw)
1615 nbrs(19) =
config(ib, dndndn, site_j, fw)
1616 nbrs(20) =
config(ib, site_k, rtrtrt, fw)
1617 nbrs(21) =
config(ib, up, site_j, fwfwfw)
1618 nbrs(22) =
config(ib, dn, site_j, fwfwfw)
1619 nbrs(23) =
config(ib, site_i, rt, fwfwfw)
1620 nbrs(24) =
config(ib, site_i, lt, fwfwfw)
1623 energy = energy +
v_ex(species, nbrs(i), 5)
1652 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1655 integer,
intent(in) :: site_b, site_i, site_j, site_k
1656 integer(array_int),
intent(in) :: species
1657 integer(array_int),
allocatable,
dimension(:) :: nbrs
1658 integer :: i, upup, dndn, fwfw, bwbw, ltlt, rtrt, ib
1662 upup = modulo(site_i+1, 2*setup%n_1) + 1
1663 dndn = modulo(site_i-3, 2*setup%n_1) + 1
1664 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
1665 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
1666 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
1667 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
1675 nbrs(1) =
config(ib, upup, ltlt, bwbw)
1676 nbrs(2) =
config(ib, dndn, ltlt, bwbw)
1677 nbrs(3) =
config(ib, upup, rtrt, bwbw)
1678 nbrs(4) =
config(ib, dndn, rtrt, bwbw)
1679 nbrs(5) =
config(ib, upup, ltlt, fwfw)
1680 nbrs(6) =
config(ib, dndn, ltlt, fwfw)
1681 nbrs(7) =
config(ib, upup, rtrt, fwfw)
1682 nbrs(8) =
config(ib, dndn, rtrt, fwfw)
1685 energy = energy +
v_ex(species, nbrs(i), 6)
1714 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1717 integer,
intent(in) :: site_b, site_i, site_j, site_k
1718 integer(array_int) :: species
1720 species =
config(site_b, site_i, site_j, site_k)
1748 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1751 integer,
intent(in) :: site_b, site_i, site_j, site_k
1752 integer(array_int) :: species
1754 species =
config(site_b, site_i, site_j, site_k)
1783 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1786 integer,
intent(in) :: site_b, site_i, site_j, site_k
1787 integer(array_int) :: species
1789 species =
config(site_b, site_i, site_j, site_k)
1819 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1822 integer,
intent(in) :: site_b, site_i, site_j, site_k
1823 integer(array_int) :: species
1825 species =
config(site_b, site_i, site_j, site_k)
1856 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1859 integer,
intent(in) :: site_b, site_i, site_j, site_k
1860 integer(array_int) :: species
1862 species =
config(site_b, site_i, site_j, site_k)
1894 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1897 integer,
intent(in) :: site_b, site_i, site_j, site_k
1898 integer(array_int) :: species
1900 species =
config(site_b, site_i, site_j, site_k)
1932 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1935 integer,
intent(in) :: site_b, site_i, site_j, site_k
1936 integer(array_int) :: species
1937 integer(array_int),
allocatable,
dimension(:) :: nbrs
1938 integer :: i, up, dn, fw, bw, lt, rt, ib
1943 up = modulo( site_i, setup%n_1) + 1
1944 dn = modulo(site_i-2, setup%n_1) + 1
1945 lt = modulo( site_j, setup%n_2) + 1
1946 rt = modulo(site_j-2, setup%n_2) + 1
1947 fw = modulo( site_k, setup%n_3) + 1
1948 bw = modulo(site_k-2, setup%n_3) + 1
1957 nbrs(1) =
config(ib, up, site_j, site_k)
1958 nbrs(2) =
config(ib, dn, site_j, site_k)
1959 nbrs(3) =
config(ib,site_i, lt, site_k)
1960 nbrs(4) =
config(ib,site_i, rt, site_k)
1961 nbrs(5) =
config(ib,site_i, site_j, fw)
1962 nbrs(6) =
config(ib,site_i, site_j, bw)
1966 energy = energy +
v_ex(species, nbrs(i),1)
1995 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1998 integer,
intent(in) :: site_b, site_i, site_j, site_k
1999 integer(array_int) :: species
2001 species =
config(site_b, site_i, site_j, site_k)
real(real64) function simple_cubic_1shell_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 1s...
real(real64) function, public bcc_energy_7shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function, public bcc_energy_6shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function, public fcc_energy_5shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function, public bcc_energy_5shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function, public bcc_energy_8shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function bcc_shell7_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 7t...
real(real64) function, public bcc_energy_2shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function, public fcc_energy_4shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function, public fcc_energy_1shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function bcc_shell9_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 9t...
real(real64) function fcc_shell4_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 4t...
real(real64) function, public bcc_energy_9shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function, public simple_cubic_energy_1shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function, public fcc_energy_2shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function fcc_shell5_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 5t...
real(real64) function bcc_shell2_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 2n...
real(real64) function fcc_shell3_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 3r...
real(real64) function, public pair_energy(setup, config, idx1, idx2)
Function to compute the contribution to the simulation energy of a simulation from a selected pair of...
real(real64) function, public bcc_energy_1shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function, public bcc_energy_10shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function bcc_shell8_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 8t...
real(real64) function, public bcc_energy_4shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function bcc_shell3_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 3r...
real(real64) function fcc_shell1_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 1s...
real(real64) function fcc_shell2_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 2n...
real(real64) function bcc_shell6_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 6t...
real(real64) function bcc_shell4_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 4t...
real(real64) function, public total_energy(setup, config)
Function to compute the total energy of a simulation configuration.
real(real64) function bcc_shell5_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 5t...
real(real64) function, public bcc_energy_3shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function fcc_shell6_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 6t...
real(real64) function bcc_shell10_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 10...
real(real64) function, public fcc_energy_6shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function, public fcc_energy_3shells(setup, config, site_b, site_i, site_j, site_k)
Function to compute the contribution to the simulation energy made by an atom interacting with atoms ...
real(real64) function bcc_shell1_energy(setup, site_b, site_i, site_j, site_k, config, species)
Function to compute the contribution to the simulation energy made by an atom interacting with its 1s...
integer, parameter real64
Longer "double" (64 bit, approx -1.8e308 to 1.8e308 and covering values down to about 2e-308 magnitud...
real(real64), dimension(:,:,:), allocatable v_ex
integer(array_int), dimension(:,:,:,:), allocatable config
Derived type for parameters specifying general simulation parameters which are common to all sampling...