107 #include "sll_assert.h"
108 #include "sll_working_precision.h"
197 sll_real64,
intent(in) :: eta1
198 sll_real64,
intent(in) :: eta2
199 sll_real64,
dimension(:),
intent(in) :: params
211 sll_real64,
intent(in) :: eta1
212 sll_real64,
intent(in) :: eta2
213 sll_real64,
dimension(:),
intent(in) :: params
225 sll_real64,
intent(in) :: x1
226 sll_real64,
intent(in) :: x2
227 sll_real64,
dimension(:),
intent(in) :: params
239 sll_real64,
intent(in) :: x1
240 sll_real64,
intent(in) :: x2
241 sll_real64,
dimension(:),
intent(in) :: params
253 sll_real64,
intent(in) :: eta1
254 sll_real64,
intent(in) :: eta2
255 sll_real64,
dimension(:),
intent(in) :: params
267 sll_real64,
intent(in) :: eta1
268 sll_real64,
intent(in) :: eta2
269 sll_real64,
dimension(:),
intent(in) :: params
281 sll_real64,
intent(in) :: eta1
282 sll_real64,
intent(in) :: eta2
283 sll_real64,
dimension(:),
intent(in) :: params
295 sll_real64,
intent(in) :: eta1
296 sll_real64,
intent(in) :: eta2
297 sll_real64,
dimension(:),
intent(in) :: params
309 sll_real64,
intent(in) :: eta1
310 sll_real64,
intent(in) :: eta2
311 sll_real64,
dimension(:),
intent(in) :: params
323 sll_real64,
intent(in) :: eta1
324 sll_real64,
intent(in) :: eta2
325 sll_real64,
dimension(:),
intent(in) :: params
330 sll_assert(
size(params) >= 5)
340 sll_real64,
intent(in) :: eta1
341 sll_real64,
intent(in) :: eta2
342 sll_real64,
dimension(:),
intent(in) :: params
347 sll_assert(
size(params) >= 5)
358 sll_real64,
intent(in) :: eta1
359 sll_real64,
intent(in) :: eta2
360 sll_real64,
dimension(:),
intent(in) :: params
365 sll_assert(
size(params) >= 5)
376 sll_real64,
intent(in) :: eta1
377 sll_real64,
intent(in) :: eta2
378 sll_real64,
dimension(:),
intent(in) :: params
379 sll_real64 :: alpha, a1, b1
380 sll_assert(
size(params) >= 5)
391 sll_real64,
intent(in) :: eta1
392 sll_real64,
intent(in) :: eta2
393 sll_real64 :: alpha, a2, b2
394 sll_real64,
dimension(:),
intent(in) :: params
396 sll_assert(
size(params) >= 5)
407 sll_real64,
intent(in) :: eta1
408 sll_real64,
intent(in) :: eta2
409 sll_real64,
dimension(:),
intent(in) :: params
414 sll_assert(
size(params) >= 5)
426 sll_real64,
intent(in) :: eta1
427 sll_real64,
intent(in) :: eta2
428 sll_real64,
dimension(:),
intent(in) :: params
434 sll_assert(
size(params) >= 4)
447 sll_real64,
intent(in) :: eta1
448 sll_real64,
intent(in) :: eta2
449 sll_real64,
dimension(:),
intent(in) :: params
450 sll_real64 :: a, b, c, g, h
452 sll_assert(
size(params) >= 8)
467 sll_real64,
intent(in) :: eta1
468 sll_real64,
intent(in) :: eta2
469 sll_real64,
dimension(:),
intent(in) :: params
470 sll_real64 :: d, e, f, g, h
472 sll_assert(
size(params) >= 8)
487 sll_real64,
intent(in) :: eta1
488 sll_real64,
intent(in) :: eta2
489 sll_real64 :: a, b, c, g, h
490 sll_real64,
dimension(:),
intent(in) :: params
492 sll_assert(
size(params) >= 8)
507 sll_real64,
intent(in) :: eta1
508 sll_real64,
intent(in) :: eta2
509 sll_real64,
dimension(:),
intent(in) :: params
510 sll_real64 :: a, b, c, g, h
512 sll_assert(
size(params) >= 8)
527 sll_real64,
intent(in) :: eta1
528 sll_real64,
intent(in) :: eta2
529 sll_real64,
dimension(:),
intent(in) :: params
530 sll_real64 :: d, e, f, g, h
532 sll_assert(
size(params) >= 8)
547 sll_real64,
intent(in) :: eta1
548 sll_real64,
intent(in) :: eta2
549 sll_real64,
dimension(:),
intent(in) :: params
550 sll_real64 :: d, e, f, g, h
552 sll_assert(
size(params) >= 8)
567 sll_real64,
intent(in) :: eta1
568 sll_real64,
intent(in) :: eta2
569 sll_real64,
dimension(:),
intent(in) :: params
570 sll_real64 :: a, b, c, d, e, f, g, h
572 sll_assert(
size(params) >= 8)
584 /(eta1**3*g**3 + eta2**3*h**3 + 3*eta1**2*g**2 &
585 + 3*(eta1*eta2**2*g + eta2**2)*h**2 + 3*eta1*g &
586 + 3*(eta1**2*eta2*g**2 + 2*eta1*eta2*g + eta2)*h + 1)
593 sll_real64,
intent(in) :: eta1
594 sll_real64,
intent(in) :: eta2
595 sll_real64,
dimension(:),
intent(in) :: params
596 sll_real64 :: a, b, c, d
598 sll_assert(
size(params) >= 8)
612 sll_real64,
intent(in) :: eta1
613 sll_real64,
intent(in) :: eta2
614 sll_real64,
dimension(:),
intent(in) :: params
615 sll_real64 :: e, f, g, h
617 sll_assert(
size(params) >= 8)
631 sll_real64,
intent(in) :: eta1
632 sll_real64,
intent(in) :: eta2
634 sll_real64,
dimension(:),
intent(in) :: params
636 sll_assert(
size(params) >= 8)
648 sll_real64,
intent(in) :: eta1
649 sll_real64,
intent(in) :: eta2
650 sll_real64,
dimension(:),
intent(in) :: params
653 sll_assert(
size(params) >= 8)
665 sll_real64,
intent(in) :: eta1
666 sll_real64,
intent(in) :: eta2
667 sll_real64,
dimension(:),
intent(in) :: params
670 sll_assert(
size(params) >= 8)
682 sll_real64,
intent(in) :: eta1
683 sll_real64,
intent(in) :: eta2
684 sll_real64,
dimension(:),
intent(in) :: params
687 sll_assert(
size(params) >= 8)
699 sll_real64,
intent(in) :: eta1
700 sll_real64,
intent(in) :: eta2
701 sll_real64,
dimension(:),
intent(in) :: params
702 sll_real64 :: a, b, c, e, f, g
704 sll_assert(
size(params) >= 8)
729 sll_real64,
intent(in) :: eta1
730 sll_real64,
intent(in) :: eta2
731 sll_real64,
dimension(:),
intent(in) :: params
742 sll_real64,
intent(in) :: eta1
743 sll_real64,
intent(in) :: eta2
744 sll_real64,
dimension(:),
intent(in) :: params
755 sll_real64,
intent(in) :: x1
756 sll_real64,
intent(in) :: x2
757 sll_real64,
dimension(:),
intent(in) :: params
768 sll_real64,
intent(in) :: x1
769 sll_real64,
intent(in) :: x2
770 sll_real64,
dimension(:),
intent(in) :: params
781 sll_real64,
intent(in) :: eta1
782 sll_real64,
intent(in) :: eta2
783 sll_real64,
dimension(:),
intent(in) :: params
795 sll_real64,
intent(in) :: eta1
796 sll_real64,
intent(in) :: eta2
797 sll_real64,
dimension(:),
intent(in) :: params
808 sll_real64,
intent(in) :: eta1
809 sll_real64,
intent(in) :: eta2
810 sll_real64,
dimension(:),
intent(in) :: params
822 sll_real64,
intent(in) :: eta1
823 sll_real64,
intent(in) :: eta2
824 sll_real64,
dimension(:),
intent(in) :: params
835 sll_real64,
intent(in) :: eta1
836 sll_real64,
intent(in) :: eta2
837 sll_real64,
dimension(:),
intent(in) :: params
858 sll_real64,
intent(in) :: eta1
859 sll_real64,
intent(in) :: eta2
860 sll_real64,
dimension(:),
intent(in) :: params
873 sll_real64,
intent(in) :: eta1
874 sll_real64,
intent(in) :: eta2
875 sll_real64,
dimension(:),
intent(in) :: params
888 sll_real64,
intent(in) :: eta1
889 sll_real64,
intent(in) :: eta2
890 sll_real64,
dimension(:),
intent(in) :: params
898 - eta1*alpha1*sin(eta2 + alpha1*eta1 + alpha2)
904 sll_real64,
intent(in) :: eta1
905 sll_real64,
intent(in) :: eta2
906 sll_real64,
dimension(:),
intent(in) :: params
919 sll_real64,
intent(in) :: eta1
920 sll_real64,
intent(in) :: eta2
921 sll_real64,
dimension(:),
intent(in) :: params
929 + eta1*alpha1*cos(eta2 + alpha1*eta1 + alpha2)
935 sll_real64,
intent(in) :: eta1
936 sll_real64,
intent(in) :: eta2
937 sll_real64,
dimension(:),
intent(in) :: params
950 sll_real64,
intent(in) :: eta1
951 sll_real64,
intent(in) :: eta2
952 sll_real64,
dimension(:),
intent(in) :: params
974 sll_real64,
intent(in) :: eta1
975 sll_real64,
intent(in) :: eta2
976 sll_real64,
dimension(:),
intent(in) :: params
978 sll_real64 :: eta2_shift
982 sll_real64 :: num_sides
985 num_sides = params(2)
986 eta2_shift = eta2 + params(3)*2._f64*
sll_p_pi/num_sides
988 eta2r = eta2r*0.5_f64*num_sides/
sll_p_pi
990 eta2r = sqrt((eta2 - eta2i*
sll_p_pi/(0.5_f64*num_sides))**2 + eps**2)
997 sll_real64,
intent(in) :: eta1
998 sll_real64,
intent(in) :: eta2
999 sll_real64,
dimension(:),
intent(in) :: params
1001 sll_real64 :: eta2_shift
1005 sll_real64 :: num_sides
1008 num_sides = params(2)
1009 eta2_shift = eta2 + params(3)*2._f64*
sll_p_pi/num_sides
1011 eta2r = eta2r*0.5_f64*num_sides/
sll_p_pi
1012 eta2i = floor(eta2r)
1013 eta2r = sqrt((eta2 - eta2i*
sll_p_pi/(0.5_f64*num_sides))**2 + eps**2)
1020 sll_real64,
intent(in) :: eta1
1021 sll_real64,
intent(in) :: eta2
1022 sll_real64,
dimension(:),
intent(in) :: params
1024 sll_real64 :: eta2_shift
1028 sll_real64 :: num_sides
1031 num_sides = params(2)
1032 eta2_shift = eta2 + params(3)*2._f64*
sll_p_pi/num_sides
1034 eta2r = eta2r*0.5_f64*num_sides/
sll_p_pi
1035 eta2i = floor(eta2r)
1036 eta2r = sqrt((eta2 - eta2i*
sll_p_pi/(0.5_f64*num_sides))**2 + eps**2)
1044 sll_real64,
intent(in) :: eta1
1045 sll_real64,
intent(in) :: eta2
1046 sll_real64,
dimension(:),
intent(in) :: params
1048 sll_real64 :: eta2_shift
1052 sll_real64 :: num_sides
1056 num_sides = params(2)
1057 eta2_shift = eta2 + params(3)*2._f64*
sll_p_pi/num_sides
1059 eta2r = eta2r*0.5_f64*num_sides/
sll_p_pi
1060 eta2i = floor(eta2r)
1061 a = eta2i*
sll_p_pi/(0.5_f64*num_sides)
1062 eta2r = sqrt((eta2 - a)**2 + eps**2)
1064 + eta1*cos(
sll_p_pi/num_sides)*cos(eta2_shift) &
1065 *sin(
sll_p_pi/num_sides - eta2r)/cos(
sll_p_pi/num_sides - eta2r)**2*(eta2 - a)/eta2r
1071 sll_real64,
intent(in) :: eta1
1072 sll_real64,
intent(in) :: eta2
1073 sll_real64,
dimension(:),
intent(in) :: params
1075 sll_real64 :: eta2_shift
1079 sll_real64 :: num_sides
1082 num_sides = params(2)
1083 eta2_shift = eta2 + params(3)*2._f64*
sll_p_pi/num_sides
1085 eta2r = eta2r*0.5_f64*num_sides/
sll_p_pi
1086 eta2i = floor(eta2r)
1087 eta2r = sqrt((eta2 - eta2i*
sll_p_pi/(0.5_f64*num_sides))**2 + eps**2)
1095 sll_real64,
intent(in) :: eta1
1096 sll_real64,
intent(in) :: eta2
1097 sll_real64,
dimension(:),
intent(in) :: params
1099 sll_real64 :: eta2_shift
1103 sll_real64 :: num_sides
1107 num_sides = params(2)
1108 eta2_shift = eta2 + params(3)*2._f64*
sll_p_pi/num_sides
1111 eta2r = eta2r*0.5_f64*num_sides/
sll_p_pi
1112 eta2i = floor(eta2r)
1113 a = eta2i*
sll_p_pi/(0.5_f64*num_sides)
1114 eta2r = sqrt((eta2 - a)**2 + eps**2)
1116 + eta1*cos(
sll_p_pi/num_sides)*sin(eta2_shift) &
1117 *sin(
sll_p_pi/num_sides - eta2r)/cos(
sll_p_pi/num_sides - eta2r)**2*(eta2 - a)/eta2r
1124 sll_real64,
intent(in) :: eta1
1125 sll_real64,
intent(in) :: eta2
1126 sll_real64,
dimension(:),
intent(in) :: params
1132 dummy = params(1) + eta1
1137 eta2i = floor(eta2r)
1138 eta2r = abs(eta2 - eta2i*
sll_p_pi/3._f64)
1183 sll_real64,
intent(in) :: eta1
1184 sll_real64,
intent(in) :: eta2
1185 sll_real64,
dimension(:),
intent(in) :: params
1186 sll_real64 :: alpha1
1187 sll_real64 :: alpha2
1199 sll_real64 :: coef1, coef2
1201 sll_assert(
size(params) >= 10)
1213 rl1 = (eta1 - a_1)/(b_1 - a_1)
1214 rl2 = (eta2 - c_1)/(d_1 - c_1)
1216 coef1 = (b_2 - a_2)/(b_1 - a_1)
1217 coef2 = (a_2*b_1 - b_2*a_1)/(b_1 - a_1)
1227 sll_real64,
intent(in) :: eta1
1228 sll_real64,
intent(in) :: eta2
1229 sll_real64,
dimension(:),
intent(in) :: params
1230 sll_real64 :: alpha1
1231 sll_real64 :: alpha2
1240 sll_real64 :: coef1, coef2
1245 sll_assert(
size(params) >= 10)
1257 rl1 = (eta1 - a_1)/(b_1 - a_1)
1258 rl2 = (eta2 - c_1)/(d_1 - c_1)
1260 coef1 = (d_2 - c_2)/(d_1 - c_1)
1261 coef2 = (c_2*d_1 - d_2*c_1)/(d_1 - c_1)
1306 sll_real64,
intent(in) :: eta1
1307 sll_real64,
intent(in) :: eta2
1308 sll_real64,
dimension(:),
intent(in) :: params
1309 sll_real64 :: alpha1
1310 sll_real64 :: alpha2
1319 sll_real64 :: coef1, coef2
1324 sll_assert(
size(params) >= 10)
1336 rl1 = (eta1 - a_1)/(b_1 - a_1)
1337 rl2 = (eta2 - c_1)/(d_1 - c_1)
1339 coef1 = (b_2 - a_2)/(b_1 - a_1)
1340 coef2 = (a_2*b_1 - b_2*a_1)/(b_1 - a_1)
1351 sll_real64,
intent(in) :: eta1
1352 sll_real64,
intent(in) :: eta2
1353 sll_real64,
dimension(:),
intent(in) :: params
1354 sll_real64 :: alpha1
1355 sll_real64 :: alpha2
1364 sll_real64 :: coef1, coef2
1369 sll_assert(
size(params) >= 10)
1381 rl1 = (eta1 - a_1)/(b_1 - a_1)
1382 rl2 = (eta2 - c_1)/(d_1 - c_1)
1384 coef1 = (b_2 - a_2)/(b_1 - a_1)
1385 coef2 = (a_2*b_1 - b_2*a_1)/(b_1 - a_1)
1396 sll_real64,
intent(in) :: eta1
1397 sll_real64,
intent(in) :: eta2
1398 sll_real64,
dimension(:),
intent(in) :: params
1399 sll_real64 :: alpha1
1400 sll_real64 :: alpha2
1409 sll_real64 :: coef1, coef2
1414 sll_assert(
size(params) >= 10)
1426 rl1 = (eta1 - a_1)/(b_1 - a_1)
1427 rl2 = (eta2 - c_1)/(d_1 - c_1)
1429 coef1 = (d_2 - c_2)/(d_1 - c_1)
1430 coef2 = (c_2*d_1 - d_2*c_1)/(d_1 - c_1)
1440 sll_real64,
intent(in) :: eta1
1441 sll_real64,
intent(in) :: eta2
1442 sll_real64,
dimension(:),
intent(in) :: params
1443 sll_real64 :: alpha1
1444 sll_real64 :: alpha2
1453 sll_real64 :: coef1, coef2
1458 sll_assert(
size(params) >= 10)
1470 rl1 = (eta1 - a_1)/(b_1 - a_1)
1471 rl2 = (eta2 - c_1)/(d_1 - c_1)
1473 coef1 = (d_2 - c_2)/(d_1 - c_1)
1474 coef2 = (c_2*d_1 - d_2*c_1)/(d_1 - c_1)
1486 sll_real64,
intent(in) :: eta1
1487 sll_real64,
intent(in) :: eta2
1488 sll_real64,
dimension(:),
intent(in) :: params
1490 sll_assert(
size(params) >= 10)
1528 sll_real64,
intent(in) :: eta1
1529 sll_real64,
intent(in) :: eta2
1530 sll_real64,
dimension(:),
intent(in) :: params
1531 sll_real64 :: alpha1
1536 sll_assert(
size(params) >= 4)
1538 rl1 = 1.0_f64/params(3)
1539 rl2 = 1.0_f64/params(4)
1547 sll_real64,
intent(in) :: eta1
1548 sll_real64,
intent(in) :: eta2
1549 sll_real64,
dimension(:),
intent(in) :: params
1550 sll_real64 :: alpha2
1555 sll_assert(
size(params) >= 4)
1557 rl1 = 1.0_f64/params(3)
1558 rl2 = 1.0_f64/params(4)
1601 sll_real64,
intent(in) :: eta1
1602 sll_real64,
intent(in) :: eta2
1603 sll_real64,
dimension(:),
intent(in) :: params
1604 sll_real64 :: alpha1
1609 sll_assert(
size(params) >= 4)
1611 rl1 = 1.0_f64/params(3)
1612 rl2 = 1.0_f64/params(4)
1620 sll_real64,
intent(in) :: eta1
1621 sll_real64,
intent(in) :: eta2
1622 sll_real64,
dimension(:),
intent(in) :: params
1623 sll_real64 :: alpha1
1628 sll_assert(
size(params) >= 4)
1630 rl1 = 1.0_f64/params(3)
1631 rl2 = 1.0_f64/params(4)
1639 sll_real64,
intent(in) :: eta1
1640 sll_real64,
intent(in) :: eta2
1641 sll_real64,
dimension(:),
intent(in) :: params
1642 sll_real64 :: alpha2
1647 sll_assert(
size(params) >= 4)
1649 rl1 = 1.0_f64/params(3)
1650 rl2 = 1.0_f64/params(4)
1658 sll_real64,
intent(in) :: eta1
1659 sll_real64,
intent(in) :: eta2
1660 sll_real64,
dimension(:),
intent(in) :: params
1661 sll_real64 :: alpha2
1666 sll_assert(
size(params) >= 4)
1668 rl1 = 1.0_f64/params(3)
1669 rl2 = 1.0_f64/params(4)
1677 sll_real64,
intent(in) :: eta1
1678 sll_real64,
intent(in) :: eta2
1679 sll_real64,
dimension(:),
intent(in) :: params
1680 sll_real64 :: alpha1
1681 sll_real64 :: alpha2
1686 sll_assert(
size(params) >= 4)
1689 rl1 = 1.0_f64/params(3)
1690 rl2 = 1.0_f64/params(4)
1693 sll_f_sinprod_jac = 1.0_f64 + alpha2*pi2*rl2*sin(pi2*rl1*eta1)*cos(pi2*rl2*eta2) + &
1694 alpha1*pi2*rl1*cos(pi2*rl1*eta1)*sin(pi2*rl2*eta2)
1707 real(8),
intent(in) :: eta1
1708 real(8),
intent(in) :: eta2
1709 sll_real64,
dimension(:),
optional,
intent(in) :: params
1710 sll_real64 :: alpha1
1712 if (
present(params))
then
1713 sll_assert(
size(params) >= 2)
1724 real(8),
intent(in) :: eta1
1725 real(8),
intent(in) :: eta2
1726 sll_real64,
dimension(:),
optional,
intent(in) :: params
1727 sll_real64 :: alpha2
1729 if (
present(params))
then
1730 sll_assert(
size(params) >= 2)
1742 real(8),
intent(in) :: eta1
1743 real(8),
intent(in) :: eta2
1744 sll_real64,
dimension(:),
optional,
intent(in) :: params
1745 if (
present(params))
then
1746 sll_assert(
size(params) >= 2)
1756 real(8),
intent(in) :: eta1
1757 real(8),
intent(in) :: eta2
1758 sll_real64,
dimension(:),
optional,
intent(in) :: params
1759 if (
present(params))
then
1760 sll_assert(
size(params) >= 2)
1770 real(8),
intent(in) :: eta1
1771 real(8),
intent(in) :: eta2
1772 sll_real64,
dimension(:),
optional,
intent(in) :: params
1773 if (
present(params))
then
1774 sll_assert(
size(params) >= 2)
1784 real(8),
intent(in) :: eta1
1785 real(8),
intent(in) :: eta2
1786 sll_real64,
dimension(:),
optional,
intent(in) :: params
1787 if (
present(params))
then
1788 sll_assert(
size(params) >= 2)
1800 real(8),
intent(in) :: eta1
1801 real(8),
intent(in) :: eta2
1802 sll_real64,
dimension(:),
optional,
intent(in) :: params
1804 if (
present(params))
then
1805 sll_assert(
size(params) >= 2)
1813 (1.0_8 + 0.5_8*alpha1*cos(0.5*eta1)*sin(2*
sll_p_pi*eta2))* &
1816 0.5_8*alpha1*cos(0.5*eta1)*sin(2*
sll_p_pi*eta2)
1824 real(8),
intent(in) :: eta1
1825 real(8),
intent(in) :: eta2
1826 sll_real64,
dimension(:),
optional,
intent(in) :: params
1832 real(8),
intent(in) :: eta1
1833 real(8),
intent(in) :: eta2
1834 sll_real64,
dimension(:),
optional,
intent(in) :: params
1841 real(8),
intent(in) :: eta1
1842 real(8),
intent(in) :: eta2
1843 sll_real64,
dimension(:),
optional,
intent(in) :: params
1845 0.5_8*0.1_8*cos(0.5*eta1)*sin(0.5*eta2)
1850 real(8),
intent(in) :: eta1
1851 real(8),
intent(in) :: eta2
1852 sll_real64,
dimension(:),
optional,
intent(in) :: params
1858 real(8),
intent(in) :: eta1
1859 real(8),
intent(in) :: eta2
1860 sll_real64,
dimension(:),
optional,
intent(in) :: params
1866 real(8),
intent(in) :: eta1
1867 real(8),
intent(in) :: eta2
1868 sll_real64,
dimension(:),
optional,
intent(in) :: params
1870 0.5_8*0.1_8*sin(0.5*eta1)*cos(0.5*eta2)
1876 real(8),
intent(in) :: eta1
1877 real(8),
intent(in) :: eta2
1878 sll_real64,
dimension(:),
optional,
intent(in) :: params
1881 (1.0_8 + 0.5_8*0.1_8*cos(0.5*eta1)*sin(0.5*eta2))* &
1882 (1.0_8 + 0.5_8*0.1_8*sin(0.5*eta1)*cos(0.5*eta2)) - &
1883 0.5_8*0.1_8*sin(0.5*eta1)*cos(0.5*eta2)* &
1884 0.5_8*0.1_8*cos(0.5*eta1)*sin(0.5*eta2)
1896 sll_real64,
intent(in) :: eta1
1897 sll_real64,
intent(in) :: eta2
1898 sll_real64,
dimension(:),
optional,
intent(in) :: params
1905 sll_real64,
intent(in) :: eta1
1906 sll_real64,
intent(in) :: eta2
1907 sll_real64,
dimension(:),
optional,
intent(in) :: params
1914 sll_real64,
intent(in) :: x1
1915 sll_real64,
intent(in) :: x2
1916 sll_real64,
dimension(:),
optional,
intent(in) :: params
1922 sll_real64,
intent(in) :: x1
1923 sll_real64,
intent(in) :: x2
1924 sll_real64,
dimension(:),
optional,
intent(in) :: params
1931 sll_real64,
intent(in) :: eta1
1932 sll_real64,
intent(in) :: eta2
1933 sll_real64,
dimension(:),
optional,
intent(in) :: params
1939 sll_real64,
intent(in) :: eta1
1940 sll_real64,
intent(in) :: eta2
1941 sll_real64,
dimension(:),
optional,
intent(in) :: params
1947 sll_real64,
intent(in) :: eta1
1948 sll_real64,
intent(in) :: eta2
1949 sll_real64,
dimension(:),
optional,
intent(in) :: params
1955 sll_real64,
intent(in) :: eta1
1956 sll_real64,
intent(in) :: eta2
1957 sll_real64,
dimension(:),
optional,
intent(in) :: params
1964 sll_real64,
intent(in) :: eta1
1965 sll_real64,
intent(in) :: eta2
1966 sll_real64,
dimension(:),
optional,
intent(in) :: params
1991 sll_real64,
intent(in) :: eta1, eta2
1992 sll_real64,
dimension(:),
intent(in) :: params
1996 sll_assert(
size(params) >= 2)
2005 sll_real64,
intent(in) :: eta1, eta2
2006 sll_real64,
dimension(:),
intent(in) :: params
2010 sll_assert(
size(params) >= 2)
2019 sll_real64,
intent(in) :: eta1, eta2
2020 sll_real64,
dimension(:),
intent(in) :: params
2024 sll_assert(
size(params) >= 2)
2034 sll_real64,
intent(in) :: eta1, eta2
2035 sll_real64,
dimension(:),
intent(in) :: params
2040 sll_assert(
size(params) >= 2)
2050 sll_real64,
intent(in) :: eta1, eta2
2051 sll_real64,
dimension(:),
intent(in) :: params
2055 sll_assert(
size(params) >= 2)
2065 sll_real64,
intent(in) :: eta1, eta2
2066 sll_real64,
dimension(:),
intent(in) :: params
2071 sll_assert(
size(params) >= 2)
2081 sll_real64,
intent(in) :: eta1, eta2
2082 sll_real64,
dimension(:),
intent(in) :: params
2087 sll_assert(
size(params) >= 2)
2090 jac = 2.0_f64*
sll_p_pi*(r1 + (r2 - r1)*eta1)*(r2 - r1)
2099 sll_real64,
intent(in) :: eta1, eta2
2100 sll_real64,
dimension(:),
intent(in) :: params
2105 sll_assert(
size(params) >= 2)
2108 deriv = 2.0_f64*
sll_p_pi*(r2 - r1)**2
2136 sll_real64,
intent(in) :: eta
2137 sll_real64,
dimension(:),
intent(in) :: params
2141 sll_assert(
size(params) >= 2)
2144 val = (b - a)*eta + a
2150 sll_real64,
intent(in) :: eta
2151 sll_real64,
dimension(:),
intent(in) :: params
2156 sll_assert(
size(params) >= 2)
2206 sll_real64,
intent(in) :: eta1
2207 sll_real64,
intent(in) :: eta2
2208 sll_real64,
dimension(:),
intent(in) :: params
2210 sll_real64 :: alpha1
2211 sll_real64 :: alpha2
2212 sll_real64 :: alpha3
2213 sll_real64 :: alpha4
2214 sll_real64 :: alpha5
2217 sll_real64 :: eta1_min
2218 sll_real64 :: eta2_min
2219 sll_real64 :: eta1_max
2220 sll_real64 :: eta2_max
2222 sll_assert(
size(params) >= 9)
2228 eta1_min = params(6)
2229 eta2_min = params(7)
2230 eta1_max = params(8)
2231 eta2_max = params(9)
2234 eta1n = (eta1 - eta1_min)/(eta1_max - eta1_min)
2235 eta2n = (eta2 - eta2_min)/(eta2_max - eta2_min)
2237 cos(pi2*eta2n + alpha4*sin(pi2*eta2n))
2243 sll_real64,
intent(in) :: eta1
2244 sll_real64,
intent(in) :: eta2
2245 sll_real64,
dimension(:),
intent(in) :: params
2247 sll_real64 :: alpha1
2248 sll_real64 :: alpha2
2249 sll_real64 :: alpha3
2250 sll_real64 :: alpha4
2251 sll_real64 :: alpha5
2254 sll_real64 :: eta1_min
2255 sll_real64 :: eta2_min
2256 sll_real64 :: eta1_max
2257 sll_real64 :: eta2_max
2259 sll_assert(
size(params) >= 9)
2265 eta1_min = params(6)
2266 eta2_min = params(7)
2267 eta1_max = params(8)
2268 eta2_max = params(9)
2271 eta1n = (eta1 - eta1_min)/(eta1_max - eta1_min)
2272 eta2n = (eta2 - eta2_min)/(eta2_max - eta2_min)
2279 sll_real64,
intent(in) :: eta1
2280 sll_real64,
intent(in) :: eta2
2281 sll_real64,
dimension(:),
intent(in) :: params
2283 sll_real64 :: alpha1
2284 sll_real64 :: alpha2
2285 sll_real64 :: alpha3
2286 sll_real64 :: alpha4
2287 sll_real64 :: alpha5
2290 sll_real64 :: eta1_min
2291 sll_real64 :: eta2_min
2292 sll_real64 :: eta1_max
2293 sll_real64 :: eta2_max
2295 sll_assert(
size(params) >= 9)
2301 eta1_min = params(6)
2302 eta2_min = params(7)
2303 eta1_max = params(8)
2304 eta2_max = params(9)
2307 eta1n = (eta1 - eta1_min)/(eta1_max - eta1_min)
2308 eta2n = (eta2 - eta2_min)/(eta2_max - eta2_min)
2316 sll_real64,
intent(in) :: eta1
2317 sll_real64,
intent(in) :: eta2
2318 sll_real64,
dimension(:),
intent(in) :: params
2320 sll_real64 :: alpha1
2321 sll_real64 :: alpha2
2322 sll_real64 :: alpha3
2323 sll_real64 :: alpha4
2324 sll_real64 :: alpha5
2327 sll_real64 :: eta1_min
2328 sll_real64 :: eta2_min
2329 sll_real64 :: eta1_max
2330 sll_real64 :: eta2_max
2332 sll_assert(
size(params) >= 9)
2338 eta1_min = params(6)
2339 eta2_min = params(7)
2340 eta1_max = params(8)
2341 eta2_max = params(9)
2344 eta1n = (eta1 - eta1_min)/(eta1_max - eta1_min)
2345 eta2n = (eta2 - eta2_min)/(eta2_max - eta2_min)
2347 sin(pi2*eta2n + alpha4*sin(pi2*eta2n))
2354 sll_real64,
intent(in) :: eta1
2355 sll_real64,
intent(in) :: eta2
2356 sll_real64,
dimension(:),
intent(in) :: params
2358 sll_real64 :: alpha1
2359 sll_real64 :: alpha2
2360 sll_real64 :: alpha3
2361 sll_real64 :: alpha4
2362 sll_real64 :: alpha5
2365 sll_real64 :: eta1_min
2366 sll_real64 :: eta2_min
2367 sll_real64 :: eta1_max
2368 sll_real64 :: eta2_max
2370 sll_assert(
size(params) >= 9)
2376 eta1_min = params(6)
2377 eta2_min = params(7)
2378 eta1_max = params(8)
2379 eta2_max = params(9)
2381 eta1n = (eta1 - eta1_min)/(eta1_max - eta1_min)
2382 eta2n = (eta2 - eta2_min)/(eta2_max - eta2_min)
2390 sll_real64,
intent(in) :: eta1
2391 sll_real64,
intent(in) :: eta2
2392 sll_real64,
dimension(:),
intent(in) :: params
2394 sll_real64 :: alpha1
2395 sll_real64 :: alpha2
2396 sll_real64 :: alpha3
2397 sll_real64 :: alpha4
2398 sll_real64 :: alpha5
2401 sll_real64 :: eta1_min
2402 sll_real64 :: eta2_min
2403 sll_real64 :: eta1_max
2404 sll_real64 :: eta2_max
2406 sll_assert(
size(params) >= 9)
2412 eta1_min = params(6)
2413 eta2_min = params(7)
2414 eta1_max = params(8)
2415 eta2_max = params(9)
2417 eta1n = (eta1 - eta1_min)/(eta1_max - eta1_min)
2418 eta2n = (eta2 - eta2_min)/(eta2_max - eta2_min)
2426 sll_real64,
intent(in) :: eta1
2427 sll_real64,
intent(in) :: eta2
2428 sll_real64,
dimension(:),
intent(in) :: params
2429 sll_real64 :: jac_11, jac_12, jac_21, jac_22
2431 sll_real64 :: alpha1
2432 sll_real64 :: alpha2
2433 sll_real64 :: alpha3
2434 sll_real64 :: alpha4
2435 sll_real64 :: alpha5
2438 sll_real64 :: eta1_min
2439 sll_real64 :: eta2_min
2440 sll_real64 :: eta1_max
2441 sll_real64 :: eta2_max
2443 sll_assert(
size(params) >= 9)
2449 eta1_min = params(6)
2450 eta2_min = params(7)
2451 eta1_max = params(8)
2452 eta2_max = params(9)
2455 eta1n = (eta1 - eta1_min)/(eta1_max - eta1_min)
2456 eta2n = (eta2 - eta2_min)/(eta2_max - eta2_min)
2458 jac_11 = alpha2*2._f64*cos(pi2*eta2n + alpha4*sin(pi2*eta2n))
2459 jac_12 = -(alpha2*(2._f64*eta1n - 1._f64) + alpha3)*(pi2 + pi2*alpha4*cos(pi2*eta2n))* &
2460 sin(pi2*eta2n + alpha4*sin(pi2*eta2n))
2461 jac_21 = 2._f64*alpha5*alpha2*sin(pi2*eta2n)
2462 jac_22 = alpha5*(alpha2*(2._f64*eta1n - 1._f64) + alpha3)*cos(pi2*eta2n)*pi2
Fortran module where set some physical and mathematical constants.
real(kind=f64), parameter, public sll_p_pi