60 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
71 if (
config(i,j,k,l) .eq. 0_array_int) cycle
72 energy = energy + setup%nbr_energy(
config, i, j, k, l)
79 energy = 0.5_real64*energy
102 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
104 integer,
dimension(4),
intent(in) :: idx1, idx2
111 energy = setup%nbr_energy(
config, idx1(1), idx1(2), idx1(3), idx1(4)) &
112 + setup%nbr_energy(
config, idx2(1), idx2(2), idx2(3), idx2(4))
138 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
141 integer,
intent(in) :: site_b, site_i, site_j, site_k
142 integer(array_int),
intent(in) :: species
143 integer(array_int),
allocatable,
dimension(:) :: nbrs
144 integer :: i, ip1, im1, jp1, jm1, kp1, km1, ib
149 ip1 = modulo(site_i, 2*setup%n_1) + 1
150 im1 = modulo(site_i-2, 2*setup%n_1) + 1
151 jp1 = modulo(site_j, 2*setup%n_2) + 1
152 jm1 = modulo(site_j-2, 2*setup%n_2) + 1
153 kp1 = modulo(site_k, 2*setup%n_3) + 1
154 km1 = modulo(site_k-2, 2*setup%n_3) + 1
162 nbrs(1) =
config(ib, ip1, jp1, kp1)
163 nbrs(2) =
config(ib, ip1, jp1, km1)
164 nbrs(3) =
config(ib, ip1, jm1, kp1)
165 nbrs(4) =
config(ib, ip1, jm1, km1)
166 nbrs(5) =
config(ib, im1, jp1, kp1)
167 nbrs(6) =
config(ib, im1, jp1, km1)
168 nbrs(7) =
config(ib, im1, jm1, kp1)
169 nbrs(8) =
config(ib, im1, jm1, km1)
172 energy = energy +
v_ex(species, nbrs(i), 1)
201 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
204 integer,
intent(in) :: site_b, site_i, site_j, site_k
205 integer(array_int),
intent(in) :: species
206 integer(array_int),
allocatable,
dimension(:) :: nbrs
207 integer :: i, ip2, im2, jp2, jm2, kp2, km2, ib
212 ip2 = modulo(site_i+1, 2*setup%n_1) + 1
213 im2 = modulo(site_i-3, 2*setup%n_1) + 1
214 jp2 = modulo(site_j+1, 2*setup%n_2) + 1
215 jm2 = modulo(site_j-3, 2*setup%n_2) + 1
216 kp2 = modulo(site_k+1, 2*setup%n_3) + 1
217 km2 = modulo(site_k-3, 2*setup%n_3) + 1
225 nbrs(1) =
config(ib, ip2, site_j , site_k )
226 nbrs(2) =
config(ib, im2, site_j , site_k )
227 nbrs(3) =
config(ib, site_i , jm2, site_k )
228 nbrs(4) =
config(ib, site_i , jp2, site_k )
229 nbrs(5) =
config(ib, site_i , site_j , kp2)
230 nbrs(6) =
config(ib, site_i , site_j , km2)
233 energy = energy +
v_ex(species, nbrs(i), 2)
262 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
265 integer,
intent(in) :: site_b, site_i, site_j, site_k
266 integer(array_int),
intent(in) :: species
267 integer(array_int),
allocatable,
dimension(:) :: nbrs
268 integer :: i, ip2, im2, jp2, jm2, kp2, km2, ib
273 ip2 = modulo(site_i+1, 2*setup%n_1) + 1
274 im2 = modulo(site_i-3, 2*setup%n_1) + 1
275 jp2 = modulo(site_j+1, 2*setup%n_2) + 1
276 jm2 = modulo(site_j-3, 2*setup%n_2) + 1
277 kp2 = modulo(site_k+1, 2*setup%n_3) + 1
278 km2 = modulo(site_k-3, 2*setup%n_3) + 1
286 nbrs(1) =
config(ib,site_i, jm2, km2)
287 nbrs(2) =
config(ib, ip2, site_j, km2)
288 nbrs(3) =
config(ib, im2, site_j, km2)
289 nbrs(4) =
config(ib,site_i, jp2, km2)
290 nbrs(5) =
config(ib, ip2, jm2, site_k)
291 nbrs(6) =
config(ib, im2, jm2, site_k)
292 nbrs(7) =
config(ib, ip2, jp2, site_k)
293 nbrs(8) =
config(ib, im2, jp2, site_k)
294 nbrs(9) =
config(ib,site_i, jm2, kp2)
295 nbrs(10) =
config(ib, ip2, site_j, kp2)
296 nbrs(11) =
config(ib, im2, site_j, kp2)
297 nbrs(12) =
config(ib,site_i, jp2, kp2)
300 energy = energy +
v_ex(species, nbrs(i), 3)
329 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
332 integer,
intent(in) :: site_b, site_i, site_j, site_k
333 integer(array_int),
intent(in) :: species
334 integer(array_int),
allocatable,
dimension(:) :: nbrs
335 integer :: i, up, dn, fw, bw, lt, rt, upupup, dndndn, &
336 fwfwfw, bwbwbw, ltltlt, rtrtrt, ib
340 up = modulo(site_i, 2*setup%n_1) + 1
341 dn = modulo(site_i-2, 2*setup%n_1) + 1
342 lt = modulo(site_j, 2*setup%n_2) + 1
343 rt = modulo(site_j-2, 2*setup%n_2) + 1
344 fw = modulo(site_k, 2*setup%n_3) + 1
345 bw = modulo(site_k-2, 2*setup%n_3) + 1
346 up = modulo(site_i, 2*setup%n_1) + 1
347 dn = modulo(site_i-2, 2*setup%n_1) + 1
348 upupup = modulo(site_i+2, 2*setup%n_1) + 1
349 dndndn = modulo(site_i-4, 2*setup%n_1) + 1
350 ltltlt = modulo(site_j+2, 2*setup%n_2) + 1
351 rtrtrt = modulo(site_j-4, 2*setup%n_2) + 1
352 fwfwfw = modulo(site_k+2, 2*setup%n_3) + 1
353 bwbwbw = modulo(site_k-4, 2*setup%n_3) + 1
361 nbrs(1) =
config(ib, up, lt, fwfwfw)
362 nbrs(2) =
config(ib, dn, lt, fwfwfw)
363 nbrs(3) =
config(ib, up, rt, fwfwfw)
364 nbrs(4) =
config(ib, dn, rt, fwfwfw)
365 nbrs(5) =
config(ib, up, lt, bwbwbw)
366 nbrs(6) =
config(ib, dn, lt, bwbwbw)
367 nbrs(7) =
config(ib, up, rt, bwbwbw)
368 nbrs(8) =
config(ib, dn, rt, bwbwbw)
369 nbrs(9) =
config(ib, up, ltltlt, fw)
370 nbrs(10) =
config(ib, dn, ltltlt, fw)
371 nbrs(11) =
config(ib, up, ltltlt, bw)
372 nbrs(12) =
config(ib, dn, ltltlt, bw)
373 nbrs(13) =
config(ib, up, rtrtrt, fw)
374 nbrs(14) =
config(ib, dn, rtrtrt, fw)
375 nbrs(15) =
config(ib, up, rtrtrt, bw)
376 nbrs(16) =
config(ib, dn, rtrtrt, bw)
377 nbrs(17) =
config(ib, upupup, lt, fw)
378 nbrs(18) =
config(ib, upupup, rt, fw)
379 nbrs(19) =
config(ib, upupup, lt, bw)
380 nbrs(20) =
config(ib, upupup, rt, bw)
381 nbrs(21) =
config(ib, dndndn, lt, fw)
382 nbrs(22) =
config(ib, dndndn, rt, fw)
383 nbrs(23) =
config(ib, dndndn, lt, bw)
384 nbrs(24) =
config(ib, dndndn, rt, bw)
388 energy = energy +
v_ex(species, nbrs(i),4)
417 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
420 integer,
intent(in) :: site_b, site_i, site_j, site_k
421 integer(array_int),
intent(in) :: species
422 integer(array_int),
allocatable,
dimension(:) :: nbrs
423 integer :: i, upup, dndn, fwfw, bwbw, ltlt, rtrt, ib
427 upup = modulo(site_i+1, 2*setup%n_1) + 1
428 dndn = modulo(site_i-3, 2*setup%n_1) + 1
429 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
430 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
431 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
432 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
440 nbrs(1) =
config(ib, upup, ltlt, fwfw)
441 nbrs(2) =
config(ib, dndn, ltlt, fwfw)
442 nbrs(3) =
config(ib, upup, rtrt, fwfw)
443 nbrs(4) =
config(ib, dndn, rtrt, fwfw)
444 nbrs(5) =
config(ib, upup, ltlt, bwbw)
445 nbrs(6) =
config(ib, dndn, ltlt, bwbw)
446 nbrs(7) =
config(ib, upup, rtrt, bwbw)
447 nbrs(8) =
config(ib, dndn, rtrt, bwbw)
451 energy = energy +
v_ex(species, nbrs(i),5)
480 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
483 integer,
intent(in) :: site_b, site_i, site_j, site_k
484 integer(array_int),
intent(in) :: species
485 integer(array_int),
allocatable,
dimension(:) :: nbrs
486 integer :: i, upupupup, dndndndn, fwfwfwfw, bwbwbwbw, &
487 ltltltlt, rtrtrtrt, ib
491 upupupup = modulo(site_i+3, 2*setup%n_1) + 1
492 dndndndn = modulo(site_i-5, 2*setup%n_1) + 1
493 ltltltlt = modulo(site_j+3, 2*setup%n_2) + 1
494 rtrtrtrt = modulo(site_j-5, 2*setup%n_2) + 1
495 fwfwfwfw = modulo(site_k+3, 2*setup%n_3) + 1
496 bwbwbwbw = modulo(site_k-5, 2*setup%n_3) + 1
504 nbrs(1) =
config(ib, upupupup, site_j, site_k)
505 nbrs(2) =
config(ib, dndndndn, site_j, site_k)
506 nbrs(3) =
config(ib, site_i, ltltltlt, site_k)
507 nbrs(4) =
config(ib, site_i, rtrtrtrt, site_k)
508 nbrs(5) =
config(ib, site_i, site_j, fwfwfwfw)
509 nbrs(6) =
config(ib, site_i, site_j, bwbwbwbw)
513 energy = energy +
v_ex(species, nbrs(i),6)
542 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
545 integer,
intent(in) :: site_b, site_i, site_j, site_k
546 integer(array_int),
intent(in) :: species
547 integer(array_int),
allocatable,
dimension(:) :: nbrs
548 integer :: i, up, dn, fw, bw, lt, rt, upupup, dndndn, &
549 fwfwfw, bwbwbw, ltltlt, rtrtrt, ib
553 up = modulo(site_i, 2*setup%n_1) + 1
554 dn = modulo(site_i-2, 2*setup%n_1) + 1
555 lt = modulo(site_j, 2*setup%n_2) + 1
556 rt = modulo(site_j-2, 2*setup%n_2) + 1
557 fw = modulo(site_k, 2*setup%n_3) + 1
558 bw = modulo(site_k-2, 2*setup%n_3) + 1
559 upupup = modulo(site_i+2, 2*setup%n_1) + 1
560 dndndn = modulo(site_i-4, 2*setup%n_1) + 1
561 ltltlt = modulo(site_j+2, 2*setup%n_2) + 1
562 rtrtrt = modulo(site_j-4, 2*setup%n_2) + 1
563 fwfwfw = modulo(site_k+2, 2*setup%n_3) + 1
564 bwbwbw = modulo(site_k-4, 2*setup%n_3) + 1
572 nbrs(1) =
config(ib, up, ltltlt, fwfwfw)
573 nbrs(2) =
config(ib, dn, ltltlt, fwfwfw)
574 nbrs(3) =
config(ib, upupup, lt, fwfwfw)
575 nbrs(4) =
config(ib, dndndn, lt, fwfwfw)
576 nbrs(5) =
config(ib, upupup, rt, fwfwfw)
577 nbrs(6) =
config(ib, dndndn, rt, fwfwfw)
578 nbrs(7) =
config(ib, up, rtrtrt, fwfwfw)
579 nbrs(8) =
config(ib, dn, rtrtrt, fwfwfw)
580 nbrs(9) =
config(ib, upupup, ltltlt, fw)
581 nbrs(10) =
config(ib, dndndn, ltltlt, fw)
582 nbrs(11) =
config(ib, upupup, rtrtrt, fw)
583 nbrs(12) =
config(ib, dndndn, rtrtrt, fw)
584 nbrs(13) =
config(ib, upupup, ltltlt, bw)
585 nbrs(14) =
config(ib, dndndn, ltltlt, bw)
586 nbrs(15) =
config(ib, upupup, rtrtrt, bw)
587 nbrs(16) =
config(ib, dndndn, rtrtrt, bw)
588 nbrs(17) =
config(ib, up, ltltlt, bwbwbw)
589 nbrs(18) =
config(ib, dn, ltltlt, bwbwbw)
590 nbrs(19) =
config(ib, upupup, lt, bwbwbw)
591 nbrs(20) =
config(ib, dndndn, lt, bwbwbw)
592 nbrs(21) =
config(ib, upupup, rt, bwbwbw)
593 nbrs(22) =
config(ib, dndndn, rt, bwbwbw)
594 nbrs(23) =
config(ib, up, rtrtrt, bwbwbw)
595 nbrs(24) =
config(ib, dn, rtrtrt, bwbwbw)
599 energy = energy +
v_ex(species, nbrs(i),7)
628 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
631 integer,
intent(in) :: site_b, site_i, site_j, site_k
632 integer(array_int),
intent(in) :: species
633 integer(array_int),
allocatable,
dimension(:) :: nbrs
634 integer :: i, upup, dndn, fwfw, bwbw, ltlt, rtrt, upupupup, &
635 dndndndn, fwfwfwfw, bwbwbwbw, ltltltlt, rtrtrtrt, ib
639 upup = modulo(site_i+1, 2*setup%n_1) + 1
640 dndn = modulo(site_i-3, 2*setup%n_1) + 1
641 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
642 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
643 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
644 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
645 upupupup = modulo(site_i+3, 2*setup%n_1) + 1
646 dndndndn = modulo(site_i-5, 2*setup%n_1) + 1
647 ltltltlt = modulo(site_j+3, 2*setup%n_2) + 1
648 rtrtrtrt = modulo(site_j-5, 2*setup%n_2) + 1
649 fwfwfwfw = modulo(site_k+3, 2*setup%n_3) + 1
650 bwbwbwbw = modulo(site_k-5, 2*setup%n_3) + 1
658 nbrs(1) =
config(ib, site_i, ltlt, fwfwfwfw)
659 nbrs(2) =
config(ib, upup, site_j, fwfwfwfw)
660 nbrs(3) =
config(ib, dndn, site_j, fwfwfwfw)
661 nbrs(4) =
config(ib, site_i, rtrt, fwfwfwfw)
662 nbrs(5) =
config(ib, site_i, ltltltlt, fwfw)
663 nbrs(6) =
config(ib, dndndndn, site_j, fwfw)
664 nbrs(7) =
config(ib, upupupup, site_j, fwfw)
665 nbrs(8) =
config(ib, site_i, rtrtrtrt, fwfw)
666 nbrs(9) =
config(ib, upup, ltltltlt, site_k)
667 nbrs(10) =
config(ib, dndn, ltltltlt, site_k)
668 nbrs(11) =
config(ib, upupupup, ltlt, site_k)
669 nbrs(12) =
config(ib, dndndndn, ltlt, site_k)
670 nbrs(13) =
config(ib, upupupup, rtrt, site_k)
671 nbrs(14) =
config(ib, dndndndn, rtrt, site_k)
672 nbrs(15) =
config(ib, site_i, ltltltlt, site_k)
673 nbrs(16) =
config(ib, dndndndn, site_j, site_k)
674 nbrs(17) =
config(ib, site_i, ltltltlt, bwbw)
675 nbrs(18) =
config(ib, dndndndn, site_j, bwbw)
676 nbrs(19) =
config(ib, upupupup, site_j, bwbw)
677 nbrs(20) =
config(ib, site_i, rtrtrtrt, bwbw)
678 nbrs(21) =
config(ib, site_i, ltlt, bwbwbwbw)
679 nbrs(22) =
config(ib, upup, site_j, bwbwbwbw)
680 nbrs(23) =
config(ib, dndn, site_j, bwbwbwbw)
681 nbrs(24) =
config(ib, site_i, rtrt, bwbwbwbw)
685 energy = energy +
v_ex(species, nbrs(i),8)
714 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
717 integer,
intent(in) :: site_b, site_i, site_j, site_k
718 integer(array_int),
intent(in) :: species
719 integer(array_int),
allocatable,
dimension(:) :: nbrs
720 integer :: i, upup, dndn, fwfw, bwbw, ltlt, rtrt, upupupup, &
721 dndndndn, fwfwfwfw, bwbwbwbw, ltltltlt, rtrtrtrt, ib
725 upup = modulo(site_i+1, 2*setup%n_1) + 1
726 dndn = modulo(site_i-3, 2*setup%n_1) + 1
727 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
728 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
729 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
730 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
731 upupupup = modulo(site_i+3, 2*setup%n_1) + 1
732 dndndndn = modulo(site_i-5, 2*setup%n_1) + 1
733 ltltltlt = modulo(site_j+3, 2*setup%n_2) + 1
734 rtrtrtrt = modulo(site_j-5, 2*setup%n_2) + 1
735 fwfwfwfw = modulo(site_k+3, 2*setup%n_3) + 1
736 bwbwbwbw = modulo(site_k-5, 2*setup%n_3) + 1
744 nbrs(1) =
config(ib, upup, ltlt, fwfwfwfw)
745 nbrs(2) =
config(ib, dndn, ltlt, fwfwfwfw)
746 nbrs(3) =
config(ib, upup, rtrt, fwfwfwfw)
747 nbrs(4) =
config(ib, dndn, rtrt, fwfwfwfw)
748 nbrs(5) =
config(ib, upup, ltltltlt, fwfw)
749 nbrs(6) =
config(ib, dndn, ltltltlt, fwfw)
750 nbrs(7) =
config(ib, upupupup, ltlt, fwfw)
751 nbrs(8) =
config(ib, dndndndn, ltlt, fwfw)
752 nbrs(9) =
config(ib, upupupup, rtrt, fwfw)
753 nbrs(10) =
config(ib, dndndndn, rtrt, fwfw)
754 nbrs(11) =
config(ib, upup, rtrtrtrt, fwfw)
755 nbrs(12) =
config(ib, dndn, rtrtrtrt, fwfw)
756 nbrs(13) =
config(ib, upup, ltltltlt, bwbw)
757 nbrs(14) =
config(ib, dndn, ltltltlt, bwbw)
758 nbrs(15) =
config(ib, upupupup, ltlt, bwbw)
759 nbrs(16) =
config(ib, dndndndn, ltlt, bwbw)
760 nbrs(17) =
config(ib, upupupup, rtrt, bwbw)
761 nbrs(18) =
config(ib, dndndndn, rtrt, bwbw)
762 nbrs(19) =
config(ib, upup, rtrtrtrt, bwbw)
763 nbrs(20) =
config(ib, dndn, rtrtrtrt, bwbw)
764 nbrs(21) =
config(ib, upup, ltlt, bwbwbwbw)
765 nbrs(22) =
config(ib, dndn, ltlt, bwbwbwbw)
766 nbrs(23) =
config(ib, upup, rtrt, bwbwbwbw)
767 nbrs(24) =
config(ib, dndn, rtrt, bwbwbwbw)
771 energy = energy +
v_ex(species, nbrs(i),9)
800 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
803 integer,
intent(in) :: site_b, site_i, site_j, site_k
804 integer(array_int),
intent(in) :: species
805 integer(array_int),
allocatable,
dimension(:) :: nbrs
806 integer :: i, up, dn, fw, bw, lt, rt, upupup, dndndn, fwfwfw, &
807 bwbwbw, ltltlt, rtrtrt, upupupupup, dndndndndn, &
808 fwfwfwfwfw, bwbwbwbwbw, ltltltltlt, rtrtrtrtrt, ib
812 up = modulo( site_i, 2*setup%n_1) + 1
813 dn = modulo(site_i-2, 2*setup%n_1) + 1
814 lt = modulo( site_j, 2*setup%n_2) + 1
815 rt = modulo(site_j-2, 2*setup%n_2) + 1
816 fw = modulo(site_k, 2*setup%n_3) + 1
817 bw = modulo(site_k-2, 2*setup%n_3) + 1
818 upupup = modulo(site_i+2, 2*setup%n_1) + 1
819 dndndn = modulo(site_i-4, 2*setup%n_1) + 1
820 ltltlt = modulo(site_j+2, 2*setup%n_2) + 1
821 rtrtrt = modulo(site_j-4, 2*setup%n_2) + 1
822 fwfwfw = modulo(site_k+2, 2*setup%n_3) + 1
823 bwbwbw = modulo(site_k-4, 2*setup%n_3) + 1
824 upupupupup = modulo(site_i+4, 2*setup%n_1) + 1
825 dndndndndn = modulo(site_i-6, 2*setup%n_1) + 1
826 ltltltltlt = modulo(site_j+4, 2*setup%n_2) + 1
827 rtrtrtrtrt = modulo(site_j-6, 2*setup%n_2) + 1
828 fwfwfwfwfw = modulo(site_k+4, 2*setup%n_3) + 1
829 bwbwbwbwbw = modulo(site_k-6, 2*setup%n_3) + 1
837 nbrs(1) =
config(ib, up, lt, fwfwfwfwfw)
838 nbrs(2) =
config(ib, dn, lt, fwfwfwfwfw)
839 nbrs(3) =
config(ib, up, rt, fwfwfwfwfw)
840 nbrs(4) =
config(ib, dn, rt, fwfwfwfwfw)
841 nbrs(5) =
config(ib, upupup, ltltlt, fwfwfw)
842 nbrs(6) =
config(ib, dndndn, ltltlt, fwfwfw)
843 nbrs(7) =
config(ib, upupup, rtrtrt, fwfwfw)
844 nbrs(8) =
config(ib, dndndn, rtrtrt, fwfwfw)
845 nbrs(9) =
config(ib, up, rtrtrtrtrt, fw)
846 nbrs(10) =
config(ib, dn, rtrtrtrtrt, fw)
847 nbrs(11) =
config(ib, upupupupup, rt, fw)
848 nbrs(12) =
config(ib, dndndndndn, rt, fw)
849 nbrs(13) =
config(ib, upupupupup, lt, fw)
850 nbrs(14) =
config(ib, dndndndndn, lt, fw)
851 nbrs(15) =
config(ib, up, rtrtrtrtrt, fw)
852 nbrs(16) =
config(ib, dn, rtrtrtrtrt, fw)
853 nbrs(17) =
config(ib, up, rtrtrtrtrt, bw)
854 nbrs(18) =
config(ib, dn, rtrtrtrtrt, bw)
855 nbrs(19) =
config(ib, upupupupup, rt, bw)
856 nbrs(20) =
config(ib, dndndndndn, rt, bw)
857 nbrs(21) =
config(ib, upupupupup, lt, bw)
858 nbrs(22) =
config(ib, dndndndndn, lt, bw)
859 nbrs(23) =
config(ib, up, rtrtrtrtrt, bw)
860 nbrs(24) =
config(ib, dn, rtrtrtrtrt, bw)
861 nbrs(25) =
config(ib, upupup, ltltlt, bwbwbw)
862 nbrs(26) =
config(ib, dndndn, ltltlt, bwbwbw)
863 nbrs(27) =
config(ib, upupup, rtrtrt, bwbwbw)
864 nbrs(28) =
config(ib, dndndn, rtrtrt, bwbwbw)
865 nbrs(29) =
config(ib, up, lt, bwbwbwbwbw)
866 nbrs(30) =
config(ib, dn, lt, bwbwbwbwbw)
867 nbrs(31) =
config(ib, up, rt, bwbwbwbwbw)
868 nbrs(32) =
config(ib, dn, rt, bwbwbwbwbw)
872 energy = energy +
v_ex(species, nbrs(i),10)
901 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
904 integer,
intent(in) :: site_b, site_i, site_j, site_k
905 integer(array_int) :: species
907 species =
config(site_b, site_i, site_j, site_k)
935 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
938 integer,
intent(in) :: site_b, site_i, site_j, site_k
939 integer(array_int) :: species
941 species =
config(site_b, site_i, site_j, site_k)
970 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
973 integer,
intent(in) :: site_b, site_i, site_j, site_k
974 integer(array_int) :: species
976 species =
config(site_b, site_i, site_j, site_k)
1006 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1009 integer,
intent(in) :: site_b, site_i, site_j, site_k
1010 integer(array_int) :: species
1012 species =
config(site_b, site_i, site_j, site_k)
1043 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1046 integer,
intent(in) :: site_b, site_i, site_j, site_k
1047 integer(array_int) :: species
1049 species =
config(site_b, site_i, site_j, site_k)
1081 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1084 integer,
intent(in) :: site_b, site_i, site_j, site_k
1085 integer(array_int) :: species
1087 species =
config(site_b, site_i, site_j, site_k)
1120 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1123 integer,
intent(in) :: site_b, site_i, site_j, site_k
1124 integer(array_int) :: species
1126 species =
config(site_b, site_i, site_j, site_k)
1160 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1163 integer,
intent(in) :: site_b, site_i, site_j, site_k
1164 integer(array_int) :: species
1166 species =
config(site_b, site_i, site_j, site_k)
1201 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1204 integer,
intent(in) :: site_b, site_i, site_j, site_k
1205 integer(array_int) :: species
1207 species =
config(site_b, site_i, site_j, site_k)
1243 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1246 integer,
intent(in) :: site_b, site_i, site_j, site_k
1247 integer(array_int) :: species
1249 species =
config(site_b, site_i, site_j, site_k)
1286 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1289 integer,
intent(in) :: site_b, site_i, site_j, site_k
1290 integer(array_int),
intent(in) :: species
1291 integer(array_int),
allocatable,
dimension(:) :: nbrs
1292 integer :: i, up, dn, fw, bw, lt, rt, ib
1297 up = modulo(site_i, 2*setup%n_1) + 1
1298 dn = modulo(site_i-2, 2*setup%n_1) + 1
1299 lt = modulo(site_j, 2*setup%n_2) + 1
1300 rt = modulo(site_j-2, 2*setup%n_2) + 1
1301 fw = modulo(site_k, 2*setup%n_3) + 1
1302 bw = modulo(site_k-2, 2*setup%n_3) + 1
1310 nbrs(1) =
config(ib, site_i, rt, fw)
1311 nbrs(2) =
config(ib, site_i, rt, bw)
1312 nbrs(3) =
config(ib, site_i, lt, fw)
1313 nbrs(4) =
config(ib, site_i, lt, bw)
1314 nbrs(5) =
config(ib, up, rt, site_k)
1315 nbrs(6) =
config(ib, up, lt, site_k)
1316 nbrs(7) =
config(ib, up, site_j, fw)
1317 nbrs(8) =
config(ib, up, site_j, bw)
1318 nbrs(9) =
config(ib, dn, rt, site_k)
1319 nbrs(10) =
config(ib, dn, lt, site_k)
1320 nbrs(11) =
config(ib, dn, site_j, fw)
1321 nbrs(12) =
config(ib, dn, site_j, bw)
1324 energy = energy +
v_ex(species, nbrs(i), 1)
1353 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1356 integer,
intent(in) :: site_b, site_i, site_j, site_k
1357 integer(array_int),
intent(in) :: species
1358 integer(array_int),
allocatable,
dimension(:) :: nbrs
1360 integer :: upup, dndn, fwfw, bwbw, ltlt, rtrt, ib
1364 upup = modulo(site_i+1, 2*setup%n_1) + 1
1365 dndn = modulo(site_i-3, 2*setup%n_1) + 1
1366 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
1367 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
1368 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
1369 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
1377 nbrs(1) =
config(ib, upup, site_j, site_k)
1378 nbrs(2) =
config(ib, dndn, site_j, site_k)
1379 nbrs(3) =
config(ib, site_i, ltlt, site_k)
1380 nbrs(4) =
config(ib, site_i, rtrt, site_k)
1381 nbrs(5) =
config(ib, site_i, site_j, fwfw)
1382 nbrs(6) =
config(ib, site_i, site_j, bwbw)
1385 energy = energy +
v_ex(species, nbrs(i), 2)
1414 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1417 integer,
intent(in) :: site_b, site_i, site_j, site_k
1418 integer(array_int),
intent(in) :: species
1419 integer(array_int),
allocatable,
dimension(:) :: nbrs
1420 integer :: i, up, dn, fw, bw, lt, rt
1421 integer :: upup, dndn, fwfw, bwbw, ltlt, rtrt, ib
1425 up = modulo(site_i, 2*setup%n_1) + 1
1426 dn = modulo(site_i-2, 2*setup%n_1) + 1
1427 lt = modulo(site_j, 2*setup%n_2) + 1
1428 rt = modulo(site_j-2, 2*setup%n_2) + 1
1429 fw = modulo(site_k, 2*setup%n_3) + 1
1430 bw = modulo(site_k-2, 2*setup%n_3) + 1
1432 upup = modulo(site_i+1, 2*setup%n_1) + 1
1433 dndn = modulo(site_i-3, 2*setup%n_1) + 1
1434 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
1435 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
1436 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
1437 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
1445 nbrs(1) =
config(ib, dndn, lt, fw)
1446 nbrs(2) =
config(ib, dndn, lt, bw)
1447 nbrs(3) =
config(ib, dndn, rt, fw)
1448 nbrs(4) =
config(ib, dndn, rt, bw)
1449 nbrs(5) =
config(ib, upup, lt, fw)
1450 nbrs(6) =
config(ib, upup, lt, bw)
1451 nbrs(7) =
config(ib, upup, rt, fw)
1452 nbrs(8) =
config(ib, upup, rt, bw)
1453 nbrs(9) =
config(ib, up, ltlt, fw)
1454 nbrs(10) =
config(ib, dn, ltlt, fw)
1455 nbrs(11) =
config(ib, up, ltlt, bw)
1456 nbrs(12) =
config(ib, dn, ltlt, bw)
1457 nbrs(13) =
config(ib, up, rtrt, fw)
1458 nbrs(14) =
config(ib, dn, rtrt, fw)
1459 nbrs(15) =
config(ib, up, rtrt, bw)
1460 nbrs(16) =
config(ib, dn, rtrt, bw)
1461 nbrs(17) =
config(ib, up, lt, fwfw)
1462 nbrs(18) =
config(ib, dn, lt, fwfw)
1463 nbrs(19) =
config(ib, up, rt, fwfw)
1464 nbrs(20) =
config(ib, dn, rt, fwfw)
1465 nbrs(21) =
config(ib, up, lt, bwbw)
1466 nbrs(22) =
config(ib, dn, lt, bwbw)
1467 nbrs(23) =
config(ib, up, rt, bwbw)
1468 nbrs(24) =
config(ib, dn, rt, bwbw)
1471 energy = energy +
v_ex(species, nbrs(i), 3)
1500 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1503 integer,
intent(in) :: site_b, site_i, site_j, site_k
1504 integer(array_int),
intent(in) :: species
1505 integer(array_int),
allocatable,
dimension(:) :: nbrs
1507 integer :: upup, dndn, fwfw, bwbw, ltlt, rtrt, ib
1511 upup = modulo(site_i+1, 2*setup%n_1) + 1
1512 dndn = modulo(site_i-3, 2*setup%n_1) + 1
1513 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
1514 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
1515 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
1516 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
1524 nbrs(1) =
config(ib, upup, site_j, bwbw)
1525 nbrs(2) =
config(ib, dndn, site_j, bwbw)
1526 nbrs(3) =
config(ib, site_i, ltlt, bwbw)
1527 nbrs(4) =
config(ib, site_i, rtrt, bwbw)
1528 nbrs(5) =
config(ib, upup, ltlt, site_k)
1529 nbrs(6) =
config(ib, dndn, ltlt, site_k)
1530 nbrs(7) =
config(ib, upup, rtrt, site_k)
1531 nbrs(8) =
config(ib, dndn, rtrt, site_k)
1532 nbrs(9) =
config(ib, upup, site_j, fwfw)
1533 nbrs(10) =
config(ib, dndn, site_j, fwfw)
1534 nbrs(11) =
config(ib, site_i, ltlt, fwfw)
1535 nbrs(12) =
config(ib, site_i, rtrt, fwfw)
1538 energy = energy +
v_ex(species, nbrs(i), 4)
1567 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1570 integer,
intent(in) :: site_b, site_i, site_j, site_k
1571 integer(array_int),
intent(in) :: species
1572 integer(array_int),
allocatable,
dimension(:) :: nbrs
1573 integer :: i, up, dn, fw, bw, lt, rt
1574 integer :: upupup, dndndn, fwfwfw, bwbwbw, ltltlt, rtrtrt, ib
1578 up = modulo(site_i, 2*setup%n_1) + 1
1579 dn = modulo(site_i-2, 2*setup%n_1) + 1
1580 lt = modulo(site_j, 2*setup%n_2) + 1
1581 rt = modulo(site_j-2, 2*setup%n_2) + 1
1582 fw = modulo(site_k, 2*setup%n_3) + 1
1583 bw = modulo(site_k-2, 2*setup%n_3) + 1
1585 upupup = modulo(site_i+2, 2*setup%n_1) + 1
1586 dndndn = modulo(site_i-4, 2*setup%n_1) + 1
1587 ltltlt = modulo(site_j+2, 2*setup%n_2) + 1
1588 rtrtrt = modulo(site_j-4, 2*setup%n_2) + 1
1589 fwfwfw = modulo(site_k+2, 2*setup%n_3) + 1
1590 bwbwbw = modulo(site_k-4, 2*setup%n_3) + 1
1598 nbrs(1) =
config(ib, up, site_j, bwbwbw)
1599 nbrs(2) =
config(ib, dn, site_j, bwbwbw)
1600 nbrs(3) =
config(ib, site_i, rt, bwbwbw)
1601 nbrs(4) =
config(ib, site_i, lt, bwbwbw)
1602 nbrs(5) =
config(ib, site_i, ltltlt, bw)
1603 nbrs(6) =
config(ib, upupup, site_j, bw)
1604 nbrs(7) =
config(ib, dndndn, site_j, bw)
1605 nbrs(8) =
config(ib, site_i, rtrtrt, bw)
1606 nbrs(9) =
config(ib, up, ltltlt, site_k)
1607 nbrs(10) =
config(ib, dn, ltltlt, site_k)
1608 nbrs(11) =
config(ib, upupup, lt, site_k)
1609 nbrs(12) =
config(ib, dndndn, lt, site_k)
1610 nbrs(13) =
config(ib, upupup, rt, site_k)
1611 nbrs(14) =
config(ib, dndndn, rt, site_k)
1612 nbrs(15) =
config(ib, up, rtrtrt, site_k)
1613 nbrs(16) =
config(ib, dn, rtrtrt, site_k)
1614 nbrs(17) =
config(ib, site_i, ltltlt, fw)
1615 nbrs(18) =
config(ib, upupup, site_j, fw)
1616 nbrs(19) =
config(ib, dndndn, site_j, fw)
1617 nbrs(20) =
config(ib, site_i, rtrtrt, fw)
1618 nbrs(21) =
config(ib, up, site_j, fwfwfw)
1619 nbrs(22) =
config(ib, dn, site_j, fwfwfw)
1620 nbrs(23) =
config(ib, site_i, rt, fwfwfw)
1621 nbrs(24) =
config(ib, site_i, lt, fwfwfw)
1624 energy = energy +
v_ex(species, nbrs(i), 5)
1653 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1656 integer,
intent(in) :: site_b, site_i, site_j, site_k
1657 integer(array_int),
intent(in) :: species
1658 integer(array_int),
allocatable,
dimension(:) :: nbrs
1659 integer :: i, upup, dndn, fwfw, bwbw, ltlt, rtrt, ib
1663 upup = modulo(site_i+1, 2*setup%n_1) + 1
1664 dndn = modulo(site_i-3, 2*setup%n_1) + 1
1665 ltlt = modulo(site_j+1, 2*setup%n_2) + 1
1666 rtrt = modulo(site_j-3, 2*setup%n_2) + 1
1667 fwfw = modulo(site_k+1, 2*setup%n_3) + 1
1668 bwbw = modulo(site_k-3, 2*setup%n_3) + 1
1676 nbrs(1) =
config(ib, upup, ltlt, bwbw)
1677 nbrs(2) =
config(ib, dndn, ltlt, bwbw)
1678 nbrs(3) =
config(ib, upup, rtrt, bwbw)
1679 nbrs(4) =
config(ib, dndn, rtrt, bwbw)
1680 nbrs(5) =
config(ib, upup, ltlt, fwfw)
1681 nbrs(6) =
config(ib, dndn, ltlt, fwfw)
1682 nbrs(7) =
config(ib, upup, rtrt, fwfw)
1683 nbrs(8) =
config(ib, dndn, rtrt, fwfw)
1686 energy = energy +
v_ex(species, nbrs(i), 6)
1715 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1718 integer,
intent(in) :: site_b, site_i, site_j, site_k
1719 integer(array_int) :: species
1721 species =
config(site_b, site_i, site_j, site_k)
1749 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1752 integer,
intent(in) :: site_b, site_i, site_j, site_k
1753 integer(array_int) :: species
1755 species =
config(site_b, site_i, site_j, site_k)
1784 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1787 integer,
intent(in) :: site_b, site_i, site_j, site_k
1788 integer(array_int) :: species
1790 species =
config(site_b, site_i, site_j, site_k)
1820 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1823 integer,
intent(in) :: site_b, site_i, site_j, site_k
1824 integer(array_int) :: species
1826 species =
config(site_b, site_i, site_j, site_k)
1857 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1860 integer,
intent(in) :: site_b, site_i, site_j, site_k
1861 integer(array_int) :: species
1863 species =
config(site_b, site_i, site_j, site_k)
1895 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1898 integer,
intent(in) :: site_b, site_i, site_j, site_k
1899 integer(array_int) :: species
1901 species =
config(site_b, site_i, site_j, site_k)
1933 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1936 integer,
intent(in) :: site_b, site_i, site_j, site_k
1937 integer(array_int) :: species
1938 integer(array_int),
allocatable,
dimension(:) :: nbrs
1939 integer :: i, up, dn, fw, bw, lt, rt, ib
1944 up = modulo( site_i, setup%n_1) + 1
1945 dn = modulo(site_i-2, setup%n_1) + 1
1946 lt = modulo( site_j, setup%n_2) + 1
1947 rt = modulo(site_j-2, setup%n_2) + 1
1948 fw = modulo( site_k, setup%n_3) + 1
1949 bw = modulo(site_k-2, setup%n_3) + 1
1958 nbrs(1) =
config(ib, up, site_j, site_k)
1959 nbrs(2) =
config(ib, dn, site_j, site_k)
1960 nbrs(3) =
config(ib,site_i, lt, site_k)
1961 nbrs(4) =
config(ib,site_i, rt, site_k)
1962 nbrs(5) =
config(ib,site_i, site_j, fw)
1963 nbrs(6) =
config(ib,site_i, site_j, bw)
1967 energy = energy +
v_ex(species, nbrs(i),1)
1994 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
1997 integer,
intent(in) :: site_b, site_i, site_j, site_k
1998 integer(array_int) :: species
1999 integer(array_int),
allocatable,
dimension(:) :: nbrs
2000 integer :: i, up, dn, fw, bw, lt, rt, ib
2005 up = modulo( site_i, setup%n_1) + 1
2006 dn = modulo(site_i-2, setup%n_1) + 1
2007 lt = modulo( site_j, setup%n_2) + 1
2008 rt = modulo(site_j-2, setup%n_2) + 1
2009 fw = modulo( site_k, setup%n_3) + 1
2010 bw = modulo(site_k-2, setup%n_3) + 1
2019 nbrs(1) =
config(ib,site_i, lt, bw)
2020 nbrs(2) =
config(ib, dn, site_j, bw)
2021 nbrs(3) =
config(ib, up, site_j, bw)
2022 nbrs(4) =
config(ib,site_i, rt, bw)
2023 nbrs(5) =
config(ib, up, lt, site_k)
2024 nbrs(6) =
config(ib, dn, lt, site_k)
2025 nbrs(7) =
config(ib, up, rt, site_k)
2026 nbrs(8) =
config(ib, dn, rt, site_k)
2027 nbrs(9) =
config(ib,site_i, lt, fw)
2028 nbrs(10) =
config(ib, dn, site_j, fw)
2029 nbrs(11) =
config(ib, up, site_j, fw)
2030 nbrs(12) =
config(ib,site_i, rt, fw)
2034 energy = energy +
v_ex(species, nbrs(i),2)
2062 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
2065 integer,
intent(in) :: site_b, site_i, site_j, site_k
2066 integer(array_int) :: species
2068 species =
config(site_b, site_i, site_j, site_k)
2095 integer(array_int),
dimension(:,:,:,:),
intent(in) ::
config
2098 integer,
intent(in) :: site_b, site_i, site_j, site_k
2099 integer(array_int) :: species
2101 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 simple_cubic_2shell_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, 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_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 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...