1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809
|
==================================================
yade-2025.2.0
Mon, Feb 10 06:15:00 2025 +0100
Bug Fixes
*********
Fix #348 : remove missing boost's include (!1053)
Code Formatting & Organization
******************************
Small clang reformat
Small python reformat
Documentation & Comments
************************
Alphabetical-ordered presentation of ENABLE_ cmake options in Installation page (!1045)
Add new publications (!1047)
Doc hyperlink (!1051)
two additional tutorial examples
remove some "utils." prefix in tutorial and clarify why
smallfix in documentation of mpy module
Examples
********
User Interface (GUI)
********************
Models & Shapes
***************
Alpha shapes
------------
Clumps
------
Fluid & thermal & particle saturation
-------------------------------------
LevelSet & Volume-interacting LevelSet
--------------------------------------
Ig2_Sphere_LevelSet_ScGeom() class for interactions between spheres and level set objects (!1064)
MultiScGeom and MultiFrictPhys new classes (with other ones) for multiple contact points between (non-convex) LevelSet-shaped bodies (!1042)
Code cleaning (!1049)
Polyhedra / Facets
------------------
PotentialParticles / Blocks
---------------------------
Add intactRock parameter in Ip2 and allow cohesion in KnKsPBlaw
OpenMPI / OpenMP threads
************************
OpenFoam coupling
*****************
Drop support for OpenFoam6.org
Support ".com" versions from 2006 to 2312
Support OpenFoam10.org and OpenFoam11.org
All supported versions tested in the pipeline
Simpler launch command
Some bugfix
Packaging & Build Improvements
******************************
Small fix in ChangeLog checker & review categories for changelog for new development cycle (!1039)
Tune RPATH setting, fix some cmake warnings & broken symlink, allow to make doc without yade properly installed, and fix build failure for suitesparse>=6.0.0 (!1041)
Switch to ubuntu24.04 for generating yade doc
Fix depreciation warnings in cgal-6.0 (!1066)
Increase timeout on MPFR builds in CI. (!1068)
Fix build failure for python 3.13. (!1069)
Small Enhancements
******************
Add a new engine TimeAverager to average data over time for specific spheres identified by their IDs (!1040)
VTKRecorder updates with more documentation and a bit less of not-so-meaningful quanitities regarding recorders (!1027)
Correcting computation of State.rot (!1051)
Change default look in 3D view and provide predefined styles
Add python function to (periodic) Cell to get fluctuation velocity
Add Unity build to the pipeline, to make sure it doesn't break sometime (!1073)
Testing & Continuous Integration
********************************
High precision RealHP<N> ComplexHP<N>
*************************************
Write RealVisitor and ComplexVisitor class to completely expose to python
Real and Complex types. This significantly speeds up high precision
calculations (!1070)
==================================================
yade-2024.08a
Sun, Aug 04 20:05:00 2024 +0100
Alpha shapes
Bug fixes
Fix Archlinux build: python 3.12 support, fix escape sequences, unit test: assertTrue, randint: int arguments (!1024)
fix build failure with numpy 2.0 (!1026)
fix #331 `O.cell.nextVelGrad` discrepancy of documentation and actual code (!1028)
rewrite checkVTKRecorder, formatted with yapf (!1036)
Clang-format & reorganize
Add indications to use python-formatter in .gitlab-ci.yml (!1022)
Clang C++ code reformat and python yapf3 code reformat (!1025)
Clumps
Documentation / Comments
improved predicate documentation (!1009)
+2 papers by Bettina Suhr (!1018)
Debug install and Profiling doc minor updates (!1023)
CohFrict doc: -1 typo (!1016)
Update documentation about the development process and how to release (!1037)
Examples
Fluid & thermal & particle saturation
GUI
High precision RealHP<N> ComplexHP<N>
LevelSet & Vol. Interacting LevelSet
Implementation of Volume-interacting Level-Set DEM or VLS-DEM (2/3) (!984)
Volume law improvement (!1021)
OpenMPI calculations
Packaging improvements & building
Fix #341, fix doc building on noble and trixie. (!1034)
Minor ppa fixes, add information about yadedaily for Ubuntu 24.04 noble (!1035)
Polyhedra / Facets
Update Polyhedra_01.cpp (!1020)
Drop Simplify() fucntion in polyhedra-wall and polyhedra-polyhedra interactions. Additionally merge 'utils.PWaveTimeStep()' and 'polyhedra_utils.PWaveTimeStep()' functions into one. (!1031)
PotentialParticles / Blocks
Small improvements
remove more Python2 crumbs (!1008)
Add 'case 0' to the switch handling separation plane, that does nothing - skips switch and moves to the regular test. (!1012)
Add new util function getSlicedProfiles() to average quantities over specified subdomains. (!1013)
Update cmake files to retrieve version of python modules. (!1029)
makes computeRadiusPart consider all the spheres radius in the domain (!1030)
Update .gitlab-ci.yml so that on every Merge Request ChangeLog file must be updated (!1037)
Tests & checks & CI
In progress: Add Ubuntu 24.04, deprecate 16.04, Debian Stretch and Buster (!1032)
Add Ubuntu 24.04, deprecate 16.04, Debian Stretch and Buster (small fix) (!1033)
==================================================
yade-2024.02a
Sun, Feb 09 21:26:00 2024 +0100
Short summary of 2024.02a release:
short title (Merge Request count, until !1005)
Documentation / Comments (16 MRs)
Bug fixes (14 MRs)
Small improvements ( 8 MRs)
Packaging improvements & building ( 7 MRs)
Tests & checks & CI ( 6 MRs)
LevelSet & Vol. Interacting LevelSet ( 5 MRs)
High precision RealHP<N> ComplexHP<N> ( 4 MRs)
Clumps ( 2 MRs)
Fluid & thermal & particle saturation ( 1 MRs)
Polyhedra / Facets ( 1 MRs)
Alpha shapes ( 0 MRs)
Examples ( 0 MRs)
GUI ( 0 MRs)
OpenMPI calculations ( 0 MRs)
PotentialParticles / Blocks ( 0 MRs)
clang-format & reorganize ( 0 MRs)
----------------------------------------------
Total (61 MRs)
Documentation / Comments (14 MRs)
Add documentation to clump breakage functions in 'bf' module (!934)
Updates in doc instructions (!939)
build doc on ubuntu 22.04 (!946)
Python3 way of print in SpherePack doc (!953)
Change libvtk*-dev source installation instructions (!959)
New publications (!970)
New publications: corrections after merge request !970 (!971)
New publications: title format corrections (!972)
Small YADE ENUM doc update (!968)
chore: replace launchpad links with yade-dev/answers links (!978)
-1 Launchpad (!979)
Correcting subdomain boundfunctor doc (!985)
Added article (!997)
Doc: extending and clarifying Omega vs Scene + cleaning (!999)
Update Reference to SPIRAL efficient algorithm (!1007)
Update Changelog for YADE release 2024.02a (!1004)
Bug fixes (14 MRs)
fix regex to detect suitesprse 7.0+ (!935)
Try QtWebEngineWidgets when failed to import QtWebKit (!938)
Remove old benchmark scripts (!937)
Mask tesselation wrapper (!940)
Fix compilation error with GCC-13 (ArchLinux now) (!952)
Correction to Rotational Kinetic Energy Calculation (!954)
fix: color warning (!960)
Solve the yade.config import issue when enabling `NOSUFFIX` option (!956)
Fix #319 (!981) CGAL 5.6 high-precision build error
fix attribute name mismatch (!990)
Collider small fix (!995)
delete interactions correctly when unpMax<0 and fragile=True (!1000)
Fix GCC-13 crash #328 (!1002)
Fix some compilation warnings, make the code more reliable (!1003)
Small improvements ( 7 MRs)
Add viscoelastic boundary conditions (engine) and its documentation. (!951)
remove debug message about harmless corner case (!958)
Add hertzian attribute for box-sphere interactions (!955)
New Rotation Integration Algorithm, an Improvement from the Previous One (!944)
turn createDistantMeniscii false after one action() (!969)
Add viscous damping model of [Brilliantov1996] and [Mueller2011] for velocity-dependent CoR in the Hertz-Mindlin contact model (!977)
extend cohesive-frictional model (!962)
Move away from python3-future (!1005)
Packaging improvements & building ( 7 MRs)
Add supported python3.11 (!931)
update repository and dependent packages for opensuse 15.4 in branch suse15 (!6)
Dropping i386 from CI pipeline (!948)
Two archlinux fixes: Skip MPI checks for MPI ver.4.1.5 - workaround #309; use builtins min/max (!964)
Build for trixie. #316 (!980)
Fix #325: rename $CI_BUILD_ID to $CI_JOB_ID (!994)
Fix #326 - fix the master pipeline - relax the check a little bit for VTK Float32 data type (!996)
Tests & checks & CI ( 6 MRs)
Add benchmark tests of Chung and Ooi (2011) (!933)
Skip capillarityEngine check tests if input file is missing. (!941)
Small archlinux screenshot update (!949)
Remove "from numpy import *" in checks (!965)
get silo mesh from yade-dem.org (!974)
Fix #320 (!982) - Need to prepare new GUI screenshots for debian trixie.
LevelSet & Vol. Interacting LevelSet ( 5 MRs)
VLS-DEM: Implementation of Volume-interacting Level-Set DEM (1/n) (!961)
Enabling correct unbound use of LevelSet::distance for in-grid points (!986)
Avoiding double function call in level set distance computation (!992)
LevelSet: -1 useless line (!993)
LevelSet doc and code comment update (!998)
High precision RealHP<N> ComplexHP<N> ( 4 MRs)
Fix #313 setPermF, setPermT in High Precision. (!963)
Allow using (when wanted) MPFR for g++ version > 12.0.0 (upstream fixed the bug) (!983)
Ready: clarification for the paper: Rename ENABLE_REAL_HP → ENABLE_MULTI_REAL_HP which enables RealHP<N> for N ∈ {1,2,3,4,8,10,20}, fix #247 (!989)
Small long double fix for boost 1.83 (!1001)
Clumps ( 2 MRs)
Making it clearer that discretization > 0 in clump functions requires spherical members (!945)
FIX #311 (!987) - Clump.members.keys()
Fluid & thermal & particle saturation ( 1 MRs)
various fixes for TesselationWrapper (!943)
Polyhedra / Facets ( 1 MRs)
Fixing PBC bug in polyhedra (!991)
Alpha shapes ( 0 MRs)
Examples ( 0 MRs)
GUI ( 0 MRs)
OpenMPI calculations ( 0 MRs)
PotentialParticles / Blocks ( 0 MRs)
clang-format & reorganize ( 0 MRs)
==================================================
yade-2023.02a
Short summary of 2023.02a release:
short title (Merge Request count, until !912)
Documentation / Comments (26 MRs)
Bug fixes (12 MRs)
LevelSet (12 MRs)
Small improvements ( 9 MRs)
Fluid & thermal & particle saturation ( 7 MRs)
High precision RealHP<N> ComplexHP<N> ( 7 MRs)
PotentialParticles / Blocks ( 5 MRs)
Examples ( 4 MRs)
Tests & checks & CI ( 4 MRs)
Polyhedra / Facets ( 3 MRs)
Clumps ( 3 MRs)
Packaging improvements & building ( 2 MRs)
Alpha shapes ( 2 MRs)
clang-format & reorganize ( 7 MRs)
OpenMPI calculations ( 0 MRs)
GUI ( 0 MRs)
----------------------------------------------
Total (103 MRs)
Documentation / Comments (26 MRs)
remove link to wiki in homepage + mention the generic adress for paid support in another place (!822)
GnuplotHyperlink (!824)
Peace in Ukraine (!833)
a valid link to russian scientists protesting war (it disappeared from russian websites) (!834)
trunk | new thesis (!837)
Fix doc: import error in make doc (!840)
Reintroducing git version number in doc index (!842)
Doc updates (installation, ViscEl, makeClumpCloud) (!841)
VTKRecorder doc typo and +1 paper (!854)
Update information about yadedaily installation (!855)
Doc: missing new line in raw docstring (!860)
Fix broken link to pdf docs (!863)
New publications (!875)
clarify options and packages (!861)
Remove google-analytics script #280 (!873)
Py3 related comment in one capillary script (!876)
Add short-course guides and slides to website (!871)
Add news about Yade hackathon (!879)
Modifying Installation page, merging indications of features and external packages (!870)
Fix #286, replace frontpage Changelog link + other homepage modifications (!882)
clarify a FIXME which has been partly fixed. (!903)
Doc updates regarding Clump and OAR compilation option (!900)
New publications (!905)
+1 paper (!912)
mention ubuntu20.04 virtual machine (!915)
Yade on Twitter (!920)
Explanations on creating cohesive bonds
Bug fixes (12 MRs)
small fix: correct shebang and follow XDG specification (!831)
fix #256 (!852)
fix #259 (!850)
fix #264 - Failed screenshot tests in test_22_04 (!853)
workaround bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1009739 (!858)
Revert "workaround bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1009739" (!867)
reimplement flipCell, fix https://answers.launchpad.net/yade/+question/701782 (!864)
Fix compilation with g++ 12 (!885)
One more g++ 12 fix. (!886)
Fix ppc64el and i386 (!890)
Remove last trace of libloki-dev (!888)
FIX #290, binding functions should not use 'def_readonly' (!898)
LevelSet (12 MRs)
Level set visualisation (!828)
Reflecting recent qt visualization of LevelSet in the doc (!836)
Level set Periodic Boundary Conditions (!832)
LevelSet Updates (!865)
A better definition of LS grids for superquadrics (back to [Duriez2021b] behavior) (!883)
Smeared Heaviside step function for level sets (!881)
Level-set DEM periodic boundary conditions update (!897)
LS updates (!908)
Correcting location of LS-LS ScGeom contactPoint (!911)
Avoiding a brutal throw when boost root finding algorithm does not find any in LevelSet (!928)
LevelSet new discharge example, updates in smearing considerations and formal changes (!914)
fabricTensor for non-spherical particles through extrema argument (!916)
Small improvements ( 9 MRs)
Removing unused Body.chain (!825)
add support for python 3.10 and add new find paths for CLP, CuBlas and freeglut with new archlinux image (!830)
Introducing capillary files in yade-data. (!877)
Fix urls to input data in the benchmark scripts, and set preventGranularRatcheting=False, hertzian=True (!895)
use precomputed shearIncrement: faster and compatible with all Ig2 functors,... (!893)
ensure randomColor() uses utils func (!909)
Removing unused chain attribute from facet() Python signature (!913)
fabricTensor for non-spherical particles through extrema argument (!916)
Update Hertz-Mindlin model and docs (!919)
Fluid & thermal & particle saturation ( 7 MRs)
ymport.py: Check FoamFile header and handle comments. (!813)
Generalize link between ThermalEngine and derived FlowEngines (!844)
Make thermal state working version (!846)
avoid a potential infinite recursion in the lubricated contact model (!847)
compile and improve Law2_ScGeom_CapillaryPhys_Capillarity1.cpp (!868)
Adding a readme file for capillary files, with data description (!904)
Fix CapillaryEngine (case of no input files) + exemple script (!902)
High precision RealHP<N> ComplexHP<N> ( 7 MRs)
Build ubuntu 22.04 & bookworm packages for long double, float128 and mpfr150 (!814)
Fix REAL_HP on other architectures. Add bookworm arm64 to CI pipeline. (!817)
Fix long double on other architectures: arm64, s390x, ppc64el (!820)
Fix #247 by removing the confusing name REAL_HP (!859)
Needs a fix: Debian package high precision build problem (!884)
Make sure cpp_bin_float 150 passes the tests: larger tolerance 62 → 150 decimal places. (!887)
A bit more in docs about "Using higher precisions in C++" (!918)
PotentialParticles / Blocks ( 5 MRs)
PotentialParticle minor changes (documentation, unnecessary prerequisites and contact between fixed bodies) (!835)
Correct normalForce when allowViscousAttraction=False for PP and PB (!838)
Pbc doc figures improvements (!862)
Allow contacts between fixed potential blocks (!910)
Adding potential_utils module and additional examples for the PotentialBlocks (!907)
Examples ( 4 MRs)
Law2_ScGeom_CapillaryPhys_Capillarity maintenance: updates in doc and examples README, in independence of the wiki (!896)
Partial fix bug #228, use yapf3 python code formatting on some of examples (not all of them yet) (!715)
A capillary example: A better location of GSTS before NI (thanks Guo Chang) (!878)
fixed outdated mill.py example (!899)
Example of creating cohesive bonds between distant bodies
Tests & checks & CI ( 4 MRs)
increase ccache size to 500G for nova runners (!845)
reduce peak demand on MPI workers to release pressure on gitlab runners (from 10 to 4) (!848)
enable shared ccache and make -j4 the default (not 5) (!849)
Fix test_bookworm: it now uses the same screenshots as test_22_04 (!856)
Polyhedra / Facets ( 3 MRs)
Further clarification of Facet code (!826)
ymport: polyMesh support. (!821)
Modifying code comments in ScGeom, now that it may apply to sthg else than Sphere and Facet shapes (!880)
Clumps ( 3 MRs)
Implement clump breakage algorithm (!857)
Fix clump stress (!891)
use Shop::getStress in PeriTriaxController to handle clumps gracefuly (!892)
Packaging improvements & building ( 2 MRs)
CMake: Skip libvtk version 7. (!819)
CMake: Add DISABLE_PKGS option. (!816)
Alpha shapes ( 2 MRs)
Display alphaShapes in QGLViewer (!901)
Bound alpha shapes (!906)
clang-format & reorganize ( 7 MRs)
Move pfv (!851)
Fix #228, small final reformat (!929)
Fix #228, add to the CI pipeline a verification that all python scripts are formatted (now it's ready) (!926)
small clang C++ reformat (!922)
Partial fix bug #228, yapf3 python reformat in ./examples/ (!925)
Partial fix bug #228, small yapf3 python reformat in ./py/ ./gui/ and ./doc/ (!924)
Partial fix bug #228, small yapf3 python reformat in ./scripts/ (!923)
OpenMPI calculations ( 0 MRs)
GUI ( 0 MRs)
==================================================
yade-2022.01a
Sun, Jan 16 19:00:00 2022 +0100
Short summary of 2022.01a release:
short title (Merge Request count)
Documentation (40 MRs)
clang-format & reorganize (21 MRs)
Bug fixes (19 MRs)
Small improvements (19 MRs)
Tests & checks & CI (18 MRs)
Fluid & thermal & particle saturation (15 MRs)
Packaging improvements & building (11 MRs)
High precision RealHP<N> ComplexHP<N> ( 8 MRs)
Examples ( 7 MRs)
LevelSet ( 4 MRs)
OpenMPI calculations ( 4 MRs)
GUI ( 3 MRs)
Polyhedra ( 1 MRs)
Alpha shapes ( 1 MRs)
----------------------------------------------
Total (171 MRs)
Documentation (40 MRs)
Add version badge, but only in html. In .pdf only put a link to svg.
Docker install section in documentation
Doc enhancements in CohFrict* (mostly) and NormShearPhys
Homepage cleaning
SpherePack.toSimulation docstring
Docs HM - Viscous damping - updated the Hertz-Mindlin docs to clarify how viscosity is currently calculated in the code
Fix broken links in docs
Affiliation update
Yade articles update
Doc of http overview: mentioning lynx
Updating momentRotationLaw doc in CohFrict classes
HarmonicForceEngine Documentation Typo
Add discord server link to home page, combine both wiki links into one.
nicer keys for some bibitems + dodge czech accents issues with bibtex (sorry Václav Šmilauer)
fix #219 : update docs about merging from other people's forks, cf. !511
Add bib reference
Add 3 PHD-thesis from TUBAF
improve git docs: add a link to the progit-book https://github.com/progit/progit2
Small mailmap update
ymport.stl documentation
Prog doc minor update about internal (Yade) bibliographic references
Docstring typos
Doc update of O.dynDt and O.dt
Doc of O.save / O.load
Documentation about how to add new GUI tests to the pipeline.
sort ENABLE_* in CMakeLists.txt and in doc/sphinx/installation.rst
Add comments & documentation about VTKRecorder and const Real&
Clump discretization doc
Improve documentation about clang-format / yapf3
Doc update about FEMLIKE feature ON by default
Update yade-articles.bib
Clump discretization doc updated again
Increase clarity of thermalengine doc
Replace obsolete YADE_REQUIRE_FEATURE in docs with info about #ifdef YADE_FEATURE
Better url links in gitlab doc
Doc 3rd edition
fix one affiliation and release new DOI
Add our high precision paper to bibliography doc/yade-articles.bib and HighPrecisionReal.rst
PBCdoc - better DOCs - formulation.html periodic boundary conditions and yade.wrapper.Cell
progTypoVector3rZero - Getting rid of historical Vector3R::ZERO in prog doc as well
clang-format & reorganize (21 MRs)
clang format single line if
Small clang reformat
Fix #175 - standarize start line #! in all the examples
small clang reformat
Python format preparations: to start work on #228 create scripts/python-formatter.sh using yapf3
Remove \ at end of line from *.py files, as recommended in yapf3 docs
Python reformat: ./doc/sphinx
splitting (1/7) from pkg/* the FileGenerator and other heavy stuff which are not physical models.
splitting (2/7), merge after !733, split SnapshotEngine to postprocessing/image
splitting (3/7), merge after !733, split PotentialBlock PotentialParticle to pkg/potential
splitting (4/7), merge after !733, split Polyhedra to pkg/polyhedra
splitting (5/7), merge after !733, !738, split VTKRecorder to postprocessing/vtk
splitting (7/7), merge after !733, !739, split of Split Polyhedra.cpp → Polyhedra_01.cpp, Polyhedra_02.cpp
splitting (6/7), further split of VTKRecorder
splitting (7/7), split Shop and SpherePack to preprocessing/dem
Python yapf3 reformat of ./py/tests/
Python yapf3 reformat: scripts/python-formatter.sh ./scripts/checks-and-tests
Revert split VTKRecorder, PartialSatClayEngine, TwoPhaseFlowEngine
Following discussion in !783 convert all files to UNIX line endings.
Add line ending guard to the CI in make_minimal, just like clang-format.
Small progress with #228 (yapf3 reformat), part of examples.
Bug fixes (19 MRs)
Collider optimization (fix #186)
Fix some boost_python37 issue with cmake
fix getRotStiffness for GlobalTimeStepper
remove extra creepedShear (copied by accident from ViscoFrictPhys)
Fix compilation with g++11 (a subset of !624)
Fix issue #184 (aka question #694548)
fix Qt inspector with deleted bodies (includes: don't try to find a defaut body at startup)
Fix #200 collider segfault + function renaming
fix condition that would result in missing virtual interactions when PFacets have parallel edges
fix use of extMaterial in cylinderConnection (https://answers.launchpad.net/yade/+question/697238)
extra test and fix for .def_readonly(…) function
fix problem https://answers.launchpad.net/yade/+question/697874
Fix SnapshotEngine (part of issue #230)
Fix #234 - On new QT5 versions: "The constructor with a shareWidget is deprecated", thanks Luc OGER!
small fix in GUI tests, fix long double ubuntu 20.04 compilation.
Lubrication keps calculation fix.
Fix #244 - also lock bodies drawloopmutex when drawing interactions.
Fix accuracy issue when solving a polynomial + don't erase active intractions in traction
Fix color_cycle deprecated matplotlib warning
Small improvements (19 MRs)
remove compile warning
Add virtual override keyword, add some const keywords; Fix #197
Add -Wshadow, simpler CMakeLists.txt
fix #202 (-Wshadow name conflict) rename k → kParallelForeachIndexCounter in YADE_PARALLEL_FOREACH_BODY_BEGIN
Add -Wswitch-default to CMakeLists.txt
CMAKE_UNITY_BUILD (faster build times) documentation and smallfix
Fix #204 - UNITY_BUILD works with cpp Logging
Use boost::enable_shared_from_this, this should help with #199 (mess with type casting) and #205 (unintended python variables)
Rename CentralGravityEngine → CentralConstantAccelerationEngine
Add example for making screenshots of --stdperformance (examples/test/performance/checkPerf.py)
Removing incomplete and unused TriaxialTest.biaxial2dTest
add new HarmonicForceEngine, identical to HarmonicMotionEngine but applies force instead of displacement
homogenize feature names and -DENABLE_FEATURE options in the cmake step
Add script to get LP-questions
Add option to allow gravity to be excluded from numerical damping in NewtonIntegrator
A new onlyReal in O.interactions.has
Not Urgent Change in Warning message
Add blockMeshDict() to ymport.py - openfoam's blockMeshDict file can be imported into yade.
ymport.py: Check FoamFile header and handle comments.
Tests & checks & CI (18 MRs)
Test GUI enum instead.
skip mkHP_float in WIP and Draft.
Don't flood the checks with warnings from BodyContainer and add LOG_ONCE_*
Don't test Constants.hpp three times, small cleanup in tests.
Add thermal engine check script 2 to pipeline
temporarily increase btemp tolerance, fix #218, https://gitlab.com/yade-dev/trunk/-/jobs/1259015083
Fix #168 Use yade-data as submodule
Fix #132 - add screenshot verification to GUI tests
small fix in GUI test, don't print something that's not expected in a screenshot of a passed test
Remove attempts to filter outliers while the test is running (it was incorrect)
Add GUI test for hopper
Small progress towards issue #169 and faster compilation: split PartialSatClayEngine, TwoPhaseFlowEngine into two smaller files each
Add -Ofast native maximum optimization option to CMakeLists.txt
Add GUI test for SnapshotEngine
Fix #169 - 32 bit ASAN debug i386 build.
Maybe remove i386 from pipeline CI, maybe discuss #239
See #241 : temporarily run debian bookworm check only on newer processors.
Revert newhardware tag, because #241 is fixed.
Fluid & thermal & particle saturation (15 MRs)
report useful runtime errors and fix PartialSatClayEngine
Quick bug fix for thermalengine
Parallelize fluid conduction in ThermalEngine, brace for distro complaints.
Increase checkThermalEngine.py tolerance because of ENABLE_FAST_NATIVE=ON
HydroForceEngine: fix small errors in the fluid resolution
HydroForceEngine: add initialization function and simplify turbulentFluctuations
HydroForceEngine: modify and simplify averageProfile()
HydroForceEngine: add new mixing length formulations to the fluid resolution
fixing delT scope bug, thanks Zoheir Khademain.
Pfv smallfix
Parallelization of fluid conduction still tricky - reverting back to a stable state until a new solution can be pushed.
HydroForceEngine and Law2_ScGeom_ViscElPhys_Basic: add an option to apply lubrication
Make decoupleForces work as 1 way coupling
Lubrication gap small fix
Turn flow.defTolerance off by default
Packaging improvements & building (11 MRs)
Use clang-11
Build pkgs separately and link in one step
Workaround #201 linker problems
Add some needed dependencies for yade-deb
Add DISABLE_ALL option
Add archlinux support.
Add debian/bookworm
Update due to debian/bookworm
Add Ubuntu 22.04 build
Workaround for #155 (Freeglut 3, fgStructure.CurrentWindow is NULL - crash)
Revert "Workaround for #155" - Freeglut is fixed. Drop all workarounds.
High precision RealHP<N> ComplexHP<N> ( 8 MRs)
Clang 11 RealHP, fix #193
small python HP improvements
Use LOG_ONCE_* in DecomposedReal
Extra static_assert tests for RealHP, ComplexHP
Serialization of Complex numbers: both GUI and .xml / binary.
Improve handling of complex numbers
Proper high precision Complex support. MPFR ↔ MPC, float128 ↔ complex128
Precising HP doc
Examples ( 7 MRs)
Add example scripts for alpha shapes
Add placeholder for high precision triple-pendulum example
Add the triple pendulum script examples for our paper
More alpha shape examples
Conical Damage Model with pressure dependent inter-particle friction coefficient - implementation and examples of a new contact law
HydroForceEngine examples: update and add new examples
LevelSet example has been extended
LevelSet ( 4 MRs)
ISC is forced to be serial with 0 verletDist, avoiding the LOG_ERROR in that case
LevelSet shape 0/N : beginning of several merge requests for giving a new LevelSet shape
Level set 1/N: example and VTK visualization stuff - New Python functions or files, and modifications to VTKRecorder for visualization purposes.
Level set (N-1)/N - LevelSet shaped bodies can now interact (without touching InteractionLoop as discussed at some point in the past). Add example & check.
OpenMPI calculations ( 4 MRs)
Dem8 benchmarks final update
DEM8_Benchmarks: Silo Flow and the Penetration Test scripts using SI units (m-N-Pa-kg).
revert !596 - see what happens with more testing: checkMPISilo.py
Add mpi-default-bin to depends of yadedaily. Fixes #216 (some docker images didn't have mpirun command)
GUI ( 3 MRs)
Fix rendering of labels in Potential* Gl1 functors for wire=True
Fix #27 - fix problem with wrong ETA estimation, by removing it.
GUI serialization shows more info if there is an unhandled type.
Polyhedra ( 1 MRs)
Polyhedra warning about vertices number
Alpha shapes ( 1 MRs)
Add alpha shapes support & example
==================================================
yade-2021.01a
Sun, Jan 17 18:45:12 2021 +0100
Short summary of 2021.01a release:
short title (Merge Request count)
Documentation (41 MRs)
Bug fixes (45 MRs)
High precision RealHP<N> (31 MRs)
Small improvements (27 MRs)
Fluid & thermal & particle saturation (15 MRs)
Tests & checks (13 MRs)
OpenMPI calculations (13 MRs)
clang-format in the pipeline ( 7 MRs)
Packaging improvements ( 7 MRs)
GUI ( 3 MRs)
----------------------------------------------
Total (202 MRs)
Documentation (41 MRs):
Update installation.rst (asan builds + stuff)
Add recent publications
point youtube's 'related videos' to the same channel
Update front page link to videos: tutorial-more-examples.html more up to date.
Fix bug and documentation FlowEngine invVoidVolume wrapper
Fix recent build failures on master with latest docker bullseye image.
Small docs fix
Doc typo: missing norm in trial shear force
Doc Body.groupMask
User doc
Update high precision documentation
Miscellanea doc
Add example script for opengeomechanics paper
clarify thermalengine doc
Documentation makeCloud and makeClumpCloud
ViscoelasticPM doc update
Prog doc typo
ProgDocTypos
Formulation doc typo
improve cellDist doc
small addition to the doc to mention verletDist explicitely
Doc prog.rst update
FlowEngine.getCell doc
Doc update of VTKRecorder.fileName
ymport.textPolyhedra-doc
Prog doc typos and minor changes
Doc Law2_Polyhedra*
residualFrictionAngle in radians in JCFpmMat docstring
Sphinx doc broken link in Prog doc
O.forces.f doc
Two Docstrings
BaselineTypo
adding open geomechanics reference to doc and pubs
Add --stdperformance, --quickperformance explanation to documentation.
Polyhedra Ip2 doc
MaterialContainer doc typo
timing.runtimeDoc
Added Hicham Benniou PhD reference
Add references to article describing lubrication law
update publications
!463 alternative : Added article February 2020 Computational Particle Mechanics
Bug fixes (45 MRs):
fix #145 seed in makeCloud FIX makeCloud doesn't use "seed"
Fix pygts module import in python3.9
Fix PyRunner. Now it can propagate errors upwards.
Fix #110 FIX Graph yade.plot.live matplotlib numpy update exception
Fix compilation with python3.9
fix #157 FIX O.stopAtTime does not do anything useful
Fix #140 FIX ForceContainerParallel::sync() can count permanent forces twice or more
Fix https://gitlab.com/yade-dev/docker-yade/issues/1 FIX yade-ci crashes
export.text2vtk - fixed a bug + refactoring
Fix #146 FIX "to-Python converter already registered" RuntimeWarning
Fix even more warnings, print only 'maybe-uninitialized' and '#warning' (!270), faster compilation. (!273) 18 of 18 tasks completed
fix clang formating mistake, change remaining doubles to Real
fix tutorial script https://answers.launchpad.net/yade/+question/689537
Fix printing Vectors by LOG macros.
Fix GCC-10 compilation #958006
Fix_PBs_orientations
#153 fix FIX O.energy['nonViscDamp'] misses gravity forces
Skip url ping-pong for "getting help" page
fix yade crash, when closing 3D view via "X" window frame button, in Ubuntu 20.04, fixes #164 FIX yade crash when closing the 3D view.
Fix close view crash
small mailmap fix and test cleanup
Little bit of work on #97 : lib/base/Math.hpp should be math only
Fix compilation against newer QT5.
Some small fixes for Sacha : Fix compilation with boost 1.65 and g++ 9.3 combination
Fix denser grid in GLViewer.
clumpId type should be Body::id_t, not int. Add fixme note in Math.hpp about issue #97
Fix #162 - fix building master pipeline due to recent VTK upgrade in OpenSuse 15.
Fix build on latest bullseye
Fix doc generation for newer sphinx. #955097
Workaround MPFR boost bug on ubuntu focal
Enable OpenMP for MPFR
SpatialQuickSortCollider is nice, because it's only 70 lines long. But has one bug. FIX groupMask treatment.
comment out buggy heat flux boundary condition for now
GCAL version 5.1.1 produces different results (again), but maybe the old results are back?
Qt::MidButton is deprecated, use MiddleButton instead
Use boost::filter_iterator for BodyContainer instead of home-backed. #122
workaround #183
Add compilation on multiarch: ppc64el, arm64. Workaround #179
workaround #178 , use /tmp/SiloLargeOrifice.stl
Fix #180
Fix https://gitlab.com/yade-dev/docker-yade/issues/1
make checkPolyhedraCrush.py single core only
Disable three tries if there was a "script failure" reason to fail the job
Fix #174 add --checkall option.
Fix #150 : OpenMP crash when deleting bodies in yade -j4 ./examples/clumps/clump-hopper-test.py
High precision RealHP<N> (31 MRs):
Finalize high precision Real - finished, really :) documentation + put minieigen sources into Yade
Add check test for Runge Kutta Cash Karp 54 time integrator, error tolerance 1e-147, 147 correct decimal places :)
checkGravity.py : reduce error tolerance from 1e-3 → 1e-10
Use the minieigen ↔ yade.minieigenHP redirection when necessary.
Add High Precision to the gitlab CI pipeline
Ensure that VTK is compatibile with Real - Without Macros.
std::weibull_distribution can't understand Real type so use boost::weibull_distribution
OpenGL Real compatibility
Lapack Compatibility with Real type.
Remove Real from global namespace.
Another step towards enabling high precision Real
Adapt checks and tests to high precision Real.
Add RealHP<N> : double, quadruple and more precisions.
Bit correctness: extra tests for RealHP<N>
Small HP cleanup: don't use std::to_string.
The last remaining double to Real changes (2/2)
The last remaining double to Real changes (1/2)
Remove #DEFINEs from MathFunctions.hpp
Remove unused variables uN, uT.
don't use operator++ for floating point type.
Replace std:: with math:: when invoking math functions. (6/4) - optional, remove even more using std::min, std::max.
Replace std:: with math:: when invoking math functions. (2/4)
Replace std:: with math:: when invoking math functions. (3/4)
Replace std:: with math:: when invoking math functions. (4/4)
Replace std:: with math:: when invoking math functions. (5+6/4) - optional, remove more using
Replace std:: with math:: when invoking math functions. (1/4)
put minieigen sources back into Yade
Remove a couple of non-math:: using directives.
If necessary use mpmath.linspace instead of numpy.linspace. (high precision on python side)
Enable high precision CGAL
Avoid raw memory access for high precision types.
Small improvements (27 MRs):
added utils.randomOrientation function
libVersions detects architecture.
Use std::ofstream in pkg/dem/PDFEngine.cpp instead of old C interface for writing data files.
Use C++17 standard, remove Loki dependency.
Use vtkSmartPointer to handle memory release
small mailmap update.
Merge PotentialBlockVTKRecorder and PotentialBlockVTKRecorderTunnel engines
A better Wall-Polyhedra normal
Update warning message for deprecated GravityEngine
Clean shape: Add #ifdef YADE_FEM in core/Shape.hpp
Add seed value for periodic packings
improved O.stopAtTime
frictionAngle in radians for examples
exportPotentialBlocks
Removing Vector4r definition from Lin4NodeTetra
Add ymport.stl.shift
Add ymport.stl.scale parameter
change Shop::aabbExtrema from a Python tuple to a C++ pair.
Add seed parameter to MakeClumpCloud
Un-expose breakOccurred to avoid user confusion
remove remaining FOREACH loops on bodies
consistent use of 'et' in ViscoelasticPM (LP Answer 691009)
VTK9 support
fix body redirection using updated vector length
PyRunner improvements
Add example using the PBs
Remove randomColor duplicates
Fluid & thermal & particle saturation (15 MRs):
Adding flux type boundary condition (thermalEngine) for Luc Scholtes and Ahmed Mostafa
Protect from segfault after looping on erased particles in thermalengine
improving the particle sat field estimate, other small improvements
Partial sat clay patch
Partial sat update
add Ip2 functor for PartialSatMat
Add lubrication examples
add the packing used in thermalengine examples
add example scripts demonstrating ThermalEngine functionality
decouple mechanical and partialsat timesteps
Update conductionVerification.py
add fully coupled THM example, add citation to thermalengine publication
a more robust cmake when cgal or pfvflow are disabled and dependent modules...
add PFV tools for getting cell velocity and volume
PartialSatEngine update adding various features and bug fixes
Tests & checks (13 MRs):
Improve multithread debugging and logging. Add TRVARn(…), LOG_TIMED_*(5seconds,msg)
Make sure gitlab CI pipeline shows all the output.
improve error checking
Print time spent on each of the --checks
Add VTKRecorder check.
Add vectorized compilation to the pipeline
checkPotentialVTKRecorders
make runtime of two checkScripts acceptable
Improve performance test, add it to the pipeline.
Add multi core check
add enum tests and fix .deb builds
Add 32bit architecture to the pipeline.
Reduce test load a bit.
OpenMPI calculations (13 MRs):
Correct and improve two methods in domaindecomposition.py
Mpy update
cleaner exit and spawn/despawn
MpiDoc rebased
One Py3-required LOG_TRACE, Making Py3 mandatory for MPI compilation. Fix #144 Py2 (no-)support
fix thread-unsafe assignment of permForceSynced (fix #156, setPermF broken)
Temporarily disable insertionSortParallel() until #138 is solved.
fix parallel collision detection (fix #138) : FIX Out-of-bounds access in insertionSortParallel
escape most mpi issues by removing just one checkScript
Adjust checkMPISilo.py tolerance a little.
Parallel body erase, load balance, MPI disconnect and more checkScripts
increase timeout for MPI spawn
Mpi small fix
clang-format in the pipeline (7 MRs):
clang-format ./pkg
clang-format ./py
clang-format ./lib
clang-format ./core
clang-format gui/qt5. Remove qt4.
Add clang-format test to the CI pipeline.
clang-format discussion.
Packaging improvements (7 MRs):
Prepare 20.04 deb-packages
Add instructions for yadedaily Ubuntu 20.04 packages
Update scripts for uploading daily-packages
Fix deb packages
build deb also on master pipeline
Clean aptly DB after update
Use yade --checkall in autopkgtests
GUI (3 MRs):
Draw grid label coordinates, allow custom change of grid density.
remove unaligned margins in GUI inspect.
Add enum support for GUI dropdown menus.
==================================================
yade-2020.01a
Sun, Jan 12 09:36:24 2020 +0100
Anton Gladky (113):
Remove RELEASE file
Do not genereate moc-files globally.
Add DEB-packages to the build process
Make pring python3-conform
Use master
Add pipeline ID into the deb-version
Check, whether CI_PIPELINE_IID is set
Remove python-bibtex from dependencies
Compile only deb
Deb-only
Build packagew for 16.04
Do not install more packages in CI
use 16.04
Minor fix
Recover the gitlab-ci.yml
Merge remote-tracking branch 'origin/master' into feature/add_xenial
Add xenial into the aptly-scripts
Use ipython3 for xenial instead of python3-ipython
Change the dependencies on ipython3 in xenial
Add packages for bullseye (next Debian version)
Try to build with clang
Fix compilation with gcc
Use CMAKE_CXX_COMPILER_LAUNCHER for ccache
Merge remote-tracking branch 'origin/master' into add/enable_clang-build
Respect the previous EXTRA_CMAKE_FLAGS
Try to build with clang
Fix compilation with gcc
Use CMAKE_CXX_COMPILER_LAUNCHER for ccache
Respect the previous EXTRA_CMAKE_FLAGS
Disable some more features for the clang-build
Merge remote-tracking branch 'origin/add/enable_clang-build' into add/enable_clang-build
Merge remote-tracking branch 'origin/master' into add/enable_clang-build
Merge remote-tracking branch 'origin/add/enable_clang-build' into add/enable_clang-build
Fix git-merge mess
Use clang-10 instead of clang-9
Add scripts, specific for the yade-dem server
Update information about yadedaily
Improve yadedaily documentation
Minor fix in installation.rst
Let CI build dbgsym-packages
Do not build dbgsym for the moment.
Make C++14 mandatory and set minimal cmake version 3.5.0
Use C++ standard for-range loop instead of BOOST_FOREACH
Simplify for-range loops in the code
Use reference instead of value in some for-loops
Fix some more references
Use std::thread instead of boost::thread
Start to remove FOREACH
core/ is mostly freed from FOREACH macro
Remove boost/thread from ThreadRunner
Return boost/thread into the cmake, because of mustex
Remove some unused headers
Revert "Remove boost/thread from ThreadRunner"
Revert boost::thread -> std::thread changes. Topic for the next iterations
Merge remote-tracking branch 'origin/feature/cpp14_cleanup' into feature/cpp14_cleanup
Fix copmilation
Fix one more foreach
Check nullptr in BodyContainer. #119
Add .clang-format
Update .clang-format
Use the boost::filter_iterator for BodyContainer instead of home-backed. #122
Update copyright
Merge remote-tracking branch 'origin/master' into feature/update_bodycontainer_iterator
Merge remote-tracking branch 'origin/master' into feature/update_bodycontainer_iterator
Merge branch 'feature/update_bodycontainer_iterator'
Fix wrong last element access in PSDcum. #129
Reformat pkg/dem/SpheresFactory*
Add energy control in checkSaveLoadClumps.py
Fix wrong maxID for the clumps in the makeClumpCloud. Fixes #126
Reformat pkg/dem/SpherePack
Drop FOREACH and some minor changes in SpherePack
Use std::random instead of boost for SpherePack.
Move implementation of all functions out of header to keep it as clean as possible
Use C++11 enum class instead of plain enum
Revert changes in BlockGen.cpp
Revert changes in BlockGen.cpp
Revert wrongly commited changes in checkList.py
Merge remote-tracking branch 'origin/master' into fix/spherePack_refactoring
Fix explicitAction if force==true. #133
Fix compilation
Do not set the optimization flags explicitely.
Fix test in the testlibversion with clang
Try to copmile the full Yade with clang
Reformat
Compilation with ubsan.
Put implementation of operator () into the cpp-file
Drop tensor_anti3. Not used in the code
Remove not used "usings"
Some clean up in tenseur
Reformat tenseur
Use Eigen for tenseur
Some more cleanup in tenseur-class
Start to refactor thread-classes
Merge remote-tracking branch 'origin/master' into update/boost-threads
Merge remote-tracking branch 'origin/master' into update/boost-threads
Merge remote-tracking branch 'origin/master' into update/boost-threads
Fix compilation errors on some non-standard platforms
Simplify FindCGAL
Merge remote-tracking branch 'origin/master' into fix/debian_archs
Revert "Simplify FindCGAL"
Merge remote-tracking branch 'origin/master' into update/boost-threads
Replace all mutexes byt std
Cleanup in core/ThreadWorker*
Switch some bosst:mutex to std::mutex
Some more replacements for boost::mutex
Merge remote-tracking branch 'origin/master' into update/boost-threads
Remove unneeded include
Revert "Remove unneeded include"
Revert "Set debhelper to min version 11"
Revert "Use native cmake's CGAL detection instead of cMake/FindCGAL.cmake file."
Try to use the common FindCGAL for older and newer (header-only) CGAL versions
Remove CGAL_LIBRARIES from advanced parameters
Add RELEASE file
Boon Chiaweng (2):
improving qt Display for free fall examples
fix visualisation in qt for free fall examples
Bruno Chareyre (330):
Update github.rst: explain why pushing to yade-dev branch is mandatory, improve formating
Update github.rst: remove deprecated parts and explain how to pull --rebase from upstream and sync personal repo.
"In case if" replaced by "If". :) https://forum.wordreference.com/threads/in-case-if.3160517/
\renewcommand{\vec}{\boldsymbol}
'$' guards for two maths
fix https://bugs.launchpad.net/yade/+bug/1175574 -> issue #17 on gitlab
Fix yade's url in first paragraph of first web page!
clarify the push + MR sequence, with push to yade-dev the no.1 option.
getCellFlux for arbitrary cell Id (by Katia Boschi) + python wrapper for updateLinearSystem
upload pages from master only (merge requests excluded)
fix paths in gitlab-ci stage
Wrap FlowEngine's resetLinearSystem() rather than updateLinearSystem() - thanks Robert
fix distcc and ccache export commands
Fix compile warning in FlowEngine.hpp.in
remove irrelevant comment about amplification of error by Cundall's damping
fix reference AboulHosn2016
Remove CGAL warning from Tesselation.ipp
add python-pil and qt5-default to install instruction for ubuntu18.04
use yade-runner-01 for everything but make -jN
fix "V." interpreted as numbering by Sphinx
same equation with a different writing for clump inertia (move bracket to have mass multiplying all geometrical quantities).
Reorder index-toc in a more consistent way
follow suggested TOC logic more strictly (https://gitlab.com/yade-dev/trunk/merge_requests/98#note_162575306)
FlowEngine a getter for hydraulic conductivity
Re-use cholmod factor multiple times in PhaseCluster + apply the capillary forces optionaly in computeCapillaryForces()
testing "apt-get install python3-numpy"
apt update
use docker image from yade-dev/docker-yade
back to apt-get
apt-get -y
Update .gitlab-ci.yml
[Python-3] install python-vtk6
[python-3] apt-get install python-future
[Python-3] apt-get install python3-future
Revert "[Python3] Fix import for python2"
Revert "[Python3] Fixes to pass checks (import errors and fix _packPredicates to fit new pygts)"
Revert "[Python-3] apt-get install python3-future"
Revert "Revert "[Python-3] apt-get install python3-future""
Revert "Revert "[Python3] Fixes to pass checks (import errors and fix _packPredicates to fit new pygts)""
Revert "Revert "[Python3] Fix import for python2""
add python-future to dependencies in README, and some replacements for some package names
change python-future to python3-future dependency, and move it to ubuntu 16.04 section (also needed for 18.04?) remember to add python-future to python2.7 dependencies
Try building latex first (a mess due to previous build?)
maximize sphinx verbosity and debug info (see https://www.sphinx-doc.org/en/master/man/sphinx-build.html)
build on 22 cores
build on 18 cores (not enough memory for 22)
build on 12 cores - memory limit
decrease sphinx verbosity by 2 levels (too much logs breaks compilation...)
yadeSphinx: rm /html/_static/jquery.js only after html build
Sphinx wants 'epub' writer, not 'ebook'
fix doc building with "make -i" (the build seems correct)
Keep compile dependencies for Python 2.7, with addition of qt5-default for 18.04 (needed?) + python-future
Revert "Keep compile dependencies for Python 2.7, with addition of qt5-default for..."
Revert "use yade-runner-01 for everything but make -jN"
read the correct cellHandles after remeshing
remove some debug message
remove a debug message in DomainLimiter
remove non-necessary imports and 'utils' prefix
injection checkScripts added to skipScripts - waiting for fixed indentation
Revert "Revert "trigger this bug in the pipeline.""
remove third parameter in calls to clusterOutvadePore
Revert "Revert "Revert "trigger this bug in the pipeline."""
activate injection checkScripts again after fix in 13c8f5c0
remove unused variables and unused code
Mention stable packages before daily packages.
doc: fix english
fix inconsistency between the bibtex and the rst references for yade chapters
fix indentation in checkScript
label engines in exemple script for clearer timing.stats()
PhaseCluster.getInterfaces returns also index of each interface in 4th position
restore original example TwoPhaseFlowInjection.py
Revert "deleting of cellId in c0.getInterfaces(cellId=ll)"
Revert "Revert "trigger this bug in the pipeline.""
Revert "Revert "Revert "trigger this bug in the pipeline."""
more accurate description of useSolver, mark 1-2 undefined
define FLOW_ENGINE only if PFVFLOW is enabled
building TWOPHASEFLOW depends on PFVFLOW
fix #81 (again)
declare BodyContainer using YADE_CLASS macro, and grant python user read/write access to the underlying (yet serialized) vector<Body*> with O.bodies.rawBodies
bodies and scenes are granted 'int subdomain', Newton integrates only if scene and bodies have the same subdomain index
remove double declaration (compile error)
fix a docstring
improved use of verletDist at iteration 0
grant more user access to O._sceneObj (still not enough to pass it through mpi messages)
Introduce the shape 'Subdomain' to be used for mpi parallelization
continue grant more user access to O._sceneObj (see 5868f3c)
add to bodies subdomain index and 'isSubdomain' attribute
Collider::mayCollide takes scene->subdomain as additional argument, adapt all colliders
example scripts for subdomains + MPI
skip subdomains in Newton integration (else junk displacement will trigger the collider at every iteration)
avoid excessive call to collider in first 3 iterations
some renaming and little changes
renaming (continued) + slightly different initialization of bounds
add first concrete N-threads example for MPI decomposition, update monolithic script to have same scene than testMPIxN by default
added comments in preamble of testMPIxN.py
remove ZECollider
initialize maxVelocitySq=0 instead of infinity (by definition the initial displacement is null)
make 'newton' a registered attribute of ISCollider
more getter/setters to Subdomain
functions returning Pfacet nodes and connections
ENABLE_PFVFLOW no longer has priority over ENABLE_CGAL (disabling CGAL will now disable PFV)
MPI mode: interactionLoop erases interactions not participating in current subdomain
give Subdomain some abilities to handle mpi
preliminary mpi module
remove dependency on numpy_boost.hpp (some compile errors in debug build)
escape weird segfault with auto pointer (when YADE_OPENMP=OFF)
make timing conditional in mpy module
fix intersections and various bugfix
simple example of importing mpy
replace O.step() by O.run() in mpirun()
code cleanup
determine mpi rank consistently from argv + minor improvements
opts.mpi_mode defined at startup and conditioning the start of ipshell()
fix mpi force accumulation, and make sure communicating PyRunners start at iter 0 (initRun=True)
a function returning total cpu time in yade.timing, used in testMPI_2D.py
clean mpi examples and add timing report for mpirun
update preamble of testMPI_2D.py
update docstring in mpy.py
BodyContainer can insert body with user-defined id
fix inspector crash and compile warnings
fix usage of collider's 'doSort' and add wrapper for isActivated()
don't use displacement for collider's striding in case of multiple collision detection in one iteration (can happen with mpi)
mpirun includes checking collider activation to interupt and/or merge subdomains
example mpi script with merge/split upon collision detection
define verletDist in mpi test script
replace yadeimport.py by a normal yade import in mpy module
body can be inserted with prescribed id
mpi example with merge/split at each collision detection
fix contact detection - fixing 'withMerge' script
compliment to 3f4349 contributed by Jean Pourroy and Thomas Guntz
erase remotes only if they are no longer intersecting (FIX deadlock)
insert interactions more selectively + simplify mpi imports
fix InteractionContainer::erase (suspected memory leak if b2 exists with b1 erased) + handle linIx in insertInteractionMPI
insertInteractionMPI: avoid overwriting a real interaction by it's virtual version
let linIx be handled by the insertion function
Revert "erase remotes only if they are no longer intersecting (FIX deadlock)"
code cleaning
delete interactions immediatly after erasing body + revert change in InteractionContainer::erase (now useless)
never re-use an erased iterator...
faster implementation of interaction container's withBody() and withBodyAll()
do not use ISCollider::targetInterv if =0
insert updateMirrorIntersections in a PyRunner + non-blocking send force + avoid useless collision detection by setting maxVelocitySq=0.5
add a MPI communicator to Subdomain, assignable from python
add missing MPI_Comm declaration
Subdomain::selfComm as a generic comm getter
fix some communications which were buggy on ubuntu 16.04 (L132+L567) + keep runners listening after executing one command from master
assign merged communicator to subdomains and use it everywhere
USE_CPP in interactive case
MPI.Finalize after script execution
mpy.initialize() takes no argument and is no longer mandatory for interactive execution
a simple script which runs interactively or not without calling the initialize()
remove irrelevant comment in mpi example scripts
demonstrate getting stuff from workers interactively
a function sending commands to mpi workers and getting returned values
increase frequency of Iprobe and time the sendCommand() function
O.sceneToString() returns python bytestring with python3 (fixes #87)
conclude mpi->master merge
checkScript for mpi (currently failing for lack of default engines most probably)
apt install python3-mpi4py
add mpi4py to installation.rst
workaround mpi issue with checkList.py (and other cases where a mpi script would be execfile'd)
insert the default engines in mpiCheck.py
skip checkMPI.py for the moment
rename Correctness->Constantness for the original collider checkScript
new collider corectness script
no need to 'apt install mpi4py' now, it's in the docker image
fix compile warning (and possibly wrong behaviour?)
add reference data (from yadedaily 2018.02b-290bf6a54e~xenial) for new colliderCorrectness.py + make it a functionnal checkScript
move checkColliderConstantness.py to skipped checks (because we don't want to freeze algorithms, we want correct results)
why is mpi4py not in the docker image after https://gitlab.com/yade-dev/docker-yade/commit/644ffdad0feba9c625cb7ba7e741445ad8737c81 ?
compile everything for this MR
"apt install python3-mpi4py" not needed now (hopefully)
disable 'Giula' test
last argument of interaction erase() is optional
fix compilation without MPI
MPI: make COPY_MIRROR_BODIES_WHEN_COLLIDE = True the default
add path where mpi.h actually is on ubuntu 16.04
try MPI_CXX_INCLUDE_PATH pathname
remove trailing spaces in compile/link flags (policy CMP0004)
fix trailing spaces inserted in flags by FIND_PACKAGE(MPI) (breaks policy CMP0004 only with openmpi v1 on ubuntu16.04 build)
final (?) fix of CMakeList's ENABLE_MPI
disable suse15 build
enable all first 3 stages for all distros but suse15
checkList.py: test checkMPI.py on multiple platforms
try fixing mpi in docker
gitlab-ci.yml: OMPI_MCA_rmaps_base_oversubscribe=yes
Revert "gitlab-ci.yml: OMPI_MCA_rmaps_base_oversubscribe=yes"
Revert "try fixing mpi in docker"
Revert "checkList.py: test checkMPI.py on multiple platforms"
fix checkMPI.py (locally)
checkMPI.py on ubuntu16.04 only, else in skipScripts
a more robust test for linux version == ubuntu 16
redirect exception info from worker to master prompt + fix sendCommand() with single executor
try mpicxx without gold linker
Revert "try mpicxx without gold linker"
Update .gitlab-ci.yml: replace mpi4py deb package by pip install
Update checkList.py: check mpi for all versions
Update .gitlab-ci.yml: experiment mpi4py install
Update .gitlab-ci.yml: apt update before install
Update .gitlab-ci.yml: workaround interactive pip install
Update .gitlab-ci.yml
Update .gitlab-ci.yml
Update .gitlab-ci.yml
revert previous experiments with pip install
Update .gitlab-ci.yml: use pip install selectively for 18.04
A note on mpicxx vs ld.gold conflict
before mpi spawn, os.environ['OMPI_MCA_rmaps_base_oversubscribe'] = "yes"
fix indent
fix indent (2)
fix tab(3) - note: typing tabulations in gitlab GUI is a pain
revert 7846dacdc
Update mpy.py (yes->true)
export OMPI_MCA_rmaps_base_oversubscribe on Buster and 18.04
export OMPI_MCA_btl_vader_single_copy_mechanism=none (https://github.com/open-mpi/ompi/issues/4948)
check mpi script only, with more verbose output
os.environ['OMPI_MCA_rmaps_base_oversubscribe'] = "1" (seems to be not exactly equivalent to 'export' in bash based on local failure statistics)
checkMPI.py: consistent use of numThreads
run mpi check in degraded mode
Add yade.timing.runtime() which was lost in the merge somehow.
checkMPI.py: change normalized error definition
run all checks, mpi check only on 16.04 and buster
decrease checkMPI.py verbosity
Update checkMPI.py: fix displayed mismatch on Ek
Update .gitlab-ci.yml: try the OMPI exports again
include master in body-copy, else master bodies will never be visible to initially remote subdomains
remove debug messages and decrease verbosity of mpi
simplify and improve mpy.updateMirrorIntersections by handling master inside the same loops
use default mpi settings in 3D_bissection example, and tune gravity and verletDist
fix #92
mpi: more tunning of verbosity and code cleaning
checkSpawn.py will fail on same distros where checkMPI.py will fail, add it to skipList
skip checkSpawn.py always for the moment
Update checkMPI.py: less empty lines
make the FEM code optional (why is it in /DEM btw??)
more #ifdef MPI for mayCollide()
no YADE_PLUGIN for BodyContainer (fix #93)
boost exports BodyContainer
try fixing #94
code cleaning
export OMPI_MCA_btl_vader_single_copy_mechanism=none for openFoam test
do not use colorsys in checkMPI.py
fix checkMPI.py
two smallfix's in documentation
a more robust cmake when cgal or pfvflow are disabled and dependent modules are enabled (2PFV, Thermal, PotentialParticles)
proper detection of mpi4py by cmake (fix failed #include mpi4py.h on cluster)
use 'python' as a possible component name for detecting libboost_python37 (case of Boost1.71 on Gricad clusters)
fix cmake warning
remove inconsistent findNumpy and fix finding boost_python version for boost>1.67
fix cmake sequence (USE_WARNING_ERRORS modified after being passed to cmake)
make sure boost_python will be linked
avoid dual linkage against 2.7 and 3 versions of boost_python
manual linkage of boost_python since boost1.71 will not link it apparently
fix boost version check
include *.nix scripts in trunk (derived from https://github.com/williamchevremont/nix-yade)
smarter setting of vertexHandles size
code cleaning (unused attributes and functions in Tesselation)
continue cleaning (inefficient + untested + probably broken collider)
remove unused #include
fix compilation without ALPHASHAPE
cmake accepts pre-defined PYTHON_EXECUTABLE
add missing python dependencies to nix scripts
fix finding python
robust way of accepting user-defined PYTHON_EXECUTABLE
dimentionless -> dimensionless
+1 journal paper
Fix ISCollider crash after reset()
fix typo in InsertionSortCollider.cpp
fix checkScript checkAvoidSelfInteractionMask.py
make Collider::avoidSelfInteractionMask a non-static attribute (makes more sense)
Better handling of sparsity in BodyContainer-ISCollider-ForceContainer + improvements of MPI parallelisation
fix ENABLE_MPI=OFF compilation
fix compilation with OPENMP and MPI=OFF
relevant printed output in checkScript
fix bracket
fix unused variable with ENABLE_OPENMP=OFF
recommit 56f68b7
remove features addMove() and addRot() (it fixes #120)
MPI: preliminary body reallocation functions and example
MPI: some functions to migrate bodies between subdomains + concrete example
MPI: insert re-allocation of bodies in the parallel colliding
improvement of reallocation mechanism with a synchronous pairing system, concrete example in a 3D script
MPI: comment out vtk section is example script
fix no-MPI compilation
fix false-positive runtime error with O.dynDt=False (raised by 'make doc')
Fix O.dynDt=False again
Revert "Make sure that pyInteractionContainer is not accessing a body with id==-1, which caused crash in GUI Inspect."
fix inspector querying interactions with body -1
install 'yade.py', a symlink to yade used for python imports
fix copyrights (deprecated email adress + some new occurences)
remove remaining FOREACH loops on bodies
fix attribute name
MPI: preliminary body reallocation functions and example
remove features addMove() and addRot() (it fixes #120)
fix minor merge conflict
add files for mpy doc
some more mpy doc (1)
Update mpy.rst
enable MPI initialization with empty scene and no script
MPI: new example script
MPI doc (2) + minor improvements
mpi doc (3)
MPI: fix QGL view of bounds (class index of Bound is -1 -> GL dispatching crashes)
switch between intital and modified list of engines upon split/merge
MPI: make an example script more fun
smallfix for DISTRIBUTED_INSERT + inline doc
MPI: new example script
mpi doc (4)
MPI: mp.initialize() enables a primitive python shell after mpiexec + code refactoring
MPI: make mp.initialize(n) compatible with mpiexec + improve bodies coloring
with DISTRIBUTED_INSERT detect maxId before inserting subdomains
MPI: improved example script
MPI: revert automatic setting of numThreads in example script (doesn't work yet with spawn)
MPI: mpy provides colorScale for bodies
MPI: remove 'mit' option, avoid crash on exit, no need to initialize() in user scripts
clean exit of all possible executions (see preamble of the test script)
code cleaning
rename exemple script and add new ones for perf measurement
MPI: fix default numThreads in mpirun (was blocked at initial value=1...)
MPI: some helper function
use minimal intersections (dirty code to clean)
clean minimal intersection code (see 6df516dcc) + mpiStats for timings
MPI: use timing_comm more systematicaly
do not include mpy.rst in toctree yet
smallfix
fix usage of make_shared
OMPI exports for all distros
checkMPI on all distros
no #include in yade namespace
apply remesh interval properly (after N intead of N+1); fix hyperlinks in FlowEngine's doc
remove debug message
Deepak Kunhappan (262):
short note on the coupling
Engine for openfoam coupling
example script of foam coupling engine
option for compiling foamcoupling engine
Update CMakeLists.txt
Fix a small bug
fix a small bug
Added mpilibs in the prerequisites and installation section.
Fix references
fix OpenMPI link
Move the initMPI() function from FoamCoupling.cpp to _utils.hpp.
Remove MPI_C_LIBS from CMakeLists.txt
remove openmpi-common and libopenmpi1.10 from prerequisites, file: installation.rst
fix isGaussian varible.
add comments in the example script.
Added "ENABLE_FOAMCOUPLING" detail in the installation.rst file.
reset hydroforce before summation
include the openfoam config files in the example dir, added comments in the example script
Delete scriptYade.py : Deleting because, the file exists in example_icoFoamYade dir
yimport.py to yadeimport.py
correction in comments (line numbers)
include description for ENABLE_FOAMCOUPLING flag
ENABLE_FOAMCOUPLING to ENABLE_MPI
change from ENABLE_FOAMCOUPLING to ENABLE_MPI in the optional packages section.
Add details about the hydrodynamic forces and interpolation
ENABLE_FOAMCOUPLING to ENABLE_MPI
add openfoam coupling example
test example
remove empty lines
reduce timestep for stability
change dimensions to match low Re requirements
maske example following low Reynolds number validity
example for pimpleFoamYade solver (high Re)
correct comment in example L64 : pointing to pimpleFoamYade solver.
insertBodyAtId function, put body to container
a fake bodycontainer to put bodies, serialize and send in messages
expose insertAtId function to python
serialize and deserialize container
move from mpi_dpk to mpi branch
function to insert interactions from recieved bodies.
set interactions in master proc during the merge operation
remove mpf.py from local branch
cleanup : remove displaying of interaction sizes (std::cout)
example for testing merge : based on sending bodies + setting interactions in master proc.
comment on std::cout parts and add some comments for description
change passing of shared_ptr<Interaction> by value to reference
merge with interactions-> add flag : MERGE_W_INTERACTIONS
add comment on subD.getRankSize()
correct interactions: WIP
correct interactions --> intrs insertion during merge : WIP
fix compilation errors -> function prototypes for setBodiestoContainer and setBodyIntrsMerge in Subdomain.hpp
set the subdomain for the newly inserted body.
move interactionContainer->dirty from global merge to the point when new bodies/new interactions are set.
bodies are now assigned--> 1. interactions & materials are first strored tmp, 2. oldbody=recvdbody, 3. set material and interactions ->(dealt by interactioncontainer)
correct some issues with MERGE_W_INTERACTIONS, use the forceRunner as usual
correct example--> shows the num interactions, forces and details
correct merging operation and clearing of interactions in the master proc
flag to count number of merges
merge test example
add param ranksSet
remove std::cout
print info on num real interactions
WIP:bisection decomposition, serial and parallel
minor fixes : Call MPI_Wait to complete and make sends safe, deallocate memory of send buffers after send completion for BodyCopy algorithm.
revert change in L324: b->material
revert change in L324: b->material
Issue in global merge with interactions : segfault 11 in ERASE_REMOTE appears after random number of merge/splits
Fix error : RuntimeError: vector::_M_default_append and some aesthetic code clean up.
send bodies after 1st mergesplit : (sending bodies from master are optional), avoids scene broadcast for each split and prevents memory leak, thanks to copyBodyalgorithm.
fix my mistake (accidental erase of reqs=[[req[0]] for req in reqs] in copybody algorithm -->
recv bytearrays using comm.Send & comm.Recv from workers, message size is determined by probing (just for demo and test)
change print statements to python3 syntax in example/test scripts.
remove old bisection decomposition
bisection domain decomposition
bisection example
two fixes : issue ERROR when body is not present in subdomain to avoid potential crash, delete char buff in receiveBodies function (this was leading to memory leaks)
run for short duration
run for short duration
import from __future__
import __future__
python to python3 testOpenFoam.sh
__builtin__ to builtins
python to python3 in instructions
throw exception if max vel of body exceeds imposed shear vel. python to python3 in instructions
python to python3 in instructions
try fixing issue #96
fluidCoupling = yade.FoamCoupling() --> pipeline jobs fail with error "NameError: name 'FoamCoupling' is not defined"
fluidCoupling = yade.FoamCoupling() --> pipeline jobs fail with error "NameError: name 'FoamCoupling' is not defined" (example pimpleFoamYade)
options to insert/delete particles in coupling
fix deadlock in broadcast, resize arrays before broadcast
clean previous compilation files : ./Allclean.
remove existing source for coupling (test on runner)
fix merge operation with body reallocation
hard code colours, removes dependency of colorsys, webcolors
rebase from master
fake subdomain to represent fluid grid bounds, use this to simplify locate particles in fluid grid and fluid proc
option to split mpi communicator
working comm split
rebase from master, fix mpy.py
correct indentation error at L877
remove print statements.
fix castTerminate
set indentation
suppress readding of mpi engines after loading simulation
get subdomain ids from scene, and id of the subdomain of the current subdomain from scene
set the subdomain ids to O.subdomainIds, and O.thisSubdomainId
get fluid domain min and max bounds
domain intersections, send intersections, check body type, send body data
todo : verify particle detection in fluid solver
method to detect if all particles are located v1
add force/torque
fibers in MPI example
decompose fiber type bodies
attribute fibreList for fibre bodies (gridNode+girdConnection)
remove unsused function warning error in Bo1 functor for FluidDomainBbox_Aabb
fibers decomposition modification in driver function
fix some bugs/errors foamcoupling
driver fucntion and fixes
option to use GlobalStiffnessTimeStepper in parallel
expose subdomain body id and mpi communicator to scene
use GlobalStiffnessTimeStepper in parallel mode, (to fix doesn't work with set updateinterval)
get communicator directly
functions to set subdomain body ids to scene
enable use of GlobalStifnessTimeStepper in mpi simulations
function to run parallel coupling + flag for serial coupling
flag to enable/disable parallel timestepper
some fixes and additions : get dt from fluid procs, build local list of ids from global input of ids list
add flag for fluid coupling, body ids for fluid coupling.
update the serial version of coupling, option to insert/erase bodies from coupling : global list of ids and a list local to each proc.
scene->mpiComm doesn't work, needs fix
flag for parallel coupling mode
option to set a global list coupling body ids
check ranks, commsize to debug
scene->mpiComm
mpi communicator handle (pointer) in scene,getter and setter , (from Subdomain)
pass communicator to scene
use scene->mpiComm() communicator for all_reduce min operation on timestep
in testing, to fix verify tracking method and communication of forces
add flag for parallel fluid coupling, set communicator to fluid coupling engine, bound functor for fluid grid bounding boxes, introduce a global list of bodies in coupling
fix verifyParticleDetection
remove std::couts
small fixes, to fix intermittent crashes
try fixing collider trigger every timesterp, fluidDomain bodies are not erased
remove std::cout
fix adding force and other minor fixes
exclude fluidDomain body from unbond
add flags for fluidDomainBbox shape, getters and setters
skip fluidDomainBbox from integration
setIsFluidDomainBbox parameter for fluidDomainBounding boxes
some minor fixes
scene has access to the subdomain (shape) and functions
list of subdomain ids body id (subdomains) is a member of Subdomain class
getters and setters for scene->subD
add vtkIOParallelXML to CMakeLists, in FIND_PACKAGE VTK
vtkrecorder for mpi cases, to fix seg faults and data writing (experimental)
almost working but loading .pvtu files fail
parallel reader .pvtu ready, to fix seg fault in REC_INTR
fix rec_intrs
working interaction recorders.
expose setIDstoSubdomain function to python
use setIDstoSubdomain function to set the bodies owned by the master into its subdomain
working VTKRecorder for yade-mpi, add comment on implementation.
example demonstrating use of VTKRecorderParallel engine, GlobalStiffnessTimeStepper
remove cout
less number of fibers, reduce file size of fibnodes.dat
fix rebase mistake on FoamCoupling
fix rebase mistake on FoamCoupling
remove large file, amend example
amend file name fn to pfn
small fix in filename
with namespace yade
with namespace yade on VTKRecorderParallel
fix getComm
set subD shape in scene via O._sceneObj
add label to engine : InsertionSortCollider
get collider from utils_typedEngine
labels need to be set in userscript
labels need to be set in userscript
use double quotes for InsertionSortCollider, when getting collider using typedEngine
forward declaration of class Shape, subD shared_ptr instantiated by boost::make_shared
remove empty line
use master's gitlab config gile (.gitlab-ci.yml)
rename fbtest.py to exampleFibresMPI.py
add comment in the coloring module
fix comment quote
projected bounds and median filter in CPP
flag to use medianfilter and projectedbounds from cpp : USE_CPP_MEDIAN
fix stupid mistake of index
migrateBodiesSend in CPP, update of local ids.
migrateBodies send
fix bug when ERASE_REMOTE_MASTER=False
update of intersections and mirrorInters in cpp
rename checkNeedCollide to checkAndCollide, (fix rebase mistake)
skip deleted bodies
skip deleted body in computeTimeStep
minor fix
calculate cm just once, rewrite of while loop
chane in medianFilterCPP function
add timings, fix minor issues in body realloc fucntions
rename USE_CPP_MEDIAN to USE_CPP_REALLOC
remove redundant communicator in scene
remove getters and setters for scene->subdomain, (redundant now.)
fix on getting subdomain, ensure coupling works with body realloc.
comment printing timings in body realloc
parallel openfoam coupling example
handle periodicity in subdomains, wip
rewrite subdomain bounds for periodic case
fix meanPos and bounds for periodic case
remove calling of setPos function, as it is useless for calculating subdomain bounds for periodic boundaries
remove updateDomainPos, useless
explicitly add body ids for master subdomain
remove previous testing functions
remove previous test/toy and useless functions, correct bound calculation for perioidic cases
minor fix loop through bounds with actual number of bodies in periodic case
remove useless call to MPI_comm_rank
cast double to unsigned int (for size of VecBound member)
remove duplicate include for subdomain
use master bracnch's gitlab config and checkList.py
skip subdomain overlap from allowBiggerThanPeriod test, loop using vcBound size in perioidic case
single VTKRecorder class for serial and non parallel case : wip
working vtkRecorder excep multiblock(mpi)
replace typedef with using keyword
replace functor with lambda expression for sorting projectedBounds
activate REC_SUBDOMAIN in parallel runs by default
remove VTKRecorderParallel class (duplicate)
remove subDoverlap from assertion (subdomains can have one or two dimensions larger than half the cell size)
change branch for serial openfoam test
modifications for serial case
fluid bodies(fluid mesh bounding box) can have bounds larger than half of the cell size, skip them from testing allowBiggerThanPeriod condition
skip collision between fluid mesh bounds and subdomains,
skip adding sweep length to fluid mesh bounds
do not avoid collision between fluid mesh bounds and subdomains
some improvements
mirrorIntersections can be updated in cpp, use in case of issues with mpi4py (haven't fully comfirmed yet)
few fixes
insert fluid domain mesh bounds before subdomains, option to use getMirrorIntersections from cpp, skip adding forces for fluid mesh bounds in master, (ACCUMULATE_FORCES)
use non blocking sends in updateLocalIds
comment on std::cout, and remove unused function
flag and comment got cpp_inters
move shape checking to seperate function
rename function, fix typo
small fix in recording peri cell
remove std::cout
minor fixes
correct vtkrec example
fix bounds setting in subdomain periodic case
set correct preiod in spatial overlap peri for subdomain interaction, still needs fix
fix rebase errors
use body pos to get periodic shift
revert previous setting of period
remove duplicate line
remove openfoam trademarks
small fix to terminate
parallel run example script
parallel run example script
parallel coupling test
add spheres dir and scriptMPI to test
change function signature to void
remove useless vector of mpiStatus
change prototype in header file
correct eraseId function
fix typo
François Kneib (104):
[CMake] minimal changes to FORCE python 3.
[Doc] Write small README.rst
Update todo list in readme
Update readme with status
[Futurize] Pre-futurize changes: in python3, "raise" statement must be succeded by a standard error.
[Futurize] A bit of cleaning before apply.
[Futurize] APPLY FUTURIZE STAGE 1
[Futurize] fixes after stage 1 (still running with python2.7 for now)
Update readme and force python2 for now in cmake.
Test changing string to wstring in materials
Revert changes to reach the state before futurize --stage1.
Revert changes to reach the state before futurize --stage1.
Revert changes to reach the state before futurize --stage1.
Revert changes to reach the state before futurize --stage1.
Apply futurize stage1 without unicode_literals
[Python3] Futurize --stage2 with default opts.
[Python3] Replace pygts by Vaclav (woodem) one.
[Python3] fixes after futurize stage 2. Mostly import syntax and indent.
[Python3] Fix embeded PyInt no longer exist in python3.
[Python3]Fixed an error at launch.
[Python3] Say hello to Python3 !
[Python3] Some "raise" and indent fixes.
[Python3] Rename iterators "next()" python binding to "__next__()". Also assure python2 compatibility with bindings.
[Python3] Fix direct import of some modules/packages (like geom) in scripts.
[Python3] Update readme.
[Python3] Drop old version of pygts.
[Python3] Remove the "old_div" from the futurize --stage2 as it is buggy.
[Python3] Fix pickling to Omega().tags and saveVars to zip. yade tests now pass 100% !
[Python3] Fix GUI.
[Python3] Update README, yade tests are now working.
[Python3] Add a cmake option USE_PYTHON3 which is OFF by default for now.
[Python3] Start to fix python2 with: builtins import, XMLRSPServer import, ld/DLFCN import
Update .gitlab-ci.yml: install python3 required packages.
[Python3] Removed "from builtins import str" which makes no difference in python3 but fixes things in python2.
[Python3] This should fix python version selection for cmake<=3.7
[Python3] Fixes to pass checks (import errors and fix _packPredicates to fit new pygts)
[Python3] Fix import for python2
[Python3] Clean examples as python3 doesn't deal with mix between spaces and tabs in indent lines.
[Python3] Change pickle protocol to 0 in saveVars.
[Python3] Update README.
[Python3] Fix collider check (python3 and python2 do not loop over dicts in the same order).
[Python3] Update .gitlab-ci.yml to do apt install at each step. Update README.
[Python3] Add python3-ipython in packages install.
[Python3] Replace `print ...` by `print(...)` in all rst files.
[Python3] Fix doc, with references (bib2rst) disabled for now. Love to fix things before weekend :-D
[Python3] Should fix doc compilation on gitlab.
[Python3] Enable references again, replace python-bibtex by python3-bibtexparser.
[Doc] Fix 2 references.
[Python3] Add python3-bibtexparser to gitlab pipeline installation script.
Update .gitlab-ci.yml, remove python3 installation packages now embedded in docker image.
[Python3] Try to fix doc encoding error.
[Python3] Try (again) to fix doc encoding error.
[Python3] Further investigations on doc compilation error on gitlab pipeline.
[Python3] Fix doc encoding, story continues...
[Python3] Fix doc encoding, next episode...
[Python3] Investigate sphinx latex not running (remove try...except).
[Python3]Fix packings save/load in sqlite, thus fixing tunnel-pack.py example.
[Python3] Digging a little bit more for latex-doc not working.
[Python3] Try to make sphinx print the error msg.
[Python3] Try to fix make doc with threads. This results in an error at the very end that can be ignored as doc is fully compiled.
[Python3]Trigger gitlab build
[Python3] Remove checkPolyhedraCrush.py from checks until it is fixed.
[Python3] This should (may?) fix doc compilation on docker image.
[Python3] Last try of the day to fix doc on docker.
[Python3] Forgot something.
[Python3] Fix boost search for all python/debian/ubuntu versions.
[Python3] Doc: add a fourth pass for workarounds, remove -i option to cmake.
[Python3] Doc: force utf8 while opening files to avoid encoding errors.
[Python3] Fix backslashes in Yade.pdf on ipython outs.
[Python3] Doc: fix class diagrams sizes in pdf.
[Python3] Fix doc inheritance diagrams. Champaign, this should be the last commit to fix doc with python3 !
[Python3] Fix python2 checks.
[Python3] Change cmake behavior for python version:
[Python3] Update doc.
[Python3] Doc: add a comment in code to explain gitlab/docker bug (python exits).
[Python3] Write doc for python3.
[Python3] Fix yade-batch, http server, plot.saveDataTxt()
[Python3] Fix 4 last examples.
[Cmake] Automatically fallback to an older version of python if all packages and libs were not found.
Fix CMakeLists.txt to find libboost_python on opensuze (hopefully)
Allow simulations to be reproductible regardless of verletDist or serial/mpi implementation
Fix periodic collider (issue due to ids swap) and use scene.doReproducibleComputation instead of InteractionLoop.loopOnSortedInteractions.
Rename doReproducibleComputations by loopOnSortedInteractions.
Fix last commit, forgot one occurence of "doReproducibleComputations"
Revert "Fix last commit, forgot one occurence of "doReproducibleComputations""
Revert "Rename doReproducibleComputations by loopOnSortedInteractions."
Revert "Fix periodic collider (issue due to ids swap)"
In collider, force interactions to be instanciated such as id1<id2.
Merge mpf.py to mpy.py, tiny fix to make both produce the exact same simulation (wasn't the case).
Removed testMPI_2D_withMerge.py, use testMPI_2D.py -ms instead.
Start cleaning operation: make a clean communication timing class over mpi4py
Update testMPI_2D.py to speed-up tests (6 mergeSplit within 1000 iters).
Add mergeScene() comms to timing_comm (Gather and Gatherv).
mpy.py cleanup, plus:
Just a small goodie: master prints are now in bold.
[mpy.py] Simplify updateDomainBounds() logic with using Allgather instead of a set of send/irecv.
New MPI feature: copy mirror bodies when collide is needed.
Copy mirror bodies improvements
Allow simulations to be reproductible regardless of verletDist or serial/mpi implementation
Replace InteractionLoop.doReproducibleComputations by Scene.loopOnSortedInteractions. Make code fit to master.
Put eraseRemote in a function, call it before copy mirror bodies to avoid copying interactions of erased bodies.
Revert some changes, force collider to create intrs with id1<id2 in all cases. To do reproducible sims, please use interactionLoop.loopOnSortedInteractions=True as before.
Add an init method to Subdomain class that sets the rank, the commSize, and set a buffer size.
Add MPI interactive mode (yade -mit X).
Jan Stránský (10):
fixed some examples
corrected parameter type in pyOmega::stopAtTime_set
added MatchMaker for kn and ks of Ip2_FrictMat_FrictMat_FrictPhys
fixed Py2/3 code if ENABLE_MASK_ARBITRARY=ON
deleted unreachable and wrong code from export.textExt
what argument of export.VTKExporter.exportXYZ is now dict
improved docstrings of export.VTKExporter
user's manual, fixed phys.normalForce() -> without ()
fixed typo in Polyhedra.hpp docstring
fixed python3 print in doneHook in peri3dController examples
Janek Kozicki (699):
re-checked the examples. Needs clarification about helix.py and pv_section.py
with cmake -DDEBUG=0 there is less spamming. I marked 4 four examples as fully working thanks to that.
Fix OpenGL compilation problem in Gl1_PotentialBlock
Note about the "Assertion '!swap' failed" message.
PotentialPartcile examples: BlockGen is no longer creating empty files "BlkGen" and "BlockGenFindExtreme.txt"
PotentialParticles & PotentialBlocks examples work nicely now.
Amend github.rst doc with information how to pull a branch after it was rebased on the gitlab server.
Fix examples/test/helix.py, add note ragarding paraview versions inside pv_section.py
Remove last compilation warnings from Gl1_PotentialBlock.cpp and BlockGen.cpp
I think I found a way to fix the ipython keybindings F12, F11, etc.
Fix the banner, so that key name F12, etc are shown in bold using standard terminal ansi codes, and word help is underlined.
Catch exception in case when there is nothing to plot
Depending on ipython version the keybindigs registry sits in different places.
getattr → hasattr, for greater compatibility.
For even greater compatibility check this hasattr all the way down.
Add note in docs about enabling ptrace in newer linux kernels; Fixed execution of an example inside documentation.
Replace the "No help available" helpString() with something meaningful. We coud add there some more useful stuff.
Fix numerous bugs in introduction.rst: not working examples, broken links, etc.
Improve GLViewer::helpString() a little.
Explain in documentation how BoundFunctor works.
Explain in documentation how interaction geometry functor works - add missing picture.
Better ScGeom docstring formatting, now it almost looks like the .rst file. Easy to read and write :)
Add a litte longer explanation about what happens when collision does not exist, mention isReal.
Improve existing image of dispatch loop (it wan invisible in html, in .pdf it worked), add example phys-functors and aw-functors.
Added examples of concrete classes in Body and in Interaction, to give a borader view.
Remove older image of dispatch loop, fix some typos.
Fix typo in yade-iter-loop.svg
Due to rendering problems in chromium and firefox I change the name of the source yade-iter-loop.svg file, so that sphinx will use .pdf and .png instead.
Fix some typos found by Vasileios Angelidakis
Fix typo in the picture showing in LawFunctor and LawDispatcher
Add :caption: Inheritance graph of %s ; Fix graphs sizes in .pdf file.
Fix bugs in tutorial-hands-on.rst - not working inline scrips, typos, links, etc.
Fix crash (RuntimeError: Secondary views not supported) when trying to open a secondary View (F10,F11)
Add :ref: to inheritance graphs, they can be now referenced from other parts of documentation. Add links to gitlab.com/yade-dev/trunk/issues/29 in list_of_examples.txt, fix some of tutorial-data-mining.rst
Add extra info on qt-gui.png
Add links to inheritance graphs in introduction.rst
fix more broken links and typos in tutorial-data-mining.rst
fix https://gitlab.com/yade-dev/trunk/issues/25
fix :yref: to all _utils in tutorial-data-mining.rst
fix examples in tutorial-data-mining.rst
found a bug in PyRunner, needs discussion see: https://gitlab.com/yade-dev/trunk/issues/53
small fixes in tutorial-data-mining.rst
rename label newton to newtonCustomLabel so that the tutorial is more obvious for readers.
Improve section Keeping history in tutorial-data-mining.rst
Add example section to tutorial-data-mining.rst
fix links to gravity deposition script
Small fixes in tutorial-geo.rst about running example yade-batch
Add figure with better explanation how yade-batch works.
Small fix in defaultMaterial() docstring about correct invocation of .. code-block:: python
Small fixes in periodic description, smaller radius to avoid "Body larger than half of the cell size encountered" message
fix broken links in tutorial-advanced.rst
Larger rMean so that tutorial-geo.html will not be flooded after sp.toSimulation()
Add :ysrc:`doc/sphinx/tutorial/05-3d-postprocessing.py` references to files, add one video
Start work on more examples (maybe 215 of them?). Just introduce new almost empty chapter.
Update list_of_examples.txt with information about whether a video of this example is uploaded.
Write a script which automates creating videos of examples.
uploaded some videos.
Uploaded remaining videos
Add some explanation inside an example script.
Write script that will automatically add videos to doc/sphinx/tutorial-more-examples.rst
First version of automatically generated tutorial-more-examples.rst with links to videos
Mark with 'YES' which examples were added to tutorial-more-examples.rst, so that they won't be added again by this script.
Fix :ysrc: link
A little better list_of_examples_append_to_rst.sh, now it can regenerate entire tutorial-more-examples.rst
Better automatically generated tutorial-more-examples.rst
Fix hyperlinks in .pdf file
More readable .pdf file
Add tutorial-more-examples-fast.rst without embedded videos
Add links back and forth between fast and slow page with videos.
Add section in tutorial about using multiple plot windows
Fix #12 - add to do documentation info about how to use multiple plots, add a video.
Add the new video about multiple plots to tutorial-more-examples.rst
Small fix: replace underscore '_' with space ' ' tutorial-data-mining.html#using-multiple-plots
Remove Using multiple plots section from tutorial. Sorry about mixing it with the 129 videos merge request anyway.
Revert "Remove Using multiple plots section from tutorial"
Move the helper scripts to proper directory: scripts.
Change path to ../examples/list_of_examples.txt from new place where scripts are located.
Small fixes in first two sections of Programmer's manual: source tree and #include
Replace tabs by spaces in table, becasue they did not align correctly on gitlab's 'Changes' info.
Update Hosting and versioning section in Programmer's manual.
Since last 3SR build was on 1st February I think it is time to Fix issue #49. Build robot info now points to gitlab pipelines.
Fix some typos in Regression tests section.
fix few typos in Conventions
Mention of GlobalEngines and PartialEngines links to inheritance graphs
Explain in caption of inheritance graphs what are those gray dashed boxes, e.g. in GlobalEngine. Make those gray boxes to link to their respective inheritance graphs instead of classnames below.
Fix typos and non-working snippets in user.rst
Fix name 'damping' is not defined
Add .png versions of images yade-multi-gnuplot*.svg, because *svg is often badly displayed in a browser.
Add link in example to user manual
Fix link to iphyton website
Fix link to inheritanceGraphMaterial
Fix links to inheritance graphs in user manual, fix some inline code examples.
Update info about returnSpherePack=True and spheres.toSimulation() instead of obsolete method O.bodies.append(spheres)
Update link to esys-particle documentation. Comment out obsolete and false information about using GenGeo (but I don't know what to put there instead).
Fix numerous links (also to inheritance graphs) and typos in user's manual
More of typos and links in user's manual.
Add links to secondary mailing list archive. Emphasize 'How to ask questions'.
Change long nBodies into const size_t nBodies to avoid type conversion. And protect nBodies from changing by accident.
I guess I have found the cause of the problem #55
Fix issue #55
Small fix in checkList.py: print the exception, count it as failure. Fixed #45, but checkPolyhedraCrush.py fails now.
An older version of checkPolyhedraCrush.py passes tests with success! Fixed #45
Change long VecBounds::size into size_t VecBounds::size();
Remove obsolete assert( v.size()==v.vec.size() ); because it's the same thing.
Remove size_t casts, which are no longer necessary.
Make VecBounds::vec private, add necessary inline member functions, so that encapsulation of caching will be possible.
Move all methods which will take part in ecapsuation of caching into single place
Now it is possible to encapsulate caching, and that's what I did in this commit. We can toggle it on/off.
Add some extra comments
Enable VEC_BOUND_CACHING, so that I'll have a different yade version. This will simplyfy testing between 5f855ed80 and this one.
cMake will correctly detect yade version when .git is a submodule.
Attempt to fix multi-line comment warning when compiilng yade
But this doesn't work, because of a bug in g++
Fix #18
Debugging why yade -Lscipy.interpolate is not working, no success.
Create nearly empty checkColliderCorrectness.py script.
Small fixes in the dispatcher table generator
First seemingly reasonable version of checkColliderCorrectness.py
checkColliderCorrectness.py: prepare to save 'reference' results from Collider 2bc5ac90b before fixing #55. So this will be from the version of collider tested for many years.
Add 'reference' results, from git revision 2bc5ac90b before fixing #55, from the version of collider tested for many years.
The checks/checkColliderCorrectness.py is ready!
Remove #define VEC_BOUND_CACHING and finish work on #55. Now Collider is a little bit better :)
Caption under inheritance graph will have links to classes that wil be discussed in other sections.
Add note about packages esys-particle and python-demgengeo
Move childSet(…) upwards, because I'll need it soon.
Links in caption of inheritance graphs point to inheritance graph if it exists, otherwise they point to the class descrition.
Add separate sections to manual about dispatchers, functors and internal forces, so that they are not in 'Other classes' anymore. And can be linked from Programmer's manual
Fix link from yade.wikia.com to yade-dem.org
Replace http://bugs.launchpad.net/yade with https://gitlab.com/yade-dev/trunk/issues, if issue does not exist on gitlab then mention that it's a bugreport on previous launchpad site.
Small fixes in Programmer's manual up to 'Class naming' section.
Small fix in comments regarding https://gitlab.com/yade-dev/trunk/merge_requests/73
Add link to https://gitlab.com/yade-dev/trunk/issues/18 in comments.
Fix sphinx syntax errors in HydroForceEngine.rst
Fix link in --help
More links to inheritance graphs.
Fix some more links
Remove obsolete info from tutorial. Other small improvements in documentation.
Fix #56 mathjax does not support \multicolumn so I used \hspace{12mm} instead, and mathjax does not render to html \texttt inside \mbox, so I moved it outside \mbox.
Add more links in tutorial-advanced.rst about creating videos
Add a link to example tutorial videos online, that would work when clicked in .pdf file.
Add a hint about reading documentation in the .pdf format.
fix numerous links in .hpp files to documentation. Please remember to always use :yref:`ClassName::variable` or :ref:`section name <SectionNameAnchor>` and add an anchor in .rst file with .. _SectionNameAnchor
A bit smaller picture size for TesselationWrapper
Workaroud the bug in sphinx which cannot have clickable links in inheritance graphs in .pdf file, because sphinx cannot work with .ps files generated from graphviz. Instead I added the missing links into the figure caption.
The extra links in caption to other classes is sorted now.
Improve docstring for GlobalEngine & PartialEngine
This diff will adapt number of jobs depending on the $CI_RUNNER_DESCRIPTION
Update .gitlab-ci.yml, we can be more specific actually.
Update .gitlab-ci.yml, and yade-runner-01 gets -j 1
Update .gitlab-ci.yml. I've set concurrency=3 on 4pak. Let's see how long it is compiling with -j24
Update .gitlab-ci.yml. OK, I think that 30cores is a reasonable maximum for concurrency=3. There is enough RAM. Just in some rare situations when 3 jobs run simultaneously on 64cores they will be slower, not a big deal.
Update .gitlab-ci.yml. Added 6pak to yade runners. It's a little bit faster than 4pak. But can have only concurrency=1, because others use it too.
Update .gitlab-ci.yml
Looks like 6pak cannot handle -j 48. Not sure, I suspect problems with CPU temperature.
Update .gitlab-ci.yml, fortunately yesterday's problem with 6pak was unrelated to gitlab-runner. We can use more cores.
Merge branch 'adaptNumberOfJobs'
Fix typos in FoamCoupling.rst, add :ysrc:`…` to example.
Rename #ifdef YADE_FOAM → #ifdef YADE_MPI
Fix some typos in documentation and examples. Fixed #60
A little better titles of some chapters, propose a little different ordering.
Add super-chapters in TOC to make the proposed logic clearly visible.
Put CFD-DEM and FEM-DEM next to each other in physical-laws.rst
Try different sectioning in TOC, maybe this will look better?
Remove files which attempted to make super-chapter sectioning.
Fix capitalization in section titles. Physical laws→Theoretical background, Miscellaneous→Performance enhancements
FEMxDEM uses title more closer to original title, but a bit shorter.
Restore previous tocdepth in .pdf after introducing new sections in .html
Whoops, yade-runner is outdated. We must use 4pak, 6pak. I hope this will work!
Revert prev.commit which added tag 'fast' everywhere. Instead I disable group runners fr now.
Add extra anchor dem-background to not break older links.
Add some rudimentary mathematical background in FEMxDEM description from [Guo2014]_.
mathjax fix: \renewcommand{\mat}{\boldsymbol} - show matrix properly in FEMxDEM and other places.
Try different TOC section names :)
back to Performance enhancements?
README.rst: Remove broken link to buildbot, add link to debian science team (salsa)
fix broken link to beta.arcig.cz/~eudoxos/dresden2011/pres-3s.pdf, I uploaded newer (2011) presentation to our wiki, with updated class names.
update .mailmap
Remove execution bit from some *.cpp files.
Add some extra explanations about rebasing and fixing the conflicts
Add a bit more info in tutorial-introduction.rst
Since ENABLE_PFVFLOW=ON by default I move the requisites into default apt-get install command, otherwise someone might have problems with compiling yade.
Fix link to 'Getting help' section.
apt install …… command tested on: 16.04, 18.04, 18.10, debian9, debian10. Assume that new users will install on 18.04, 18.10 or a new debian. So the 'extra' instructions are now for older 16.04 ← the inverse of what was before this commit.
Add locales-all to 'make doc' dependencies otherwise 18.04, 18.10, debian10 can produce error: 'Building format(s) --all. …… fmtutil failed.'
mathjax does not understand :math:`\textgreater`
Small fixes and comment, link to cgal, put → instead of ->
Again fix link to 'Getting help' section. Remove link to wiki/Contact, also I changed the link on wiki front page and added redirect in the wiki Contact page.
Fix rebase conflict in .gitlab-ci.yml
Fix rebase conflict in CMakeLists.txt
README.rst: put 'good' readme on top, 'python-3 status' below. This will make it easier to merge later.
Start fixing conflicts in installation.rst. I need to pull in 7 chroots for testing, so I push this now.
[python3] apt install …… command tested on: 16.04, 18.04, 18.10, debian9, debian10. [python2] apt install not tested here, but was tested recently in 4d61e363b
Add some note about python2→3 script migration.
Add first column in examples/list_of_examples.txt to mark if example works with python3
Fix "Jun" in references.bib, #pragma GCC diagnostic pop - to find bugs early we need all the warnings!
Make base classes clickable by fixing makeBaseClassesClickable(…); Use dpi=300; for .pdf to fix pixelated/unreadable inheritance diagrams.
print what scripts have failed.
Try vim command ':retab' in an attempt to fix indentation in scripts.
quick-fix until 7pak gets added to this file: set default JOBSNUM=40
Temporarily add checkDEM-PFVPressureInjection.py to ignored scripts.
Turns out that dpi=400 does not work on ubuntu 18.04. But works in all 6 other chroots! While clikable base classes work only on stretch
[python3] Fix issue #70 - turns out it was python3 migration problem after all
makeBaseClassesClickable(…); works on 16.04, 18.04, 18.10, debian9, debian10
Small cleanup, remove dpi_fix.
[python] checked 182 examples, had to fix 10 of them.
[python3] fix vtk export.py and deformableelementsutils.py
[python3] small update in script used for testing examples. Still 4 examples are not working in python3.
small update in examples/list_of_examples.txt
small note in list_of_examples.txt
[python3 and python2] apt install …… command tested on: 16.04, 18.04, 18.10, debian9, debian10.
Now README.rst is ready for merging. Everything works in python2 (excluding make doc) & python3 (excluding 4 examples).
[Python3] Fix mpi openafoam examples.
Fix OpenGLRenderer crash which happened when body was deleted at the same time when the interaction was being drawn.
Fixed #48. Also added a note which should help in debugging requestErase(I);
Add barebones for yade.libVersions module. This commit may later be useful for tutorial about adding yade modules.
The .hpp file isn't necessary in this simple case, after all.
Library version detection starts to work.
Added compiler version detection and boost version detection.
printAllVersions() starts to work with nicely formatted table
Add some comments
core/main/main.py.in: from yade.libVersions import printAllVersions
Small fixes.
Fix rst formatting printed by printAllVersions(True)
Some small fixes in comments.
yade --test ; --check now writes messages in colors.
Add utilsModule to py/tests/__init__.py allTests[…]. It was never tested before!
Add detailed info in documentation about how to add ne yade --tests
Add libVersions to 'yade --test'
Add detection of versions for qt, freeglut, gl, qglviewer, python
Check what pipeline says about versions for python2.
Improve qt and python detection.
Add detection of eigen, sqlite, suitesparse.
(switch pipeline to python3) Revert "Check what pipeline says about versions for python2."
Added detection of openblas, metis. Now C++ detects all lib versions.
Added versions detected by cmake.
Small fix in eigen and mpi. Detection is good in C++, in cmake part it can be improved in some cases.
Let cmake find #include path for openblas.
Small fix with ${BLAS_INCLUDE_DIR}
yade --test verifies that library versions from cmake and C++ agree with each other.
yade.libVersions has complete documentation in docstrings.
Fix issue #45, add warning to PolyhedraSplitter::action() and documentation about cgal versions.
Few more small improvements. Add exception for cmake mpi detection because I don't know how to get correctly mpi version from cmake.
Add extra note about problems with detecting mpi version by cmake.
small fix
Add a note about #include for openblas_config.h
Rename allVersionsCmake() → getAllVersionsCmake(); allVersionsCpp() → getAllVersionsCpp(); for consitency with naming conventions.
fix typo
Use more cores.
Add tags: fast for build. So that compilation will only use fast gitlab-runners.
Try if yade-runner can handle -DCHUNKSIZE=4 to speed up compilation from 13m30sec to …?
Use -DCHUNKSIZE=1 for master and -DCHUNKSIZE=4 for merge_request to make compilation faster by 3 minutes.
Mention Gdańsk in 'Building, regression tests'
Add 7pak to runners, make case statement to be multiline.
Add stage for 'only: branches' so that pipeline will recompile outside a merge request (we can afford this now). Add extra comments.
Add 'tags: workingrunner' so that 'brokenrunner' not activated. So you can test yade-runner-01 by replacing 'brokenrunner' with 'workingrunner' or putting 'tags: brokenrunner' in cmake stage
Hm, I could not separate merge_request from branches.
Remove 'only: branches' to avoid triggering two pipelines on each push.
Fix issue #64
Enable by default OpenFOAM & potential particles, as suggested in https://gitlab.com/yade-dev/docker-yade/merge_requests/4#note_165851503 and https://gitlab.com/yade-dev/trunk/issues/64#note_156328333
Remove tags: workingrunner, it's too many tags, see https://gitlab.com/yade-dev/trunk/merge_requests/100#note_165850147
Use separate names for cmake stages on master and merge request.
[python3 and python2] [PotentialBlocks update] apt install …… command tested on: 16.04, 18.04, 18.10, debian9, debian10.
printAllVersions(…) will sort alphabetically before printing.
Fix issue #73, ccache now works on 16.04, 18.04, 18.10, debian9, debian10
Add extra comment.
Remove note from installation.rst about problems with ccache.
Start fixing #63, maybe needs more investigation. Or maybe removing these INCLUDEs is just enough.
Rearrange and add INCLUDE(GetVersion)
rebase on !111
merge_request: use 2 minutes faster linker; master: use regular linker.
Add 'onlyOneScript = []' for easier debugging of scripts.
checkList.py prints to stderr.
trigger this bug in the pipeline.
Revert "trigger this bug in the pipeline."
Use ccache directory mounted from the host of the gitlab runner.
Small fix.
test ubuntu 16.04
ccache is so fast that gitlab-runners build on four linux distros: ubuntu 16.04, 18.04, debian 9 stretch, debian 10 buster.
set expiration date on artifacts, save on storage.
Add cat /etc/issue after test.
master also uses ccache. Increase JOBSNUM a bit.
To make pipelines faster put doc generation into test stage.
Since everything is ccached now, I can increase JOBSNUM a bit more.
Bring back previous concurrency setting and high -j.
Do full four distro checks only on master.
Remove -DCHUNKSIZE=1
(Fix #75) check*PressureInjection.py no longer leave some files after running.
Fix warning: warning ‘volPart’ may be used uninitialized in this function
Ah, no reason to throw myself, when I can use .value() to throw for me.
Remove unnecessary import in dummyTest.py
Add testColliderByGiulia.py to yade --test
Note important when writing more docs: test scripts must be fully initialized in setUp(self)
Remove unnecessary comments, add skip_4200_iterations=True so that this test is faster (and tests the same thing).
Add bordercase test for a little different cellsize it must be OK.
Small cleanup, keep only 'from yade.utils import *'
Not sure what happened to deploy stage in master. Maybe renaming 'pages' stage will bring it back.
Fix some warnings
Introduce YadeCheckError Exception, make sure it works properly, I tested this on checkColliderCorrectness.py
Use raise YadeCheckError(message) instead of resultStatus+=1; --checks are simpler to write now.
Update documentation about simpler writing of yade --checks
Remove printing output to stderr output.
Small fix.
Make Injection simpler: remove errors,errMsg; keep only YadeCheckError
printAllVersions(): print yade config dir relative to ${HOME}
Print linux version.
Improve gitlab formatting used for pasting.
Detect numpy version.
Detect numpy and ipython versions.
Better linux version formatting.
Improve linux version detection.
small fix
Improve docstring for getLinuxVersion()
Try cmake stage using first version of opensuse15 image.
Try searching /usr/lib64/libboost_python-py3.so.1.66.0
remove libboost python hack
remove symlink
Add more paths to find QGLViewer
Enable more stages in .gitlab-ci.yml
Quick install binutils-gold, later this should go to docker image
Fix issue #77 and fix #39. ‘updateGL’ not declared
Fix compatibility vtk7↔vtk8 name change of InsertNextTupleValue → InsertNextTuple; Remove mess introduced by prefious #ifdef YADE_VTK8
Revert "Quick install binutils-gold, later this should go to docker image" This reverts commit 6f9fdd9120615cac3b9239ddb27c2f7365e41db8.
fix vtk7↔vtk8: InsertNextTypedTuple↔InsertNextTupleValue
Check if opensuse15 fixes work on all 5 distros.
Go back to default testing on ubuntu 18.04
opensuse: cat /etc/issue → cat /etc/*elease (show release version properly)
Use shorter name suse15, so that pipeline view on gitlab looks good.
Start writing a template in .gitlab-ci.yml
Test cmake template.
Use templates for all stages
Small fix
Compile on all 5 distros, to verify.
Move only: master & merge_request to a template too!
Disable compiling ALL on merge_request. MR uses now only ubuntu 18.04
Small fix: the section 'only:' overwrites the template, not adds to it.
[libVersions] detect sphinx doc version, update links to some libraries: numpy, ipython, gcc, suitesparse
add citation
Small fix in docstring
Update yade link to debian package tracking system
'Speed-up compilation': add section about 2minutes faster linking.
Add binutils-gold note for opensuse15
Add links to dockerfiles of supported linux distributions.
Add more explanations about gitlab continuous integration
Add warning that yade-daily packages are currently out of date
Fix permissions (remove exec bit) on FindCLP.cmake, FindCuBlas.cmake
Add note about printAllVersions()
Small note
Make this commit history a bit shorter with 'git pull --rebase upstream master' & 'git rebase -i master' & 'fixup' during rebase & git rerere
Fine grained detection of MPI & metis libs. Re: https://answers.launchpad.net/yade/+question/680867 , https://answers.launchpad.net/yade/+question/681091
small fix
Make sure that #include <mpi.h> will work.
Rename gitlab-runners so that they don't have _ or - in their name.
Add link to optional prerequisite python3-mpi4py
libVersions detect mpi4py version.
Restore .gitlab-ci.yml from master except (1) new gitlab-runner names (2) keep a commented out command for oversubscribe etc. (3) still check MR on all distros.
Enable checkColliderConstantness.py with new test data (interesting: changes are around 3rd decimal place.)
In this commit I compared mpiArcheologists+rebase master+mpi-master-merge with current mpi-master-merge. And they were the same, except those few whitespaces+typo which I cleanup in this commit. This is good.
Move files before they were deleted.
Moved files before they are deleted (2)
Restore both copies.
Merge branch 'copied-files' into 'try-to-restore'
Finally the history is restored!
Add missing space (copy-paste didn't work).
Move deformable elements to pkg/fem: 'git mv pkg/dem/deformablecohesive/* ./pkg/fem'
Correct #include paths.
Add note in examples that yade should be compiled with -DENABLE_FEMLIKE=1
Fix https://gitlab.com/yade-dev/docker-yade/issues/1
Make Gl1_Sphere::go(…) more readable.
Add debug TRACE() into Gl1_Sphere::initStripedGlList()
Revert "Add debug TRACE() into Gl1_Sphere::initStripedGlList()"
Fix #89
checkVersions() is called on startup to check yade compatibility tests with other libraries
Remove leftover file cracks_.txt
Debug #95 - print #warning message with info before compilation sometimes fails on ubuntu 18.04
Remove duplicate 'only:' keyword, because we are compiling on all 5 distros anyway.
Revert "Debug #95 - print #warning message with info before compilation sometimes fails on ubuntu 18.04"
Add OpenFOAM test.
Add mpiexec test script for pythoon3 testing.
Move OpenFOAM test to separate script.
set executable bit on testOpenFoam.sh
python2 installation instructions: add python-mpi4py.
Try fixing #95 by merging prebuild(cmake) + make into single step.
Building documentation requiries carrying build/ directory as an artifact.
Fix most of the new warnings in g++ version 8.3.
Wunknown-pragmas → Wpragmas
Add warning & error colors in the pipeline.
Pass extra fdiagnostics-color=always argument
Don't overwrite CXXFLAGS.
Remove hundreds of warnings in OpenSuse 15 g++ 7.4 (only .gitlab-ci.yml pipeline), also ignore multi-line comment warning.
Use local ccache directory.
Test changes only on xenial
Add export CCACHE_DIR=/root/.ccache
Revert "Test changes only on xenial", because ccache now works.
Fix #101, replace TeX command \leqslant with \leq (former is not recognized on xenial).
building packages will not download all dependencies.
test this change in MR.
Restore old config: build debs on master only.
Change docker image docker-yade:ubuntu16.04-py3 → docker-yade:ubuntu16.04
Fix broken link to article about fixing git conflicts.
Add links to COIN-OR Linear Programming Solver
Set ENABLE_FEMLIKE=ON by default.
Fix usage of CREATE_LOGGER macros. In some places the macro 'degraded' and produced some compilation errors.
Add missing CREATE_LOGGER; Add macro CREATE_LOCAL_LOGGER(fileName.cpp); when logging filters are needed outside classes.
CREATE_LOCAL_LOGGER should use the "filename.cpp"
Rename to CREATE_CPP_LOCAL_LOGGER("filename.cpp"); Add a bunch of missing CREATE_LOGGER(ClassName);
small cleanup
Add TRVAR5, TRVAR6 to Logging.hpp
Faster debugging: add -DTRACEONLY cmake option.
Remove some old debug code in Clump.cpp and WirePM.cpp
Enable boost::log - currently only super-trivial implementation.
rename BOOSTLOG → BOOST_LOGGER
Revert "Remove some old debug code in Clump.cpp and WirePM.cpp"
Start writing specification for yade logging framework.
Better formatting of the table with logging verbosity levels
Use fewer columns, looks like .rst :widths: directive is not working.
Update table a bit, add links with log levels used by other people.
First careful revert of 014b11496. boost::log not working yet. But it is getting closer.
Add nearly empty yade.log module: py/log.py & py/_log.cpp
Write a little more in docstrings
Add rudimentary testAllLevels() function.
[log] Add empty functions addSink, clearSink, resetAllSinks (api design stage)
A todo note.
Remove all traces of TRACEONLY
logger aliases, clean whitespace.
Remove superfluous endl.
Add rudimentary container for setting log levels per class.
First version of DECLARE_LOGGER, CREATE_LOGGER that use boost::log
Fix inline std::ostream& operator<< for logger.
some small fixes and typos.
Logging.hpp now has macros that use boost::log when enabled with -DBOOST_LOGGER=ON.
Create Logging singleton to store log filtering data.
Rename to CREATE_CPP_LOCAL_LOGGER("filename.cpp");
Start implementation of filtration of logs depending on logger name
More verbose messages in cmake
improve testAllLevels()
Remove LOG_THROW, LOG_MORE; add LOG_NOFILTER
Small note about possible extension of py/log.py
Store log sink pointer for later use and reconfiguration. Add (unused) option to enable colors in logs.
Improve documentation.
Small fix.
Add -DBOOST_LOGGER=ON to cmake invocation, for testing.
Fix initialization of Matrix3r
Set table column widths to reasonable size: no test breaks in the column.
Add MAX_LOG_LEVEL to CMakeLists.txt
Use MAX_LOG_LEVEL to disable selected macros: for production builds it is faster to skip integer comparison for filters.
first version of log.setLevel(…) which actually does something.
Write in documentation about log.setLevel(NewtonIntegrator,log.TRACE) and MAX_LOG_LEVEL
Small fix in CMakeLists.txt, use MAX_LOG_LEVEL properly.
Print warning when -DBOOST_LOGGER=OFF, but someone tries to use it.
small fix
Improve documentation.
Change signed char → short int; for filter level
Set default log level to yade.log.WARN
Print MAX_LOG_LEVEL along with other features.
Improve docstring.
fix typo
Improve documentation.
Change command line option for setting "Default" filter level to -f
Revert "Add -DBOOST_LOGGER=ON to cmake invocation, for testing."
Better CMakeLists.txt verbosity about BOOST_LOGGER
fix compilation when -DBOOST_LOGGER=OFF
Allow selecting target output stream: std::cout, std::cerr, std::clog or some "filename.log"
Add more user accessible functions to LOGGER api, and improve docs.
Add log.setDefaultLogLevel(int)
small fix
Logging redirected to file is flushed immediately. No need to wait.
Remove from comments the features of log4cxx which have been implemented using boost::log, so far.
Remove throw std::runtime_error(…) from printNoBoostLogWarning()
whitespace
Enable log filtering
Add file header.
Improve documentation, small fix in CMakeLists.txt regarding detection of MAX_LOG_LEVEL
Using LOG_NOFILTER will not produce warning message. Add a note about #97
small fixes in docs
improve colors in CMakeLists.txt
Add function yade.log.setUseColors(bool) to toggle colors, small fix.
Enable colors by default.
Add color logging support.
small cleanup
Add screenshot to documentation, small update in header file.
small improvements
Add Logging config file support, readConfigFile(…), saveConfigFile(…); load default config on startup.
Change falirs: FATAL_1 → FATAL ERROR; WARN__3 → WARNING; etc. Use different default colors.
Improve documentation, fix links, mention saving config file.
Improve documentation.
rename BOOST_LOGGER → ENABLE_LOGGER
ENABLE_LOGGER ON by default.
Make setDefaultLogLevel(…) private to avoid duplicate messages
small fix
Add missing logger macros in Finite Element code.
Small fix in documentation.
whitespace
fix doc
small update in documentation
Simpler function testAllLevels()
Use default MAX_LOG_LEVEL=5, so that users who install yade from .deb package can provide us with LOG_DEBUG info when necessary.
Add yade.log.getMaxLevel()
Small fixes in docs
Again small fixes in docs
Add commented out section about measuring performance effect of MAX_LOG_LEVEL. When macros are more widely used it will be possible to measure the effect. Right now it is impossible to measure
Remove the (empty) performance table for now. I might become useful later.
Add some comments.
Update comments & docs in places where recommended is MAX_LOG_LEVEL<=5 for production builds
Small improvements in documentation.
Some final touches in the yade.log documentation
Fix https://gitlab.com/yade-dev/trunk/issues/102
Add debian bullseye to build+test+check gitlab ci pipeline.
Add compiler flag -Wextra so that compiler will print extra warnings.
Fix 'unused parameter' and 'ignored "const" qualifier' and few other warnings.
Use newer C++ standard from year 2014, to use new language features and possibly better compiler optimizations (latest available is 2017, would be great to use this one).
Note in comments what would be the best target flags to find all warnings
Add -Wshadow=compatible-local -Werror=narrowing -Werror=return-type -Werror=uninitialized -Wno-error=maybe-uninitialized (warn about shadowing (but only compatibile types), mark some warnings as errors)
Fix some of -Wshadow=compatible-local warnings. (plenty)
Fix some more of -Wshadow=compatible-local warnings.
Fix all -Wshadow=compatible-local warnings.
Since every possible warning is fixed, turn them all into errors. Except those impossible to fix: eigen (multi line comment, maybe uninitilized), OMPI (cast between incompatible function types). They will remain as warnings.
Update target flags, to reflect that some are now marked as errors.
Script list_of_examples_make_videos.sh will now go through only working examples - quicker to launch it and test all examples if they still work.
Add small note in gravityBis.py (checked all examples)
Use -Werror to turn all warnings into errors. (shorter version, same meaning)
Tailor available warnings to what a given compiler version can offer.
small fix
Fix -Wempty-body warnings.
Fix unused-variable warnings when LOG_* macros are not used and variable is not printed (not used at all).
fix typo
Add ENABLE_USEFUL_ERRORS=ON. Using =OFF will result in using flags from before this work: without -Wextra, -Wshadow and more. This is for people who try to compile yade on untested/unsupported linux distributions.
Fix -Werror compatible-local for ubuntu 18.10 which has a combination of eigen 3.3.4 and g++ 8.2.
small fix
Use previous fix also for ubuntu 18.04
numpy 1.11.0 has unused-function, 1.13 does not. So we have to print warning when it appears.
Detect earlier numpy version.
Improve comments
Don't overwrite data/checkColliderCorrect.txt on each yade --check (small mistake, git diff would have spotted this anyway in case of problems)
Rename github.rst→gitlab.rst; ln -s gitlab.rst github.rst ← create symlink to not break all old references.
Change in *.rst file from github.rst → gitlab.rst
Rename rst label: _yade-github-label → _yade-gitlab-label
Rename gitlab.rst → gitrepo.rst
Change in *.rst file from gitlab.rst → gitrepo.rst
Rename rst label: _yade-gitlab-label → _yade-gitrepo-label
Compile and yade --test without OpenGL.
Use image yade:ubuntu18.04_nogui for this test
Fix #108
Add extra warning in the comments, to avoid such mistake in the future.
Add :ysrccommit: to link specific commit from gitlab repository
Use :ysrccommit: to link in places where line numbers were used.
Trying to link to a line number with :ysrc: will produce an error.
Add :ysrccommit: description to manual prog.rst
Improve documentation abuot :ref: and Linking to `inheritanceGraph`
Fix link to example figure :width:
small fix
ENABLE_MPI=0 until we find out how to use MPI in clang.
Remove -fdce from clang compiler flags.
Remove duplicate ENABLE_USEFUL_ERRORS section.
Fix #113, compile without warnings with -DENABLE_LOGGER=OFF
Workaround libeigen bug with g++ 9: enable warning deprecated-copy
Workaround issue 115: allow 26 or 27 acoustic events. Results vary depending on some library versions. Probably due to floating point numerical error. See https://gitlab.com/yade-dev/trunk/issues/115 for the list of suspects.
Add tags: fast to package building. So that 7pak can safely run 15 concurrent jobs.
More readable 'useful errors' section. Reaname USE_WARNING_ERRORS→WORKAROUND_LIBRARY_WARNINGS, use ALL_ENABLED_USEFUL_ERRORS.
Prepare code to enable float-conversion warning, never use abs(…) without std:: due to this mess: https://stackoverflow.com/questions/21392627/abs-vs-stdabs-what-does-the-reference-say
Fix bug found by float-conversion warning: the x,y,z were converted to Eigen::Index and they were interpreted as column numbers in the matrix: 0,1 or 2. (note: in ubuntu 16.04, we have to calculate this with some extra routine, I've put an assert to make sure that any potential problem is caught early).
Use -Wfloat-conversion -Wcast-align warnings, make sure that older cmake versions do not switch back to C++11, use C++14 instead.
Add -Wformat-nonliteral -Wdisabled-optimization -Wtrampolines -Wpointer-arith -Wswitch-bool -Wwrite-strings
Add -Wnon-virtual-dtor warning.
Note what warnings were not fixed (some are in external libraries, some are not worth it).
Add more comments.
Don't print warnings that are not errors. Except for 'maybe-uninitialized' and '#warning' pragama. These are always printed, beacuse they are very useful even when some libraries trigger it.
Now gitlab will start checks/tests as soon as the previous make_* is finished. This will be a bit faster.
Add 15 minute timeout for test and check jobs in gitlab CI
Mention link to documentation of :ysrccommit: when :ysrc: tried to link to specific line number.
Mention R"""(raw text)""" docstring style in the documentation.
Try different JOBSNUM setting trying to maximize gitlab runners efficiency.
Adjust JOBSNUM setting in order to maximize gitlab runners efficiency. Now a fully ccached gitlab-ci job is 10 minutes, while a non-ccached (recompilation) job is 34 minutes.
The check scripts are testing whether the tested feature is present in yade.config.features (sometims the tests were failing)
OpenFOAM test uses relative paths, so that it will work in other places too.
Fix compilation with -DENABLE_OPENMP=OFF cmake parameter.
Fix compilation with -DUSE_QT5=OFF, yade --test and --check are OK. But py/yade/remote.py fails with No module named 'PyQt4' (maybe it's time to remove QT4 support completely?)
Fix yade --test with PotentialBlock debug build
Add -DENABLE_MPI=OFF test to .gitlab-ci.yml
Add more gitlab-ci tests: (1) debug build (2) minimal build (3) other settings are set different than the default values.
Rename _other → _opposite, add comment explaining that this gitlab-CI job is meant to try cmake settings opposite to the default values. But don't touch these that turn off compilation of significant amount of code.
Disable some gitlab-CI jobs depending on whether it is a Work In Progress merge request or not.
Increase CI test timeout to 25 minutes.
Add check test of avoidSelfInteractionMask based on https://answers.launchpad.net/yade/+question/682290
Fix #118 fix #106, .add_property(mask, … ) was ignored without MPI.
Add 'make doc' for debug build, only master and non-WIP merge requests.
Improve comments in Logging.hpp.
Update .mailmap
Use std::is_same to check if CGAL's Traits::RT == Real
Add file with commonly used namespace aliases: lib/base/Namespaces.hpp
start journey towards `long double`, `float128` and `multiprecision::mpfr` as Real, by working on issue #57: add namespace yade (this commit has "simple files" only)
Add namespace yade (simple files only)
Add namespace yade (more simple files) - fix https://gitlab.com/yade-dev/trunk/issues/57
Make sure there is no #include inside namespace. Mostly OPENGL related.
Let all python modules (files with macro BOOST_PYTHON_MODULE) use correctly namespace yade
Clean namespace pollution: remove useless 'using …' directives.
ctags cannot sometimes detect class names, when they are inside macros, etc. So create anchors inside forCtags{};
Change Math.hpp to use namespace yade. Minimal changes only. No cleanup yet for boost::multiprecision or float128.
ClassFactory and Serializable use yade namespace. Update documentation respectively.
Update customConverters.cpp respectively.
Extract duplicate CGAL 'using … = ' directives into single file lib/base/AliasCGAL.hpp
Explain a bit more in the docs how namespace collisions can be dangerous.
Fix clang compilation
Improve script for automated testing of all yade examples (copy example directory to /tmp with auxiliary files together)
Add counter that prints progress when testing all examples. Improve instructions.
Fix debug mode compilation.
small fix
Improve code readibility.
Write documentation section about adding new python / C++ modules.
Remove duplicates of declaring std=c++14. with set(CMAKE_CXX_STANDARD_REQUIRED ON) cmake adds 'std=gnu++14' by itself. So it is configurable in single place.
Note in documentation that FOREACH is deprecated.
Remove few more FOREACH. Now all are removed from core/ and lib/
One more example in documentation.
Start work on test_GUI for gitlab pipeline.
don't call thread info in gdb (on some gdb versions it doesn't work), add tag for ctags.
Make sure that pyInteractionContainer is not accessing a body with id==-1, which caused crash in GUI Inspect.
testGui.py can now switch the GUI Inspector tabs, makes screenshots and exits correctly
Add extra check in testGui.sh (bash) if screenshots were generated by testGui.py (python)
Small cleanup, add some comments.
Move GUI test into test_definition, but add guard called NO_GUI to skip this testing when required.
Make screenshot after yade finishes.
Enable gui test for opensuse
Revert "Enable gui test for opensuse" (GUI does not work with freeglut 3.0, so OpenSuse default install is not going to work until freeglut fixes their bug)
Move test scripts into gui direcotry.
Move screenshot routine to another file.
Make the test a bit more interesting by manipulating yade.qt.Renderer() parametrs ('display' GUI tab)
Move makeScreenshot.py file.
Install the GUI test helper, so that import will find it.
some small fixes
Create a test loop, in case if we wanted more GUI tests.
Add testGuiEmpty.py for testing a totally empty simulation.
Small fix of bash loop
Use a different name for screenshots, better sorts alphabetically.
use full xterm path
make test more realistic by simulating clicks on screen.
Tell xterm to pass everything to gitlab-CI
Some xterms do not support output to stdout. So let's use tail.
Make sure we have necessary tools.
Add notes how to run testGui.sh script locally.
Make sure there is no tail command left running in the background
Do all GUI testing via mouse clicks.
Improve comments in testGui.sh, better checks if needed tools are present.
Add note that testGui.sh should find files automatically just like checkList.py
Shorter sleeps, draw bounding volume.
Place clang-format off/on guards before/after every YADE_CLASS_BASE_DOC_* macro.
Try to find some nice .clang-format. However YADE_CLASS_BASE_DOC_* macros need // clang-format off, // clang-format on, before and after
Change ColumnLimit to 140 and sort the keywords (easier to compare with documentation).
Use glBegin, glEnd blocks with indentation, like they were indented before. Allow MaxEmptyLinesToKeep: 2.
Some small adjustments trying to reduce total number of changes.
Note in documentation about reformatting.
Fix the includes that will be missing after a 'full reformat' is performed.
Fix comiplation problem due to ordering of includes after 'full reformat', now they are in this order: lib, core, pkg, gui
Add clang-formatter.sh script, tested on ubuntu 18.04 18.10 19.04, buster, bullseye, sid suse15.1. It accepts (1) dir (2) file (3) checks for uncommitted changes (4) prints stats afterwards.
Make sure that .clang-format works on older linux distributions (xenial, stretch)
Make sure that successive reformats do not change code again and again.
temporarily don't reformat OpenGLWrapper.hpp (float128 changes are coming soon)
Longer wait after self.clickOnScreen(…) in case if build servers are very slow.
Wait max 5 seconds for Inspector window to appear, check every 0.25sec. (in case if build servers are very slow).
Include boost/python/…/wrap_python.hpp instead of Python.h. Always as first one. See https://www.boost.org/doc/libs/1_71_0/libs/python/doc/html/building/include_issues.html
A little more detailed energy check in checkSaveLoadClumps.py
Fix broken static_assert in OpenGLWrapper, now we can be 100% sure that primary templates are never called. This is going to be very useful for high precision calculations.
Add small note
Change some forgotten `double` → `Real`
Switch HydroForceEngine into using `Real`.
Move debug test, check and doc into make_tmplate; Enable it like ASAN. Hopefully will not waste time on upload/download of huge debug artifacts.
Remove excessive compiler identification checks. Leave only rudimentary one.
Add clang test & check
clang-format will align comments at end of the successive lines. Use empty line to start comments at different indentation.
Detect intel compiler version.
Add -Wreturn-local-addr to ALL_ENABLED_USEFUL_ERRORS
Don't preemptively block float128 support (1.2f is float, 1.2L is long double, 1.2Q is quad; https://en.cppreference.com/w/cpp/language/floating_literal ; https://www.boost. org/doc/libs/1_71_0/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/float128.html)
small cleanup, add links to yade-dem.org/doc/prog.html#sphinx-documentation in few places.
Use PyErr_Print(); in case when importing python module 'raised unreported exception', to make python/C++ boundary easier to debug.
Explain in documentation how to handle python/C++ exceptions and transfer them upwards to python.
small clarification in documentation.
extra newline is necessary for correct .. ipython:: parsing in .rst
More clarification in documentation.
Fix typo: alogrithms ↔ algorithms
Auto retry gitlab-runner failed jobs.
Remove unused mutex
Make sure ThreadRunner isn't destructed while ThreadRunner::run() is running, which would result in a crash. Allow the running thread to finish early if it decided to check the shouldTerminate();
testLibVersions only warns about non-matching version numbers. Does not fail the tests. Although these non-matching version numbers might have bad consequences later.
Use native cmake's CGAL detection instead of cMake/FindCGAL.cmake file.
Link conditionally with CGAL libraries
Remove debug info
Fix flags in make_opposite pipeline.
Fix ENABLE_DEFORM compilation.
Add test -DENABLE_VTK=OFF to the pipeline.
reinstate pragma ignored "-Wcomment"
Make sure that read-only attributes are shown in gray color (inactive) in GUI Inspector.
Update documentation about how to expose in GUI non-attributes, e.g. Interaction::isReal()
Remove duplicate attribute registration in Body.hpp
YADE_SPH : Remove duplicate attribute registration in State.hpp (not sure if they should be readonly, because that was the side effect of duplicate registration).
Expose isReal() in GUI by adding a virtual py::dict pyDictCustom() const { … } function.
Merge hint into main text.
A more direct link to example of new function pyDictCustom()
Add extra newline, to workaround gitlab from always showing this last line as changed.
Mark suspicious line of code in core/Subdomain.cpp
Propose a fix for Subdomain::probeIncoming
Mark line with missing return.
Jean Pourroy (2):
Update setStateBoundsValuesFromIds
Update mpf.py
Jerome Duriez (16):
Removing useless InteractionLoop.eraseIntsInLoop
Polyhedra: doc and removing useless (unused) dynamic attribute in utils functions for creating related bodies
Python docstrings
JCFpmPhys: making some recent attributes hidden to Python. They are anyway not convertible at the moment
JCFpmPhys: changing AE attributes from hidden to visible and convertible (C++->Python only atm)
Removing inconsistent const keywords in function definition
A more minimal version of changes, thanks to Bruno s MR 174 for inspiration
Minus empty lines, plus two-way Python-C++ conversion of shared_ptr<Interaction>
Doc (and default values for 2 args, as in C++) for utils.scalarOnColorScale()
Doc typos (and little rewording in Intro)
Periodic Engine doc: with mention of realPeriod units (seconds)
Engine doc: typos and unit of timing info (nanoseconds here !)
VTKRecorder: including for good bstresses in recorders = all, as for any generic recorder
Cell.velGrad (nextVelGrad) doc
Removing redundant yade-docref.bib
Adding commas at the end of year line in bibtex entries. Trying to solve https://gitlab.com/yade-dev/trunk/-/jobs/361431525 failure
Jérôme Duriez (2):
Typo in installation.rst
Update citing_yade.bib: uppercase "DEM" instead of "Dem" when output by BibTex.
Kneib Francois (1):
Add my contributions :
Robert Caulk (66):
reduce unnecessary copies of factor
use imgmath
try newcommand with mathjax on buildbot
try editing layout to fix symbols
Remove possible comment starters for now in layout.html
Add pound signs back back
try delimiting with raw
add remainder of preamble
fix sort pics et al in formulation
gpu doc update
fix gpu doc figure on HTML
Update GPUacceleration.rst
add comsol instructional guide to yta
add link to helper files
fix broken doc link in cohfrict mat
fix intertia calc in clump, thanks Bokkisa Vivek https://answers.launchpad.net/yade/+question/680398
add hackathon doc to YTA
Fix radius correction error in weibulldistribution (thanks Klaus Theoni)
change default solver and update accuracy of useSolver documentation
[WIP] Replacing unnecessary CHOLMOD_LIBS flag with cmake-step-defined and already CHOLMOD dependent LINSOLV flag (cleans the code and fixes launchpad 681146, where solvers >0 where not compiled since CHOLMOD_LIBS flag was not explctly defined)
Add 3D domain decomposition tools and example script
fix bound arguments
add scripts for running parametric sweeps to test strong scalability and pyrunner timing comparisons
prepare strong and weak scalability test scripts, to work with our parameter tables
fix typos
add walltime check
fix errors
fix typo
add sub objectives list
remove aligned box from strong scalability script
add check test for JCFpm acoustic emissions module, add seed functionality to TriaxialTest and randomDensePack, update author list in JCFpm source
Check JCFpm cracks file
Add ThermalEngine features such as cavity model, parallelization, heat transfer coefficient based on RE, fluid conduction, air compressibility etc.
checkpoint for parallelization tweaks, velocity controlled reynolds numbers, and more
add citation to DEM8 conference paper
dont modify unrelated example scripts
pass two phase flow tests
activate thermalEngine by default
fix 16.04 compiler error, add engine description for documentation
add DEM8 papers to yade-conferences.rst
collect and use return value in pyboot.cpp
Add error message instead of silently allowing zero volume pores to interrupt velocity calc
Revert !149
adding alphashape based boundary conditions for flowengine
working checkpoint for alphashape boundary with constant value, without fictious bounding vertices
fix compiler error for 16.04
clarify alphashape documentation
protect against rare null vertices and throw error to warn user
add example script for alphashape in flowengine
removing couts
improve cavity logic, revert distance estimate in circumcenter()
Remove unnecessary definitions
reformat doc so that future devs can easily add their recorders to it, protect against adding junk SPH and DEFORM values in recorders=all
remove commented out historic string
plug flowengine leaks, increase code flexibility for GPU usage and linking to custom suitesparse libraries
remove cout
update doc
remove potential blocks from cgal message
avoid losing control of vector memory consumption
reformat doc so that future devs can easily add their recorders to it, protect against adding junk SPH and DEFORM values in recorders=all
Ensure conduction without advection if desired
add minimumPorosity attribute to flowengine
Update yade-articles.bib
Clarify compilation instructions
increase clarity of PSD doc
slim down thermalengine requirements and apply clangformater
Vasileios Angelidakis (147):
Debug PB
Correction (more precisely, rearrangement) of Inertia Tensor values.
Include the ENABLE_POTENTIAL_BLOCKS option in the comments. Enable the MarchingCube.cpp when the POTENTIAL_BLOCKS are enabled.
Include potentialparticles.rst in the documentation.
Include the ENABLE_POTENTIAL_BLOCKS option in the comments.
Include/Amend references: Houlsby2009, Boon2012, Boon2013, Boon2015.
Include Boon’s thesis (Boon2013b).
Remove “dynamic=True” statements and other redundant parts.
Remove “dynamic=True” statements and other redundant parts.
Remove “dynamic=True” statements and other redundant parts.
New visualisation code using CGAL. Creation of wireframe view for PB s. Assignment of color to PB s.
New visualisation code using CGAL. Creation of wireframe view for PB s. Assignment of color to PB s.
Creation of wireframe view for PP s. Assignment of color to PP s.
Creation of wireframe view for PP s.
New option to assign uniform color to the particles generated by the BlockGen algorithm, otherwise select random colors. Removal of default Aabb enlargement factors (1.02).
New option to assign uniform color to the particles generated by the BlockGen algorithm, otherwise select random colors.
Remove unused function invoking MOSEK.
Remove unused function invoking MOSEK.
Remove unused function invoking MOSEK.
Remove unused function invoking MOSEK.
Remove default values of variables.
Isolate potentially redundant parameters to be removed in the future.
Normalise normal vectors of faces. Store vertices. Check for duplicate vertices.
Improve variable descriptions. Hide redundant parameters with Attr::hidden.
Stop writing the vertices of the Aabb in the PB shape class. Removal of default Aabb enlargement factors (1.05).
Removal of default Aabb enlargement factors (1.05).
Removal of unused #include statement.
Removal of duplicate #include statement.
Removal of unused #include statement.
Removal of duplicate #include statements.
Include PB image in the documentation
Include PB image in the documentation
Include PP image in the documentation
Documentation on how to use the Potential Particles and the Potential Blocks
Add CLP to libVersions
Add CLP to libVersions
Update CMakeLists.txt
Resolve OpenGL conflict when YADE is compilled without gui
Fixed typo. CLP is used only for the Potential Blocks.
Update PBs doc for automatic volume-inertia calculation
Update example for automatic volume-inertia calculation
Update example for automatic volume-inertia calculation
Change of VTK iterPeriod
Update BlockGen for automatic volume-inertia. Boolean whether to output BlockGen data in a file or on the terminal. Comment out unused functions
Boolean whether to output BlockGen data in a file or on the terminal. Comment out unused functions
Automatic calculation of volume-inertia-distance R. Centering of the particle to its centroid
Comment out unused structs
Remove comments and halfSize attr
Remove comments and halfSize attr
Check example for BlockGen
Check example for Potential Blocks
Data for checkBlockGen. Rock joint-set properties
Automatic calculation of volume-inertia-R. Centering of the particle to its centroid.
Enable PBs even if CGAL is not enabled
Skip Gl1_PotentialBlock functor if CGAL is not enabled
Skip Gl1_PotentialBlock functor if CGAL is not enabled
Replace some C arrays with vector. Use .empty(). Add comments as reminders
Use .empty()
Replace some C arrays with vector. Use .empty().
enable PBs for compilation with clang
Add RockLiningGlobal reference
Include allowViscousAttraction, traceEnergy flags. Replace Knormal_area/Kshear_area with kn/ks
Include allowViscousAttraction, traceEnergy flags. Move twoDimension, unitWidth2D to IGeom functor
Move twoDimension, unitWidth2D to IGeom functor. Correct volume and inertia values
Initialize variables outside of loop
Remove whitespaces. Update attrs docstrings
Update attrs docstrings
Remove whitespaces. Fix indentations. Use Mathr::PI. Remove duplicate code
Remove redundant parameters. Update attrs docstrings
Create compliance with periodic boundaries for PBs. Comment redundant parameters. Fix indendations. Add TIMING_DELTAS macros. Move unitWidth2D from KnKsPBPhys. Restore functionality of evaluatePhys. Replace getPtOnParticleArea with getPtOnParticle2. Declare variables outside of loops
Include shift2 parameter in functions, to comply with periodic boundaries. New variable unitWidth2D, moved from KnKsPBPhys
Create compliance with periodic boundaries for PPs.
Include shift2 parameter in functions, to comply with periodic boundaries. New variables twoDimension, unitWidth2D, moved from KnKsPhys
Create compliance with periodic boundaries for PPs. Move unitWidth2D to IGeom functor. Replace Knormal_area/Kshear_area with kn/ks. Use Mathr::PI
Comment out redundant parameters. Update attrs docstrings
Create traceEnergy feature. Create individual functions: elasticEnergy, normDampDissip, shearDampDissip, plasticDissipation, initPlasticDissipation, ratioSlidingContacts. Add TIMING_DELTAS macros. Control whether to allow attractive viscous forces. Reduce if statements. Replace Knormal_area/Kshear_area with kn/ks. Use Mathr::PI. Calculate shift2, shiftVel for periodic boundaries.
Comment out redundant parameters. Update attrs docstrings. Introduce energy-related functions
Declare variables outside of loops
Comment out redundant parameters. Update attrs docstrings
Declare variables outside of loops
Comment out redundant parameters. Update attrs docstrings
Minimise script. Introduce aabbEnlargeFactor
Remove unused parameter halfSize
Remove trailing whitespaces
Remove trailing whitespaces
Remove trailing whitespaces
Remove trailing whitespaces
Comment unused parameters for 2D
Include allowViscousAttraction, traceEnergy flags. Replace Knormal_area/Kshear_area with kn/ks. Move twoDimension, unitWidth2D to IGeom functor
Introduce new check-script for the Potential Particles
Remove whitespaces. Fix indentations. Use Mathr::PI. Remove duplicate code
Remove whitespaces. Fix indentations. Use Mathr::PI. Remove duplicate code
Fix typo
Remove duplicated problematic code to calculate centroid, volume inertia. Calculate these invoking PotentialBlock::postLoad
Comment out the removed methods
Write (ordered) vertices of each plane in the planeStructs, removing duplicate ones. New parameter to record connectivity of vertices. Remove redundant planes associated with less than 2 vertices. If a PB is not defined centred to its centroid, record the distance in an attr: position. Rename iterators -k- to -kk- to avoid conflicts.
New parameters: connectivity, position
Correct number of total faces, after removing the redundant ones in the shape class
Reinstate clang-format guards
Reinstate clang-format guards
Remove unused #include statements. Remove comment
New visualisation code without CGAL, using in-house triangulation. Cull back faces to improve efficiency. Use GL_TRIANGLE_FAN to reduce invocations of OpenGL primitives
Remove unused variables with the new visualisation code
Amend lighting: Reverse front/back faces, since till now the front faces were treated as back faces and were rendered as darker. Choose shading per vertex, to achieve smoother rendering.
Remove unused parameters with new shading per vertex
Comment out possible sign reverse for d[i] after centering the particle
Introduce traceEnergy, isSliding, ratioSlidingContacts, allowViscousAttraction features. Add FIXME comments in places that need to be revised
Introduce traceEnergy, isSliding, ratioSlidingContacts, allowViscousAttraction features
Deleted outdated installation instructions. Updated syntax of functors. Included info on the contact law and the contact area.
Replaced calJointLength attr with calContactArea
Replaced calJointLength attr with calContactArea
Replaced calJointLength attr with calContactArea. Added attr areaStep.
Replaced calJointLength attr with calContactArea
Replaced calJointLength attr with calContactArea
contactArea related improvements. Added FIXME comments where appropriate
Replaced calJointLength attr with calContactArea
Developed calculation of contactArea for the PPs
Developed calculation of contactArea for the PPs
Deleted calJointLength attr
Deleted calJointLength attr
Deleted calJointLength attr
Deleted calJointLength attr
Replaced calJointLength attr with calContactArea. Stricter tolerance in checks
Replaced calJointLength attr with calContactArea
Replaced calJointLength attr with calContactArea. Added attr areaStep. Created check for the contactArea
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
double to Real conversion
Update tolerance for duplicate vertices check
Assign b.aspherical=True
'Compile PPs and PBs when YADE_VTK is off'
PPs_PBs: fix typo on default choices
Remove outdated comment. Fix broken link
Assign avoidSelfInteractionMask=2
William Chèvremont (50):
Add Contact Prediction resolution
Fix lubrication bug
Remove VdW attraction
Add adhesion on solver 3. Fix some little bugs.
Add adhesion forces on lubrication
Fix yade-batch plots and script HTTP sending
Interaction length is user-definable
use precomputation more widely
Fix warning
Add citation to Chevremont2019
Interaction length is user-definable
Fix precomputed constants
Add time to PDF data
Reduce PDF data due to symmetry
Correct orientation and position of integration cell
Correct PDFEngine angles calculations
Fix Unused variable warning Now Error
Interaction length is user-definable
use precomputation more widely
Fix normal viscosity coefficient
Allow long range interactions for boxes.
Add lubrication stresses to vtk recordables
Take care of cell deformation for drag engine
Take care of periodicity when saving velocities in vtk files
Add lubrication stresses to vtk recordables
Add lubrication stresses to vtk recordables
Fix python2->python3 bug on TCP connections
Remove adhesion from lubrication
Remove Electrostatic law. Will be replaced by general lubrication+potential law.
Use new log system. Remove variable controlling the output.
Start Lubrication with potential implementation. Group shared function into virtual class
Fix favicon send method
remove normal trigger (normal part will always be computed)
Start implementation of Potential resolution
Implementation of potential set from python side
Try to inherit Potential from python
add virtual keyword
Add Lock before calling python code
Add some tracing messages
Add mean sphere radius as a parameter
Update documentation about c++ subclassing in python
Add potentials forms
Update doc
Fix serialization
Fix bug
Add checks for lubrication law
Add exemples
Fix slipping equation
Revert "Fix slipping equation" No error on this equation This reverts commit 588e60baf1fc8e6f9961adbfa2ebdd4d0e8f6f87.
Fix Vtk potential recorder
bchareyre (1):
fix find python again (sorry), hard to make it work in local+gitlab+gricad...
clang-formatter (3):
clang-format python modules
Clang-format InsertionSortCollider
clang-format Potential* and Rock* files.
kboschi (34):
dumb test
is CellNeighbor introduction
added getNeighbors to FlowEngine
voidvolume in periodicflowengine
validation test PFV
small changes in comments
regression test
introduction of getConductivity
change of Boundary conditions for comparison with the new regression test
introduction of getBoundaryVolume and getCellInVolumeFromId
updateCapVolList introduction
more efficient script
validation test PFV
regression test
introduction of getConductivity
updateCapVolList introduction
more efficient script
useless functions
make consInfCell a parameter of the function where it's used + rename it for clarity by Bruno
getInterfaces optionally return only interfaces from a specific cell by Bruno
fix compile error plus c++ true is lower-cased... by Bruno
new script
getNeighbors(ll,True) and newton in right position
validation test PFV
deletion of outvade warning and of useless functions to get water volumes
updateCapVolList introduction
make consInfCell a parameter of the function where it's used + rename it for clarity by Bruno
fixing indentation
only optimized version
changes by Katia in pressureImbibition mainly
c0.getInterfaces(cellId=ll)+ii[3]
deleting of cellId in c0.getInterfaces(cellId=ll)
introduction of break when detected an unsaturated cell in flowtest()
changing in initial condition script (more efficient)
==================================================
yade-2019.02a
Tue, Jan 29 19:59:30 2019 +0100
Alexander Eulitz (9):
fix typo
fix typo
missing link replaced by short description
updated Engine names
Merge remote-tracking branch 'upstream/master'
Added MPI Developergroup
Merge pull request #54 from Kubeu/master
solved import problem of ASCII STL models
added .git config file for directly working on trunk
Anton Gladky (6):
Remove RELEASE file
Fix doctest fail with numpy 1.14
Fix doc compilation with the new sphinx
Use mathjax instead of pngmath.
Remove execution bit from some scripts
Add RELEASE file
Boon Chiaweng (7):
example files for Potential Blocks and Buoyancy routine
Local repository is outdated
Update Potential Block Examples
Update Potential Block Examples
Update Potential Block Examples
fixed the description for variables in PotentialBlocks
commented TRVAR3 in KnKsPBPhys and remove Potential Particles basic.py
Bruno Chareyre (102):
FlowEngine::getDiffusionCoeff introduced, returning throat's area/length ratio
more consistency in the 'stress' vs. 'force' semantic
some improvements following https://lists.launchpad.net/yade-dev/msg13714.html (thx Jerome)
fix compilation without gpu for older suitesparse
a latex typo in doc - blocking buildbot
Revert "Code comment in Ip2_FrictMat_FrictMat_FrictPhys: removing from the comment the erroneous 2 with respect to harmonic average expression"
fix/add some hyperlinks in doc
minor comment
theta-method for implicit integration of lubrication forces
better user control on theta method in Law2_ScGeom_ImplicitLubricationPhys, stiffness made linear, roughness!=0 improved and tested (warning: reverts 24b1cac, sorry)
An interesting new shape in Zhao et al. (2017)
suffusion modelized by Aboul Hosn et al. (2018)
better initialization of scaled densities when Newton::densityScaling is true
DomainLimiter now compatible with clumps, not just spheres
added comment to O.interactions.nth() docstring
minor inline comment
enable detachement of contacts following gap=0 in Lubrication law
inversion of integer matrix in flipCell (thx Vaclav for the hint https://github.com/yade/trunk/commit/2d7afba)
Rotations calculated with the integrator for spherical bodies if one rotational DOF is blocked
an exemple for saviing/reloading with user defined variables and functions
1-phase solver for clusters and more python wrapping
helper function for finding opposite edge
add libparmetis variant of libmetis to cmake
initialize CellInfo::index in ctor
optimized local update of clusters after each pore invasion
TwoPhaseFlow clusters: some bug fixing and more python wrapping
Merge branch 'master' of github.com:yade/trunk
bugfix in TesselationWrapper::getAlphaCaps as reported by Gerald Pekmezi
a function applying forces based on alphaShape
remove unneccesary lines
TwoPhaseFlow cluster management extended to imbibition
fix FindMetis.cmake (was looking for all variants instead of just one)
+1 paper Suhr et al. 2017
some code cleaning
returns merged clusters after pore imbibition
fix erroneuous condition in cluster drainage
Some bugfix in TwoPhaseFlow::Cluster's handling
further smallfix of clusters
saveVtk() includes boundary cells
saveVtk() include more boundary cells
final integration of bounding cells display
code cleaning and doc
remove deprecated savePhaseVtkIncludeBoundaryCells, replaced by savePhaseVtk(...,withBoundaries=True)
smallfix
fix capillary forces calculation (include revert of 8074a80a89bd451c8a) + fix a compile error for c++ < 11
fix timing.stats() runtime error when ParallelEngine has a sublist of engines (the results are still not ok)
fix some output string of timing.stats
calculate and retunr consistent timing.stats() with ParallelEngine
use numSolveThreads and numFactorizeThreads for FlowEngine::solver=4, as it is for solver=3; improve timing.stats()
mention 3SR hosting
document code and remove a cerr<<
a complete example script with spheres, grids, pFacets interactin (by Marcus Guadagnin Moravia)
augmented version of a pFacet example (thx Marcus)
re-apply: augmented version of a pFacet example (thx Marcus)
Fix inspector for PFacets/GridConnexions/GridNodes
fix compilation error when TWOPHASEFLOW is enabled with PFVFLOW disabled (now disabling PFVFLOW also disable TWOPHASEFLOW automatically). Ref. https://answers.launchpad.net/yade/+question/672510
fix compilation with vtk>8 (Thanks to Luc Oger)
starting points for thermal engine by Rob. Caulk
'#ifdef THERMAL' guards for Thermal module + fix compile error
added comment on converting State to ThermalState
update installation doc for ubuntu 18
update/highlight using yade without linux in doc
oedometer.py: remesh right after changing the boundary condition
partial fix of the display problems when PFacets are clumped together
fix broken ipython terminal (bugs.launchpad.net/yade/+bug/1604266)
improved density scaling, fixing wrong behaviour when stiffness!=0 at iter=0
updated publications and publication page
missing file 663546f (update publications page)
fix dt=0 in GSTimestepper when viscEl=True (ref https://lists.launchpad.net/yade-dev/msg14195.html)
fix bug/1794479 (doc fix)
fix https://bugs.launchpad.net/yade/+bug/1455621 (doc fix)
safer cast's in PDFEngine
doc
fix compile warning
wrapper for CGAL's incident_cells accessor (available in FlowEngine and friends)
fix return type of FlowEngine::getIncidentCell()
Revert "Changes in Python-exposed functions to accomodate the (somewhat new) list-return-type of aabbExtrema. See bug LP: #1804621"
Fix LP:1804621; revert Shop::aabbExtrema() from boost::python::tuple to std::vector<Vector3r> git:1db13fb
Merge pull request #55 from booncw/master
enable createInteraction(id1,id2) when (id1,id2) is a virtual interaction
introduce regression testing module for utils
make -j6
Merge remote-tracking branch 'github/master'
Merge branch 'master' into 'master'
replace github by gitlab in doc and sources
Merge branch 'master' of gitlab.com:yade-dev/trunk
small change on gitlab doc (test push)
remove remaining occurences of github
github->gitlab in html homepage
Merge branch 'master' of github.com:yade/trunk
Merge from github/yade
Revert "Merge from github/yade"
Merge branch 'master' into 'master'
increase make -j12
increased documentation of merge requests
CI pipeline triggered by master branch only
fix syntax in .gitlab-ci.yml
CI pipeline for merge_request's also
document the two ways for merge requests and whether they will use group runners
Merge branch 'master' of https://github.com/booncw/trunk into potentialBlocks
fix script-seesion2.py and mark psd.py OK
fix typo in index.html
Chao Yuan (4):
add a tempoary saveVtk to plot bounding cells.
-fix bug on computing fluid forces. the error computes fluidForce twice.
Merge branch 'master' of github.com:yade/trunk
temporary fix the solution of pore body radius. the previous one doesn't work if the radius of grain is smaller than 1e-5.
Jan Stránský (5):
removed utils.UnstructuredGrid
fixed some warnings for sphinx doc compilation
added publications
Making doc of Body.intrs() clear to return real interactions
added brazilian splitting test example script
Janek Kozicki (35):
Fix all compilation warnings
Fix last compilation warning
Fix compilation errors with CGAL 4.11 (again), guys please use Tri.locate(CGT::Sphere(…)) and ->point().point()
Update .mailcap
Small improvement in SerializableEditor.py, it will now detect types starting with std:: or boost::
Initial idea for fixing CGAL 4.13 interface changes.
fix typo
Add info about how to push a non-master branch into yade-dev
Checked first 20 examples. Fixed 2. Created full list examples/list_of_examples.txt to track progress.
Partial fix of postProcessValidMaurin2015.py
Fixed postProcessing_sedim.py; added in list_of_examples.txt whether the example is explained inside the script.
Checked next 25 examples. Added some explanations or very small fixes in 8 examples.
Checked 10 more examples.
Check 24 more scripts, fix 2.
Check 12 examples. Fix 2.
Check 8 more examples
Checked 17 more examples. Didn't fix the 8 broken ones.
Checked 18, fixed 2
Checked 17 more examples
Check 27 more examples
Checked last 25 examples. Conclusion: 215 examples, 46 are not working at the moment. That is 21% of examples are broken.
Fix bug#1813229. Class Inheritance graphs in Yade.pdf now have dpi=300 and larger font.
I tried the -DENABLE_POTENTIAL_BLOCKS=ON -DENABLE_POTENTIAL_PARTICLES=ON examples. They start and seem to run, but still do not work.
Oops, has some merge conflicts
I tried PotentialBlocks once again. I am still suspicious about whether those examples work.
Fix error GUI → Display → Gl1_CpmPhys : UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 87
Adding Gl1_PotentialParticle().store=True to example file seems to fix the display issues. But there must be a reason why it is false by default?
Comment out last remaining //TRVAR3(…) which was spamming the terminal.
Fix indentation in list_of_examples.txt
Checked all examples in doc/sphinx/tutorial.
Walked again through all examples to identify the source of each SIGSEGV/SIGABRT segfault.
Notes about what I achieved when trying to make this line work: 'from esys.escript import *'
Two of FEMxDEM scripts started to sort-of work: biaxialSmooth.py and retainingSmooth.py
Added missing references to my articles using yade. Also my first Quantum Mechanics paper ;)
Maybe embedding videos with https will make them work on the website?
Jerome Duriez (44):
Ip2_FrictMat_FrictMat_FrictPhys doc: correcting typo (see previous commit comment)
Code comment in Ip2_FrictMat_FrictMat_FrictPhys: removing from the comment the erroneous 2 with respect to harmonic average expression
Capillary scripts: minor changes in writesCapFile
Code comment in FrictPhys: we are adding compliances, I do not think we average them. See also https://github.com/yade/trunk/commit/1f013766d191a0e931d3c1653242d22f28e36dd5
Capillary scripts: minor correction in writesCapFile.m affecting the search for maximum suction when contact angle # 0
Capillary scripts: improving search for maximum suction in writesCapFile.m
Typo corrected in makeCloud() doc
Doc (Programmer s manual) typos corrected
FileGenerators: removing deprecated CapillaryTriaxialTest and CohesiveTriaxialTest. Fixing bugs https://bugs.launchpad.net/yade/+bug/1625850 and https://bugs.launchpad.net/yade/+bug/1764753
Doc: Timing section of Programmer manual. Correcting typos and small changes in wording regarding instantiation which is already done in the mother classes (and does not need to be redone in the Engine/Functor to measure)
Bibtex entry for the 2nd YADE workshop proceedings. Thanks to all yade-dev authors !
Shop::growParticles(), fixing bug https://bugs.launchpad.net/yade/+bug/1767601. There was some interaction access before checking the real nature of interactions, leading to crash with erased bodies
Doc typo corrected
Programmer s Doc: removing Debian packaging section. Fixes bug LP:1773337
Doc: updating my affiliation
+2 journal papers
+1 journal paper (Mede et al.)
Doc typo
InteractionLoop doc typo and small precisions
Merge pull request #52 from jandepue/master
Code cleaning after previous commit about a new matchmaker in CohFrict model
Doc
Correcting previous doc commit (orientation attribute for utils.box())
Doc typo
Docstring typo in pack module (better sphinx output now)
Doc typo
Removing deprecated pack particleSD*()
Doc typo
Merge branch 'master' of github.com:yade/trunk
Adding some kind of warning in SPH examples README
State doc typo
Doc VTKRecorder: typo and minor changes for bstresses
VTKRecorder bstresses: removing useless code for sorting principal particle stresses: Eigen already does it
Shop::aabbExtrema() from boost::python::tuple to std::vector<Vector3r>
Including new type (from -1 commit) in aabbExtrema doc
MeasureCapStress: fixing bug LP: 1764424 and change of attribute names
Doc typo (McNamara doi)
Formulation doc typo (wrong superscript for \omega somewhere)
Publications: adding full bibliographic details for one paper
Doc for compilation options, some sync between the doc and CMakeLists.txt. See https://lists.launchpad.net/yade-dev/msg14108.html
Moving isInBB from py/_utils* to pkg/dem/Shop*
Doc typo in URL link (correcting 0a292779)
Changes in Python-exposed functions to accomodate the (somewhat new) list-return-type of aabbExtrema. See bug LP: #1804621
Doc for pack module: fixing broken links
Luc Scholtes (2):
Back to previous configuration (Timos's version) - Robert's add ons commented - More testing needed
add the possibility to distinguish cracks from matrix and joint interactions in Paraview
Robert Caulk (48):
throw error at user for trying to useSolver=4 with multithread=False
Add acoustic emission collection algorithm to JCFpm. Add acoustic emission post processing tools to VTKRecorder.
Add guide for simulating acoustic emissions
clean up installation and GPU doc
convert pdf images to png for AE guide
fix doc build failure
fix figure web sizes
edit concrete example to aboid ZeroDivisionError
revert doModes back to original value
Add eventnumber post processing category for acoustic emissions alg
move trickperm to fix broken blockhook
add ability to artificially correct cell volumes based on a desired porosity (EXPERIMENTAL)
add functionality to collect start time of acoustic emission event
clarify citation, equations, images for acoustic emissions tutorial doc
remove DFNFlow from default compilation
Parallelize mesh interpolation
open useSolver=4 to singlethreaded operation
fix bug with singlethreaded GPU flow solver
add ability to measure some FlowEngine and CHOLMOD timings
Merge branch 'master' of github.com:yade/trunk
set openblas_num_threads = flow.ompThreads
Basic functionality for fixing triangulation and updating linearsystem with trickPermeability
comment out update positions
add functionality for resuing CHOLMOD ordering (avoid unnecessary CHOLMOD analyzing)
erase random comment
Fix typo
Add ifdef for LINSOLV=OFF in FlowEninge and force TWOPHASEFLOW dependency on LINSOLV=ON
advection function added to flowengine, thermal properties added to cells
Merge remote-tracking branch 'refs/remotes/origin/master'
remove unnecessary variable initializations
add functional conduction engine
consolidate thermal engine, fix #ifdefs
Merge branch 'master' of https://github.com/yade/trunk
add thermal mechanical coupling, enable individual control of advection or conduction
add ability to set conduction boundary conditions
add start of thermal-mechanical fluid coupling
add full thermomechanical fluid coupling, automatic timestepper, refactor, clean
fix indentation
improve readability and add ability to decouple forces in flowengine
adapt thermal state info and engine for compatability with special states (e.g. jcfpm). Add cmake flag for thermal engine.
add Yade Technical Archive to website and doc
change links for yade tech archive to /publi, add yade tech archive references to reference page
#ifdef factorexists
update YTA hyperlinks
add comma
update YTA hyperlinks
Update YTA tutorial refs
Fix memory leak in FlowEngine
William Chèvremont (72):
hide debug messages
Merge branch 'master' of https://github.com/yade/trunk
Merge branch 'master' of https://github.com/yade/trunk
Merge branch 'master' of https://github.com/yade/trunk
Physics update in Lubrication law for bodyStressTensor
Merge branch 'master' of https://github.com/yade/trunk
Merge branch 'master' of https://github.com/yade/trunk
add stresses calculation to implicit lubrification
Merge branch 'master' of https://github.com/yade/trunk
Fix normal lubrication
Merge branch 'master' of https://github.com/yade/trunk
Fix lubrication laws
Merge branch 'master' of https://github.com/yade/trunk
Fix lubrication compile error
Fix compilation error: missing include
ccache doesnt support -save-temps
Add dynamic stress calculation alone
Delete LubricationPhys, add stress calculations for each component, change resolution method
Missing replacement of EIGENSPARSE_LIB to CHOLMOD_LIBS (see commit f9cac61952163e0897942e596fa5bb24a55c9f5d)
Fix time stepper stiffness
Add scripts replacement tags
Modification to OAR launch script
Modification on lubrication's laws
Adding possibility of saving a dict of parameters
add oar-properties support
fix constrain orders -oar
Change lubrication calculation structure
Fix Dynamic stress calculation
add normal viscosity for timestepper
Encapsulation of resulution method into functions
Change some default values
Give a default value to RealName (getpwuid(geteuid()) fail on some clusters but not so critical)
Add Newton-Rafson resolution method
Add newton-rafson method with nonlinear contact
Fix compile cast error
Add NewtonRafson-Exponential resolution method
Nonlinear contact only belong to contact part
Documentation improvement
Move non-normal calculation to a function (help for inheritance purposes)
Fix doc warnings
Switch to implicit resolution
Fix warning
Add stress calculation
Fix OAR launchscript bugs
Add log-calculation of shear and torques component
Switch to log-shear resolution
Fix DLVO equations
Fix substepping distance
Reduce warning verbosity
fix script path for logfile
Fix Electrostatic + lubrication
Add dichotomic method for resolution
End of Dichotomy implementation, renaming
Fix compile error
bugfixes
Add VdW cutoff length
Add Stress PDF for lubrication
Switch to template implementation for PDF
Fix buildbot error?
PDFEngine creation
Move PDF to new file, exemple for lubrication
Add distance, velocity and intrs PDF integrator
Add Distance, Velocity and Intrs calculation for Lubrication
fix compile warnings
Add default data for PDFEngine
Doc for yade-oar
Check for initial proble
Fix NaN function problem at initial point
Regula Falsi
Code refactoring
Fix starting point
Merge branch 'master' of https://github.com/yade/trunk
jan (1):
Added frictionAngle Matchmaker to cohesive frictional contact law (based on Frictphys) see https://answers.launchpad.net/yade/+question/670376
raphm1 (15):
HydroForceEngine: Re-organize fluidResolution to make it clearer. Remove lines and tab the text according to the different loop Remove the subfunctions which are not usefull anymore Uncomment the calculation of taufsi
HydroForceEngine: fluidResolution modifications Modify the grid definition and the extrapolations of variables in order to fit exactly the staggered grid and the averaging performed. Modify the example scripts accordingly. This modification fixes former errors in the formulation of the fluid resolution. Change the variables name to be consistent with the future documentation
HydroForceEngine: error in the pressure term + validation Correct an error in the pressure term of the fluid resolution Introduce a fitting coefficient in the wall friction Adapt the validation script to the mesh
HydroForceEngine: add validations scripts Add a script to reproduce the experimental comparison performed in Maurin et al 2015 Add a script to reproduce the case r2d6s2 of Maurin et al 2016 Add post-processing scripts to extract corresponding figures
HydroForceEngine, fluid resolution: add the possibility to impose a fluid velocity at the top of the sample.
HydroForceEngine: modify the example folder organisation
HydroForceEngine examples: modify the fixed bottom generation
HydroForceEngine: add an example script of laminar shear flow over a granular bed
HydroForceEngine: add a new effective viscosity modelling
Add references
Fix error in the previous commit in references
Add a documentation page for HydroForceEngine
second part Add a documentation page for HydroForceEngine
HydroForceEngine: correct the viscous contribution Modify the viscous contribution in the fluid resolution, in order to account for the fact that the closures for the viscous stress tensor should be written as a function of the total (fluid+solid) shear rate tensor. As a consequence, the fluid viscous contribution are multiplied by the fluid volume fraction at the square, and the second member includes a contribution from the solid phase. Also, the poiseuille validation script has been very slightly modified to account for recent code modification
HydroForceEngine: add a point particle averaging function
remche (14):
adding gitlab-ci
4 cpu for build
16 cpu for compilation
more complete ci
disabling save temps
clean build for artifact and relative path for install
make and install in the same job
fix install dir
test doc generation
fi xvfb-run
fix depth for xvfb-run
uploading pdf and epub doc to pages
Adding DISABLE_SAVE_TEMPS flag to Cmake
doc: fix jquery for searchbox
==================================================
yade-2018.02b
Tue, Feb 20 18:55:30 2018 +0100
Anton Gladky (4):
Remove RELEASE file
Do not globally import polyhedra_utils in ymport.py
Simplify and fix the checkPolyhedraCrush
Add RELEASE file
Bruno Chareyre (1):
fix cmake warning + effectively enable TWOPHASEFLOW
Janek Kozicki (3):
Update .gitignore and .mailmap
Fix warnings that I have during compilaation.
Initial fix for cgal 4.11. There are some things still to check:
Jerome Duriez (4):
Doc: typo (missing parenthesis) in Ig2_Sphere_Sphere_ScGeom
Doc: precising IPhysFunctor docstring
Doc: typo in Programmer s manual
Doc: other typos in Programmer s manual
Robert Caulk (2):
Fix DEM-PFV-check.py failure. Enable CPU usage of direct cholmod solver (useSolver=4)
Add support for older versions of SuiteSparse
==================================================
yade-2018.02a
Wed, Feb 7 20:06:30 2018 +0100
Anton Gladky (15):
Remove RELEASE file.
Initialize gui in IPython 5.
Add dependency on python-pyqt5.qtsvg.
Fix PDF-compilation with sphinx>=1.4.9
Remove comented lines in CMakeLists
Test commit number two.
Do not enable LINSOLV if CGAL not found
Fix missing AND operator in prevoius commit
Extend polyhedra breakage model by Mohr-Coulomb-Weibull failure criterion.
Add examples for the PolyhedraBreak model
Add one more Yade-Paper
Update .gitignore
Make newly added labels consistent with other labels.
One more thesis, where Yade is mentioned
Add RELEASE file
Bruno Chareyre (15):
Fix https://bugs.launchpad.net/yade/+bug/1666339 (thx Robert)
+5 journal papers
+2 journal papers
+ Christian Jakob's PhD in references
Put brackets in the right place (thx Robert).
+4 journal papers
1+ journal paper by V. Lapcevic
Add editor to Yade workshop proceedings (me!)
missing comma (sorry)
turn ERROR into WARNING when ISCollider does not find spheres to determine verletDist
+2 journal papers
+2 journal papers
+11 conference papers
add missing year in a bibtex entry
Fix kineticEnergy() for clumps
Chao Yuan (6):
add porosity in cell info.
fix compile error.
add functions to get pore throat radius (by cells or spheres).
-split computeEffectiveRadius() for obtaining reff by pos and radius; -clean redundant functions.
-fix setPoreThroatRadius
-add setPoreBodyRadius.
Francois Kneib (1):
Fix typo in installation.rst doc.
Jan Stránský (7):
fixed a typo in micro-stress example
replaced L3Geom by ScGeom in tutorials
Added subengines of CombinedKinematicEngine to labeled engines
fixed a bug in ScGeom::getIncidentVel with avoidGranularRatcheting=False and O.periodic=True
Updated Body::intrs doc, fixed typo in comment
fixed a bug in ymport.UNVReader
fixed one Polyhedra python method name
Jerome Duriez (9):
Articles .bib entries: fixes https://bugs.launchpad.net/yade/+bug/1671045, plus update of entries data
capillaryLaplaceYoung scripts: update of reference labels
+1 master thesis
A new post-processing engine to measure capillary stresses using alternate expressions than getCapillaryStress()
Implementation improvement of new MeasureCapStress engine
JCFpm model: code comment precised (https://answers.launchpad.net/yade/+question/644244)
-1 check test (regarding NormalInelastic contact law which is about to be erased)
-1 contact law (Law2_ScGeom6D_NormalInelasticityPhys_NormalInelasticity and other NormalInelasticPM classes)
Typos corrected in installation.rst
Martin Haustein (1):
Add constant volume deformation engine.
Robert Caulk (4):
Editorial change
fix typo
Fix typos
Roll breakOccurred comments back 1 commit
T Sweijen (12):
Dynamic version of two-phase flow,interpolation of saturation field when meshing, merging of tetrahedra to find pore units
OMerge branch 'master' of https://github.com/yade/trunk
provide access to per pore partial solid surface
update of Dynamic Two-Phase Flow engine, removing old definitions, update comments, and added several averaging procedures for water pressure
Function to track deforming pore units and to couple this to dynamic two-phase flow + cleaning of functions
Minor fix for updating volume change
fix for savePoreNetwork function - to avoid odd locations of cells along boundary
fix of comments and cleaning up of redundant lines. Also, inclusion of initial and boundary conditions for dynamic imbibition
Fix for mergeCells() function, to allow for using it more than once
Update of initial conditions to allow for primary and secondary drainage/imbibition. Addition of compatibility check of boundary conditions. Removing some redundant functions.
Fix in TPF Engine for simulations with Deformation + optimalization for TPF + deformation simulations, without swelling
update of soluteFlowEngine, including a fundamental fix in equations and a function to export average concentration
William Chèvremont (25):
Adding Electrostatic interaction
Adding Electrostatic interaction (forgot cpp file)
Fix the electrostatic law
Merge branch 'master' of https://github.com/yade/trunk
Correction of ElectrostaticPhys
Adding lubrication force w/o FlowEngine
Merge branch 'master' of https://github.com/yade/trunk
Merge branch 'master' of https://github.com/yade/trunk
ElectrostaticMat derive from CohFrictMat instead of FrictMat
Merge branch 'master' of https://github.com/yade/trunk
Fix lubrication laws
set more realistic default values for ElectrostaticMat
Lubrication can process other physics
Adding yade-oar and Lubrification resolution by implicit method
Revert "Adding yade-oar and Lubrification resolution by implicit method"
Revert "Revert "Adding yade-oar and Lubrification resolution by implicit method""
Merge branch 'master' of https://github.com/yade/trunk
fix lubrication
fix plot Matrix3 suffix (yz instead of yx)
Merge branch 'master' of https://github.com/yade/trunk
Fix CMakeList
Test
Fix warnings
Debug lubrification
Insert other resolution method
bchareyre (59):
fix the flipCell() function
fix compile error
flipping periodic cell -> small/doc fix
move PBC example scripts
cleaning examples
documentation on changing the boundary conditions in FlowEngine and derivatives
Robert Caulk's guide to cloud computing inserted in doc
return a consistent set of constrictions in the periodic case (some constrictions were previsously skipped inconsistenty)
re-apply the fix of rev 26efbec to getConstrictionFull()
fix a compile warning
fix an indentation problem in shinx document - hopefully fixing the buildbot
fix unicode warning (documentation build)
add a reference url
fix compiler warning
small fix in getConstriction() + a typo
new logic for interating on facets in periodic triangulations (following ref. Rev.26efbec and followers)
new data 'crackArea' added to DFNFlow cells and updated automatically - first step toward solving the artificial compressibility of fluids in cracks
#define DFNFLOW commented out
small updates in doc, fixing compile errors and some warnings
add exemple script for two-phase flow with 2PFV technique, related to Yuan and Chareyre (2017)
extended version of ForceEngine with its own fluid solver (by J. Chauchat)
move HydroForceEngine to independent source files.
Minor changes in authorship and inline comments
Critical bugfix for collision detection in periodic boundary conditions. Bounds lists were left partially unordered, then some interactions were never detected (my toughest yade debugging until now).
Minors & cosmetic.
fix feature NewtonIntegrator::densityScaling
Introduce a tolerance on overlap determination (in periodic BC only), avoiding false negative due to round-off errors. (usage in a separate commit).
A simpler and faster version of spatialOverlapPeri. Only one call to floor(), ~20% speedup for ISCollider::action. Tolerance introduced to fix detection failures.
Keep the values of sorted bounds in the [0,size] range in ISCollider.
small scale optimization in ISCollider
Fix collision detection again (amending commit c7c8e6f62d452c8). Don't move bounds below the starting point of the sort, else partial (only) ordering can occure.
Don't start blinking the 0-body when opening inspector + make it possible to un-highlight before/after closing the inspector by selecting empty space.
Fix miscommit in d2211bd747d74eaea569ac88e.
remove a function that was declared but undefined (leading to runtime error)
cite recent reference on timestep
TwoPhaseFlowEngine::getNeighbors now returning less than 4 neighbor cells if some of them are infinite (normally only one)
a function + python wrap for invading one single pore and updating the clusters
fix cluster invasion/update (thx Son for spotting the bug)
fix doctest's target following b5ca352
fix doctest in addData (re-apply c011decc36)
fix doctest indentation (after 36c016bd)
TesselationWrapper wrapping CGAL's AlphaShapes for defining an alpha-contour
remove function definitions from FlowEngine.hpp
preliminary version of 'extended' alpha shape contour
further extension and debugging of alphaShape code
nearly working version of the extended alpha-contour
small fix
proper calculation of alphaCaps areas in TesselationWrapper
If FlowEngine::meshUpdateInterval<0 do not update the mesh at fixed intervals
fix a compile warning - probably leading to undefined behavior
apply d71813b for the periodic flavor of FlowEngine
re-insert the comment on Qt4->Qt5 since it may still help (partial revert of 1c06b6ad9d2)
Remove the declaration of (redundant and undefined) FlowEngine::currentTess, while there is already Network::currentTess. Fix https://bugs.launchpad.net/yade/+bug/1732210.
Use a relevant upperbound (i.e. 0.5*period) for the the maximum body size in periodic boundary conditions.
Update the position of the clump members relative to the clump itself ("local" coordinates) when applying growParticles(). It is no longer necessary to perform additional operations (updateProperties()) after growing clumps.
make checkClumpHopper.py less time demanding
fix bug/1291977 and a typo
fix some compile warnings in TwoPhaseFlowEngine
enable TWOPHASEFLOW by default
jduriez (15):
Email address changes
Capillary script solveLiqBridge.m: change in attributes order (with small consequences), plus other minor changes
Capillary scripts: removing one useless test, and including commented time measurement commands
Capillary scripts: Introducing .py versions for 2 (out of 3) .m files. Plus minor change in one .m file
Doc: precising Collider.avoidSelfInteractionMask
+2 book/proceedings chapters (and formatting changes)
Doc of Shop::aabbExtrema precised
Doc typos and small improvements in VTK post-processing descriptions
Small doc changes in TriaxialStressController.particlesVolume and porosity
Doc: minor change in package installation (distro name)
Doc: typo in user manual
Misleading comment removed in UnsaturatedEngine.cpp
Doc: typo correction in TriaxialStressController.stressMask
grids examples: moving qt.View() at the end of the scripts so that the window view is correctly scaled with respect to the model
Doc of Ig2_Sphere_PFacet_ScGridCoGeom updated: replacing inexistant ScPFaceCoGeom with ScGridCoGeom, and Facet with PFacet, fixes 4. of https://bugs.launchpad.net/yade/+bug/1746037
luc scholtes (6):
update of the JCFPM particle model with new or adapted functionalities to record number of cracks and associated released energy. An example script will be provided.
add possibility to define residual friction angle (broken contacts) different from friction angle (bonded contacts)
some cleaning and clarifying of crack aperture calculation
update of file. mistakes in previous commit
update due to mistake. Thank you Robert
update due to mistake. Thank you Robert
raphm1 (10):
HydroForceEngine: add an optional input parameter to account for convective acceleration The input convective acceleration term take the form of a depth dependent vector
yade-article.bib: add a journal paper
Add proceedings
Add two functions getStressProfile_contact: to evaluate the stress profile considering only the contact contribution getDepthProfile_center: to evaluate solid depth profile (solid velocity and volume fraction) considering particles as points
Fix error from commit e4f601d
Add 2 references and 1 paper
HydroForceEngine: update the 1D RANS fluid coupling Modify the formulation of the fluid resolution in order to merge it with the existing variables of HydroForceEngine. Fix errors in the fluid momentum balance resolution. Clarify the mesh definition. Evaluate all the components necessary to solve the equations inside the fluidModel function. Introduce the possibility to account for fluid lateral wall friction in the equations. Make it possible for the user to access only the fluid resolution without introducing any particles or launching a DEM simulation. Update the documentation.
HydroForceEngine: new examples and validations Introduce a new sedimentTransport script, which make use of the fluid coupling (1D RANS) Complete the sedimentTransport example script and add a post-processing example. Add validations for the fluid resolution without particles, considering logarithmic law and poiseuille flow. Add a file commenting the different examples and validation scripts.
HydroForceEngine: small modifications
HydroForceEngine: fix errors in the fluid resolution
remche (4):
Fixing clang compilation
Adding path for CGAL ans GMP include dir to cmake (for exotic installations)
Merge branch 'master' of https://github.com/yade/trunk
Adding the correct include dir for CGAL
robcaulk (15):
added tmux command tip
Fixed bug with multithread+compressible flow and addressed backgroundAction() FIXME for eigenSolve()
fixed inheritence problem when LINSOLV=OFF
Added option to let new bond breaks in JCFpmPhys control retriangulation in FlowEngine
add fracture interpolation functionality
GPU accelerated PFV solver
GPU acceleration guide
Avoid compiling suitesparse GPU solver if -DCHOLMOD_GPU=OFF
improve GPU doc
Merge branch 'master' of github.com:yade/trunk
improve GPU acceleration guide
add the ability to threshold trickpermeability to 2 or more facets, default behavior should remain same as before this commit
fix variable naming inconsistencies
Merge branch 'master' of github.com:yade/trunk
fix multithreading issue with imposed fluxes
williamchevremont (1):
Typo
==================================================
yade-2017.01a
Thu, Jan 19 22:07:25 2017 +0100
Anton Gladky (20):
Remove RELEASE file.
Add some notes about how to make releases.
Make Yade compatible with VTK7.
Use C++11 constructions for InteractionLoop.
Optimize using of ndarray.
Partly fix webpage help show. LP:1598174
Final fix for LP:1598174
Add missing dependency on python-pyqt5.qtwebkit.
Fix load/save in GUI-QT5.
Drop unused typedef.
Disable LAW2_SCGEOM_CAPILLARYPHYS_Capillarity1 by default.
Remove some deprecated scripts.
Increase the size of force container.
+1 paper.
Provide a proper functioning with IPython5.
Add -fext-numeric-literals to fix FTBFS against boost_1.62
Fix yade with IPython5.
Update distro names in documentation
Add missing header include <csignal>
Add RELEASE file.
Bruno Chareyre (12):
+2 articles (thanks to Bettina Suhr)
+ 1 proceedings (thanks to Bettina Suhr)
Update citing_yade.bib
revert the revert ca0e29ac57
list authors of the doc as in doi:10.5281/zenodo.34073
a note on using distcc and ccache
minor editing of installation page
Master thesis Morales2012a
Introduce Network::surfaceSolidThroatInPore() for partial solid surfaces per half-throat
make the recursion conditional for invasion in multiphase flow
push a file missing in commit e91ff135b7
Yade bibtex: "and others" invalid for less than 9 authors
Chao Yuan (4):
Add cell label for phase cluster. NW-res label 0, W-res label 1, disconnected w-clusters start from 2. label can be saved in savePhaseVtk.
fix comment on label.
clean UnsaturatedEngine, move all functions to TwoPhaseFlowEngine.
Revert DryingEngine.
Francois Kneib (1):
Fix O.engines in examples/cylinders/cylinderconnection-roots.py
Jan Stránský (11):
fixed a small bug in shear force computation in CPM model
Added PolyhedraSplitter example
Changed L3Geom to ScGeom in tutorial example scripts
fixed a minor compilation issue in ConcretePM
Fixed call of _utils.interactionAnglesHistogram with default arduments
making all Law2::go virtual
Matrix_computeUnitaryPositive, changed computeThinX to computeFullX flags
User's manual, added how to visualize force chain in Paraview
UnstructuredGrid: fiexd little bug in manual setting of facet position from vertices
added pack.inHalfSpace and pack.inConvexPolygon + example script
fixed another little bug in utils.UnstructuredGrid
Jerome Duriez (11):
Doc clarification for TriaxialStressController.externalWork (http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg12083.html)
Doc of utils.readParamsFromTable() hopefully improved
Friendlier BibTex entries for 2015 doc. To avoid Smilauer and et al in manuscripts
Doc Getting help section updated to reflect current practice
Including interface orientation data in CapillaryPhys code
Capillary scripts commit (http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg12103.html). Located in a new examples/capillaryLaplaceYoung folder intended to illustrates capillary Law2. With one new simulation script example and another old one, moved here
Typo and minor corrections of previous capillary commit
Capillary law2: erasing when necessary sphere-non sphere interactions (bug LP: #1628273) + minor changes
Capillary law2: restricting test shape. Plus minor change in capillaryLaplaceYoung/README text file
Doc: small updates in PartialEngine and KinematicEngines
References .bib files: including new entries
Raphael Maurin (4):
HydroForceEngine: add a condition to ignore particles fixed on the sideWalls.
Add an example for the use of HydroForceEngine
HydroForceEngine: new fluctuation model for the example script + small correction Add new simple discrete random walk fluctuation model, to be used with the new example script fluidizedBed.py Change the condition for applying the fluid force from p>0 to p>=0, which is more appropriate
Add two example scripts for the use of HydroForceEngine One simple example to get familiar with the application of buoyancy (buoyantParticles.py). One example simulating a fluidized bed configuration to get familiar with both the application of a fluid velocity profile and of turbulent fluctuation with the DRW models (fluidizedBed.py)
bchareyre (19):
fix invalid pointer, thanks Jerome (https://lists.launchpad.net/yade-dev/msg12791.html)
(doc) clarify the meaning of TriaxialStressController::externalWork
fix 1 compile warning
reordering bib references
remove latex/multicolumn from sphinx conf.py (compile error on some systems)
Law2_ScGeom_CapillaryPhys_Capillarity: cache getClassIndex() for use in a loop
fix wrong access to a Network::boundary by index
FlowEngine: enable the definition of continuum scale permeability independent of particle sizes
Introduce DryingEngine (two phase flow with convection in one phase)
Implement Darcy scale permeability in FlowEngine, introduce alphaShapes (commented), some code cleaning and smallfixes
(FlowEngine) optionaly include/skip bounding cells when calculating the average pore pressure
fix negative volumes issue in triangulation cells, consistentlyy remove the includeBoundary option (a workaround) in averageVelocity
TwoPhaseFlowEngine: better integration of fluid clusters
merging PhaseCluster code with r3975
fix compile warnings
small optimization in Clump::updateProperties
update phaseCluster attributes: volume, interfacial area, etc. + various smallfixes in the cluster labelling
further improvement of the cluster labeling in multiphase model
2PFLOW engine: remove useless int from getInterfaces()'s parameters
booncw (2):
Pushing Potential Blocks based on CWBoonEtAl2012 Computers&Geotechnics/CWBoon 2013 PhD thesis, but using CLP as linear programming Solver. CLP can be downloaded from Synaptic Package Manager: coinor-clp, coinor-libclp-dev, coinor-libclp1, coinor-libosi1v5. To enable this, set ENABLE_POTENTIAL_BLOCKS to ON in CMakeLists.txt"
revising Potential Blocks to the latest version to run slope analysis
raphm1 (1):
ViscoelasticPM : fix resolution problem in find_cn_from_en function Change the value of the initial perturbation for the resolution of the equation to obtain the damping from the restitution coefficient. Allows for a much wider range of resolution in terms of mass, stiffness and restitution coefficient. Put a limiter to avoid division by zero and force the loop to print the warning message if "error" goes to nan (no warning in these cases previously)
==================================================
yade-2016.06a
Tue, Jun 14 20:30:53 2016 +0200
Anton Gladky (88):
Remove release.
Clean some unused macroses (old wm3-stuff)
Remove some global headers
Raise minimal boost version to 1.47
Add -DNDEBUG if compiling in release mode
Tiny code refactoring
Clean some warnings and old stuff.
Return removed header back.
Fix warning in newer matplotlib.
Drop old commented stuff in python-scrips.
Remove flags and preSteps from scene
Remove deprecated findBoundDispatcherInEnginesIfNoFunctorsAndWarn
Remove PISC_DEBUG.
Fix typo in installation sections of doce. Thanks to Jan.
Export normal and viscous part of the visco-elastic contact
Remove confusing part in installation part of documentation regarding Qt5.
Fix typo in CMakeLists
Tiny updates of examples of LudingPM.
Fix compilation warnings.
Update formatting in SpherePack
Fix an order of calculation of c in SpherePack
Fix some compilation warnings.
Fix cappitalization typo in Lapack (case-sensitive in this case).
Respect VTK6 in PotentialParticles.
Add .travis.yml for CI.
Remove version restriction on sphinx.
Use trusty as build-env.
Add -y parameter to apt-get install.
Fix numpy import on travis.
Fix segfault during save/load of CapViscModels
Add one more check-script (capillary models)
Fix typo in check-script.
Fix crash in Ig2_Facet_Polyhedra_PolyhedraGeom
vtkExporter: increase number of leading zeros to 8
Move implementation of methods of ForceContainer in cpp.
Split implementation of ForceContainer in parallel and serial.
Add zero-forces to the youngest body after simulation load. Closes LP:1560171
Drop parallel execution in replaceByClumps. Closes LP:1559098
Add import of polyhedras from the file.
Add an opportunity to shift, scale and rotate imported polyhedrons
Minor fixes in Polyhedra_splitter.
Fix division by zero crash in Polyhedra
Add CGAL_DISABLE_ROUNDING_MATH_CHECK, -frounding-math when CGAL is enabled.
Fix some formatting issues.
Non-invasive fixes in polyhedra_splitter.
Get max-min coefs in polyhedra_splitter simpler.
Use tuple as a parameter for SplitPolyhedraDouble
Add check script for polyhedra crash.
Use explicitly -DNDEBUG instead of CMAKE_CXX_FLAGS_RELEASE
Check isnan in some coordinates before calling CGAL.
Minor formatting fixes in Polyhedra.
Add check-script for save/load of clumps.
Disable checkPolyhedraCrush. It is unstable now.
Fix checkPolyhedraCrush
Remove polyhedra_utils import from "ymport"
Add prefix std:: to isnan and isinf.
Update checkPolyhedraCrush
Update files for ppa-infrastructure.
Undef NDEBUG in all polyhedra files.
Add pause for checkSaveLoadClumps to escape race condition.
Use variadic arguments in DynLibDispatcher.
Fix crash in polyhedra, if maxFs=0.
Fix checkPolyhedraCrush (remove qt)
Remove unused functionality in Dispatcher.
Set Qt5 by default.
Add mathcmaker for normalCohesion and shearCohesion.
Split QGLViewer.cmake on qt4 and qt5 versions.
Add .gitattributes to ignore line endings.
Migrate buildppa to python3.
Replace some "#define"(s) by functions.
Remove some machine-specific items in documentation.
Add unit test for matchmaker.
Replace vector by unordered_map data structure in Matchmaker.
Minor fix in documentation.
Replace some "defines" by functions.
Remove numpy.hpp.
Fix bug in polyhedra_splitter.
Some cosmetic fixes in core-files.
Enable C++14.
Revert 2dc99 and ed8dcb.
Use unordered_map instead of map for MapId2IntrT
Use unordered_map only for Boost >= 1.56
Back to C++11.
Revert using unordered_map in Body.
Scale mass and inertia in spheresModify.
Reduce size of flags in Bounds of InsertionSortCollider
Fix bug in MatchMaker.
Add RELEASE file.
Bruno Chareyre (16):
add labels to default engines for easier showcases
fix ambiguous syntax, fixing https://bugs.launchpad.net/bugs/1514477
introduce 2nd edition of the documentation and contact for consuting (in homepage)
update the webpage about citation with 2nd edition, add 1st edition as an external reference, update pdf metadata
fix one DOI of the 2nd ed. documentation
Add missing toctree's for the citable book versions
fix typo in installation page
fixed DOI
fix some hyperlinks pointing to the old geo.hmg.inpg.fr
declare mask attribute for FlowEngine, fixes a compile error
use FlowEngine's mask consistently
implement standalone plastic-shear energy counter in CohesiveFrictional Law2
define constrictions with consistent cell's ids (see https://answers.launchpad.net/yade/+question/288118)
fix a compile error
update boost version in prerequisites (installation page)
Documentation: include unp in the equations of Law2_ScGeom6D_CohFrictPhys_CohesionMoment
Burak Er (1):
Implement deformable elements
ChiaWeng Boon (1):
Commit Potential Particles: non-spherical particles for DEM
Francois Kneib (8):
TesselationWrapper : add a security that prevents user to access the strain tensor of a particle (aka deformation) outside its boundaries.
Fix a tensor access in local displacement calculation.
Fix a bug in Tesselationwrapper: one of the bounding planes was not rightly positionned.
Fix in TesselationWrapper: allow the tesselation to compute right triangulation in the boundaries of a periodic boundaries conditions simulation.
Add 5 setters for bodies pos,vel,ori,angVel,color to workaround the memory leak bug when assigning attributes from python (see https://bugs.launchpad.net/yade/+bug/1041084). They are not supposed to stay in the code for a long period (remove them when the bug is solved), but are useful in sims that massively change values of python/c++ binded attributes.
Simplify one line in TesselationWrapper.
Fix the debug build that failed to compile due to a mistake in pkg/dem/Polyhedra.cpp
Fix the inspector GUI for Qt5, thanks to Mark S. Bentley.
Jan Stránský (30):
Merge pull request #47 from booncw/master
Potential particles modification
Merge branch 'master' of github.com:yade/trunk
Potential particles modifications
added forgotten file from previous commit
Modified python interface for O.forces.addF(...,permanent=True) and addT(...,permanent=True)
fixed some warnings during docs build
Added frictAngle MatchMaker for Ip2_FrictMat_CpmMat_FrictPhys
set b.aspherical=True in utils.polyhedron and utils.tetraPoly
Polyhedra modification
Added a material model for mortar layer
Polyhedra.setVertices improvement, preventing memory leaks (question #290947 and bug #1570679)
Interaction::reset explicitly resets also its functorCache
Fixed a strange bug in Law2_PolyhedraGeom_PolyhedraPhys_Volumetric and shearForce
Added useRef parameters to VTKExporter.exportPolyhedra and VTKExporter.exportInteractions
Modified MortarMat
Merge branch 'master' of github.com:yade/trunk
fixed computation of shearForce in Law2_PolyhedraGeom_PolyhedraPhys_Volumetric
added and modified examples for MortarMat
Merge branch 'master' of github.com:yade/trunk
added MatchMaker for E in Ip2_CmpMat_CpmMat_CpmPhys
Fixed a bug in pack.inSphere, related to question #292846
Merge branch 'master' of github.com:yade/trunk
VTKRecorder, added orientation for box export (question #293635)
Modification of CPM
Fixed ymport.textPolyhedra function (bug #1582775)
added x_y_z_r_attrs format to ymport.textExt
Added an example for generation of 'agglomerate' packing
Fixed Law2_Cpm default parameter to keep backward compatibility (question #294657)
Better default value from previous commit
Jerome Duriez (12):
+1 journal paper
Incorporating previous +1 paper in JCFpm doc
+ another journal paper
makeCloud doc changes with the hope to make it clearer for all users
Doc of TriaxStressController.porosity precised
Doc improvements of previous commit improved
Last doc improvement of previous commit
normalForce and shearForce convention (sustained by #2) precised in docs
fabricTensor() now ok for non-periodic simulations. revertSign attribute removed as well
getSpheres*() functions: getting rid of dynamic test, see http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg11956.html
fabricTensor(): unify the behavior regarding boundary interactions whether split=0 or 1: they are now disregarded in both cases
fabricTensor(): re introducing all kind of interactions in the loop, with the new possibility defining a cutoff. See http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg11982.html
Klaus Thoeni (23):
fix some typos and add some more details
fix Anton's previous commit (make doc was not working)
fix documentation for Note
some polishing
gts shift and scale apparently only take three float values, hence changed
Merge branch 'master' of github.com:yade/trunk
move grid specific functions in separate module and add some more doc
add some more examples, show same functionality as with chained cylinders
update doc
add Grid and pFacet references
Initial version of the PFacet implementation (contributed by Anna Effeindzourou)
Examples for creating pfacets
update tests according to new gridpfacet module
remove postLoad function as not used, this fixes as well serialization problem in --test
better handling of double contacts, get gid of function ScGem goOneWay
improved documentation
add definition for cylinder and cylinderConnection basen on gridConnection, add warning for chainedCylinder usage
examples for cylinder and cylinderConnection
example with many cylinders and 2 pFacets
QT5 is default now
correct some typos
similar to example in chained-cylinder-roots.py
add reference
Raphael Maurin (6):
HydroForceEngine: modify the turbulent fluctuations formulation and add a new DRW model The turbulent fluctuations model takes now the form of a function of HydroForceEngine and is not anymore called from a flag. In addition, an alternative DRW model has been added.
HydroForceEngine: adapt the averageProfile function for bi-disperse mixtures. Evaluate the streamwise, spanwise and wall-normal average particle velocity for the two defined types of particles.
HydroForceEngine: modify turbulent fluctuation model. Add a fluctuation along the spanwise (y) direction. Reset the fluctuation to zero when the particle is out of the flow (fix a bug) Comment a bit more the turbulentFluctuation function
HydroForceEngine, hpp file completing the last commit
Add references
add a link in the publications
bchareyre (1):
compute external work correctly in TriaxialStressController
==================================================
yade-1.20.0
Fri, Oct 9 21:20:00 2015 +0200
Anton Gladky (57):
Remove RELEASE file.
Simplify definition of build flags
Fix some warnings during compilation.
For clang use -fstack-protector instead of -fstack-protector-strong
Ignore project files of idea IDE
Refactoring of Math.hpp
Make minieigen external package mandatory.
Add -fstack-protector-strong only for gcc >=4.9
Some warning fixes.
Add ENABLE_PROFILING option
Set some metric-measures in ViscElCap.
Revert adding frounding-math flag
Replace INSTALL_PREFIX by CMAKE_INSTALL_PREFIX
Remove deprecated in Yade BOOST_PYTHON_FUNCTION_OVERLOADS macros.
Fix some more compilation warnings.
Fix some more compilation warnings.
Minor fix in CMakeLists.txt
Fix hexagonal packing, should not be undesired overlap any more.
Make Serializable.hpp more readable.
Remove deprecated parameters.
Move STLReader into STLImporter
+1 master thesis at TU Freiberg.
Fix crash by export-VTK of interactions after body removal.
Split description of ViscoelasticPM to make it more readable.
Let exist interactions between clumpMembers of the same clump.
Skip force calculation in SPH-clump
Add warning about CGAL in Ubuntu 14.04 Trusty
Add ISC_TIMING pre preprocessor directive.
Drop support of Ubuntu 12.04 Precise
Merge pull request #46 from timpovall/master
Non invasive refactoring of InsertionSortCollider
Revert previous commit.
Add a second option to fix the compilation with CGAL on 14.04
Remove deprecated code with very old boost.
Implement viscous damping for capillary phase.
Fix SPH force calculation between clump members.
Fix compilation with QGLViewer>=2.6.3
Prepare Qt5-build.
Fix compilation against gqlviewer-qt4.
Fix check-script
+1 conference
First steps in Qt5.
Prepare Qt5 build.
Update python files due to Qt5.
Some more updates toward Qt5.
Qt5-migration is alsmot finished.
Fix Qt5 compilation.
Fix crash in Qt5.
Fix QThread issue.
Add information about compilation against Qt5.
Add missing function in TesselationWrapper
Remove some unused headers and defs.
Fix compilation if openmp is disabled
Fix compilation introduced in last commit.
Add talk, hold in Particles 2015
Add hourglass example
Add RELEASE file.
Bruno Chareyre (15):
Save relative rotations in ScGeom6D (unmark "nosave") since it is required for reloading correctly.
CohesiveFrictionalInteractions: removed "nosave" flags for contact moments
+1 journal paper
+1 journal paper
add a virtual function returning rotational stiffness of the interactions - returning zero if not overloaded
account for the rotational stiffness of interactions in GlobalStiffnessTimeStepper
apply the spin of the velocity gradient on particles in periodic BCs
small typo
Added book chapter
Installation: http://www.yade-dem.org/packages is required for an external library (eigen or cgal? not sure now)
more accurate defintion of fluctuational velocity/spin for kinetic energy in periodic BCs
correct value of volume for id<6 in TesselationWrapper when O.bodies does not have bounding objects
fix segfault when InteractionContainer::found() access out of bounds
add function has() to O.interactions to check if (id1,id2) exists + fix doc of O.interactions
remove useless int parameter of O.interactions.all(), instead filter non-real interactions optionaly based on bool
Chao Yuan (3):
-add getPotentialPendularSpheresPair() function.
-set pore throat radius between two fictious cells negative in invadeBoundary=true mode.
add a new version of capillary law. (pushed by Caroline)
Francois Kneib (2):
New viewer feature : display tori instead of spheres for 2D simulations. So if the viewer looks toward the right axis, on can see circles instead of disks. Modifications in pkg/common/Gl1_Primitives.*pp 3 new parameters in Gl1_Sphere : circleView, circleRelThickness, circleAllowedRotationAxis. A new condition to enable circleView. The code is based on initGlutGlList() method for spheres.
Add an example script for the tori DISPLAY feature.
Jan Stránský (4):
fixed compilation warning
added Polyhedra.setVertices function, which also updates internal variables (shape.v=... does not)
Added Facet.setVertices function to prevent memory leaks (see bug 1041084, #8)
corrected bug in utils.UnstructuredGrid.updateElements (question #267761)
Janek Kozicki (2):
Fix bug in InteractionContainer::eraseNonReal
Fix: CGAL ERROR: assertion violation!
Jerome Duriez (5):
Add missing space in error message
Doc of sphSph attribute of plotDirections precized
Introduction of surface tension as an attribute, and comments about code objects related to capillary files
Addition in doc of Omega.engines to state it is = to O.engines in python
Removal of python O.engines reference
Raphael Maurin (9):
getStressProfile: output format modification + add calculation of granular temperature and kinetic stress tensor
Law2_ScGeom_ViscElPhys_Basic: add a new formulation + check Add a new formulation of the law when imposing in the material young, poisson, and normal restitution coefficient. The effective spring constants ks and kn are evaluated "classically" with the young modulus and the poisson's ratio. The specificity of the formulation stands in the fact that it is the restitution coefficient of the contact (en = 2*en1*en2/(en1+en2)) that is imposed, and not the damping constant. To achieve this, the damping constant of the contact is evaluated resolving numerically the analytical expression 21 of [Schwager2007] (with a minus sign, there is a mistake in the article) with a Newton-Raphson algorithm (This was made by Francois Kneib). This does not seem to affect the calculation time. With this formulation, there is no tangential viscous damping, and it is usually not possible to access value of normal restitution coefficient lower than 0.1 (in that case the numerical resolution does not converged in the maximum 15 iteration allowed in the code) Together with the new formulation, add a short check script to verify that the imposed restitution coefficient is the one obtained.
Law2_ScGeom_ViscElPhys_Basic: complete the documentation Add a more precise documentation of the law integrating the last commit. I didn't complete the formulation associated with Pournin2001 (precising en,es,tc) as I am not using it and I do not know it much.
Fix compilation error in the documentation of Law2_ScGeom_ViscElPhys_Basic Error inserted in commit d47b8574e8fcc2dc09b926404f08081f2194cfde
Add a function in shop to evaluate average depth profiles of particle velocity (x,y,z components), and solid volume fraction.
HydroForceEngine: switch averageProfile function into a method + modify documentation
Tutorial examples: remove all deprecated 'utils.' and GravityEngine in the example scripts
Modify getDepthProfile to possibly average on spheres of selected radius only
HydroForceEngine: modify averageProfile function to handle bi-disperse sample Add evaluation of the average solid volume fraction and drag force depth profiles considering the two particle size (taken as input) as independent.
Timothy Povall (1):
Removed line calling FindVTK.cmake, as this file no longer exists
thomassweijen (1):
Updates towards merging of both capillarity codes
==================================================
yade-1.14.0
Tue, 21 Apr 2015 22:36:55 +0200
Anton Gladky (36):
Remove RELEASE file.
Fix typo in SPH.
Move SPH-body parameters into body->state.
Add one more kernel function in SPH.
Change sign in calculation of viscosity in SPH
Simplify Lucy kernel function
Remove Cs parameter from VTK-export (sph only).
Implement second variant of BSpline kernel function.
Fix typo in Bspline kernel functio (sph).
Fix date typo in Changelog
Move Vf and Vmin from Body`s parameter to Body->state.
Replace struct intReal by standard std::pair
Prevent returning of a real value from void-function.
Fix probably a wrong using of if-condition.
Minor fix of using of std::abs function.
Drop some if-conditions, which have always constant value.
Drop default inclusion of DFNFLOW.
Add some missing #ifdef YADE_CGAL.
Fix check-script for LIQMIGRATION.
Drop -frounding-math compiler flag from FindCGAL.
Drop embedded floating_point_utilities_v3.
Reintroduce floating_point_utilities_v3.
Add missing files from last commit.
Add LiqMigrEnabled parameter.
Fix compilation with GCC-5. (Closes: #778190)
+2 Project works
Add an opportunity to list works, other than master thesis.
Fix body unselecting. (Closes: LP:1423130)
Fix MatplotlibDeprecationWarning: The use of 0
Remove DirSearchYade, MicroMacroAnalysis and someFile.pdf
Clean current directory after --check
Check file existance before its moving and removing.
Add information, how to be notidied after each commit.
Add an opportunity to set frictAngl through MatchMaker in ViscEl
Add an option coordNumber to be exported in VTK.
Add one more master thesis.
Bruno Chareyre (28):
FlowEngine: set cell's id in periodic triangulations + couple smallfix
fix bad bugs in DFNFlowEngine following uninitialized 'isClump'
use the dedicated solver in DFNFlowEngine
some code documentation
FlowEngine: discard blocked cells completely when assembling the permeability matrix
#undef DFNFLOW
FlowEngine: enhanced setter macro, detect changes in imposed pressure and update the linear system accordingly
explicit error message when trying to interpolate capillary forces out-of-range of the data files
fix save/load QGL camera state via text files
Documentation. Define sign convention globaly in TriaxialStressController docstring, not repeated in attributes documentation
bib reference of 1st workshop
fix mistakes in conferences.bib
+13 journal papers using yade
+14 conference papers
small update in the publication page
fix and sort some bib references + change the title of the conference section
+1 journal paper
+1 conference paper
+1 journal paper and fix alphabetic ordering of a few items
FlowEngine safely impose flux at every iteration without remeshing + documentation
implement blockHook for PeriodicFlowEngine as well
Add .mailmap file defining git alias for multiple adress emails
sphinx '..only::' directive removing some parts that break in latex
integrate Ning's FEMxDEM doc in yade's doc
add references in relation with FEMxDEM + couple fixes in *.bib
remove FEMxDEM readme, replace by FEMxDEM.rst for inclusion in doc
remove '..only:' from sphinx files - not yet supported on older sphinx then breaking the html build | update bib's
Update introduction.rst
Chao Yuan (7):
move computePoreThroatRadius() to 2PFlow
-move initialization() to 2PF
-fix inconsistency in invasionSingleCell and getMaxImbibitionPC; clean code; remove savePhaseVTK in Unsat
-remove cleanInterfaceWithinPore() in Unsat.
fix inconsistency of side boundary cell pressure of closeBC drainage.
Add some comments on FlowEngine(by bruno).
Fix error in computing cell->info.solidLine
Christian Jakob (10):
fix force and torque vtk output for boxes
temporary fix for pfv vtk output when vertex ids were not zero-based
fix fusion detection for hertz model in capillary law
reduce error message spam for capillary law
remove unused testing function in capillary law
fix previous commit for case (fusionDetection && hertz model) in capillary law (re-initiate bodiesMenisciiList at first real contact) and add some comments
improve/fix documentation about clumps
insert link to user manual in documentation of NewtonIntegrator
update DEM background doc for clumps
some code cleaning in clump methods
Francois Kneib (1):
Add the Yubuntu (live-usb with Xubuntu and Yade) alternative for installation.
Jan Stránský (10):
PolyhedraMat and PolyhedraPhys are now inherited from FrictMat and FrictPhys, modified related examples Added Ig2_Sphere_Polyhedra_ScGeom
Added examples for Ig2_Sphere_Polyhedra_ScGeom, added ymport.ele function
Added documentation of Ig2_Sphere_Polyhedra_ScGeom
Allowed Polyhedra-Wall interaction if Wall.sense==0
fixed Cpm for Sphere-Box interactions
added export.textPolyhedra function
added Elias2014 article to yade-articles.bib
add attrs parameter to export.textPolyhedra
modified Clump::updateProprties to handel non-spherical bodies, added associated example
box inertia computation correction
Jerome Duriez (19):
Sign convention change for fCap, to be consistent with global framework. Plus other minor changes. As discussed in http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg10868.html and http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg10877.html
Doc hyperlinks, and erase of commented lines
Many changes towards a more consistent sign convention throughout the code for stresses and strains. Should fix e.g. https://bugs.launchpad.net/yade/+bug/1381282. The goal is to know directly the meaning of a strain or stress value each time one is encountered. Relying on the classical Continuum Mechanics convention (editorial choice...). A global announcement is planned in a couple of days, in case some errors appear in the meantime.
Other changes regarding sign convention. Add of deprecation warnings (existing in the code and at execution) in the doc. Fix of script-session2.py previously broken
See https://bugs.launchpad.net/yade/+bug/1394942 answer # 3
Minor doc fixes
Anecdotic doc change, see http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg10972.html
Add of O.thisScene() function to know in which scene we are
Add of sphSph parameter in plotDirections() to take into account only sph-sph interactions in polar histograms. Seems it does not modify really the plots, but it is easier to figure out with the parameter
TSC engine: internal compaction now may consider isotropic tensile cases. See http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg11047.html
Removal of parallel loops in capillary Law2: needs maybe more verification, and improvements for fusion detection
Typo in the doc (missing space)
Correction of minor inconsistency between comment and command
Extra parenthesis removed in doc
Doc of capillary law2, concerning fusionDetection, precised (see https://lists.launchpad.net/yade-dev/msg11792.html)
Doc typos
Parallelization of one loop of Law2_ScGeom_CapillaryPhys_Capillarity (see http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg11238.html) and some comments
Typo in ScGeom, precision about twist doc (axis) in ScGeom6D
Minor fix of previous commit (hyperlink)
Klaus Thoeni (2):
update references
update some links and typos
Luc Scholtes (3):
changes for DFNFlow + corrections in JCFpm associated with the use of the never erase flag
minor changes in DFN Flow
add references
Luc Sibille (5):
Add 2 article references in yade-articles.bib
correct a proceeding reference
correct reference key in 1 proceeding
fix missing comas after key references
add fragile parameter to CohFrictMat and redefine unpMax CohFrictPhys
Ning GUO (2):
Ning Guo's FEMxDEM package added to trunk
Example REV generation for FEMxDEM
Raphael Maurin (6):
add some references in yade-conference.bib
Switch a private argument to public in HydroforceEngine.
HydroForceEngine: minor fix + add an averaging function Minor fix : modify some default value of the parameters, remove unecessary parameters. Add a 1D averaging function which evaluate the average depth profiles of the solid volume fraction, the solid velocity, and the drag force. The averaging is weighted by the volume occupied by the particles in the layer considered.
Add new function to compute stress tensor depth profile. Compute and return the stress tensor for each cell of height dz, between two limit points given by the user. The stress tensor computed include contributions from both particles inertia and Love-Weber stress tensor. This last take into account only the part of the branch vector contained in the cell.
Minor fix in getStressProfile. The order of the argument in _utils.cpp was not the right one.
HydroForceEngine: small modifications in the averaging function. Perform the averaging also on the y and z component of the particle velocity, instead of only x before.
T Sweijen (7):
update for dynamic two-phase flow
small correction
add initSolver()
delta t for dynamic two-phase flow
add function to get the pore body radius
add one get functions for pore volume and rename that of inscribed sphere
add one get functions for pore volume and rename that of inscribed sphere
==================================================
yade-1.12.0
Mon, 20 Oct 2014 21:22:00 +0200
Anton Gladky (27):
Remove RELEASE file.
Use toleranceWarning and toleranceCritical for DEM-PFV check.
Fix crash after clumps removing. Closes LP:1354433
Add checkClumpHopper autotest.
Fix crash after removal of the whole clump.
Fix calculation of massR in ViscoelasticPM
Fix cs calculation in ViscoelasticPM
Fix ViscElPM one more time.
Create an array of clump`s memberIds to remove.
Return fictional value from deprecated functions.
Respect returnin value in computeForceTorqueViscEl
Update Schwager2007 URL
Add one more paper
Merge pull request #44 from fifthguy/master
Add firstIterRun parameter to PyRunner.
Use system call "sphinx-build" instead of python module.
Fix compilation error in PeriodicFlow.hpp
Set python versions explicitly.
Move function declarations of _utils.cpp into .hpp
Fix runtime error in debug mode and without openmp.
Drop including "yade/" folder in cpp and hpp files.
Fix docs-generation.
SPH-code refactoring.
Use only vtkCommonCore vtkIOImage vtkIOXML components for VTK.
Use Python 2.7 only
Reintroduce viscosity in SPH-modell.
Add RELEASE file.
Bruno Chareyre (33):
-include UnsaturatedEngine to start Chao's work
fix a few mistakes and make a real (not empty) test function
- replace hand-defined positions by scene's positions
Merge branch 'master' of https://github.com/yade/trunk into chaoUnsat
remove pack.particleSD and variants, unmaintained and deprecated by makeCloud (functions kept temporarily but returning error)
fix https://bugs.launchpad.net/yade/+bug/1362090
fix https://bugs.launchpad.net/yade/+bug/1308074
fix https://bugs.launchpad.net/yade/+bug/1368591 + remove a useless test
remove a temporary fix for https://bugs.launchpad.net/yade/+bug/923929, after better fix in https://github.com/yade/trunk/commit/4ea76ad6e47ac5074a389ad61712a0840e8560a5, thanks Anton
parallel removal of old interactions
replace LOG_ERROR by LOG_WARN for notifying deprecation of GravityEngine
improve falling back to 1-thread in parrallel collider (fix https://bugs.launchpad.net/yade/+bug/1368591)
fix missing brackets resulting in wrong permeability in periodic PFV
point to Bourrier2013 for a partial explanation of the CohesiveFrictional contact law
fix doc regarding requestErase() - https://bugs.launchpad.net/yade/+bug/1370736, thanks Jan
selective blocking of cells of the mesh in FlowEngines (preliminary steps)
remove empty file
PFV: don't skip perm calculation for blocked cells, yet
fix filename
remove cpp with wrong filename
reset id of erased bodies; enabling this: b=Body(); O.bodies.erase(O.bodies.append(b)); O.bodies.append(b)
turn DeprecationWarning (not displayed) into UserWarning (displayed) since the error messages where cryptic
no indexing of blocked cells in PFV
decrease verbosity of blocking PFV cells
DFNFlow unblock cells as fractures reach them + additional attributes in JCFPM
split resetNetwork and resetLinearSystem + add more getter/setter
split TwoPhaseFlowEngine in hpp/cpp for inclusion in child engines
#ifdef guard for openmp function
don't overwrite imposed fluid pressure when initializing the values (more flexible) + a function returning barycenter + improved "locate" for interpolation
increased flexibility of imposing fluid pressure in FlowEngine's
specialized getter/setter's for TwoPhaseFlowEngine + no re-indexing of cells in UnsatEngine
better #def/#ifdef logic for TwoPhaseFlowEngine
rename cellCenter->cellBarycenter (missing in prev. commit)
Chao Yuan (86):
- my first work on drainage simulation
Commit the first working code for drainage
- make the FAR constant more flexible (a parameter in addBoundaries)
-add poreRadius
-a test commit to escape big mess...
Merge github.com:yade/trunk into chaoUnsat
-add saveLatticeNode functions for generating axial-normal slice with "0" and "1"
-add isWaterReservoir, isAirReservoir.
-add another version for drainage.
-delete unnecessary recursion for invadeSingleCell2()
Merge github.com:yade/trunk into chaoUnsat
Merge github.com:yade/trunk into chaoUnsat
-add UnsatCellInfo, UnsatVertexInfo
clean code
-add temp function for pore connection
Merge github.com:yade/trunk into chaoUnsat
-update boundary attributes
-a backup for laptop
-add UnsatVertexInfo(void) for future use
-test commit
-test commit
Merge remote-tracking branch 'origin/chaoUnsat' into chaoUnsat
Merge github.com:yade/trunk into chaoUnsat
-clean code
add capillaryCellVolume in cellinfo, optimize getSaturation()
-replace cell->info().p with isAir/WaterReservoir
-add solidLine in cell info. partly code for force.
clean code, fix mistake on Facet_Force.
a test version of computing fluid force.
fix solidLine[i][j] when facetNFictious case(1).
-fix noCache.
-fix solidLine[i][j] when facetNFictious case(2).
-clean code.
fix reservoir attr. change boundcells.isWaterReservoir=true when finish drainage.
clean code.
add temp test func.
add cell->info().trapCapP; fix pressure calculation for trapped phase.
clean code.
Merge github.com:yade/trunk into chaoUnsat
clean code.add action()
add getSaturation2() for mode 2.
Merge github.com:yade/trunk into chaoUnsat
borrow saveVTK from FlowEngine
normalize two invade modes.
make computeForce optional;a bakcup
a temporary save, change waterReservoir=bound[2], add invadeBounday option
-make invade from boundary optional.(default false)
-fix Line_Solid_Pore() in Network.
Merge github.com:yade/trunk into chaoUnsat
-big change, inherit from FlowEngine.
remove old files
clean code
fix force calculation.
add compute specific interficial area, lots of bugs...
fix computeCellInterfacialArea with fictious vertex
-test. no big change.
Merge github.com:yade/trunk into chaoUnsat
Merge github.com:yade/trunk into chaoUnsat
Merge github.com:yade/trunk into chaoUnsat
-fix ‘python’ declared bug
-clean some info in debug
-fix core dump in computerForcePoreForceWithCache, currentTes shoule be solver->T[solver->currentTes],NOT solver->T[currentTes]
Merge github.com:yade/trunk into chaoUnsat
Merge github.com:yade/trunk into chaoUnsat
-update with PFV
-use bndCondValue to mark reservoir.
-fix reservoirs determination; fix invade(), Pw can be negative (mode1)
-change invade rule, use bndCondValue to determine invasion. reservoirInfo depends on bndCondValue; merge isInvadeBoundary.(mode1)
-change invade rule for mode2. merge some functions
-fix getWindowsSaturations.
-add pore radius checking funcs(tmp)
-rename variables for computePoreRadius(); clean code.
-clean code
Merge github.com:yade/trunk into chaoUnsat
Merge github.com:yade/trunk into chaoUnsat
-add debugOut to test isInvadeBoundary=True isPhaseTrapped=True
-insert debugOut. (core dump fixed by ulimit -s 16000)
Merge github.com:yade/trunk into chaoUnsat
This is TwoPhaseFlowEngine (alpha version) yeah!
Merge github.com:yade/trunk into chaoUnsat
-merge TwoPhaseFlowEngine, add more cell infos.
Merge branch 'master' of github.com:yade/trunk
-add savePhaseVtk. rename function.
-remove check cell.index
Merge branch 'master' of github.com:yade/trunk
comment #define TWOPHASEFLOW
Christian Jakob (6):
insert updatePorosity option in TriaxialStressController
fix long line in github doc
small fix of a warning in NewtonIntegrator
minor fix in doc introduction.rst
include fluid stiffness for TSC for undrained flow condition
fix fluidStiffness for TSC when FlowEngine is deactivated
Dominik Boemer (1):
Add check-script for ViscoElasticPM.
Francois (1):
Correct contact tracking bugs for grids. They essencially came from the new logic of laws that have to return booleans.
Jan Stransky (7):
Added force and torque export to VTKRecorder (question #252413)
fixed typo in utils.polyhedron function
enable periodic simulations with Polhedron and Tetra
rename PolyhedraVolumetricLaw -> Law2_PolyhedraGeom_PolyhedraPhys_Veolumetric
deleted vtk output of force for boxes (bug #1376734)
added Polyhedra::GetSurfaces function
Added volumePower attribute to Law2_PolyhedraGeom_PolyhedraPhys_Volumetric, Polyhedra code small cleanup
Janek Kozicki (2):
Fix bug in 'inspect' that made editing values annoying.
Merge doc/sphinx/references.bib into doc/references.bib
Jerome Duriez (3):
Re-write of "Yade on GitHub" wiki page in sphinx doc.
Anecdotic commit to keep a track (in code comment) of a useful link for JCFpm paraview analysis
Removal of very last wiki-link github-related in rst files
Raphael Maurin (1):
New force engine to couple Yade with a 1D RANS code. Add a new force engine applying the main hydrodynamical forces in function of a 1D average fluid velocity vector which depends only on the depth. The engine is calculating at each time step the drag, lift and buoyant forces for each particle. Complete the references for the documentation associated to the engine.
T Sweijen (1):
Merge two-phase flow engine
Thinkpad (1):
-a test commit from laptop
cyuan (7):
a small change for check reservoir boundingCells.
-add temp function for generating sample windows, calculating responding saturation...
-add savePhaseVtk
Merge github.com:yade/trunk into chaoUnsat
Merge github.com:yade/trunk into chaoUnsat
-replace abs, max, min by std::abs, std::max, std::min
Merge github.com:yade/trunk into chaoUnsat
cyuanLaptop (1):
-change debugOut
fifthguy (1):
Fixed a bug that appeared when running the uniaxial-post.py script from examples. Edited py/post2d.py to capture exception while importing Vector3 from minieigen.
jduriez (12):
Correction of an error using psd() with monodisperse packings (false = False in python). Add of an explanatory message
Few changes in capillary doc: assumption of null wetting angle, hyperlinks, and some comments in source code
One forgotten change during previous commit about TriaxialStressController <-> 3DTriaxialEngine ? https://github.com/yade/trunk/commit/77bc6d75b780bcbad5bdadc5bb3645badb009cd9
Adding mention of different save files kinds. Tried to comment differences, please correct if I was wrong
Typos and precisions in capillary doc
porosity() function infers now a volume value for non-periodic cases, rather than throwing an error. Positiv volume values eventually passed as argument override this inferred value
porosity doc changed according to previous commit
getStress() considers now an adequate volume value for non-periodic case (values passed as parameters may still also be taken into account)
Re-introducing change from https://github.com/yade/trunk/commit/ab91b3cf8654f6d563dede10184e784a8ce84219, reverted since, without reason
Improvement of https://github.com/yade/trunk/commit/05599b23808991dbfef6b85400c7ddd32be594e0 regarding volume computation in getStress for non periodic cases
Typo in CapillaryPhys doc
Parallelization of interaction loops in Law2_..._Capillarity (which is in fact not a LawFunctor handled by InteractionLoop). Moreover adopting the FOREACH iterator for the non-parallel flavour.
==================================================
yade-1.11.0
Mon, 4 Aug 2014 18:54:00 +0200
Alexander Eulitz (9):
small corrections of messed up indentations
another indentation fixed
rearranged compilation and installing procedure so that hints for multicore compilation are placed directly after the make command
typo fix
fixed --cores implementation and improved arg-parse argument documentation.
improved doc of betan and betas
replacing damping coefficient betan and betas by damping ratio betan and betas
rearranged indentation of examplarily folder structure for yade complation
Added hint about make errors during compilation when user does not posses root priviledges.
Anton Gladky (58):
Delete RELEASE file.
Add YADE_PTR_DYN_CAST to define dynamic_cast.
Remove all "using namespace std;"
Fix compilation with disabled openmp.
Roll back last 2 commits.
Remove most of "using namespace std;"
Replace math.h by cmath in includes.
Remove some more "using namespace std;"
Remove "using namespace std;" everywhere. Tests are failing.
Replace abs by std::abs.
Clean up in header inclusions.
First stage of C++11 implementing.
Add missing header.
Remove isIndexable and isFactorable.
Use boost::shared_ptr for C++11 as well.
Drop Qt3 workaround
Enable LBM by default.
Enable C++11 by default.
Do not consider Eigen3 like a feature.
Capitalize feature list.
Use double precision for VTKREcorder.
Do not use -DTYPEOF, use explicit decltype
Move definitions of YADE_PTR_CAST YADE_CAST YADE_PTR_DYN_CAST into Math.hpp
Remove -std=c++0x definition for pygts.
Join [CohFrict]Mat, Phys and Ip2_.
Move Ip2_*_MindlinCapillaryPhys into HertzMindlin
Move Ip2_*_CapillaryPhys. into CapillaryPhys.
Move Ip2_FrictMat_* into FrictPhys
Move all NormalInelastic files into NormalInelasticPM
Join all InelastCohFrict files into InelastCohFrictPM.
Join all KinemC*Engine.* into KinemC__Engine.*
Set C++11 only for CXX-files, not C
Update LICENSE file, does not need exception any more
Cut off some header inclusions.
Disable reusing of removed body ids.
Fix compilation.
Replace nullptr by reset().
Join all Bo1_* into Bo1_Aabb
Remove some more .cpp-files.
Move many Gl1_* into Gl1_Primitives.
Remove some more small cpp-files.
Remove some warnings.
Remove LBMbody.cpp and LBMlink.cpp.
Remove Indexable.cpp
Exclude Indexable.cpp from CMakeLists.txt
Redirect --test output into stdout
Modify slightly description of save-loadVars
Change stderr to stdout in greeting message.
Update Vaclav`s occupation in sphinx-doc
Cut long line in HertzMindlin.hpp
Move some YADE_PLUGINS into common.cpp
Fix most of compilation warnings.
Return false in BubbleMat, if no penetration.
Fix and enable DEM-PFV-check.py.
Replace L3eom by SCgeom in stl and gts examples.
Use global interpreter lock (GIL) in OpenGLRenderer.
Update mtTkinter version.
Remove NEWS file (outdated).
Bruno Chareyre (9):
Revert "Revert "Set minimal required Eigen3 version 3.2.1"" / Thanks Anton for uploading the backport
replace abs by std::abs (complement of https://github.com/yade/trunk/commit/1997c194c0aa759cae101a3dd0a559fcf049b29f)
+2 conf papers
Law2 return bool - fix https://bugs.launchpad.net/yade/+bug/1324190
add missing 'return bool' in some Law2's
Revert "implement more accurate porosity calculation..." (temporary required in order to revert 915fd94606af6 without conflict)"
Revert "fix typos and indents; cut long lines.. - please no formatting commits (+there is nothing wrong in long lines). Please reapply the documentation part."
make growParticles fatser for clumps
use Shop::growParticles in TriaxialStressController (fix https://bugs.launchpad.net/yade/+bug/1351275)
Christian Jakob (5):
fix typos and indents; cut long lines in TriaxialStressController; bit more documentation of stressMask
implement more accurate porosity calculation for clumps in TriaxialStressController; inserted updateClumpProperties command in Triax tutorial
Merge branch 'master' of github.com:yade/trunk
make PFV compatible with clumps (clumps are treated as spheres with equivalent radius - valid for nearly spherical clumps)
reapply 9e512fd50083
Francois (1):
Simplify the contact detection in Ig2_GridConnection_GridConnection_GridCoGridCoGeom.
Jan Stransky (3):
fixed bug in export.VTKExporter.exportInteractions (question #250922)
modification of utils.UnstructuredMesh, added utils.polyhedron
fixed bug in MASK_ARBITRARY feature
Jerome Duriez (7):
Correction of some broken sphinx links: yade._utils => yade.utils
Removal of a double :
Improvement of previous commit: there was no extra : but a missing blank line
Export principal stresses and directions in VTKRecorder
Some shortening in VTKRecorder, mainly according to http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg10370.html
Revert sign convention in bstresses in VTKRecorder (tension=positiv now)
Slight modif in JCFpm doc. To better describe the logic of the code.
Kubeu (1):
replaced "root" from last commit
Nolan Dyck (2):
Update BubbleMat.hpp and BubbleMat.cpp
Update bubble example script.
==================================================
yade-1.10.0
Wed, 25 Jun 2014 19:35:00 +0200
Anton Gladky (47):
Delete Release file.
Add orientation parameter to ymport.textClumps
Resize ForceContainer after each body insert
Added assert to get*Unsynced function
Better fix for ForceContainer-size-change
Remove extra/floating_point_utilities_v3
Remove some 'using namespace boost'
Remove some more `using namespace boost`.
Remove all remaining `using namespace boost`
Fix compilation in DEBIG-mode.
Link against libboost_date. Fix LP:1322274
Set the mask to a clump the same as the first member of it.
Revert removal of embedded floating_point_utilities_v3.
Add particleconserve parameter to LiqControl.
Replace features by CONFIGURED_FEATS.
Prevent first empty item in features.
Add checkLiquidMigration autotest.
Better check for DEM-PFV-check.py
Add missing header.
Add --as-needed flag to yade-lib.
Comment some lines, where defined unused variables.
Minor fix in documentation of viscoelastic.
At every sync check, whether ForceContainer is large enough.
Disable parallel code in conditionalyEraseNonReal
Skip interactions, where one of body isClump
Fix doc-compilation for IPython >=2
Enable vectorization in eigen3-lib
Do not use Eigen3 in parallel mode.
Recommend minimal Eigen3 version 3.2.1.
Set minimal required Eigen3 version 3.2.1
Add NOVECTORIZE option
Prevent adding liqVol-parameters into VTK-files
Prevent crash in liqVolIterBody
Disable vectorization by default.
Replace Quaternion.Identity by Quaternion((1,0,0),0)
In state pos_set and ori_set use passing by value.
Add addLiqInter function to set liquid "properly"
Liquid migration model, code refactoring.
Add script to changes commit`s author`s names.
Fix typo in installation.
PFV code refactoring.
Fix typo in previous commit.
Fix templates names.
Clean in ymport.stl
Remove service-messages in CMakeLists
Add missed #pragma once
Add RELEASE file.
Bruno Chareyre (11):
CohFritMat documentation
document Ip2_CohFrictMat more
make the parallel collider warning more explicit regarding turning collider.ompThreads=1
CohesiveFrictional contacts: make them elastic only if strength<0 (previous condition was <=0) + Lingran's elastic energy of contact moments
fix fluidForce=0 after remeshing + allow constant positions for DFNFlowEngine
make FlowEngine::setPositionsBuffer virtual
missing declaration of function
fix default attribute in DFNFlow
CohesiveFrictionalContactLaw does not warn about incremental formulation of rolling/twisting moments when the moments are elastic
fix bug in FlowEngine::updateBCs() (reported by Luc Scholtes, thanks)
Revert "Set minimal required Eigen3 version 3.2.1"
Christian Jakob (2):
remove relicts of Dem3Dof and code cleaning
increase maximum length of char filename in saveVtk method for FlowEngine
Francois (1):
Update the documentation for Law2_ScGridCoGeom_NormalInelasticityPhys. At this moment it's not done, but it will be fixed and come with a reference article during 2014.
Jan Stransky (4):
Body::groupMask may be optionally boost::python::long_, subsequently modified code where necessary
fixed bug in yade.export.exportFacetsAsMesh (thanks Jan Havelka for reporting)
added mask_t type for bitmask variables to be int or optionally std::bitset of fixed (yet arbitrary) size. Added bitset to/from python long conversion. Added MASK_ARBITRARY cmake option. Subsequent changes in other files
corrected git warning in CMakeLists.txt
Jerome Duriez (6):
Correction of mispelling in example script name of one Law2
Minor changes in JCFpm
Important change in Kinem.. engines. Both changes in position and velocities of boundary bodies were still existing, while now changes in position should be handled by NewtonIntegrator
JCFpm : doc of JCFpmPhys.FnMax precised (minor change). And formulation of kn for onJoint interactions according to JCFpmPhys.crossSection (rather than mean of surfaces) to be consistent with the whole formulation ("major" change : this may impact the results of previous scripts depending on psd and how much the mechanical behaviour of joint is important)
Doc of VTKRecorder.skipFacetIntr precised so that it better corresponds to code
Extra s in previous commit removed..
Klaus Thoeni (4):
remove old code
improve output and remove first iteration in calculation velocity estimation
add definition for functor order
set number of iterations to be run correctly (thanks Alex)
==================================================
yade-1.09.0
Sun, 18 May 2014 17:32:07 +0200
Alexander Eulitz (1):
corrected a little bug in description of yadedaily-installation and added example and folder structure for compilation
Anton Gladky (97):
Remove RELEASE-file.
Fix setting of wall's color.
+1 reference.
Replace some bazaar-links by github.
Update installation instructions.
Update INSTALL file.
Fix version definition for IPython>1.0.0
Fix warning for IPython > 1.0.0
Add radiusTopInner, radiusBottomInner to facetCone and facetCylinder.
Increase number of steps in checkWeight.py
Prevent returning a reference to local temp object.
Prevent binding a reference member to a temp. value.
Remove notice on the main page about daily packages on Launchpad.
Some more changes on the main page.
Add Lambert formulation into capillary models.
Use enum instead of string to keep capyllar type.
Update config of mini-dinstall.
Do not ignore k* and c* parameters if mass==0
Add billiard example script.
Introduce YADE_ODEINT feature
Implement binary-arch only builds for yadedaily.
Fix split delimiter
Fix library name for new openblas.
Output some additional messages, when DEBUG mode is enabled.
Fix compilation with libqglviewer>=2.5.1
Fix compilation with libqglviewer>=2.5.1
Add informational message, if VTK6 is found.
Disable some debug-messages, because they break compilation.
Check, whether manipulatedFrame exist, if not - create it.
Set mouse parameters, only if frame is created.
Better fix for QGLviewer next version.
Fix compilation.
Move all force and torque calculation into separate function
Move capillary functions out of ViscEl-classes.
Implement Soulie capillary model.
Add an example to test different capillary models.
Deprecate getViscoelasticFromSpheresInteraction.
Update examples and test-scripts due to deprecating of getViscoelasticFromSpheresInteraction.
Update Warning about last changes.
Use MatchMaker to set tc, et and en in ViscEl model
Update URL in getViscoelastic
Fix compilation in ViscElCap.
Minor description update.
Replace isnan by isfinite to let the numbers be 0.
Remove last capillar-parameters from ViscEl.
Remove massMultiply paramter
Fix compilation.
Implement experimental SPH-model
Add gradients and laplacian of the kernel functions.
Implement some more kernel functions.
Remove duplicated code.
Normalize parameters of kernel functions.
Produce meaningful error message.
Add Cs parameters to particles, visualize them in VTK.
Export in VTK some more SPH-parameters.
Get a coordination number from body.
Use bool return type for force calculation.
Add watercolumn example for SPH.
Add example script to test different kernel functions.
Add README to examples SPH.
Fix conflict.
Fix eigen3 inclusions.
Add one more example for sph.
Split all capillary function into smaller one.
Add YADE_SPH macroses to fix FTBFS, when SPH disabled
Minor fix (replace #ifdef by #endif)
Add an opportunity to change liquid volume during simulation.
Disable temporarly Cs calculation in SPH.
Fix interaction removal in VeiscoElPM
Store an information about active liquid contacts.
Add -= operator to OpenMPAccumulator.
Fix compilation with clang, when openmp is switched off.
Add OpenMPVector for thread-safe vector work.
Minor fix in installation section of documentation.
Export current value from PIDController.
Add a note in installation section of docs.
Do not link libloki and boost_date_time.
Fix scrolling direction for libQGLviewer > 2.5.0
One more minor fix in zooming.
Implement Liquid Migration model (experimental).
Replace LIQCONTROL by LIQMIGRATION.
Fix compilation with clang.
Set capillary parameters to 0. instead of -1.
Fix Id export in ymport.textClumps
Remove YADE_DEPREC_DOF_LIST prepocessor.
Add blockedMovement parameter to state of body
Add conveyor example.
Minor fix in documentation/installation.
Add mask parameter to NewtonIntegrator
Replace png-pictures by xpm.
Fix the beginning camera position in GUI.
Remove integrateInertia=False from packs.py.
Add discretization parameter to appendClumped.
Do not use getTorqueUnsynced and forces.getForceUnsynced in clumps
Make addForceTorqueFromMembers more readable.
Revert last change in Newtonintegrator.
One more revert in NewtonIntegrator.
Bruno Chareyre (60):
avoid crash when Vh==NULL in FlowEngine. The sphere is ignored in the flow problem, otherwise FlowEngine runs as usual.
Merge branch 'master' of github.com:yade/trunk
remove redundant "from yade import *" in example scripts, as it mess-up scopes
small change in PFV checkTest
fix a bug in ISCollider that would create interactions with unbounded bodies
remove deprecated code linked to queuing requestErase'd interactions in an older version of the collider
Merge pull request #39 from lsibille/master
Merge pull request #38 from Kubeu/patch-4
Merge pull request #37 from Kubeu/patch-3
Merge pull request #36 from Kubeu/patch-2
Better behavior of QGLViewer for shift+select and moving bodies (fixes LP bug 806469)
let libparmetis be used as an alternative of libmetis
Add hideBody/showBody to selectively display bodies in the 3D view
Merge pull request #40 from burak-er/master
Parallel InsertionSortCollider
fix compilation issues for ENABLE_OPENMP=OFF
some renaming and code cleaning in PFV code
some renaming and code cleaning in PFV code (part2)
PFV: First step in refactoring templates
dummy engine for showing how to derive from FlowEngine + a preliminary version of DFNFlow
make FlowEngine a template yade class
Periodic version of flow engine in separate source files
PFV: simplify (c++ wise) value assignement to Info types. More refactoring. Final step of code cleaning.
fix a bug in PFV code (fictious vetices not defined correctly)
minor changes in FlowEngine
remove a useless data member
fix compile error due to dirty hack (cpp's included by another cpp)
Added documentation for changing the velocity gradient of periodic cell
TriaxialStressController: reference sample sizes can be modified by users (was previously read-only)
ignore *~ files in git status
update biblio references
Hack YADE_CLASS macro to make it work with c++ templates (introduces a macro for pyClass name different from c++ class name)
new YADE_CLASS_PYCLASS_... macro, missing in previous commit
update bibliographic reference in a script
introduce CellInfo::getInfo() for more generic interpolation between triangulations
better detection of changes in Cell::velGrad
fix the example script periodic-simple-shear.py
- introduce SoluteFlowEngine (from Thomas Sweijen) - move Flow classes to a separate folder
fix include paths after moving files to pkg/pfv
fix include path pkg/pfv
Bugfixes in PeriodicFlowEngine, as discussed with Donia
remove useless FlowBoundingSphere.cpp
fix https://bugs.launchpad.net/yade/+bug/1301443
undef flag, so SoluteFlow doesn't break compilation on buildbot.
update about openblas+openmp on 12.04
initialize CellInfo members (avoids hardly detectable bugs) + remove artifact facets from loop when cell1==cell2
remove an inacurate reference, introduce another one
fix bad link to capillary files
clean of commented blocks
Merge pull request #43 from bchareyre/pc
fix gravity checkScript (es -> 'et')
enable run/pause from QGLViewer (retun key) + fix compile warning
remove empty file
add FlowEngine::doInterpolate to force interpolation during mesh swap
Add user defined boundary condition to FlowEngine
add authors in files headers
-fix bibliographic link
add missing #ifdef, breaking compilation without LINSOLV + better volume computation
fix compile error in 298f0b6
switch to 1-thread colliding when problem detected in parallel run (fix https://bugs.launchpad.net/yade/+bug/1314736)
Burak Er (1):
added an adaptive Runge Kutta integrator scheme. Also, added an example using this integrator.
Christian Jakob (15):
allow user to set an output folder for PFV-based saveVtk() method
Merge branch 'master' of github.com:yade/trunk
fix compilation bug in InsertionSortCollider.hpp
fix a bug in inertia tensor calculation for clumps if integrateInertia=True
extend/fix replaceByClumps() method for multiple overlapping clump templates
absorb bool integrateInertia from Clump::updateProperties by int discretization
Merge branch 'master' of github.com:yade/trunk
Parallelize replaceByClumps(): drastically reduce generation time of clump replacement if discretization>0
fix bugs in Clump::updateProperties, fixes https://bugs.launchpad.net/yade/+bug/1273172
introduce updateClumpProperties() method in yadeWrapper - can be used e.g. when clumps are imported in yade
update of O.bodies.erase(): it can erase clump members too when erasing a clump
Merge branch 'master' of github.com:yade/trunk
remove typenames from Polyhedra.cpp (fixes compiler error)
let ymport.textClumps() return all ids from members and clumps
fix some indents
Francois (2):
Undo modifications about ViscElMat into Ip2_FrictMat_FrictMat_FrictPhys. The young modulus and poisson ratio have to be set for both materials to perform a contact between a frictMat body and a viscElMat body. Add a comment for that.
Fix 2 bugs linked to the Grids : - in utils.py : remove a factor 2 in the calculation of the bending stiffness kr. - in Grid.cpp : fix a bug that occured in the Sphere-GridConnection contact. The contact was not detected in a very specific case : if the sphere was next to a node and the node goes from a convex (angle>180°) form to a concav (angle<180°) form.
Jan Stransky (13):
added vtk export of polyhedral particles
improvement of previous commit (vtk polyhedra export)
added example of paraview sphere "solid sections" improvement of export.textExt function to support arbitrary quantity export
added O.stopAtTime (question246284)
chenged return type of O.stopAtTime from previous commit
fixed some errors and warnings for documentation build
one more little info inside code
export.VTKExporter: improved comments, fixed bug (thanks Jan Havelka for reporting), updated corresponding example script
code cleanup in ConcretePM, fixed one more bug in export.VTKExporter
added exportContactPoints function to exporter.VTKExporter, updated example script
fixed export.VTKExporter.exportContactPoints for nonexisting interactions
Polyhedra implementation improvement (Contributed by Jan Elias)
modification of utils.calm function (bug 1318513)
Jerome Duriez (15):
Change in the doc of ymport.text/textExt to better reflect the behaviour
A doc sentence for pericell recorder in VTKRecorder
Typo in doc of CohFric Law2 : the shear adhesion is a_s, not a_n
Typos and link syntax in doc of CohFrictPhys
Typo correction in porosity() doc : porosity instead of poro sity (in 2 words)
Use of correct version of requestErase() in JCFpm (https://bugs.launchpad.net/yade/+bug/1273775)
Small changes in JCFpm IP logic : it is now possible to have new contacts that are always cohesive, and "poisson"=0 is possible (=> ks = 0 rather than infinity...)
Small improvement in JCFPM doc about the cracks file, and typo in user.rst
Mistake in hyperlink previous commit
Copy paste mistake in State and typo UniaxialStrainer doc
Proposal of correction of UniaxialStrainer, in relation with https://bugs.launchpad.net/yade/+bug/1300167
Add of an external reference, about the "derivation" of bodyStressTensor
Correction of copy-paste mistake in doc of Bound
Hyperlink about sortAxis in InsertionSortCollider doc
Minor changes (not affecting results) in these scripts towards an easier understanding
Klaus Thoeni (2):
Correct shear stiffness averaging for Ip2_FrictMat_FrictMat_ViscoFrictPhys
new simple contact law with normal viscose damping which allows to specify kn and ks/kn in Ip2
Kubeu (3):
Added Antons hint to first install external depencies of Yade before following installation instructions
small typo fix
typofix
Luc Sibille (10):
add test on alphaKtw to allow nil value of twisting stiffness
engine to compute a fluid flow with the lattice Boltzmann method LBM
Definition of the basic elements used by the LBM engine
definition of the compilation option ENABLE_LBMFLOW to make the compilation of the LBM engine optional, this option is disable by default
remove all LBM file
Merge remote-tracking branch 'upstream/master'
definition of the LBM engine inside a lbm directory, with license GPLv2
definition of the compilation option ENABLE_LBMFLOW to make the compilation of the LBM engine optional, this option is disable by default
A buoyancy example for the DEM-LBM coupling
Merge branch 'master' of github.com:yade/trunk
==================================================
yade-1.07.0
Fri, 10 Jan 2014 21:23:33 +0100
Anton Gladky (37):
Remove RELEASE file.
Add -ftrack-macro-expansion=0, if gcc>=4.8
Provide VTK6-support.
Use ADD_DEFINITIONS instead of adding those directly in CXX_FLAGS.
Remove information about yade-stable from Readme.
Add BicyclePedalEngine as a new kinematic motion.
Add -save-temps if GCC-4.8 is used.
Split Grid into Grid and Grid_GUI.
Add information about missing packages in documentation and external PPA. Closes: LP:1250928
Add notice about using libqglviewer-qt4-dev instead of libqglviewer-dev on older Ubuntu versions.
Add script to create PPA-packages. (Not finished)
Use othermirror for some ubuntu versions.
Add stl-gts example.
Add qt.View() to clumps-example.
Add one more check-script to check the functionality of ViscoElastic PM.
Consider massMultiply-parameter, calculating parameters in ViscoElasticPM.
Add functions to save and load clumps.
Set the higher pripority in sys.path to self-compiled modules. Closes LP:1254708
Fix volume calculation. Closes LP:1261415
Set the higher pripority in sys.path to self-compiled modules in yade-batch.
Update scripts for PPA.
Add configuration files, needed for PPA.
Minor update of PPA scripts.
Update information about yadedaily prebuilt packages.
Add support for qglviewer>=2.5.0.
Open GUI in packs/packs.py after 1 step to show all elements.
Raise warning, if no spheres are produced by regular* commands.
Update information about daily-packages.
Set one more paramter -ftemplate-depth-512 for clang
Prevent attraction forces in ViscPM due to viscosity
Add some more steps to checkWeight-script.
Minor formatting in references.
Remove cout accidentally added in a prev. commit.
Minor change of setFromTwoVectors in utils.py.
Rename createtar.py to buildppa.py.
Minor fix in docs.
Add RELEASE-file.
Bruno Chareyre (17):
a function to increase the size of a single sphere (~>Thomas swelling)
easier manipulation of state files in TesselationWrapper
restore the python wrapping of utils.growParticles() as it was before fb02a74 (changed by mistake, sorry Christian)
give unique identifiers to trangulation's cells
FlowEngine::nCells retruns the number of finite cells; FlowEngine::getVertices returns the vertices of a cell defined by its id
make cmake output more consistent when missing dependency for LinSolv
Fix the behavior of FlowEngine.updateTriangulation=True
FlowEngine: increment a counter correctly
small changes in the installation section regarding suitesparse and related libs
installation.rst: smallfix in indentation
remove a not necessary sorting in FlowEngine, as it triggers a critical bug in the STL (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58800)
correct target values of the DEM-PFV checktest
Fix paths to online and packaged documentation (fix url error with GUI's hyperlinks)
DEM Background chapter: a note on the semantic strain vs. displacement for contact kinematics
Merge branch 'master' of github.com:yade/trunk
fix undefined "key" in triax-tutorial/script-session1.py
+1 published paper
Christian Jakob (1):
small fix in an example script tetra/oneTetra.py
Francois (3):
Fix missing REGISTER_CLASS_INDEX(...) into ViscElPhys. This macro is essential for a right law dispatch !
Corrected a minor mistake in code comments : k=2*r*E
Allow the contact between (coh)frictMat and viscElMat as frictPhys. Almost everything was done by inheritance, just had to convert stiffnesses to modulus and modulus to stiffnesses to ensure material compatibility. Note that for the moment the timeStepper cannot handle this kind of simulations -> will be fixed soon.
Jan Stransky (4):
Modified error message if not yade.runtime.hasDisplay (bug #1241817)
fixed SyntaxError from previous commit
uncomment and modify utils.forcesOnCoordPlane function
corrected mistake in examples/test/triax.py
Jerome Duriez (15):
- Introducing (uncommenting in fact) tens/shearBreakRel variables in JCFpmState : relative part of broken interactions per body (instead of absolute number). - Few changes in some doc of JCFpm variables.
Quite important changes in JCFpm code
Modifying JCFpm example scripts so that they still work after previous commit
Re-put some commented lines, after discussion of this thread (https://lists.launchpad.net/yade-dev/msg10185.html), thanks Anton. The comments solution is (at the moment ?) finally still used to avoid putting a new variable in VTKRecorder..
A script example for JCFpm : two rock parts with one joint in the middle, like in laboratory experiments
Some forgotten corrections in some example scripts, so that they still work after changes of today in JCFpm
Some corrections in the JCFpm doc (hyperlinks...)
(Hopefully) Fixing some rst links in DEM Background doc
Some changes in the doc of getStress() function, to be consistent with the source code (https://answers.launchpad.net/yade/+question/239919)
Merge branch 'master' of github.com:yade/trunk
Idem as previous commit
Restoring the 2d version of growParticle previously erased by mistake..
Some hyperlinks in JCFpm doc corrected
Typos and hyperlinks corrected in Peri3dController doc
Correction of a link in TesselationWrapper() doc
Klaus Thoeni (1):
add CGAL link and delete libgmp3 from install list
Raphael Maurin (1):
Change in the calculation of the normal and tangential stiffness and damping. The change affects only the behavior when one of the two parameters is zero, e.g. for two particles with different stiffness k1 and k2, the contact stiffness will always be k = k1*k2/(k1+k2). Before it gave the same except when k2 = 0 (respectively k1 = 0), where it gave k = k1 (resp. k=k2). This is done to ensure continuity in the behavior when one of the two parameter tend to zero. Add a function contactParameterCalculation in Ip2_ViscElMat_ViscElMat_ViscElPhys to avoid code duplication.
==================================================
yade-1.05.0
Mon, Oct 28 19:49:48 2013 +0200
Anton Gladky (19):
Add system-component of boost to be linked.
Fix typo in equations in getViscoelasticFromSpheresInteraction (documentation). Thanks to Medack (TU Freiberg).
Explicitly link BZip2-library
Explicitly link ZLIB-library
Update installation docs, add libbz2-dev zlib1g-dev.
Fix LudingPM.
Rename variables in LudingPM (Theta->Delta).
Fix k2-calculation in LudingPM.
Update script for LudingPM.
Split gui/qt4/GLViewer.cpp.
Remove pkg/dem/DomainLimiter.*
Recover DomainLimiter (LawTester should be moved somewhere).
Remove some warnings.
Update numpy_boost.hpp from svn.
Remove executes bit on py, cpp and h-files.
Split Shop.cpp on Shop_01.cpp and Shop_02.cpp
Fix compilation.
Remove stable-PPA reference from documentation.
Replace all libboost-*-dev by libboost-all-dev.
Christian Jakob (19):
complete description of clump methods in users manual
fix a bug in inertia tensor approximation scheme
fix some links in users manual and Scene doc
fix description of default material in users manual
fixing/updating refs and links in users manual - part 1
removed SpherePadder description from users manual
fixing/updating refs and links in users manual - part 2 (finished)
adapt buoyancy example with new O.forces.addF() method and make it look nicer
update in Clump::updateProperties: included new bool integrateInertia and int discretization and adapt clump(), appendClumpend(), addToClump(), releaseFromClump(), replaceByClumps() and growParticles()
create links to some example scripts in wrapper
increase initialization speed of examples/packs/packs.py (fix https://bugs.launchpad.net/yade/+bug/1229783)
try to fix (still broken) refs in users manual
Merge branch 'master' of github.com:yade/trunk
make getRoundness() more flexible: empty excludeList is no more needed as input argument; adapt replaceByClumps-example.py and associated part in users manual
small fix in users manual
fix a link in TesselationWrapper
fix a link in TesselationWrapper (second try)
fix buoyancy example for clumps
removed typenames from Polyhedra.cpp, make gcc < version 4.7 happy
Donia (4):
Save the relative velocities of particles.
Compute edgesSurfaces if viscousShear is true.
Save the interactions only between spheres into a vector.
get the shear and normal viscous stress in each interaction.
Jan Stransky (10):
marginal modifications
Merge branch 'master' of github.com:yade/trunk
Added periodic cell VTK export (to VTKRecorder and export.VTKExporter)
Merge branch 'master' of github.com:yade/trunk
added forgotten example file
fixed bug in export.VTKExporter from one previous commits
Merge branch 'master' of github.com:yade/trunk
Polyhedra implementation + examples (Contributed by Jan Elias).
adding examples with tetrehadron modeled by new Polyhedron class
CombinedKinematicEngine will not call its 'dead' subengines (question #237437)
Jerome Duriez (6):
Correction of typo in comment
Proposal of new (similar but more compact) examples using JCFpm classes. A choice can be made one day after some feedback ?
Some changes in JCFpm documentation (add of external references, and removal of cross reference towards the CFpm model which does not exist anymore). In cpp, some commented lines to add (in the future ?) some post-pro features that could maybe break current saves of (existing ??) current users
Commiting changes discussed briefly in https://lists.launchpad.net/yade-dev/msg09979.html. Mainly written by L. Scholtes, they allow to vizualize with paraview some features of JCFpm classes. It adds then 2 recorders, "jcfpm" and "cracks", that are separated mainly for historical reasons.. They are anyway now documented
Add of pylab.ion() in plotNumInteractionsHistogram() and plotDirections() so that yade does not hang anymore after launch of these functions (even after closing the plot window, here). Still thanks to Vaclav ! (http://stackoverflow.com/questions/9753885/pylab-matplotlib-show-waits-until-window-closes)
Anecdotic changes in an example script
Klaus Thoeni (2):
resolve problem with mask in GridConnection
ignore local kdevelope specific files on git
==================================================
yade-1.00.0
Sun, Sep 29 23:10:48 2013 +0200
Anton Gladky (64):
Remove release file.
Add documentation, how to render particle with ParaView`s PointSprite plugin.
Fix spelling errors.
Add Changelog.
Add different capillar models into ViscoElasticPM.
Add links to equations, consider not only monodisperse particles.
Fix s parameter for Willet-formulation of capillar.
Add one more critical-calculation to capillar model.
Cleanings in viscoelastic capillar modell.
Move capillar calculation into another function not to overload VPM.
Modify Weigart`s model.
Update equations for Weigart`s capillar model.
Update capillar equations and names of schemas.
Move references to a references.bib.
Add comment on liquid bridges.
Fix some warnings (clang).
Fix compilation.
Implement rotational resistance in ViscoElasticPM.
Add massMultiply-parameter to ViscoElasticPM to have an opportunity to set kn, kt, cn and ct without multiplication on mass.
Implement Rabinovich`s capillar model.
Fix wrong calculation of the average rotational resistance.
Split ViscoelasticPM on capillar and dry parts.
Prevent devision by 0 in capillar Rabinovich model.
Prepare for flowengine compilation.
Merge libplugins, libsupport and libcore in libyade.
Fix FindCholmod.cmake.
Fix compilation of FlowBoundingSphere.ipp
Replace Cholmod-Feature by LinSolv.
Minor fix in CMakeList (FlowEnginge).
Implement PID controller to have a servo-engine.
Fix tests due to failing clumps-autotests.
Use combinedengine for ServoPIDController.
Fix hopefully clumps-autotests.
Add LudingPM.
Merge branch 'ndyck'
Add an example for LudingPM.
Use libyade again. Revert Bruno`s revert.
Fix configuration issue with CHUNKSIZE>0.
Drop RockPM.
Remove ParticleSizeDistrbutionRPMRecorder.
Remove CohesiveStateRPMRecorder.
Show PFVflow and LinSolv in disabled features, if they are disabled.
Include loki-library dirs and link against them. Fixes compilation on HPC TU Freiberg.
Set LinSolv and PFVFLOW ON by default.
Add recommended build-dependency for LinSolv and PFVFlow into documentation.
Replace ifndef/define-constructions by "#pragma once" in lib/triangulation, where it is possible.
Minor fix in capillary models in ViscoelasticPM.
Add [Pournin2001] into the description of ViscoelasticPM.
Minor fix in calculation s_crit in ViscoelasticPM.
Add information about github-hosting into the main page.
Add a notification to the screen, whether the current build is debugbuild.
Remove explicit linking of libstdcxx.
Use skipScripts variable to skip some scripts on check-tests.
Skip temporarly DEM-PFV-check.py to let daily-builds packages be built.
Remove kde-files from the trunk.
Minor fix in installation section of documentation.
Remove Fedora list package from documentation. The list is unsupported.
Add Antypov2011 reference and some links in Hertz-Mindlin model.
Fix some compilation warnings (GCC).
Replace libqglviewer-qt4-dev on libqglviewer-dev in installation section.
Fix errors in ForceContainer, detected by clang.
Fix compilation error.
Add export into LIGGGHTS-format.
1.00.0
Bruno Chareyre (68):
+1 journal article
Add the color of the periodic cell a registered attribute.
- fix a bug that would let the capillary tables empty when postLoad was not triggered
Add function getCapillaryStress(), equivalent of getStress() but for capillary forces
-code cleaning
fix a latex equation
FlowEngine: exclude corner cases when listing constrictions sizes along the void path
+1 article
-fix url of an article
+4 journal papers
+1 journal article
- add "LINSOLV" source code for DEM-PFV coupling with direct sparse solvers
add strainRate attribute to TriaxialStressController + fix bug in example script
Revert "Merge libplugins, libsupport and libcore in libyade." Cause: the new cmake system breaks buildbot and does not work for chunkSize>0
- add getSceneAsString() to pass scenes between instances without going through the hard drive
fix CMakeList for chunkSize>=1
- enable load/save from/to python strings with O.sceneToString and O.stringToScene (for communication between parallel instances of yade)
-fix the return type of stringToScene()
clean the flow code (part 1)
cleaning the flow code (smallfix of part 1)
cleaning the flow code (part2)
cleaning the flow code (part3 and last)
-first example script for the fluid coupling with the DEM-PFV method
- new conference and journal papers
fixed reference
+1 PhD thesis
- more documentation of TesselationWrapper, with a section in user manual and pointer to published equations.
git ignore changes to .gitignore
undo previous change in gitignore, not the right way to fix
Turn a LOG_DEBUG into LOG_ERROR/return, to escape segfault. (ref: https://bugs.launchpad.net/bugs/1208878)
Add an optional argument to O.forces.f() and O.forces.t() to get correct forces on clumps.
doc improvement and more cross-links for TesselationWrapper and FlowEngine
-enable user defined forces on bodies applying permanently (with updated user manual)
+1 conference paper
-workaround https://bugs.launchpad.net/yade/+bug/1183402#3, allowing startup imports with optional argument example: $yade -lscipy.interpolate
-fix '-l' command line option (no import lib was crashing)
fix uninitialized member of ForceContainer
fix compile warnings (unused variables)
- smallfixes in documentation
fix FlowEngine docstring
fix duplicate bib reference
small fix in bib entries
remove duplicate bib reference
commit small fix and update in bib files
make default FlowEngine::permeabilityFactor less absurd (crashing by default sucks)
regression (check-)test for FlowEngine
remove Dem3Dof form Yade (also eudoxos module, mostly based on Dem3Dof)
- remove Dem3Dof from documentation
remove eudoxos from build system (+ remove from VTKRecorder, that was left behind)
remove Dem3Dof from a docstring
remove Dem3Dof from alias
various fixes and improvements in checkTests
- increase verbosity of DEM-PFV checkTest
remove some debugging code left in chekList.py
make sure FlowEngine has been compiled before trying the checkTest DEM-PFV, as suggested by Klaus
make the DEM-PFV checktest fully determinist with a data file for initial positions
new attributes in FlowEngine to access low level cholmod/metis data
\#include <cholmod.h> in FlowEngine.cpp (why is it not needed on lucid?!)
add #ifdef LINSOLV guards in appropriate places in case someone (e.g. buildbot) compiles without cholmod
one more #ifdef LINSOLV guard
add a cmake path for metis.h on wheezy
Return a warning at startup if X rendering is unavailable despite gui is required.
User manual: correct the meaning of body.dynamic + remove utils. prefixes
Typo fix in prog.rst
Fix sphinx warning (no :gui: role)
yadeSphinx.py: remove eudoxos module from the build list
-remove empty section of doc: External modules
revert 3d7ca8577 (doc/current hyperlink), see also https://lists.launchpad.net/yade-dev/msg10035.html.
Chiara Modenese (1):
Prevent the normal force become negative when viscous damping is applied.
Christian Jakob (23):
added new example showing implementation of buoyancy
small fix in new example from previous commit
small fix of description in new buoyancy example
include integration scheme for inertia tensors of clumps; inertia/masses/volumes of clumps are updated automatically by call of updateProperties method; removed adaptClumpMasses method and example script
Merge branch 'master' of github.com:yade/trunk
make getRoundness() faster
shorten the code of Clump.cpp: switched getClumpVolumeAndAdaptInertia() method into updateProperties()
small fix of a comment
small fix in an example script
Merge branch 'master' of github.com:yade/trunk
remove unused #include in Clump.cpp
limit number of cubes for clump inertia integration scheme to 1000000; avoids worst case scenario with R_clump_member(s)<<R_clump
shorten code of Clump.cpp; improve inertia intergration scheme
undo unwanted changes in addToClump example from previous commit
bug fix of a previous commit
set maximum number of cubes for clump inertia integration scheme to 3375000 in Clump.cpp
fix inertia calculation and clump test
add output of inertia and mass to addToClump-example.py
Merge branch 'master' of github.com:yade/trunk
Merge branch 'master' of github.com:yade/trunk
Merge branch 'master' of github.com:yade/trunk
fix colors in releaseFromClump-example.py
improve addToClump() method, make it possible to add body lists
Francois Kneib (3):
Fix bug #1161847 : Cannot create two clumpClouds in the same simulation (https://bugs.launchpad.net/yade/+bug/1161847). Modified makeClumpCloud(...) in SpherePack.cpp : the random generator was wrong, fixed it.
Make the interaction between two Grids possible. It comes with a set of new classes, all in Grid.cpp/hpp : - The geometry of interaction : GridCoGridCoGeom - Its instanciation : Ig2_GridConnection_GridConnection_GridCoGridCoGeom - An elastic frictional law : Law2_GridCoGridCoGeom_FrictPhys_CundallStrack
Lots of changes in the inelastic cohesive set of classes. - correct a lot of bugs and comment the inelastic cohesive law : pkg/dem/Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment - change some variables names and comments : pkg/dem/InelastCohFrictMat pkg/dem/InelastCohFrictPhys pkg/dem/Ip2_2xInelastCohFrictMat_InelastCohFrictPhys
Jan Stránský (14):
added --diable-pynotify to yade-batch Removed #include Shop.hpp from Cell.*pp added area attribute to Facet
added triaxal test on cylinder example
Created classes for bubble interaction according to question #230574
Tetra modification (Ig2_Tetra_Tetra_TTtraSimpleGeom, Law2_TTetraSimpleGeom_NormPhys_Simple, modified GL functor, examples, utils.tetra) added Ip2_ElastMat_... functors fixed bug in utils.kineticEnergy for aspherical bodies
Merge branch 'master' of github.com:yade/trunk
added utils.UnstructuredGrid class for manipulating (external forces evaluation and positin changes) of FEM-like triangular and tetrahedral meshes hopefully fixed CGAL compilation problem in pkg/dem/Tetra.*pp reported by Klaus
Improved documentation about O.load and O.save, motivated by question #230900
export.VTKExporter improvement (intaractions export), SVD matrix decomposition in python, Peri3dController improvement (compatibility with O.save/O.load)
doc improvement of Peri3dController
Merge branch 'master' of http://github.com/yade/trunk
midified exporter.VTKExporter for correct interactions export in periodic case
ConcretePM: modified damage tensor computetion, added elasticEnergy function, added export.VTKExporter.exportInteractions function, modified ymport.iges function
Merge branch 'master' of http://github.com/yade/trunk
Modifying code to enable compilation with QUAD_PRECISION without errors (does not work yet for CGAL enabled)
Jerome Duriez (7):
- few changes in comments in JointedCohesiveFrictionalPM.* - typos corrected in doxygen and sphinx docs of TriaxialTest (there was some "Trixial" instead of "Triaxial") - correction of typo, broken links, and add of two precisions in the doc of a function of pack.py
Typo in NewtonIntegrator doc
Correction of link-syntax in doc of Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM
Typo and redundancies corrected in doc of Functor.label
Typo in a figure legend
Precision in the doc relative to dt (6 is the maximal contact number in 2D)
Correction of a broken link in GSTS doc
Klaus Thoeni (11):
various wire contact laws available now, add reference with details, add a check script for the wire model
various wire contact laws available now (new version), add reference with details
resolve clash between utils.box and box loaded from pylab
correct some spelling and make some example scripts working (more checks needed)
move one level up
use returnSpherePack=True in randomDensePack
fix some typos and links in documentation
Merge branch 'master' of github.com:yade/trunk
make script faster
introduce tolerence in overlap check for intersecting spheres
add MatchMaker for friction angle
Luc Scholtes (4):
Merge branch 'master' of github.com:yade/trunk
cleanup in yade publications list
remove CohesiveFrictionalPM from trunk
add a new class for modelling jointed media (JointedCohesiveFrictionalPM) and examples to illustrate how to use it (examples/jointedCohesiveFrictionalPM/)
new reference added
Nolan Dyck (2):
Updated function descriptions for BubbleMat
Merge branch 'master' of https://github.com/yade/trunk
Raphaël Maurin (1):
Modify GlobalStiffnessTimeStepper for visco-elastic contact law.
==================================================
yade-0.97.0
Sun, May 12 14:48:29 2013 +0200
Anton Gladky (42):
Remove release-file.
Remove eigen2. Use eigen3 instead.
Remove likely/unlekely directives.
Remove eigen2-compatibility.
Fix compilation with clang.
Use system-packaged minieigen, if it persists.
Fix typo in __init__.py
Use system pygts, if available.
Lower required cmake version to 2.6
Check whether Tkinter is installed.
Return back the minimal cmake version to 2.8. Compilation error with GUI.
Fix compilation agains boost 1.53.
Fix typo in searching for py_gts module.
Fix typo in cmake.
Fix linkage of _gts module.
Import minieigen in gui/qt4/SerializableEditor.py.
Clean scripts/README. Not relevant any more.
Raise warning if PIL module is not imported. Not raising an error.
Remove documentation about 3rd-party libraries (minieigen and GTS).
Install documentation in standard place.
Generate and install Yade.epub, if pandoc is available.
Build Yade.epub using sphinx-builder.
Remove pandoc conversion of tex-file.
Fix installation path for html-documentation.
Fix --version parameter for yade-batch.
Remove commas in "features".
Update --help output.
Create manpages using "make manpage" command.
Remove generating manpage usign --generate-manpage option.
Add "make check" command to run the standard tests.
Fix splitting of features. (Closes LP:1161451)
Revert changes introduced in 4f9f8dae3.
Remove information about logging. (Closes LP:1150273)
Add information about Yade.epub into README.rst
Add export.gmshGeo function to export spheres into GMSH native format.
Add publication in russian journal.
Use standard GNU paths for install targets.
Add GNUInstallDirs.cmake. It is absent in some distributions.
Update link for tarballs-download.
Use ${OpenMP_CXX_FLAGS} isntead of explicit -fopenmp.
Merge pull request #35 from Kubeu/patch-1
0.97.0
Bruno Chareyre (21):
-Fix (partly) https://bugs.launchpad.net/yade/+bug/1009257, still not good with clumps
- avoid deprecation warning when using the triax preprocessor (the future of preprocessors is not certain, though...)
fix https://bugs.launchpad.net/yade/+bug/1115554, removing the extra variables
- tutorial script: replace L3 geometry by ScGeom
-tutorial script: increase O.dt again, no need to slow down
- adjust number and size of clumps in the periodic cell
- fix two crashing typos in triax-tutorial
PeriodicEngine check if simulation time has been reseted (fix https://bugs.launchpad.net/yade/+bug/1153528)
- small fix in the way TriaxialStressController defines meanStress
A more precise integration of contact forces in periodic deformations, using period size of the previous step for the relative velocity update + cache a (matrix x matrix) product for performance (previously re-computed for each other interaction)
- fix a small bug in the determination of the mean stress (TriaxialStressController)
- a more flexible implementation of density scaling
-get back gravitational wotk in NewtonIntegrator (removed by mistake in previous commit, sorry)
- reflect (1) in regression tests, since they were expecting innacurate values, cell size change only in the next step after velGrad assignment. (1) https://github.com/yade/trunk/commit/422ecb00c710337ede7ace6ae62f8f857c6e975a
- small fix in doc hyperlinks
- two additional bib articles
A more accurate integration of external work input in PeriTriax engine
- Handle errors in fluid engine more nicely. Pause the simulation when something goes wrong instead of crashing...
- update cell's prevVelGrad in Newton
- fix two compile warnings
- better error handling in FlowEngine - remove lubrication forces between spheres in boundaries - check that id1!=id2 before computing forces (can happen in very small periodic packings) - some code cleaning (FlowEngine.cpp)
Christian Jakob (40):
bug fix in bodyNumInteractionsHistogram (avoid segfault)
fix clumps behavior in 06-periodic-triaxial-test.py
correct copy-and-paste mistake for NewtonIntegrator in 06-periodic-triaxial-test.py
fix import _io problem in core/main/main.py.in
improvement in utils.saveVars(): add possibility to add/insert variables in existing dicts
fix/update example script simple-scene-energy-tracking.py
removed utils from examples/simple-scene
removed utils from examples (without sub-folders)
removed utils from examples/baraban/
removed utils from examples/bulldozer/
removed utils from examples/chained-cylinders/
removed utils from examples/clumps/
removed utils from examples/concrete/
removed utils from examples/grids/
removed utils from examples/gts-horse/
removed utils from examples/not-working/
removed utils from examples/packs/
removed utils from examples/ring2d/
removed utils from examples/rod-penetration/
removed utils from examples/simple-shear/
removed utils from examples/test/ (without sub-folders)
removed utils from examples/test/vtk-exporter/
removed utils from examples/test/batch/
removed utils from examples/test/performance/
removed utils from examples/test/multi/
removed utils from examples/test/WireMatPM/
removed utils from examples/triax-tutorial/
remove a useless comment in triax-tutorial
small docfix of EnergyTracker
fix energy tracking of gravitational work in NewtonIntegrator
fix compilation warning in Grid.hpp and prettify its code
remove "math" from example scripts
fix compilation warning in openmp-accu.hpp
Improvements in clump logic - part 5: added Monte-Carlo-algorithm for estimation of clump volumes called getClumpVolume(), added a new method for getting roundness coefficient called getRoundness(), updated examples/clumps/replaceByClumps-example.py
Improvements in clump logic - part 6: added new method adaptClumpMasses(), added examples/clumps/adaptClumpMasses-example.py
Improvements in clump logic - part 6: added examples/clumps/adaptClumpMasses-example.py
small improvement of getClumpVolume() in yadeWrapper.cpp
use deterministic instead of random algorithm for getClumpVolume(), adapt examples/clumps/adaptClumpMasses-example.py, improve and fix documentation
add info about h-key for yade view in start banner
Merge branch 'master' of github.com:yade/trunk
Francois Kneib (4):
Change the growParticles method behavior on clumps into Shop.cpp. Now the clumps are not grown if the clump members are fixed (i.e blockedDOFs='XYZxyz').
Workaround for a Ubuntu 12.10 bug that gave a segmentation fault when launching Yade. The importation of "_io" is made sooner, at the beginning of yade python executable. Changes applied to core/main/main.py.in.
Handle the cohesive contact between a sphere and a facet. Created Ig2_Facet_Sphere_ScGeom6D inheriting from Ig2_Facet_Sphere_ScGeom. It precomputes the 3 rotations DOFs and creates a ScGeom6D contact geometry. All modifications made into /pkg/dem/Ig2_Facet_Sphere_ScGeom.cpp and hpp.
Changes in Grid.ccp/hpp. - Improve documentation for Ig2_Sphere_GridConnection_ScGridCoGeom::go() - Add a new law (Law2_ScGridCoGeom_CohFrictPhys_CundallStrack) that allows a cohesive contact (without rotational moments) between a Sphere and a GridConnection.
Jan Stransky (7):
fixed typo in user.rst
improved damage tensor computation in CPMState
doc improvement: added importing yade into user's manual, corrected index notation in utils.bodyStressTensors functions
correcting compilation errors from previous commit
fixed bug in Cpm for Sphere-Facet interactions
fixed bug in Cpm, now for Sphere-Wall interaction
disabled some prints for non __main__ yade imports
Jan Stránský (4):
modification of cpm model, making easier timing inside InteractionLoop (with CMAKE_CXX_FLAGS=-DUSE_TIMING_DELTAS build, no change otherwise)
added ymport.iges function for reading facets from .igs files
updated timing documentation
updated documentation (due to recent changes in Cpm), corrected Cpm related examples
Kubeu (1):
added some hints about plotting and batch mode
christian (3):
fix bug in replaceByClumps(), make it compatible with facets
Merge branch 'master' of github.com:/yade/trunk
undo unwanted changes in kdev4 files from previous commit
dmarzougui (1):
Correct the type of numbers used in the computation of viscous stress.
==================================================
yade-0.95.0
Tue, Mar 5 20:36:40 2013 +0100
Anton Gladky (41):
Remove RELEASE file.
Fix compilation warning.
Fix typo in git-command.
Remove doxygen from installation section.
Add notification message for yade-batch.
Enable SnapshotEngine.
Minor fix in documentation.
Fix pack.py as suggested by Kneib François.
Remove all Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS to prevent race conditions in python-bindings. (Closes LP:1056684)
Return back some Py_BEGIN_ALLOW_THREADS, as the previous commit freezes autotests.
Add url to Chen`s thesis.
Add Tran`s publications.
Remove duplicate.
Minor fix in references.
Search numpy during configuration step.
Search loki-library and headers during compilation step.
Resize interactionsOnBody, if it is necessary. (Closes: LP:1105177)
Fix compilation.
Add omp.h header into ParallelEngine
AddNUMPY_INCLUDE_DIRS to cmake.
Remove --debug option from yade-batch template.
Remove debug-option from yade-batch.
Fix import of Image-module in Ubuntu Raring.
Fix segmentation fault in bodyNumInteractionsHistogram. (Closes: LP:1087680)
Use default {CMAKE_CXX_FLAGS_DEBUG for Debug-build instead of hardcoded.
Make the bug LP:1087680 visible again.
Fix segmentation fault in bodyNumInteractionsHistogram.
Return back the opportunity to keep all interaction pointers for each body
Use interaction pointers in body class instead of iteration over all interactions in body::py_intrs.
Add visualisation to Jakob`s scripts.
Merge pull request #32 from jakob-ifgt/master
Merge pull request #33 from jakob-ifgt/master
Add python-argparse into installation section.
Merge pull request #34 from jakob-ifgt/master
Remove scripts/debian as it is maintained in Debian itself
Remove extra/boost_python_len.hpp as it was for very old boost-versions.
Remove extra/foreach.hpp_local. Not used anywhere.
Remove site_scons. Forgotten during cmake-migration.
Remove convexHull2d. Was blocked.
Remove boost-python-indexing-suite-v2-noSymlinkHeaders.
0.95.0
Bruno Chareyre (68):
Give the git clone adress that will work always (previous one is blocked at 3SR lab)
enable setting FlowEngine by number of steps or by deformation aplitude
a fix in bibtex
-remove excess verbosity
- add thread number attribute to change the number of thread of interactionLoop dynamicaly during simulations. Also usefull combined with parallel engine (for fine grain tuning of thread number in each subprocess)
1. Add thread number to parallel engine, can be changed dynamicaly. Uncouples the number of threads in parallel engines and in slaves. 2. Enable nested parallel regions (disabled on many systems by default) else the parallel engine is doing no good
1. Replace one loop on cells by an optimized vector<Cell> iterator 2. Clean an horrible block of code (not only ugly, it was also slow)
- introduce a position buffer for faster updates of volumes
Use retriangulation conditions more consistently. The solvers are not swapped before a given fraction of the permutation interval now, to reduce overheads.
small change in the initialization logic, now defining the two position buffers if "first"
make ompThread an attribute of Engine, as it likely to be used more and more in the future. It is then inherited by InteractionLoop and ParallelEngine
Parallelize volume updates and the computation of fluid forces
fix a typo introduced in previous commit, giving compile error in FlowEngine
remove traces of the SpherePadder module, which is broken and unmaintained (with author's agreement)
make grids periodic
use EpsVolPercent_RTRG consistently in periodic flow: negative value is ignored, just like the non-periodic case
Adapt setContactProperties to pass argument in radians to Shop::setContactFriction
-fix conversion mistake (radian/degree)
update variable names to denote the unit of friction angle (rad), and make this explicit in the documentation
- include elasticity in the normal lubrication force - fix ompThreads assignment in flow engine, resulting in numThreads=-1 by default, then "libgomp: Out of memory"
Fix the F9-F12 keys binding for IPython>=0.12
-add the correct prefactor in normal lubrication relation -overlap the two triangulations during one iteration in order to have the "previous" forces defined in the normal lubrication equation
Update the documentation of the ompThreads attribute.
- fix again the offset of ids in SpherePack.toSimulation (previous fix was assuming two bodies per clump)
- fix https://bugs.launchpad.net/yade/+bug/923929 again, as shown by François it could still happen in some cases (see example in the bug report)
- remove the check/throw when generating aperiodic 2D packings, since the algorithm actually support that.
Define O.engine with a default list at startup, with example script and notes in the documentation.
remove utils prefix
- Updates and improvements in the triax-tutorial material - smallfix in a note in introduction.rst
fixed version of the triax script for clumps
Remove first iteration form "--performance" option measurements
-transfer the normal lubrication force correctly when retriangulating
-doc fix
-fix the sign of the normal lubrication force in the periodic case
fix compile warning (actually fix the functions as well, as they were not returning results at all!)
- doc fix
-remove remaining debug lines
periodic update of publications
fix a typo in bibtex file, +1 ref
- one fix in articles, yet more references in conferences
fix/add Tran's reference
- use "orientation" parameter in utils.box (fix bug/1111514)
- improved version of TriaxialStressController, controling not onlt stress but also strain rate - making the interface more similar (but still not exactly like) PeriTriaxController. - TriaxialCompressionEngine and ThreeDTriaxialEngine become almost useless - reflected in the example script which now uses only TriaxialStressController
-micro-fix (no need to define an initial timestep)
-code cleaning
- fix the default value of orientation in utils.box. [1,0,0,0] is NOT a quaternion.
-add a few python bindings to the periodic engine for manipulations of the internal tesselation
-fix the detection of (not) already computed tesselation
-make volume() functional also when PeriodicFlow is actually in use
uncouple the compilation of flow code and linsolv, so that it is possible to effectively compile the flow engines without cholmod
remove useless "sigma_iso" and "isAxisymetric" members from TTController
- make an old engine deprecated, not compiled now, to be removed later
more #ifdef guards, to allow flow engine without linsolv
remove sigma_iso from the triax example script
fix syntax error in a doc string (blocking the buildbot https://yade-dem.org/buildbot/builders/yade-full/builds/1741/steps/shell_3/logs/stdio)
-deprecation warnings in ThreeD and TriaxialCompression engines
-change the default value of FlowEngine::pressureForce, a flow engine is supposed to compute a flow by default...
smallfix in example script
- 3 new references
- add "Open Source Discrete Element Method" explicitely in the home page, google has to find us
nicer documentation of equations for stiffness definition
remove useless #define
- ship a copy of ipython_directive.py from ipython/HEAD for ipython 0.13
ipython version was checked in two different places, forgot the second one. Still no confirmation of the fix.
- some lines comited by mistake, sorry for that.
- escape crash on non-iterable __doc__ (some qt class) - define new attributes needed for ipython_directives.py >= 0.13 - fix existing *.rst to use strictly 3 blank spaces in multiline directives (i.e. " ...:")
- reference name Tran2012a appearing twice -> renaming Tran2012b
- re-introduce the @supress of Christian (removed during experiments)
Christian Jakob (21):
add addToClump() method in yadeWrapper
improvements in clump logic - part 1
Improvements in clump logic - part 2
Added new example script, that show usage of addToClump() and releaseFromClump()
Improvements in clump logic - part 3 + 4.
shorten the code of replaceByClumps()
add a check of python input for replaceByClumps() method
further improvements in clump logic
some fixes in documentation of wrapper and state
fix documentation of clumpTemplate in utils.py
Merge remote branch 'upstream/master'
let replaceByClumps return a list of tuples with new clump ids and associated sphere ids
Merge remote branch 'upstream/master'
avgNumInteractions now takes care of clumps
some improvements for previous commit
doc fix in utils.py and exclude unused Clump.hpp in _utils.cpp
updated documentation of clumps in user manual and small fixes in doc in yadeWrapper
Merge branch 'master' of github.com:yade/trunk
bug fix in replaceByClumps, that could lead to set negative masses on bodies and shorten the code
yet another doc improvement in wrapper and user manual concerning replaceByClumps method
replaced errors by warnings in addToClump and releaseFromClump in wrapper
Donia Marzougui (5):
Fix the computation of viscous forces by using the correct positions of bodies (updated in buildTriangulation), and fix some variable names.
Remove fictious spheres from the computation of edge surfaces (employed in the computation of viscous forces)
Correct the computation of the viscous and normal stress per particle.
Correct the sign of some parameters in the computation of the viscous forces.
Correct the normal lubrication force.
Francois Kneib (24):
Continue the implementation of grids : - add GridConnexion Aabb - add GridNode-GridNode Ig2 functor : Ig2_GridNode_GridNode_GridNodeGeom6D - add GridNode-GridNode contact geometry : GridNodeGeom6D - add an example script : examples/grids/Simple_Grid_Falling.py - update utils.py (minor change)
Add the possibility of avoiding the contact detection between a group of particle. -> the vector "avoidSelfInteractionMasks" contains a list of masks : all particles having the same mask will not collide if this mask is inside this list. -> the "mayCollide" method now check this too. -> avoidSelfInteractionMasks can be set in python with a list of int.
Add the Sphere-GridConnection frictionnal contact : -> new contact geometry : ScGridCoGeom -> new Ig2 : Ig2_Sphere_GridConnection_ScGridCoGeom -> new Law2 : Law2_ScGridCoGeom_FrictPhys_CundallStrack -> update utils.py to handle the new contact type (using avoidSelfInteractionMasks)
Merge branch 'master' of github.com:yade/trunk
Add the contact following and avoid multiple contact when a sphere is sliding on a grid.
-Grids : Fix some minor bugs in Ig2_Sphere_GridConnection_ScGridCoGeom::go(...). -Collider : Change the vector of masks "avoidSelfInteractionMasks" to a single mask "avoidSelfInteractionMask".
Create and correct documentation.
Grids : - modify the rendering. - Apply correct DEM laws in utils.py to set right kn, ks, kr, and ktw. Now the grid behavior no longer depends on the spacial discretization you make.
Modified setContactFriction method. Now it has to be used with an angle in radian unit, no longer in degrees.
Try to fix documentation in this files, everywere "yref" appears in the online documentation.
Fix Grid periodicity, and allow periodic sphere-grid contacts.
Disable a boring warning into the grid construction.
Fix a bug in SpherePack.toSimulation. There was a big problem when you tried to add clumped SpherePack (with makeClumpCloud() for example).
Corrected toSimulation() (for the last time I hope :-) ).
Fix a bug in growParticles(...) method. Growing a clump is now really homothetic. Before that, growing clumps seemed to be homothetic but at the next timestep the original position of members was reseted.
Add Inelastic ChainedCylinder behavior law (by Ignacio Olmedo). Create inelastic material and related physics, Ip2 and Law2. Example script and complete documentation will come soon.
Add the ability to save to a file a SpherePack containing some Clumps. Into SpherePack : now the toFile method writes a fifth column containing the clump number (-1 if the sphere isn't clumped). The fromFile method uses the new information to append clumped Spheres. Into Shop : loadSpheresFromFile method is modified to read and return the fifth column. Old files with 4 columns are still compatible. Into CapillaryTriaxialTest and CohesiveTriaxialTest : Shop::loadSpheresFromFile is sometimes used here, so remove the clumpId information to match the "BasicSphere" typedef.
getStress(...) method : exclude gridNode-gridNode contacts for the stress computing. growParticles(...) method : avoid growing gridNode and gridConnection.
Fix some Grids bugs.
A minor spelling correction.
Add a little class summary and explanations into Grid.hpp. Fix a bug into utils.py when creating a Grid in a non-periodic scene.
In the sphinx documentation, add the https GitHub read-only method : git clone https://github.com/yade/trunk.git
Avoid GridNode-GridNode contact stiffnesses (kn and ks) to be changed when the growParticles(...) method is used. (GridNodes are not concerned by this method).
Add a missing space in the dependencies code lines.
François Kneib (1):
Correct a remaining bug into the toSimulation() python function.
Jan Stransky (9):
little modifications
added example script for CombinedKinematicEngine
little modifications of ConcretePM
modification of ConcretePM, improved utils.intrsOfEachBody function
improved yade executable: optparse->argparse, yade executable is now loadable as python module
modified yade executable, fixing bug 1134422
complete optparse->argparse, --generate-manpage should work
improvement of ConcretePM, remover warnings in pack module (randomDensePack and randomPeriPack functions)
modified ConcretePM, corrected Peri3dController related examples
Jan Stránský (1):
minor changes
françois (1):
makeClumpCloud(...) now takes a "seed" parameter to generate always the same pack.
==================================================
yade-0.90.0
Sat, Oct 13 15:16:55 2012 +0200
Anton Gladky (142):
Remove RELEASE file.
Fix cmake-file to compile.
Fix paths in core-files.
Update CMakeLists.txt.
Fix pygts module.
Fix standalone compilation of InteractionLoop.hpp.
Enable pymodules on cmake-build.
Add version definition to cmake-build.
Fix suffix and runtimeprefix in cmake-build.
Fix compilation error with gcc-4.7
Fix facetBox generation with height=0.
Fix permissions on main.py.in file.
Fix installation of binaries in cmake-build.
Remove log4cxx from scons-file.
Fix binary installation at cmake-build.
Remove an explicit defining and importing of listdcxx.
Install some py-files for cmake-build.
Install glviewer in cmake-build.
Fix path install in cmake-build.
Update CmakeLists.
Return explicite defining of libstdcxx. Causes error.
Use rpath for lib-installation.
Fix linking of core-libraries.
Fix some more linkings in cmake-build.
Reinitilize interactions after adding a body. Closes LP:1001194
Move gui-cmake to gui-folder
Move cmake for python modules to py-folder.
Separate python modules in cmake-build
Fix some liking in cmake-build
Some fixes in cmake-build.
Add autotest to check bug LP:1001194
Give the newly created body an id, which is the size of bodyContainer. Remove lowestFree. Nicer fix for LP:1001194
Add scene->doSort variable. One more fix for LP:1001194. Thanks to Bruno.
Fix linking of opengl in cmake-build
Fix vtk-linking in cmake-build
Install pack.py for cmake-build
Add notice about python-demgengeo
Add URLs on python-demgengeo package. Fix links.
Fix some more linking problems in cmake-build
Fix plugin search path in cmake-build
Cosmetic changes in cmake-build
Fix performance tests.
Fix overlinking in cmale-build
Make vtk mandatory.
Fix -batch binary in cmake-build
Partly fix QT in cmake-build. Still not functional yet.
Return vtk-feature, but not use it
Fix gui in cmake-build.
Minor fix in cmake-build
Add 2 dependencies to install-section for cmake-build.
Enable "options" for cmake-build.
Remove technical output during cmake-build.
Fix compilation error during non-gui cmake-build
Revert vtk-feature. Not mandatory again.
Add debug-build to cmake.
Use Predicate functions, only when gts is enabled.
Place -lrt flag into the right place.
Fix rpath issue
Remove combine_sources function.
Fix header definitions in openmp-accu
Fix check-test during no_gts build
Fix import libstdcxx on old systems
Display information about disabled features
Add NOSUFFIX option for packaging.
Add lrt to linking on cmake-build
Fix linking problem of cgal libraries in cmake-build
Fix "typo" in VTKRecorder. Thanks to Vaclav.
Remove path to python in some scripts.
Move all main libs to usr/lib/yade folder
Move minieigen to py-folder
Add doSort-option to InsertionSortCollider for forced resorting of interactions.
Minor fix in cmake-build
Link miniEigen with boost-python libs. Thanks to Klaus Thoeni.
Fix version definition for git and bzr.
Enable use of custom Boost-libraries. Thanks to Klaus Thoeni.
Try to fix cgal compilation.
Add possibility to set the lib-path.
Fix libpath, if it is non-standard.
Fix CGAL-feature for cmake-build.
Fix libpath with scons.
Replace LIBPATHINST by LIBRARY_OUTPUT_PATH.
Fix version definition and generation of pdf.
Change Version option to YADE_VERSION.
Add option description into CMakeList file.
Start to update installation documentation.
Start to update documentation on installation.
Describe compilation and installation processes with cmake.
Minor fix in instalaltion section.
Remove scons from documentation.
Remove compilation instruction for Gentoo.
Check, whether newly added bodies to a clump are already members of the existing clump. Closes LP:1017367
Fix handling ipython 0.13 version.
Return CHUNKSIZE option.
Update documentation on installation.
Better fix for ipython-versions. Hopefully the ipython-interface will not be broken in a future.
Remove some bzr-notes from documentation.
Remove scons.
Minor fix in documentation.
Add chainId parameter to body.
Implement stopAtTime parameter.
Add iterBorn and timeBorn parameters to interactions.
Rename chainId to chain. Add python-wrapper to utils.facet
Remove timeBorn option in interactions.
Remove debug and rebuild options from docs and starting scripts (not functional with cmake)
Fix execution error.
Use vtkQuad for exporting boxes in vtk-format. (Closes: LP:1026474)
Let to use relative paths in INSTALL_PREFIX variable.
Remove clumps, if no bodies are present there. Fixes LP:1031644. Remove clump members from clumps during body erase. Move Clump.* files to core/
Add "make doc" command for easier documentation build.
Fix some warnings.
Add bodiesHandling.facetsDimensions function to get parameters of group of facets.
Replace the variables "max" and "min" on "minVal" and "maxVal" in spheresPackDimensions to escape coincidence withi function names
Add README.rst file for github
Add getBodyIdsContacts to get the list of bodies, contacting with the checked one.
Keep pointers of interactions for all bodies, not only where otherId>Id. Add ENABLE_FIXBUGINTRS option.
Fix an error in interaction container.
Add checkIntrs flag into body to escape useless checks of interaction.
Fix segfault with FIXBUGINTRS enbled.
Add regression test to check the erasing of bodies, which are in contact.
One more step to fix bug of facet-sphere mass interaction.
Add function to disable some interactions, if the sphere contacts with several facaets of the same chain.
Prevent errors in facetCylinder, if height=0.0
Move fixbugintrs stuff from Newtonintegrator to shop.cpp and constitutive law.
Move fixbugintrs stuff into viscoelasticpm, for a quicker compilation.
Integrate some ideas into RockPM
Some minor fixes in eigen-macroses.
Remove testcode for fixing LP:850864
Fix serialize-template for matrix6r.
Fix version read from RELEASE file.
Fix version number output at Yade start.
Fix some compilation warnings.
Fix warning due to mix class/struct definition.
Honor the flags, which are set in environment.
Fix compilation warning »_POSIX_C_SOURCE« redefiniert."
Disable CGAL, if compilator is clang.
Add information, how to compile Yade with Clang-compiler.
Fix batch-mode on platforms, where cpuinfo is not available.
Remove rebuild-option from batch-mode.
Remove old testing macros in VTKRecorder.
Remove accidentally added file in examples.
Add normalVel parameter for SpheresFactory to set explicitely direction of velocity for newly generated particles. Backward compatibility is saved.
Add RELEASE file for 0.90.0 version.
Bruno Chareyre (61):
- Direct solver used for periodic BCs and/or compressible fluid - saveVTK for periodic BCs - fix rare but possible junk permeability values (define max/min)
-FlowEngine uses boost::thread to precompute triangulation and Cholesky factor while yade is running
- interplate using barycenters of old trangulation, instead of voro-center of new triangulation, avoids inconsistencies - make sure voidVolume is positive (FIXME: hardcoded number a.t.m.)
- normalize the definition of minimum void volume
-add a simple getStress function (periodic or not)
move an insert in a more logical place
A new contact law adding creep (Standard Material Model) to CundallStrack
-missing in previous commit
restore the option to NOT homomDeform in periodic BCs (may be rarely used, e.g. when veru big bodies are part of the simulation)
restore the option to NOT homoDeform (see previous commit too)
- let PeriTriaxController accept very large bodies in the simulation. This change makes it possible to simulate bi-periodic BCs with 2 large planes bounding one coordinate. Example script comming soon.
- remove junk output left after debugging work
- compatibility of the 6D cohesive-moment law with periodic BCs. - add a simpler way to turn contacts cohesive one by one via an Ip::flag
-fix force application in cohesive law (was breaking chained cylinder and sent buildbot error)
replace Dem3Dof by ScGeom where CundallStrack is used
-remove a series of contact laws as discussed in https://blueprints.launchpad.net/yade/+spec/cleancontactlaws
remove contact laws (again), as discussed in https://blueprints.launchpad.net/yade/+spec/cleancontactlaws
- Implement multithread solving for the periodic flow - Start implementing CHOLMOD solver using Eigen3 support - Fix flow engine compilation with cmake (some variable with multiple definitions breaking per-file compilation)
- CHOLMOD handling in cmake
- be quiet when cholmod is disabled
remove some "cerr"
-reset initCohesion flag for each contact after initializing (else it's rested at each step...)
-add functions to export network constrictions and normal and track a point in the triangulation using secondary flow engine (Bruno+Wenrui)
- better parameter (vector > 3 doubles)
- use cell handles vector instead of CGAL's cell iterators for faster loops - make mirror permeabilities i->j vs. j->i exactly equal in the periodic cases to avoid non-positive definite matrices - fix a few mistakes in permeabillity min/max bounding (permeabilityFactor was not included, and the min was way too high, changing 50% of the values) - make multithread run possible also in the periodic case
smallfix in documentation
Fix compile warnings.
- add export functions for writing system matrix to files
reverts commit afa59f17d59a90d3049b9c51c41d28e29fc9081e, which messed up flow code.
-fix conflict
Document Tesselation wrapper a bit more. Add a complete example script.
small optimizations in PeriodicFlow, start implementing matrix-based froce computation (commented blocks)
documentation here and there
Documentation
documentaion fix
- a unique function for fluid velocity in cells for both periodic and non-periodic - make fluid velocity computed correctly even on boundary cells with imposed pressure - the boundary are now included in computation average velocity in the simulation - A new function to get total flux through a boundary
- Simplify the usage of GSTiemeStepper: no need to set dt at all as soon as GST is present, and setting dt manualy will not disable the timestepper. - Introduce density scaling
example script for timestepper and density scaling
Small change in the logic of cylinder-cylinder interactions
sort exemple scripts
documentation fix
adapt the interface to the new timestepper logic
doc hyperlink for density scaling
fix compile error (sorry, it was working with chunksize>1)
- remove a loop in Newton as suggested by Anton (Thanks) - update example script
- adjustents of strain rate in ex. script
Still smallfixes in density scaling
Revert "Fix the computation of the shear lubrication force and add the torque of the viscous shear force applied on particles." This commit erased some of the previous changes. Please Donia double-check what you commit everytime.
fix two compile warnings
The \` are displayed correctly by sphinx. Get them back (at the price of many warnings?...)
- remove some "invertSign" in stress functions - add a utils::function to change friction without the need to instantiate a TTCompression engine
- make use of Shop::setContactFriction()
make warning conditional or it will flood my terminal...
example script for cohesive and/or rotational law
some updates in this example script
make autostop possible again (but still disabled by default)
-enable 0-thickness bounding boxes
example script for triax+clumps
-A new function to grow particles and clumps
cleaning script
clean sources
Chiara Modenese (3):
Check the body existence before creating an interaction. (Closes: LP:803774)
Add a new entry to yade-conference.bib.
Add some entries into yade-conferences.bib
Christian Jakob (9):
improvements in Law2_ScGeom_CapillaryPhys_Capillarity
Fix memory leak in capillary law and make isBroken flag compatible with fusionDetection
include calm function
fix mask bug in calm function
export boxes with vtkrecorder (not tested, boxesCells missing)
export boxes with vtkrecorder (visualization works, but is not ok)
fix uniax.py and periodic.py example scripts
fix and improvements of some example scripts
delete unneeded file
Donia (2):
Fix the computation of the shear torque.
Fix the computation of the torque and rename some variables.
Donia Marzougui (12):
Add spheres' rotation to the computation of the viscous shear force. Compute the viscous shear bulk stress.
small fix in min Y
Merge branch 'master' of github.com:yade/trunk
Add the normal and tangential lubrication force Compute the viscous shear stress for each body
Add rotation of spheres in the computation of velocity, Compute the viscous and normal stresses applied on each body, add the normal and shear lubrication forces
Fix the names and tests of forces and stresses applied on particles
Merge branch 'master' of github.com:yade/trunk
Fix the computation of the shear lubrication force and add the torque of the viscous shear force applied on particles.
Fix the computation of the shear lubrication force and add the torque of the shear viscous force applied on particles.
Fix the computation of the shear lubrication force.
Fix the computation of the normal lubrication force
remove the computation of some characteristics lengths for two fictious spheres.
Francois Kneib (5):
Add the contact between two different ChainedCylinders. -> add new contact geometry : "ChCylGeom6D" -> modified "Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D()" to instantiate the new contact geometry when it is necessary -> add new law : "Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment()" -> add new CohFrictMat parameters : "CohFrictMat.cylCylNormalCoh" and "CohFrictMat.cylCylShearCoh". They are used to set the cohesion between two different ChainedCylinders ("CohFrictMat.normalCohesion" and "CohFrictMat.shearCohesion" was already used inside a ChainedCylinder). Fix bugs into "Ig2_Sphere_ChainedCylinder_CylScGeom6D" and "Ig2_Sphere_ChainedCylinder_CylScGeom"
Fix an ScGeom6D bug : declare the cylCyl boolean variable as hidden in the YADE_CLASS_BASE_DOC_ATTRS_INIT_CTOR_PY instead of in the ScGeom6D class core.
Merge branch 'master' of github.com:yade/trunk
-python function for handling grid objetcs
Create new classes to add grid simulations. Grid are made of GridNodes and GridConnection (two new shapes inheriting from Sphere)
Jan Stránský (15):
added periodic cell's deformation and strain measures
improvement of Cell documentation
Cell class improvement
made stressTensorOfPeriodicCell deprecated
Fixed bug in export.VTKExporter, corrected some docstrings
little more fixes in export module docstrings
Added Law2_ScGeom_CpmPhys_Cpm class other modifications of CpmMat related classes
Added Ip2_FrictMat_CpmMat_FrictPhys functor
corrected mistake from previous commit
Fixed compilation issues in ConcretePM.cpp reported by Anton Added utils.setNewVerticesOfFacet function
improved documentation (corrected some warnings and errors during building docs, added inherited-members directive)
improvement of ymport.unv and export.VTKExporter
add example file for previous commit
fixed small bug in export.VTKExporter.exportFacetsAsMesh add geom.facetSphere
another bug fix of export.VTKExporter.exportFacetsAsMesh
Klaus Thoeni (1):
- add possibility to use local boost installation (e.g. -DLocalBoost=1.46.1)
==================================================
yade-0.80.0
Wed, May 2 21:05:12 2012 +0200
Anton Gladky (81):
Add forgotten format to ymport.textExt
Replace python-numeric on python-numpy in installation section of documentation
Fix --test
Add check on body existance in GlobalStiffnessTimeStepper. Fixes LP:891540
Fix closeGap for side walls of cylinders and cones
Return back fix from r2961. Bruno, please, make a check before commit.
Add VTK-5.8 to header search path
Fix compilation with VTK-5.8. Remove vtksqlite.
Make the code workable with ipython 0.11
Hopefully fix compilation error on clean environment.
Do not let PWaveTimeStep return "infinity"
Add maxMass parameter to Spheresfactory
Update description of maxMass
Fix compilation with boost >=1.47
DomainLimiter: * Delete spheres only * Add mass calculation * Add volume calculation * Add mask-parameter
Add mass-parameter to VTKRecorder.
Add eigen2-option into scons to force compiling with eigen2.
Fix eigen2 compiling, when "eigen2=False" by default.
Check newly created spheres on intersection with spheres, which were created in one iteration in SpheresFactory. Hopefully fixes "jumping sphere" problem, discussed here [1]
Minor changes for ipython 0.11 and 0.12
Add speed-parameter to Scene and Omega
Fix calculation speed show in batch-system
Fix prediction of finish time in batch-mode.
Fix compilation warnings on Ubuntu Precise.
Use gravity inside of NewtonIntegrator in examples and in tests.
Return the average speed of calculation from the last 10 iterations instead of current speed for the last step. Hopefully makes prediction of finish-time in batch-mode more accurate.
1. Fix a compilation error with eigen2 2. Add a variable to define number of steps, which are taken into account by speed calculation.
Rename .bzrignore to .gitignore.
Merge pull request #1 from gladk/master
Start to update main sphinx page.
Merge pull request #2 from gladk/master
Fix --check and --performance tests after moving testing scripts.
Add deleted by mistake update of main sphinx page.
Update of the main sphinx page.
Fix version defininition with git.
Ignore *.pyc files.
Merge pull request #4 from jakob-ifgt/master
Fix version number for gits. Caused error during doc-build.
ResetRandomPosition should be a child of PeriodicEngine, not GlobalEngine.
Fix some examples.
Reenable gts-scripts.
Let facetBunker.hBunker be zero.
Add parameters body::iterBorn and body::timeBorn to track the moment, when the particle was added to simulation.
Fix link to a wiki-page.
Add libboost-program-options-dev to installation section.
Add gtk2-engines-pixbuf to installation section. Escapes "Gtk-WARNING **: Im Modulpfad »pixmap« konnte keine Themen-Engine gefunden werden".
Escape warning due to ipython 0.12.
Do not output a false backtrace with ipython >= 0.10 due to log4cxx crash.
Add python-bibtex to installation section of documentation.
Remove useless check of ipython version. Now all systems must have >=10.
Do not redeclare cundallInteractionPhysics and mindlinInteractionPhysics in local scopes, as they should be global. Fixes crash LP:966186.
Add gmp for linking, when cgal-feature is activated. Fixes LP:968188
Fix unicode characters.
Parse Yade.tex and remove empty verbatim-blocks. Happens on Precise.
Add ipython_directive for ipython 0.12.
Some adjustments to build docs on Precise-systems.
Prevent cross-importing of yade modules. Closes LP:980000
Make nice output in ipython 0.12 like it was in 0.11.
Make main.py.in more readable.
Remove accidentally added ipython_directive012 extensions for all ipython versions.
Remove log4cxx support and yade.log module.
Fix compilation error on Debian Sid due to changed API of python-git module.
Minor update of examples.
Add isActive parameter to Interactions.
Merge branch 'master' of github.com:yade/trunk
Let isActive flag be changeble.
Remove "never_use_this_one" option from scons.
Remove "sphere-padder" option from scons.
Fix autotest "rotation matrix from quaternion".
Remove subdomains feature.
Fix compilation warnings.
Initialize angle* variables.
Add geom.facetParallelepiped function.
Remove executable-flag from scripts.
Remove executable line in some examples (it cannot be in /usr/local folder on all machines).
Fix some typos.
Change default value in Real-variables from NULL to -1.0.
Fox compilation warnings.
Fix compilation warnings.
Fix some typos.
Add RELEASE file for 0.80.0 version.
Bruno Chareyre (72):
- (failed) attempt to fix the documentation of export.py
- fix doc generation for the export module. Still some fixes needed concerning doc convention (wrong parameter declaration for some functions)
- makeCloud can now generate spheres on a plane (see https://answers.launchpad.net/yade/+question/175606)
remove unused bool "is2D".
- makeCloud handles periodic 2D clouds with uniform distribution and psd
- yet more fixes. The auto-setting of cell.size was not correct (typo in components)
- code cleaning
- Documentation of the capillary law (warn users on distanceFactor and neverErase flags, as in http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg07391.html.
- 2 additional references
- make body iterators jump empty slots, as suggested and discussed here: http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg07406.html - revert the (now useless) fix of r2961, similar tests can be removed in many places after the change in pointer logic is well tested. - remove a script, as agreed by Christian (https://answers.launchpad.net/yade/+question/178830)
- add/use the "neverErase" flag in Hertz laws.
- back to ordinary vector<>:iterator for bodyContainer
- smart body pointers again, also fixing the erase(0) case inside begin().
- remove the if(body) test in GSTS loop.
- attempt to fix https://bugs.launchpad.net/yade/+bug/897237 - small fix in the theoretical background
Should finally fix https://bugs.launchpad.net/yade/+bug/897237
- capillary model: nullify Fcap and volume when P changes from something to zero - remove the if(!b) test in a few important places (proof of concept + don't waste time doing the same test twice)
- fix wrong shape type testing that was giving wronf solid volume.
- update publications
- fix one bug mentionned in https://bugs.launchpad.net/yade/+bug/901146 (makeCloud with undefined num and psd) - more articles
- normalize psdCumm2 after the scaling, not before (since the scaling is determined from absolute psdCumm2).
- make it possible to include bodies larger than period conditionally, using allowLargerThanPeriod flag (as discussed in https://answers.launchpad.net/yade/+question/181411, thanks Giulia for the scipt) - document undocumented parameters of bodies creation (in utils.sphere)
- enable interaction of two larger-than period bodies (e.g. cylinder vs. box) in addition to previous commit.
- point to the "allowBiggerThanPeriod" flag in the LOG_FATAL message.
- improvements in TW interface so that one can save and load "state" files to be used for defining deformations (this will actually be used by E. Ando for analyzing experimental data!) - code cleaning
- make deformation analysis possible for arbitrary simulations (no longer depends on TriaxialEngine for defining the bounds)
- fixed undefined variable when Triaxial engine is not present
- erase bodies before adding spheres from file
- Fix typo (thanks for pointing out Klaus, actually the "i" was correct: elastic-plastic means that the law is incrementaly elastic OR plastic, while elasto-plastic laws can be both at the same time)
- big reorganization of the triangulation lib, which becomes a template library. Usage of different "info" classes for different engines is now possible, so that TWrapper doesn't have to instantiate useless variables inherited from the flow problem, and vice-versa. Will also worj for periodic flow model coming soon. - general code cleaning and removal of old files - a few hyperlinks fixed in *.bib's
- remove custom dependencies breaking compilation
Merge the "collide" branch to trunk (branch history at https://code.launchpad.net/~bruno-chareyre/yade/collide2)
- missing reference update - remove the velocityBins lines in tests since velocityBins are removed from trunk
- Draft version of the periodic fluid model from Donia Marzougui
smallfix in flow model
- fix a bracket mistake triggering ghosts definition after each insertion in periodic::triangulate() - add tests on boundary ids (<0?) before doing anything on them.
- account for sweepLength in bounds comparisons of Collider::probeVolume() - removed unused file
- Collider: fix the probe function (account for current body's position + typo in one comparison) - Newton: remove the useless "force" from damping2nd parameters, don't apply meanfield vel when not periodic (only diff is it avoids a multiplication of null matrix and vector), make gravity attribute work correctly - GravityEngine: add LOG_ERROR on deprecation (LOG_WARNING are not displayed in prebuilt package right?), better use Newton::gravity to save cpu time. - Clump.hpp: fix the template function that was using the old saveMaximaVelocity, use the new saveMaximaDisplacement instead - PeriIsoCompressor: never pause() in some c++ code, since it resuults in stuck GUI without a chance to run more timesteps
- dispatching: don't make bboxes larger for static bodies - gravity : deprec. warning - collider: try and fix Anton's crash (https://lists.launchpad.net/yade-dev/msg08256.html and next in the thread) - Newton: workaround the resetForce bug in OMP build (https://bugs.launchpad.net/yade/+bug/923929)
- small changes left behind in a previous commit (fix the "undefined IPCells") problem
- include periodic PeriodicFlow in the triangulation lib
- Compute the critical timestep correctly when clumps are present.
- make the "smoothing" of strain rate evolution configurable via a registered attribute (default=unchanged behavior)
- tell more explicitely that Young/Poisson is interpreted differently in different functors in their respective doc - make the LWStress function return pyList instead of tuple - documentation in makeCloud - default stiffness are zero, not NaN
- TWrapper: python binding for local deformations - Flow: fixes in the periodic BCs - Flow: improvements in BCs handling and imposed fluxes, toward per-step update of the RHS + code cleaning - Periodic flow: support for optimized solvers (not in trunk) by introducing cells indexes - Periodic flow: optimization of periodicity by precomputed Hsize[k]*gradP products - SpherePack: more code documentation in makeCloud
- missing in previous commit (sorry)
- fix periodicity of interactions when large bodies are present. Demo script comming soon.
- implement the compatibility between periodic fluid model and large bodies in PBCs using the "boundary" objects
- Make unbalancedForce() account for Newton::gravity (and my first git commit!)
- mirroring bzr3038 + bzr3039
- example script for large bodies in periodic BCs
compile error; remove warnings; add last diffs from Donia
Smallfix in index.html
- fix doc string in the SpherePack.toSimulation function (crashing my terminal...) - update one reference
Merge branch 'master' of github.com:yade/trunk
- fix bug https://answers.launchpad.net/yade/+question/192152 in SpherePack.toSimulation()
- fix a documentation bug (https://bugs.launchpad.net/yade/+bug/978234)
fix a warning in DomainLimiter
make periodic triax engine ScGeom friendly (a few scripts to be fixed in next commits)
- remove reversedForces flag and/or use ScGeom in the example scripts for periodicity
Merge branch 'master' of github.com:yade/trunk
- add the possibility of updating only the RHS in the fluid problem, without rebuilding the triangulation+matrix
Fix bugs introduced by incomplete addition of Real dt in some functions signature (messing virtual inheritance)
Merge branch 'master' of github.com:yade/trunk
Fix the problem of null pressure measured after retriangulation.
Bind a measurePressure() method for the periodic flow engine
allow BCs update without retriangulation via Flow::updateBCs()
Fix a bug in PeriodicVertexInfo::ghostShift
Merge branch 'master' of github.com:yade/trunk
Fix a few bugs discovered with Luc: Fluid forces splitted between particles and their images in PBC, and others. Implement the updateBCs feature for PBCs.
Enable pressure interpolation in periodic coupling
The documentation now reflects the recent changes in collider's logic.
Christian Jakob (11):
Law2_ScGeom_CapillaryPhys_Capillarity can now be used with Ip2_FrictMat_FrictMat_MindlinCapillaryPhys for hertz model
Add forgotten files
Added new example script (examples/generate-psd-with-poro-example.py)
Fixed examples in example folder, new folder called not-working
move all model examples to example folder, fixed all examples, that are not in test folder
moving checks and tests to scripts/checks-and-tests and fixing some examples in examples/test
moving checks and tests to scripts/checks-and-tests and fixing some examples in examples/test
moving checks and tests to scripts/checks-and-tests and fixing some examples in examples/test
fixed all examples
Improvements in Law2_ScGeom_CapillaryPhys_Capillarity.cpp (included isBroken flag and updated checkFusion)
make fusionDetection and isBroken flag compatible
Francois Kneib (4):
Added the interaction between cohesive sphere and cohesive chained cylinder. Created Ig2_Sphere_ChainedCylinder_CylScGeom6D and Law2_CylScGeom6D_CohFrictPhys_CohesionMoment in Cylinder.cpp. Created CylScGeom6D in CylScGeom6D.cpp. Moved CylScGeom from Cylinder.cpp to CylScGeom6D.cpp
Interaction test between a cohesive sphere and a cylinder.
Fixed some bugs in Ig2_Sphere_ChainedCylinder_CylScGeom6D() and Ig2_Sphere_ChainedCylinder_CylScGeom(). Now the contact is rightly followed when a sphere move along a chained cylinder. It works with frictional cohesive or frictional contacts.
Fixed some bugs in Ig2_Sphere_ChainedCylinder_CylScGeom6D() and Ig2_Sphere_ChainedCylinder_CylScGeom(). Now the contact is rightly followed when a sphere move along a chained cylinder. It works with frictional cohesive and frictional contacts.
Jan Stránský (6):
1) modification of CpmState class 2) some changes in py/pack/pack.py
Added Matrix6 Added damageTensor to CpmState Fixed bug 922744 (export module)
Fixed SpherePack and _getMemoizeDb incompatibility with periodic boundary conditions Corrected assert(Matrix3) in Math.hpp
O and wrapper.Omega made part of __builtin__ (equivalent to global variables). Should solve problem of question 182459
Omaga can contain more Scene instances
Fix of previous commit
Klaus Thoeni (3):
1. delete line which was commented out by Anton 2. derive WirePhys from NormShearPhys in order to use implemented functions which just support NormShearPhys (NormPhys is not supported, however, in the future if more contact laws with normal force only are implemented it might be better to introduce a boolean or so)
1. fix some typos 2. derive WirePhys from FrictPhys 3. compute limitFactor for WirePM 4. add limitFactor and normal force of wires to wpm in VTKRecorder
- add capability to deactivate the damping in NewtonIntegrator for individual particle via O.bodies[id].state.isDamped=False - use this new property in examples/WireMatPM/wirecontacttest.py
Luc Scholtes (7):
add compressibility to fluid flow scheme
delete obsolete line in flowEngine.hpp
resolve bug 983888
add compressibility to periodic flow engine
cleaning pack.py
clean FlowBoundingSphere.ipp file
Apply changes from Luc Sholtes.
Luc Sibille (1):
Update some publication references
Rémi Cailletaud (4):
Added google analytics script to sphinx doc
Build infrastructure - removed r0calcul8 from builbot nodes (hardware issues)
buildbot now builds two times, with eigen2 and eigen3
now uses xvfb for doc generation (for qt part) buildbot home on slaves changed reenabling r0calcul8
==================================================
yade-0.70.0
Sun, Oct 23 16:49:34 2011 +0200
Anton Gladky (129):
1. Prediction of simulation finish time is added to HTTP-batch server.
1. Fix of a previous commmit. Wrong prediction time.
1. HarmonicMotionEngine is added with example.
1. HarmonicMotionEngine update.
1. HarmonicRotationEngine is added including example in regular-sphere-pack.py 2. TranslationEngine is parallelized with OpenMP. 3. Translation and Rotation engines are working with Dynamic-bodies properly (temporal solution).
1. Regression tests for translation and rotation engines are added (not fully tested yet, but "all tests passed")
1. Changes from 0.60 (debian packaging).
1. scripts/debian-prep creates orig.tar.gz and removes .bzr directory
1. debian-prep creates version number with "1" at the end
1. Backporting changed from 0.60 branch
1. qt4 is "on" by default 2. Syntax fix in documentation. 3. export.text is disabled in regular-sphere-pack example
1. Initial yade.spec is added for RPM packaging
1. Fix bug in VTKRecorder (Thanks, Vaclav) 2. Cohesive-chain test disabled (please, fix it, who can...), https://yade-dem.org/buildbot/builders/yade-full/builds/127
1. Changes in .spec file
1. Some preparation to dpkg ver3.
1. Deleted isDynamic from Translation Engine
1. Commented SubdomainBalancer packs.py to make it workable with default compilation.
1. Partly fixes 692759
1. debian/copyright is changed according to debian requirements. 2. control-template is changed to make the package "lintian clean"
1. Fixed warnings in packs.py->utils.py 2. Created geom.py module for generating geometrical forms from facets. 3. utils.facetBox and utils.facetCylinder have been moved to geom.facetBox and geom.facetCylinder respectively. Backward compatibility is saved. Examples are fixed. 4. closeGap in utils.facetCylinder and utils.facetCone works now only when |anglRange|>math.pi 5. geom.facetBunker is added with corresponding example in pack.py
1. python-imaging is added to installation section of sphinx-docs as well as to debian-dependency 2. geom.facetHelix and facetPolygon are added with examples
1. Closes #702296, if somebody uses rotationengines, please, update!
1. regression tests of kinematic engines are updated and activated.
1. Updated regression tests. Rotation engines.
1. HelixEngine updated, dublicated code deleted. 2. HelixEngine is added to regression tests.
1. Extra Quaternionr q() definition is deleted from RotationEngine (thanks, Bruno)
1. Shop::getStressForEachBody() is now returning stresses for FrictPhys+ScGeom combination; not only NormShearPhys+Dem3DofGeom
1. Added debian/watch to track new yade versions. 2. Some small modifications in debian/control-template to escape lintian warnings.
1. vtk-5.6 path is added to SConstruct to make it compilable with Debain experimental 2. Fixing spelling mistakes in documentation. 3. debian/ -directory changes.
1. Fix lintian warnings in manpages.
1. jquery.js in documentation is now symlink to a packaged jquery, if it is available.
1. Debian-directory cleaning and modifying (checked with lintian -IE --pedantic, no warnings at all).
1. openmp-feature is added into the debian-build options.
1. Hopefully fixes previous error on building PDF (not checked yet).
1. One more try to fix tex-failure.
1. Missing files and licenses are added to debian/copyright
1. yade-support plugin is added to lib/SConscript as described here https://bugs.launchpad.net/yade/+bug/707966/comments/2
1. Hopefully fixes bug 707966, additional libraries are added for linking in shared libraries (vtk*)
1. Small fixes in debian/copyright to escape lintian-warnings.
1. debian/ is moved to scripts directory 2. scripts/debian-prep scripts copies ./scripts/debian/ to ./debian/
1. Regression test of yade.plot.addAutoData() is partly disabled is due to https://bugs.launchpad.net/yade/+bug/715739
1. Build-script and buildbot-config are moved to scripts/build-infrastructure
1. Updated installation instructions 2. Updated spec-file for RPM-packaging
1. Added a patch to escape -rpath (an ugly and "very" experimental)
1. Fixed Tutorial link in documentation (taken from https://www.yade-dem.org/sphinx/tutorial.html) 2. Some small fixes in documentation 3. Changes in spec-file for RPM-packaging
1. LOG_INFO and LOG_WARN are disabled when log4cxx feature is disabled.
1. Added shop.py. Like shop.cpp but in python not to make yade.utils too crowd 2. Added yade.geom and yade.shop to sphinx 3. Some fixes in docs 4. yade.shop.spheresPackDimensions is added with corresponding example in packs.py
1. scripts/debian-prep does not insert now distribution name into the version number.
Update of spec-file for RPM packaging
1. vtkNetCDF was deleted from vtk-libs due to absence in libvtk5.6-dev. Seems functionality is not corrupted.
1. python-sphinx dependency for Debian is changed to >=1.069
1. Added python-imaging to Debian packaging rules. 2. Fix spelling in documentation. 3. Debian-Template yade-doc file is fixed (0.60 version was hard-coded)
1. Update installation information in documentation.
Fix in installation documentation
1. RPM-spec file update 2. Old yade.spec was moved from the root directory to scripts/RPM_packaging
1. Fixed some docs 2. shop.spheresPackDimensions can accept now a list of bodies, not only the list of their id's
1. yade.shop module is renamed to yade.bodiesHandling to get more adequate name 2. added bodiesHandling.spheresModify to modify a pack of spheres. Corresponding example is in examples/packs/packs.py 3. added bodiesHandling.sphereDuplicate to make a copy of sphere
1. Renaming shop.py to bodiesHandling.py
1. ForceRecorder renamed to ForceTorqueRecorder 2. TorqueRecorder is added
1. Changed yade.spec file. Seems, working now.
INSTALL_PREFIX option is added to CMakeLists.txt
CHUNKSIZE option is added to CMakeLists
LIB_EIGEN_PATH is added to CMakeLists.txt
Typo fix in previous commit
Fix formula displaying in utils.getViscoelasticFromSpheresInteraction
"mask" parameter is added to GravitiEngines to make it more flexible.
1. ForceRecorder.totalForce and TorqueRecorder.totalTorque are now accessible from python interface 2. Fix in TorqueRecorder: getTorque is added
1. Fix TorqueRecorder calculation
utils.shiftBodies function is added to move bodies without velocity update.
1. in utils.sumTorques and utils.sumForces py::tuple has been changed to py::list. I think it is more convinient. 2. added RuntimeError() to checkTestTriax.py. Bruno, are you agree?
1. Added new checkWeight test to --check scripts 2. It is not neccessary now to add the script name into the checkList.py, just drop a new script into the scripts/test/checks directory
1. Updated build-farm script (building Debian and Ubuntu packages for different distributions). 2. Updated installation section of documentation (Gentoo installation).
1. Some changes in installation section (Gentoo) 2. Check tests are now running like --test, returning error code if something went wrong.
1. Performance test is added. Initial script.
1. Small changes in installation section. 2. voxelPorosityTriaxial doctests are transformed to a simple source code demonstration due to results instability (candidate to --checks section http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg06635.html ) 3. Added initial sqlite database of performances on different machines.
1. Fixes bug #724396. Thanks Sergei and Vaclav.
1. Make trunk compilable with Eigen3 (coming soon). No performance test results yet.
1. Color output for --performance tests is added.
1. Fix doc generation of the previous commit. 2. Added a link to revision archive on yade-dem.org
Color output in --performance tests is deleted.
Add Eigen3 transparent support: if eigen3 persists in the system, it will be used by default, otherwise - eigen2
Fix Eigen3-Eigen2 detection variables.
Fixes 748943. Thanks Bruno for pointing out
Add "stop" button at the batch-panel
Fix spelling errors: allows to...
1. Replace "subscribedBodies" to "ids" almost everywhere in the code. 2. Fix a couple of examples.
1. Move Dragengine from SphereFactory to ForceEngine. 2. Fixes in ForceEngine (crashed, when force applied to non existing body)
Add LinearDragEngine
1. Fix a crash, which appears, when force is read from non-existing body. 2. Fix warning in CohesiveFrictionalContactLaw
1. --check tests are now copying into the libDir/py/yade/tests/checks folder to make it available in packaged yade version. 2. Rename "dataTriax" folder to "data" to make this folder and for other tests suitable.
Added syncSizesOfContainers to forceContainer::reset() for the case of not using NewtonIntegrator in scripts
Remove PressTestEngine, because python-variant works much better
Fix an error, when spheresPackDimensions tried to get states of non-existent bodies
Skip empty ids in KinematicEngine
Fixes nans in ViscoelasticPM, when kn=0 or ks=0. Fixes 804650
Fixes crash, causing by saving-loading simulation with erased bodies. Fixes #803774
Add one more --check scripts to check GravityEngine and NewtonIntegrator
Change the number of steps for checkGravity.py
Add O.wait() at the end of checkGravity-test. Hopefully will fix the buildbot-error.
Add utils.getSpheresMass
Add mask-option to SpheresFactory
Add ids-parameter to SphereFactory to get the ids of newly created bodies
Add utils.psd(). First try
Add mask-parameter to utils.getSpheresVolume and utils.getSpheresMass
Fix (hopefully) simulation abort, when an interaction::erase is trying to delete an interaction, where one of bodies is already removed from simulation (id2)
1. Add PSD-support to SpheresFactory (not finished, but already working) 2. Add exception in utils.psd(), if all particles have the same diameter
Simplify utils.psd()
Add forgotten PSDuse-variable initialization in SpheresFactory
Add comment on doubtful check of b2 in InteractionContainer::erase
Simplify PSD-input data for SpheresFactory
Fix file-creation error in yade-batch, when name of log-file is longer, than 255 symbols. The name cuts off now.
Add exactDiam flag to SpheresFactory
1. Add example of SpheresFactory into packs.py 2. Add stopIfFailed flag to SpheresFactory.
-Remove dublicating item in references
Fix some errors during doc-generation
Fix crash in capillary law (removed bodies were not checked)
Add mask-parameter for spheresPackDimensions
Fix mask-check in several places
Fix in spheresPackDimensions. The bug appeared, when only mask was inputted
Add mask-parameter to spheresModify.
Fix a default parameter for ids in spheresPackDimensions
Add some more parameters to spheresPackDimensions
1. Remove "consider" parameter from textExp function 2. Add "mask" parameter into textExp function 3. Add one more format for output.
Delete all corresponding iterations explicitely, when the body is erased
Fix compilation error during debug-mode
Move not-working examples into the corresponding folder.
Update news
Fix link to installation page
0.70.0
Bruno Chareyre (130):
- Rename Cohesive law functor with "6D" as in "ScGeom6D" - Same for chanedCylinder's Ig2 functor. - update scripts.
- Fix compile crashers due to bad include paths.
- Keep robust kernel the default.
- re-enable cohesive chain test
- declare deprecated names (part of r2543) - revert experimental parameters previously commited by mistake in cylinder script
- Make TriaxialTest behave correctly by default - as it used to, i.e. generate the correct number of particles in a cube of size 1.
- disable the last comparison on velocities (see https://lists.launchpad.net/yade-dev/msg06178.html)
- add the mandatory "bool periodic" parameter for makeCloud.
- Prepare linear solver usage in FlowEngine. - Some cleaning. - Add inexes to triangulation cells fro vectorization.
- remove a warning in Tesselation.cpp - fix FlowBonding sphere for first iteration and a few other things - make GaussSeidel virtual in FBS
- handle different solvers. - small optimization on dt divisions.
- FlowEngine : rewrite updateVolume so that cell volumes are not computed twice. - Remove irrelevant remark in SCPE - Some missing "6D" here and ther in decorations (could affect only devirtualized build)
- Implement tensile plasticity and add the corresponding parameters in CohFrictPhys.
- recent commits broke or modified something in cohesive law. The reg. test points it out.
- restore default CohFrict behaviour
- PeriTriax : remove the constant-distance approximation in stress definition, using wrapped coordinates instead of radii. - Get back standalone energy tracing in ECL.
- Cylinders : handle cylinder-sphere contacts with a fictious state representing interpolated motion between nodes and passed to ScGeom - Cylinders : implement CundallStrack for interaction between 3 bodies (1 body + 2 nodes) - Cylinders : a number of fixes - no more bugs it seems - Cylinders : handle zero-sized element for terminating chains - Cylinders : update scripts; add example script chained-cylinder-roots.py, with cylinders, spheres, and boxes - Ig2_Box_Sphere_ScGeom : small class name fixes ("6D") - utils.py : adapt cylinders linking - ElasticContactLaw : don't use Body::byId when possible - ScGeom6D : put quaternion normalization between #ifdef guards (debug only)
- clean the script.
- recommit 2608 with fixed reg test (making ratcheting correction negligeable with dist=.999999999999999999*size) - also fix the compile errors
- r2608 again, sorry. Local tests are invalidated by last changes in setDynamic, but the commit is correct.
- finish implementation of contacts tracking on chained cylinders. - some cleaning and doc update
Fix : mistake in prev. commit while cleaning cylinder code.
- recommit 2617 without the autoformating from kbibtex.
- Doc : give precise references for triaxial algorithms.
- Deeper integration of isDynamic semantic : skip velocity integration, damping, DOFs blocking, and exact spherical rotations, when !isDynamic. 0-density bodies should be safe. - Partial DOFs blocking is not implemented yet.
- ratcheting documentation : improve and unify source and inline versions.
- As in r2615 : skip velocity update, damping, DOFs blocking, and exact spherical rotations, when !isDynamic. 0-density bodies should be safe. This is a merging r2615 with the per-DOF blocking and clump handling from r2621.
- updated FIXME, it seems we do the same thing twice
-Fix kinetic energy definition.
- Fix stripes display - Add secondary light and register light parameters - define specular exponent for smoother display - define and use GL display lists
- review and update of documentation in a series of class - adapt TSC and TCE to new non-dynamic behaviour (more changes and cleaning planned) - remove prevNormal and frictionAngle from FrictPhys - Add temporary FrictPhysTransitory for compatibility of old laws - Rename Ip2_2xCohFrictMat_CohFrictPhys for names consistency, as suggested by Janek
-As in r2615 and r2622 (both reverted), and partialy in r2626 : skip acceleration, per-dof blocking, damping, and velocity update for bodies and clumps in case of DOF_ALL blocking (per DOF operations are useless in such case). Please don't revert unless there is a reason to compute DOF_ALL's acceleration and it is guaranteed bug-free (see list). Discussion more than welcome, of course.
- Fix one mistake in previous commit (incrementing angVel even for asphericals), sorry. - Move clump damping after the foreach(member) loop, so that it will damp the total acceleration at clump's level.
- Don't damp clump members. Instead, compute undamped acceleration and damp it at the clump's level. - Similar mechanism implemented for DOF's blocking : compute unblocked accelerations and block at the end (remember blocking one DOF triggers tests and divisions). - Still possible optimizations (especially for spherical rotations and translations), see https://blueprints.launchpad.net/yade/+spec/clump-forces. - One FIXME : aspherical damping is not correct a.t.m. since it uses torque where angAccel should be provided (suggested fix in sources). - Probably fixes a few inconsistencies in previous commits.
- Missing in last commit (fix builbot failure)
-Fix sphere rendering for closing/opening qtview (closing was deleting existing display lists, new view was empty) -Make quality apply for striped spheres as well -Make it possible to turn duplicated spheres on/off in periodic BC -Separate GLUT and striped spheres functions for clarity -Optimize stripes rendering with GL_TRIANGLE_STRIP
- A checkTest for triaxial simulations.
- Add a function (and python wrapper) computing the exact mean stress in each sphere.
-fix compile error in prev commit.
- Integrate check tests in yade options (see README). - Handle PBCs in Shop::getStressLWForEachBody (not tested)
- uncouple Hsize and trsf, add setters for attributes Cell::trsf and Cell::refSize, update all scripts. (see http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg06101.html and next in thread).
- Fix some temporary stuff left behind (safe but useless) + get back one line of comment removed by mistake.
- update periodicity documentation - rename Hsize->hSize to be consistent with names convention. - remove a duplicated ref and add a CGAL ref
- one file left behind in last commit, sorry.
- Add resetTrsf() to set trsf without side effects. - minor updates of attributes doc to be consistent with recent changes.
-Don't maintain refSize in setHsize, in hope that we will not drag it forever, as suggested in https://lists.launchpad.net/yade-dev/msg06836.html.
- Fic classname and give working example.
- update bodyStressTensor doc.
makecloud update (recommit after fix) - Fix psd transformation from mass distrib to number distrib. - Make sure the function will always return the number of particles required by the user as soon as it is psecified. - If num is specified, generate sizes the deterministic way by descending order. - make porosity parameter optional and give it a default value. - update doc and script.
- make Cell.size read/write for faster hSize setting. - improve and simplify documentation (the older method is no longer documented)
small typo in property name ("sizes" instead of "size")
- Move older or redundant interface between #ifdef CELL_BACKW_COMPAT guards. - Replace refSize by current size in PeriTriax - forget adding the "s" in "cell.sizes", since existing scripts are already using "cell.size" -> fix sphinx doc about this.
- some more Cell doc. After typing the paragraph on display, I realize w'd better not update refHSize when trsf=s-------------- This line and the following will be ignored --------------
- some more cell doc.
As discussed on the list: - Don't update refHSize when trsf is defined - Update it when hSize (like before) or size are assigned - use current size in PeriEngine - remove unneccesary cell attributes - replace setBox by size - update doc (atributes and header) consistently
- Forgot to save Cell.h before committing : updated header doc.
Yet more cleaning in cell (sorry).
- remove FrictPhysTransitory
- A few changes in Cell as discussed in the list. - Updated doc.
- Attempt to fix buildbot output in triaxCheckTest (LOG_INFO are disabled by default on my machine but the buildbot has a different behavior it seems, which gives lots of junk lines) in the log.
- Add a script demonstrating use of inclined initial cell and reseting trsf - Small doc or formatting fixes here and there
- add hSize parameter to makeCloud so that it can generate arbitrary parallelepipeds (previously working only by luck on a few special geometries) - documentation - usage in script, which uses now more funny shape (try it!)
- Preparation for citation (wiki won't accept text file uploads => commiting to trunk)
- Include Yade citation page in doc, and add links in different places. - Add 'InCollection' keyword in bib2rst
- One missing file + updated links to individual pdf's in pub.rst.in
Missing in previous commits (the most important file...)
- Fixing a few links.
- more fixes...
- A typo left in index.html. Changes in this file are not reflected in documentation built localy, and erasing the _built dir breaks sphinx builds. It makes changes in sphinx main difficult.
-link to discussion of citation model
- run "xelatex Yade.tex" twice, so that the content table is generated correctly.
- Small fix in makeCloud (hSize not passed correctly in recursive calls)
Format check tests output better.
Small fix in unbalancedForce doc.
- per-point imposed pressure mechanism.
- per-point imposed pressure mechanism - one fix in permeabilites along boundaries
- remove save_vtk flag and add python wrapping
- Add functions for constrictions sizes statistics. - Remove a few compile warnings.
-fix accents and reference name in Catalano's entries
-Update clumps forces and torques in Newton, as in https://blueprints.launchpad.net/yade/+spec/clump-forces. -Update Shop::unbalancedForce accordingly -Remove the old unbalancedForce code from TSController and make it point to the Shop version.
- re-fix fluid area definition - some cleaning here and there (Donia+Bruno)
- fix fluidArea correction (S0) - Optimal computations by storing fluid/total ratio in cells info
- handle changes in cell's volumes sign - add converters from Eigen vectors to CGAL vectors
- small fixes in references
- cell volume update was disabled -> enable again
- Fix the behavior of bodies moved with the mouse with respect to the new isDynamic behaviour. - The velocity is now defined correctly so that contacts on the moved object are computed correctly
- use same ordering convention for boundaries in triax and in aabbBoxes. - removed useless variable - correct initialisation of compression axis
- Set default values of walls ids - Fix cells volume functions - Add a vertex accessor Tesselation.vertex(body_id) - Various improvements
- fix the action condition (was it never tested?)
- invert x and y axis for getting stress (the convention changed in r2830)
A section on devpt tools and check tests in programmer manual.
- doc smallfix
- improved section on regression test
- fix (in fact workaround...) bad display of double minus (--) in sphinx.
- typos
End a sentence... (thanks Jerome)
- more explicit notes on citing (I realized it was not clear while reviewing a paper citing yade ;-)) - again small fixes in the "development tools" section
- remove many warnings - handle viscous shear force gracefully
- don't exit the checkList when one checkTest fails, we want all of them tested in all cases
- move unstable test out of checks
- add Ohloh widget to main page
- small fixes in the example script (so that it actually works).
- add setImposedPressure that let the p value be modified
-shift returned p index
- import pack and utils at startup
Make accents more bibtex-user-friendly in bibtex entries.
typos fixing
- fix problems again, sorry
- standardize the first page of yade doc and add metadata to the pdf, so that online scanners will identify it correctly (not title:"Smilauer", author: "Catalano"...) - fix a few references
- Feng Chen PhD + paper (thanks Feng!) - some small updates
- fix typo (thanks Remi) - change sections ordering
- an attempt to fix builbot-side compile error in the html version of "formulation" chapter (compile ok locally)
- A few fixes on deprecated attributes.
Small fix in shear stiffness averaging (thanks Emanuele)
code cleaning only (including example usage of stringstream for Ema)
- One more entry in PhDs (Jerier)
- fix documentation (missing factor in an equation)
- fix bug 2) found by chiara (https://answers.launchpad.net/yade/+question/169689)
- link to libgmpcxx explicitey if cgal in features. Solves runtime undefined symbol on natty.
- Include the material from the school in Grenoble in a subfolder of /scripts
Remove files added by mistake.
- Add material from the "discrete mechanics" school in Grenoble 2011.
- fix the "homoDeform" bug https://bugs.launchpad.net/yade/+bug/836867, and adapt regression tests so they don't test homoDeform=1 - add gravity to Newton - tune front page of the documentation to be more google-scholar-friendly
- include gravity a bit differently in Newton, so that it's reflected in scene->forces and accounted in the unbalanced force definition.
- one more PhD done with Yade - remove Ohloh widget since it's never clicked and suggest an underestimated number of users - small addition in TSC documentation
- fix Newton::gravity usage. Weight is g*mass, not just g...
master thesis on yade-fluid coupling uploaded on wiki and added to references.
- fix typo
- remove the bibtex entry "Yade DEM" without authorship. It could only be misleading and make people use inadequate reference.
- fix https://bugs.launchpad.net/yade/+bug/693505 - don't crash the TSRecorder when bodies are removed
Chiara Modenese (19):
1. Move alphas parameters to FrictMat as discussed with Bruno (harmonic-average of them is introduced in Ip2 functor). 2. Forgot one inequality when plasticity is applied (maybe I do not like tests so much :-) Sorry, anyway).
- Adjust definition of maximum strength for rolling resistance (thanks to Bruno for suggestion).
- Get rid of prevNormal (MindlinPhys inherits again from FrictPhys) - Small changes to HM (I added the code for the moment rotation but using quaternions, work in progress to use the incremental formulation instead of that)
- Add incremental formulation for the moment rotation (bending only) to HM law (it is very similar to the code for the shear part as written in ScGeom - it has been tested but feedbacks are welcome). PS Let me know if you are interested to have it also in "Law2_ScGeom6D_CohFrictPhys_CohesionMoment" where actually the total formulation is already present. @Bruno: maybe in ScGeom we could add this incremental formulation too?
- Add relAngVel function to ScGeom (a similar version can be called from python as done for incidentVel) @Bruno: I would like to add the incremental formulation to CFLaw, how do you suggest to do that? Maybe I can use a bool something like (useIncrementalForm)?
- Add the possibility to calculate bending and twisting moments using the incremental formulation in both CFLaw and HMLaw; - Add maximum elastic torsional moment in CFLaw (it should be computed using normal force, I will see how to compute it somehow); - Fix mistake in mindlin.py example script.
- Add a seed parameter to makeCloud, particleSD and particleSD2 functions. The parameter is used to initialize the random number generator.
- Add calculation of fabric tensor for periodic cell as according to Satake (bib is updated too). The tensor can also be spit into two different parts each of them related to strong and weak contact forces respectively. - Small changes in HM.
- Calculation of fabric tensor takes care of the sign of normal force (I think this is the way to do it if we have cohesive forces but I will check again in the existing literature). Also the tensor can be split into two parts according to the mean contact force or a threshold value if this is going to be specified (thanks Vincent for suggestion).
- Add a function to HMLaw which computes the ratio of sliding contacts. - Adjust the sign convention in the computation of the fabric tensor. Now the tensor can also be split into tensile and compressive part (simply setting the threshold value equal to 0 - added documentation about that). - Rename (for the fabric tensor function only) compressionPositive to revertSign (that is the meaning indeed - work in progress to use the scene flag and make automatic distinction whichever law is used).
- Average stress tensor of periodic cell can also be spit into two contributions, given a threshold value (mean force by default).
- Forgot the reference (sorry). Fix doc.
- Add formulation for determination of time step for elastic spheres according to Rayleigh wave speed.
Fix small bug in HM (only in case of viscous damping).
- Wrap Eigen function to get eigenvalues and eigenvectors of a Matrix3r in py - Small fix in HM
- For now, add 2d version of particleSD (discrete distribution) - for other type of distributions (like the one generated by makeCloud), something similar can be done.
- Fix color map in shop (thanks Vaclav).
- Fix bug in Periodic Boundary. scene->cell->prevVelGrad was never updated. It was equivalent to apply homoDeform=2 in place of homoDeform=3. (Thanks, Vaclav)
- fix bug 1) as discussed in (https://answers.launchpad.net/yade/+question/169689)
Donia Marzougui (1):
- Add viscous shear force definition (disabled by default) (Donia+Bruno)
Emanuele Catalano (19):
- Retriangulation controlled by a volumetric deformation threshold - Substituted pkg-dem in pkg/dem (and similar) to included files - Removed #define flow_engine line from def_type, definition is moved to the scons profile
- Reorganized debuggin' - Found and corrected a error in boundary creator - Changed names of .h files
- new function for adding bounding planes
- Update flow code.
- Fixed compilation errors
- Fluid velocity calculation takes into account of facets velocities - Update flow code
- Update flow code
- Correction on facet fluid/solid surfaces calculation
- Fixed calculation of fluid velocity in cells
- re-fix fluidArea correction (S0) by Donia
- Fix error in Volume_cell function.
- Fix retriangulation issue - Fixed two warnings in FlowEngine
- Changed link to deprecated utils.encodeVideoFromFrames with utils.makeVideo (hope i did it properly, first time I modify docs)
- Reordering new function for viscous force calculation - Added computation of average cell permeability for visualization
- Removed correction on smallest permeabilities - Porosity computation neglects boundaries - New functions ImposeFlux() and GetFlux() for one-point fluid injection
- FlowEngine does not depend on TriaxialCompressionEngine anymore - Clean of useless variables
- Consolidation files writers move to python scripts (Flow functions MeasurePorePressure and MeasurePressureProfile do what is needed) - Removed superfluous variables
- Fix segfault due to uninitialised normal to walls
- Add function to measure slice-averaged pressure values
Jan Stránský (5):
Little changes in CpmStateUpdater
1. Changes in ConcretePM.cpp 2. added yade.ymport.unv function 3. added yade.export.VTKExporter class 4. added method outer to Vector3 in Python
Small changes in yade.ymport.unv and corresponding example
Change of CpmMat.relDuctility to CpmMat.crackOpening (making Cpm model more particle size independent)
rotation of facets taken into account in yade.export.VTKExporter
Janek Kozicki (10):
plot.py: added `legendPosition` and `legendPositionSecondary` so we can decide where the legend should be placed, by default it is 'upper left' and 'upper right'
Added yade.utils.voxelPorosity and yade.utils.voxelPorosityTriaxial. It allows calculating porosity at any arbitrary sub-volume of a whole sample. See included documentation.
small documentation fix
standalone example almost works. I still have some problem with sample randomness, and exact answers.
Added another variation of simple scene - this one is for energy tracking
added nice legend to the plots
more flexibility, few more parameters on the top of the script.
better default parameters, use dict(...) to read O.energy.items()
last correction for simple scene energy tracking example - I forgot to commit changes in CohesiveFrictionalContactLaw but in fact maybe better if those methods for calculating elastic normal & shear energy would be moved somewhere else, maybe to shop? I'm not sure.
fix warning, add plastic dissipation tracking
Jerome Duriez (17):
Details
Fixes https://bugs.launchpad.net/yade/+bug/672473 (an error in the script finally...)
Details changes in comments of Vector3r forcesOnPlane(..), after http://www.mail-archive.com/yade-users@lists.launchpad.net/msg02610.html. Hoping you agree, Vaclav (if not, do not hesitate to revert !)
Few typos corrected in doc, and pack.py.
Changes in "normalInelasticity" files suggested by http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg06011.html
Fixes https://bugs.launchpad.net/yade/+bug/706937
Minor changes - typos in programmer doc - removal of useless backward compability in system.py - removal or english translations of comments in the three c++ files
- some changes in normalInelasticity-test - add of a check version of this script - add of a sentence about these check tests in prog.rst - changes of deprecated function in tutorial scripts - typo in some other rst - add of a note about plot.plot in plot.py - beginning changes in SimpleShear preprocessor
- initialization of many variables in Law2_Normal.... - relative difference considered in check test, instead of absolute one
- add of some hyperlinks in doc - changes in scripts. At the moment I can run ~20 times the proposed checkTest without fails (did not make more than ~20). Fails occured when interaction disappeared. Wait however a bit...
- still small changes in doc mainly
- add of a "by" in doc - re let work the .py, modifiying definition of state.blockedDOFS
- maintaining of SimpleShear FileGenerator - checkTestNormalInelasticity.py again among check tests. I launched it more than 20 times without crash here
Let spheres of SimpleShear be wiser (reducing GSTS->defaultDt)
- changes in simpleShear.py - correction of small error in doc (I think)
Few changes in doc (sphinx and Sconstruct's one) after https://answers.launchpad.net/yade/+question/169042
- In Law2... add of a requestErase of the interactions with un<0, which was missing. Could help https://bugs.launchpad.net/yade/+bug/810056 ?
Klaus Thoeni (11):
New implementation of a particle model for wires and rockfall meshes (initial state)
1. Fixed problem in postLoad (regression tests should work now) 2. Add some examples for testing the new WirePM with 2 particles
update scripts for the WireMatPM
1. implement packing for the WireMatPM 2. add some examples for the WireMatPM
1. correct affiliation in doc/sphinx/conf.py 2. derive WirePM from FrictMat 3. add value which indicates how far interactions are from normal failing (currently just used in WirePM)
1. move value which indicates how far interactions are from normal failing to WirePhys since only WirePM is using it
1. update WirePM scripts in scripts/test/WireMatPM 2. add a simple example for interaction of FrictMat and WireMat: examples/WireMatPM/wirecontacttest.py
1. add some more comments
1. add some more comments 2. correct some typos
1. fix problem (segmentation fault) for save/load simulations with WireMat 2. correct some typos
1. update scripts 2. add unbalancedForce to diagram in wirecontacttest.py
Rémi Cailletaud (5):
Added buildbot master.cfg file in scripts dir
- removed log4cxx from build options beacause of wrong exit status (https://bugs.launchpad.net/yade/+bug/410250)
buildbot now creates a source targz
Build infrastructure : buildot script modified after an update of nagios probes
modifiied buildbot configuration to fix tarball build
Sergei Dorofeenko (15):
fix Bug 672623; fix some examples
merge with trunk
1.Add silent switcher to NozzleFactory; 2.Fix examples
merge with trunk
1.Fix RotationEngine for new meaning non-dynamic bodies 2.Fix STLImporter 3.!!! Set aspherical=False for a facets. Need more consideration. 4.!!! blockedDOFs for leapfrogAsphericalRotate need more consideration.
fix bug [Bug 692452]
1. ViscoelasticPM: release from prevNormal; 2.Small fixes
merge with trunk
1. Rename NozzleFactory to SpheresFactory; add derived CircularFactory and QuadroFactory. Example is scripts/test/spheresFactory.py 2. small fixes
fix examples
1. Rename QuadroFactory to BoxFactory; some fixing SpheresFactory 2. Rename facet->nf to facet->normal; access to the facet's normal from python 3. Fix examples
typo fix
and more typo fix
fix bug #721107
1.Add utils.trackPerfomance; 2.Small fix
Unknown (2):
Modify CohFrict* classes as discussed with Bruno on the list.
1. Move alphas parameters to FrictMat as discussed with Bruno (harmonic-average of them is introduced in Ip2 functor). 2. Forgot one inequality when plasticity is applied (maybe I do not like tests so much :-) Sorry, anyway).
Václav Šmilauer (75):
1. Fix Clump compilation in debug mode
small fixes in scons
1. Replace includes {lib,pkg}-* with {lib,pkg}/*; compiles (no full compilation tested)
1. Implement an initial version of generating loose clump packings of predefined configuration with SpherePack (TODO: do not recompute clump properties when adding them using toSimulation for each of them separately, but use those precomputed on given configurations). See scripts/test/clumpPack.py 2. Make selection of clump member highlight the whole clump in OpenGL 2. Add Dong2010 article to articles done with yade (authors contacted for fulltext)
1. Fix particle highlighting bug introduced lastly 2. Enhance the SpherePack.makeClumpCloud routine to be much more efficient (uses bounding spheres) 3. Add Ig2_Wall_Sphere_ScGeom 4. Enhance scripts/test/clumpPack.py
Some experiments with cmake
1. Add optional MatchMaker to Ip2_FrictMat_FrictMat_FrictPhys to decide how to compute contact friction angle.
1. Fix include paths pkg-common to pkg/common etc, merge other changes.
1. Allow O.engines to be modified inside the loop from python 2. Fix include dir creation (thanks, buildbot) 3. Fix Ip2_FrictMat_FrictMat_FrictPhys failure (inversed conditional) 4. Add tests for substepping, modification of O.engines and Engine.dead 5. Remove O.initializers
1. Add energy tracking to GravityEngine, NewtonIntegrator, PeriIsoCompressor (the last one not tested yet) 2. Update scripts/test/energy.py 3. DISABLE cohesive-chain test, since it was already broken by previous Bruno's commits
1. Add detailed docs for plot.saveDataTxt 2. Do not add dissipated energy if zero in Law2_ScGeom_FrictPhys_CundallStrack 3. Set friction to zero in scripts/test/energy.py
1. Do not enable draggable legent if not supported by matplotlib (thansk, buildbot)
1. Fix erroneous assert in the integrator (energy & clumps) 2. Fix bug in distance computation in SpherePack.makeClumpCloud 3. Make scripts/test/energy.py use clumps (and no friction) to have rotations, as Bruno suggested.
1. Fix chunkSize=1 builds (bug introduced by changing include paths) 2. Add octree visualization engine (for debugging clump computation) 3. Make editor of sequence of serializables resize more intelligently
1. Simplify InteractionContainer, move interactions inside bodies (NOT useful for getting all interactions of a body) 2. Advance with cmake a little bit (nothing functional yet) 3. Remove YADE_REQUIRE_FEATURE, use plain #ifdefs instead (empty files will be compiled, oh well) 4. Remove a few files that were apparently not compiled for a very long time.
1. Fix compilation pb with cgal (sorry, cgal does not compile with clang, so does not get much coverage from me). Thanks to Ema for reporting.
1. Initial subdomain support, which includes NewtonIntegrator, GravityEngine, InteractionLoop; new SubdomainOptimizer to put bodies to subdomains.
1. SubdomainOptimizer now splits domain and adjusts later so that there is similar number of particles in all domains 2. Add --cores option, defining CPU affinity; based on some tests, it actually hurts performance... :-| 3. #define likely/unlikely (like in Linux kernel) and use it in a few conditions in loops to help the compiler 4. Fix a strainge numerical "bug" in InsertionSortCollider where the same id has inversion with itself (min>max?) 5. Add pack.inParallelepiped predicate (not yet tested) 6. pack.filterSpherePack now returns SpherePack (the other routines are still to be made consistent...) -- see https://lists.launchpad.net/yade-users/msg03887.html
1. Backport doc generation crash (picked from subdomains)
Remove extra asserts to make Anton happier (sorry, forgotten stuff)
1. Add timing statistics to yade-batch 2. Make cmake closer to functional build 3. Fix xmlrpc error in the window between job start and xmlrpc-readiness 4. Add a few options to batch, make cpu affinity optional 5. Add subdomain mask to OpenGLRenderer 6. add unlikely to some conditionals in loops
1. Fix requestErase of erased interaction (thanks to Anton for reporting)
Fix INteractionContainer bug, enhance the timing table for batch.
1. Assume cache line size 64 bytes in OpenMPAccumulator, if sysconf reports zero (should fix startup FPU exception reported by Giulia)
1. Merge the subdomain branch, enable subdomains feature to enable 2. Delete some obsolete code in scons
1. Add access to clump member from python 2. Fix Clump i/o (clumpId was not saved) 3. Rename regular-sphere-pack to packs 4. Fix a few bugs (thanks, Anton) 5. Fix SubdomainOptimizer behavior in some corner cases 6. Add some checks to qt4
1. Fix L3Geom, add Sphere+Wall interactions, plus some benchmark scripts 2. Add NewtonIntegrator.kinSplit, to track translational and rotational energy separately 3. Add --randomize option to batch, for running jobs in arbitrary order 4. Make Body::setDynamic() (un)block State.blockedDOFs (for future compat) 5. Add Serializable::cast<Type> static casting method 6. Several fixes in utils, plot etc
1. Add MatchMaker(Real) ctor 2. Adjust timing report format for batch (precision)
1. Fixes in L3Geom, L6Geom & friends 2. Add scripts/test/beam-l6geom.py to demonstrate L6Geom 3. Fix LawTester so that ti works with all 6 dofs reliably now
1. Add Gl1_L6Geom, and a few params to Gl1_L3Geom as well 2. Add movie to scripts/test/beam-l6geom.py
1. Remove some obsolete files, update INSTALL and NEWS 2. Make qt._GLViewer properly documented with sphinx
Fix compilation error introduced lastly, sorry.
1. yade-batch can run a single job (without parameter table) 2. Avoid some exceptions in plot
1. Make the i/o regression test quiet by adding quiet flag to saveTmp/loadTmp 2. Facet has NaN vertices by default, and Facet.postLoad returns without warning in such case 3. LawTester now has most data as Vector6r instead of 2xVector3r. The syntax changed (backwards-compat with warnings, sorry), path should be disPath, ptOurs, ptGeom, rotOurs, rotGeom is now in uGeom and uTest 4. Add Vector6.head() and Vector6.tail() to return first/second triplet as Vector3 in python (corresponds to start<3>() and end<3>() in eigen2 and head<3>()/tail<3>() in eigen3) 5. Make the qt4 interface display Vector6 properly
1. Fix batch script (thanks, Anton) 2. Fix MatchMaker docscring format
1. Add support for ScGeom6D to LawTester (not tested...)
1. Fix orientation of rotations for ScGeom6D in LawTester
1. Remove Body::flags/FLAG_DYNAMIC, setDynamic now merely sets state->blockedDOFs=State::DOF_ALL etc. 2. Remove some deprecated code chunks
1. Add documentation for Ig2_Sphere_Sphere_L3Geom_Inc 2. Add regression tests for PBC & L3Geom 3. Fix syntax in other docs as necessary
1. Add docs for LawTester, and fix docs elsewhere as well.
1. remove devirt-functors (unused) 2. rename SubdomainOptimizer to SubdomainBalancer 3. remove Dem3DofGeom::scaleDisplacementT (unused) 4. remove Law2_ScGeom_CpmPhys_Cpm (malfunctioning, unused) 5. remove SConscript-mono (unused)
1. Fix NewtonIntegrator (not skipping particles with all DOFs blocked) 2. Disable Translation/RotationEngine tests, non-dynamic bodies changed their meaning and the tests fail.
1. Make batch accept multiple scripts on the command line (see --help) 2. Change syntax for blockedDOFs to be 'xyZ' rather than ['x','y','rz'] (assigning is backwards-compatible with warning) 3. Remove rests of devirt-functors; I thought I've done it already...
1. Create abstract KinematicEngine, allow kinematic engine composition with + (thanks to Jan for suggesting that) 2. Move all KinematicEngine's to pkg/common/KinematicEngines.{hpp,cpp} 3. Change accels in GLViewer so that x,X,y,Y,z,Z make rhe respective axis point upwards etc 4. Change g/G to enable/disable grid (or selectively enable if pressed multiple times) 5. Remove button images in the qt4 ui, use unicode symbols instead 6. Make batch referesh once in 30s by default instead of 5s to avoid congestion on slow uplinks
1. Add forgotten KinematicEngines.{c,h}pp files 2. Remove GroupRelationData & mgpost (is now at https://code.launchpad.net/~yade-dev/yade/mgpost)
1. Fix accidental typo, sorry...
1. Make middle-click paste path to variable in the ui 2. Clean up newton integrator; aspherical integration not called for things with 0 in inertia to avoid nans; this also fixed the problem of inverted normal with Wall
1. Fix NewtonIntegrator for clumps, blockedDOFs &c; msg will be sent to yade-dev 2. Make static attributes properly hyperlinked and documented in the ui 3. Fix yref in L3Geom
1. Clean up NewtonIntegrator following the discussion on the list; adds 1st order damping for aspherical particles; comments welcome. 2. Add Body.intrs() in python
1. Fix an error in Law2_L3Geom_FrictPhys_ElPerfPl (forces were applied at the step the interaction broke); results are now identical to ScGeom/CundallStrack (in the normal sense at least) 2. Add the possibility to specify y-data as functions returning y-data names themselves (see scripts/tests/energy.py) 3. Merge 2 consecutive loops in NewtonIntegrator for clumps 4. Rename plot.legendPosition, plot.legendPositionSecondary to plot.legendLoc (tuple of 2 values), to make it consistent with matplotlib terminology (pylab.legend(...,loc=...))
1. utils.{sphere,facet,wall} funcs take fixed=True|False now (instead of dynamic=False|True, which gives warning now and will be removed) 2. Make space in the 3d recenter scene 3. x,y,z (X,Y,Z) now set up axis (see help of the 3d), grid is toggled with g only 4. Remove Shop::defaults and few other obsolete funcs 5. Fix bug in torsionweighting in LawTester 6. Rename Ig2_*_L3Geom_Inc to Ig2_*_L3Geom, update .py scripts 7. Rationalize Ig2_*_L3Geom functors, add Sphere+Facet
1. Add some data so that Hertz-Mindlin will work with L3Geom 2. Automatically compute "mass" of cell in PeriTriaxController, if not setFocus 3. Fix auto-plotting of energies in case the simulation is reloaded 4. Fix middle-click on attributes in inspector
1. set color_cycle in matplotlib only when it is supported (fixes test failure)
1. Fix i386 (?) live plot issue
1. Add function checking argument types inside FUNCTOR1D and FUNCTOR2D (requires to include full dispatched type definition in headers) 2. Reorganize the integrator so that its logic is understandable. Functionality not changed. 3. Move most clump code from integrator to clump methods 4. Automtically used InsertionSortCollider::verletDist if possible (used to be sweepLength) 5. Add --refresh param to batch, controlling refresh rate of web summary, logs etc (30s by default) 6. Fix gnuplot export with callable data specifiers 7. Put BodyCallback in #ifdef, since buggy; will be removed shortly, unless gets fixed. 8. Fix unbalanced force computation for clumps. 9. Remove accel and angAccel from state, since it is only used locally in the integrator.
Add missing includes, thanks to Klaus for reporting.
1. Better integration of NewtonIntegrator into Clump, avoiding linking cycle with chunkSize=1
1. Fix State.rot() mistake (was returning displacement instead) 2. Add qt.SnapshoeEngine.plot for adding snapshot name to plot.imgData automatically 3. Add plot.savePlotSequence for making movies with plots 4. Rename utils.makeVideo bps to kbps (is really kb/s, not b/s) 5. Rename OpenGLRenderer.displayGhosts to ghosts (shorter, sufficient -- sorry, Bruno)
Fix cache line size in OpenMPArrayAccumulator
1. Unbreak the periodic cell.
Add the dresden course to sphinx docs.
1. Add a more straightforward SpherePack.ParticleSD2 method, adjust the tutorial
1. Add scene flags about local coordinate systems and force sign convention (not yet used) 2. Fix many things around L3Geom (most importantly, re-normalization was never done, resulting in instabilities), merge code for different particle shapes in a general function handleSpheresLikeContact 3. Fix incorrect import of gts surface due to LC_NUMERIC 4. Add OpenGL-related stuff to yade-support, which might fix linking issues with natty 5. Move Cell::invTrsf and Cell::refSize to private part, so that it
1. Make yade and yade-batch run single-threaded simulations 2. Add warning when specifying -j/--threads/--cores when lacking OpenMP support
1. Change Cell behavior as explained on the list -- trsf can be changed freely, without side-effects; assigning refSize is deprecated (use new O.cell.setBox(...) function for that) 2. SpherePack.toSimulation sets identity transformation, but rotated hSize (if requested) 3. PeriTriaxController uses norms of hSize columns (with inverse transformaiton) as reference lengths ;; TODO (?): it should check that hSize is diagonal, otherwise it will probably behave erroneously
1. Revert some "cleanups" in Cell (LOL, Bruno, we are overwriting each other's work again :-)) 2. Add some regression tests of PBC 3. Make plot.addData aceept vectors and matrices, creating columns for individual components 4. Make compilation of SpherePadder only optional (feature sphere-padder)
1. Add plot.autoAddData with docs. A limitation is that "=" should not be in names of data columns anymore. 2. Add Strong/weak fabric distinction to Gl1_NormPhys (not tested) 3. Degrade VelocityBin's initialization message to debug 4. Add .items() method to EnergyTracker, for fast conversion to list of tuples.
1. Fix plots with line specifiers 2. Fix peri-triax example (sweepDist->verletDist)
1. An attempt to fix OpenMPArrayAccumulator initialization (not tested)
1. Update affiliation
1. Fix OpenMPArrayAccumulator initial zeroing, re-enable plot test 2. Add Matrix3 ctor from Quaternion and vice versa in Python 3. Fix some bugs in L3Geom initial axes orientation 4. Plots now display pointed triangles instead of circles to mark current position (and orientation); plot part after the current point is transparent
Nicer fix for 721107 (should work)
oops, sorry
1. Invalidate persistent collider data when interactions are cleared (not tested yet) 2. Add renderer pointer to scene, so that functors can find display attributes 3. Gl1_NormPhys honors displacement scaling now 4. Fix scalarOnColorScale bug 5. Add RadialForceEngine, fix AxialGravityEngine
fix error in last commit
==================================================
yade-0.60.0
Sun, Nov 7 09:55:43 2010 +0100
Anton Gladky (54):
1. utils.facetCylinder and utils.facetBox orientations are changed according to https://lists.launchpad.net/yade-dev/msg04886.html
1. Orientation in ymport module is changed according to https://lists.launchpad.net/yade-dev/msg04886.html
1. Some small fixes
1. Docs small modifications
1. Some bibtex references added from WIKI
1. Some references into bibtex-format migration
1. Moving references to bibtex format is finished.
1. Engine for particle size distribution analyzes is added. (not finished)
1. Engine for PSD-analyze is finished, need testing.
1. Added forgotten include, caused a compilation errorin 2331
1. Changed warning message in case, when installer cant find libraries. http://www.mail-archive.com/yade-users@lists.launchpad.net/msg02202.html 2. Installation instructions were moved from Wiki to Sphinx Documentation.
regular-sphere-pack.py fix. It works again.
1. Comments to ParticleSizeDistrbutionRPMRecorder are added.
1. RockPM update.
RockPM fix
1. Recorder has new feature "addIterNum" which adds Iteration number to the end of file name. Off by default. 2. Clean ParticleSizeDistrbutionRPMRecorder
Fix compillation error
Packages names needed for qt4 are added to 'installation' section of documentation.
1. Analyze of specimen diametr is added to PSD engine. VTK and Rock were updated relatively.
1. Added materialId analyze to PSD-engine 2. Changed chmod of CohesiveFrictionalPM
1. Some modifications in PSD-recorder for material analyze
1. Added updating volume specimen variable in rpmState
1. Small but necessary fix
One more field added to PSD engine
1. 626409 fix. Thanks to Sergei for spotting that.
1. Fix export.textExt function according to http://www.mail-archive.com/yade-users@lists.launchpad.net/msg02413.html
Fix compilation warning in SpherePack::particleSD
1. Fixes issue, described in http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg05009.html
1. Some changes for compilation in Fedora
1. One more fix for compiling in Fedora
1. Some small fixes in debian/ 2. Warning fixes in shop.cpp
1. debian-prep now can accept RELEASE file without version number to create yade-bzr version
1. Changed required version of python-sphinx in debian/control-template to make the trunk builded in Maverick.
1. Fixed wrong MaxDiam determinition, when specimen consists on 1 particle. 2. Added maxX, maxY and maxZ parameter into outputed psd-file for geometry analyze.
1. chunkSize is changed in debian/rules from 2 to 1
1. Fixes an issue, indicated here http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg05162.html ; combined-files in SConstruct during Debian build.
1. Changes in debian/rules due to new conception of debug-build http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg05182.html
1. Changes in debian/rules http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg05185.html
1. scripts/debian now takes the name of person from DEBFULLNAME and DEBEMAIL environment varaibles.
1. Added initial scripts/build-fabric 2. scripts/debian-prep now smoothly handles absenting DEBEMAIL and DBFULLNAME variables
1. build-fabric now builds packages for maverick and lucid for 2 platforms "automatically"
Fixed an error in debian-prep
1. build-bot with the main functionality is reasy for testing.
1. Yade menu should appear in respective sections in main menu in Debian-based systems (not tested yet) 2. build-farm should build packages without root priveleges
1. Returning "sudo " to build-farm
1. Command-line parameters are added to build-farm script
1. Fixed pixmap copying in debian/rules
1. Warning blocked in DomainLimiter.cpp:63
1. Some notes on Eigen3 migration
1. Eigen3 compiles now (seems). Vaclav, sorry, I needed to change your template, because it gave an error on Eigen3.
1. Again some changes for Eigen3 compilation
1. Yade now compiles with Eigen3 and with OpenGL feature enabled
1. In PSD-engine wrong maxX, ..Y and ..Z calculation fixed
0.60.0
Bruno Chareyre (45):
Local sphinx build : I made it! :) Fixing the command in readme.
- give path more clearly, the previous commit was assuming same relative path as mine.
revert yade path
- Add files for kdev4.
- Fix ambiguities in contact geometry and time-step parts.
- Add stress getter and python wrapper (replacing reverted r2314).
- Add definition of work input from boundaries (resp. macro strain) in TriaxialStressController (resp. PeriTriaxController).
- Remove useless spheresVolume (redundant with TriaxialStressController::spheresVolume)
- Some cleaning in ScGeom. - Implement precomputed quantities (#define IGCACHE for compiling them). - Experiment precomputation with ElasticContactLaw (#ifdef IGCACHE), other laws should not be impacted yet whatever IGCACHE. - Make authors consistent (Galizzi never touched ElasticContactLaw).
- Remove some debugging/commented code left in 2336, sorry. - Update authors again (forgot to "save" before commit...)
- More changes in stability section. (we need PFC manual in bibtex references...)
- More small fixes.
- miniEigen : memory leak source suspected (FIXME added) - ScGeom : #define IGCACHE by default, and keep behaviour unchanged for older functions (still some cleaning to do in this class, after all Law2's have been adapted). - CohFrictLaw : Eigen is returning nan quaternions after trivial operations, it is workarounded in the law. - cylinder : a new shape, first step in experiments for tracking interactions jumping over chained elements. - utils.py : a demo script for chained cylinders
- make the example more fun.
- Revert last doc change and fix the original. (please don't modify documentation if you are not sure. I can't double-check all commits.)
- Implement the distinction between node orientation (integrated in Newton) and beam orientation (always oriented as line between adjacent node). It fixes the starcases appearing in display for large stretch.
- Fix path to fulltext.
- restore Gl1_ChainedCylinder - kdev4 : I failoed to commit this file apparently.
- Cylinder, update contact point consistently with current segment definition. - Fix the poisson=0 case (was returning undefined Ks for division by 0...) - This commit enables wire-like behaviour without moment when ks=0
- Last change in contact plane makes script unstable. Restore stable (but wrong?...) equations.
- Cylinder : fix segment orientation, use correct contact point, and clean code. - ScGeom : last step before removing old code, some functors adapted (others are using even older duplicated code apparently) - Small sphinx fixes.
- Use precomputed geometry everywhere in functors and remove older code. - Make Dem3DofGeom inherit from ScGeom rather than GenericSphereContact and remove (comment) the latest.
- Missing in last commit sorry.
- Revert r2365 as a whole (and r2367). - All changes in ScGeom and related functors will be commited again when I have time.
- restore virgin yade.kdev4 and add kdev files to bzrignore.
- publications update.
Restore the part of r2367 concerning ScGeom (+ some more improvments).
- restore project file for kdevelop3.
-Update functor->momentLaw in the global engine.
- More documention in the 2 constitutive laws. - Some code cleaning and test redundancy fix in CohFrictPhys.cpp+CohesiveFrictionalContactLaw.cpp.
- adds references cited in the previous commit.
- Include a comment on "welltestedness" of ElasticContactLaw.
- rename classes : Law2_ScGeom_CohFrictPhys_ElasticPlastic -> Law2_ScGeom_CohFrictPhys_CohesionMoment Law2_Dem3DofGeom_FrictPhys_Basic -> Law2_Dem3DofGeom_FrictPhys_CundallStrack Law2_ScGeom_FrictPhys_Basic -> Law2_ScGeom_FrictPhys_CundallStrack
- remove useless attributes, - fix class name in TTest.
- Add new IG class ScGeom6D precomputing relative rotations, and associated Ig functors. - Update related classes (CFLaw) - add kdev4 configuration for starting debug from kdevelop
-Includes a regression test on dynamic beam flexion.
-Move cohesion and moment parameters from functors to bodies and interactions, and define them in Ip2_2xCohFrictMat_...
- Fix cylinder reg. test with respect to r2509(2510). - Add output for nan quaternion products #ifdef Q_DEBUG. - Document some flags in Ip2_2xCohFrictMat_CohFrictPhys.hpp.
- more debug info for quaternions with nan angle.
- Convert ScGeom to ScGeom6D in Ig2_Sphere_Sphere_ScGeom6D::go(), using ScGeom::operator= - Optimize distance check for existing interactions in Ig2_Sphere_Sphere_ScGeom::go() - Implement Ig2_Box_Sphere_ScGeom6D (same conversion to ScGeom6D) - Adapt CohesiveTriaxialTest.
- Fix a typo (and test some launchpad+bazar logging feature...)
- Add python wrapping for python use of TesselationWrapper (+ a few fixes and formating)
- add example commands in docstring.
- Remove scene pointer from TW function parameters - sphere-cylinder Ig2 functor (some old uncommited code - still bugged)
- TW : really check if body geometry is sphere in the insertion loop (instead of isDynamic). - FE : use the faster insert(begin,end) from TW for triangulation, and move area/volume definition to addBoundary().
Chiara Modenese (22):
1) Add contact damping into HM law. 2) Add functions getIncidentVel (both for periodic and non-periodic case) and rotateShear to ScGeom. 3) Add py script to demonstrate and test the effect of contact damping.
Rename rotateShear() to rotate() in ScGeom.
1. Add Engine::dead attribute; if set, the engine will not be run at all (unless explicitly called via () from python or ::action from c++). Useful for temporarily (de)activating engines without having to modify O.engines 2. PeriodicPythonRunner renamed to PyRunner as it is used so often. 3. Add Cell.getVolume() and utils.porosity 4. Check for force&torque NaNs in NewtonIntegrator in debug builds 5. Add --rebuild option which will launch scons before running the simulation itself 6. Some fixes in the HertzMindlin law 7. The qt4 interface will try to open packaged docs, then docs in the source dir and online docs as the last resort. 8. Some fixes in PeriTriaxController (the servo-mechanism) and probably a bug fix in TriaxialStressController (will ask Bruno on the list to confirm the correctness)
1. Add an alternative implementation of PSD-based particle generation; likely to be merged to makeCloud in the future
(micro-fix for a spurious startup message)
1. Improved summary http page for yade-multi, includes (clickable) plots and hyperlink to the log (with auth cookie removed) 2. Deprecate PartialEngine::subsribedBodies in favor of ids 3. Remove triangulation lib from ctags dirs (so that tag Facet goes to yade::Facet) 4. The qt controller computes simulation speed locally now 5. Fixes in Hertz-Mindlin 6. Add an alternative SpherePack::particleSD function 7. Make axis labels, highlighted axes etc settable in yade.plot 8. Add yade.plot.saveDataTxt 9. Fix plot names with spaces (so that multiple plots with the same x-axis can be specified)
1. The mindlin law now prevents granular ratcheting by default. 2. Ig2_Sphere_Sphere_ScGeom has now avoidGranularRatcheting bool (true by default, which was the hardcoded value till now as well); add documentation from the source to the real doc, add a few references on that. 3. SpherePack no longer saves vectors as tuples; this also fixes memoization issues with pack.random{Dense,Peri}Pack 4. Add Law2_ScGeom_MindlinPhys_HertzWithLinearShear used for testing differences between linear and non-linear law.
(Antons changes) 1. angleRange parameter is added to facetCylinder to create "semi-cylinders", "quarter-cylinders" etc. 2. Prepare Sconstruct for compiling in Fedora (partly)
1. Rename yade-multi to yade-batch; documentation updated 2. Make batch save plots when all jobs are done 3. Add tags d.id and id.d (description and id put together)
1. Re-apply removal of Mathr, sorry Anton, the fault was local.
1. Avoid adding useless lines of nans in plot for unknown variables, add only their column instead 2. Save job figure as soon as the job finishes in the batch 3. Fi O.tags['id.d'] and O.tags['d.id'] tag order
1. Make batch commands clickable; fix encoding issues when the batch page sends job script/table 2. add utils.maxOverlapRatio for sphere-sphere contacts 3. add reinitialization counter to InsertionSortCollider 4. Add VTKRecorder.ascii so that saved XML data might be human-readable (false by default)
1. Resurrect SnapshotEngine 2. Add Gl1_NormPhys for displaying interaction network (http://beta.arcig.cz/~eudoxos/temp/Gl1_NormPhys.avi) 3. Make VTKRecroder work nicely with periodic boundary conditions (repeating interaction on both sides if it crosses the cell boundary using a few hacks) 4. Add Shop::normalShearStressTensors for computing (once more) stress tensor, but normal and shear contributions separately 5. Allow specify particle counts for SpherePack.particleSD 6. utils.makeVideo now uses mencoder (and works, unlike the older gstreamer-based thing, which would not work anymore) 7. Add Matrix3.diagonal() 8. Integrate regression tests suite in the main program (yade --test) 9. Set plot.scientific==True only if the version of pylab installed supports it (thanks to Anton for reporting)
1. Add scripts/test/force-network-video.py 2. Rename attribute flags (Attr::readonly, Attr::triggerPostLoad etc) 3. Detect whether display is available and store it in yade.runtime.hasDisplay (false by default); that restores the behavior of yade.qt, which raises ImportError at no display, and makes yade.plot consistent with tha variable as well 4. Fix total running time for batches 5. Do not send 0 refresh for finished job files (refreshes as frequently as possible, whereas no refresh was desired) 6. Debian package depends on mencoder now 7. qt.SnapshotEngine open the view automatically if needed (not very reliable, though) 8. Add scripts/test/force-network-video.py 9. Fixes in the OpenGLRenderer that avoid crashes; drawWithNames should draw shapes in the same place as draw witout names, making the selection consistent with what is seen (periodic boundaries etc) 10. Move {ScGeom,Dem3DofGeom}::contactPoint to GenericSpheresContact 11. Initial (not yet functional) implementation of the partial slip solution for Hertz-Mindlin (Mindlin-Deresiewitz)
1. Introduce a class for returning or computing scalar values based on combination of 2 ids. [experimental, don't use or ask questions about it now]
1. Rename InteractionDispatchers to InteractionLoop; backwards-compat for python as usual, typedef with deprecated warning in c++; update all scripts and docs to reflect that. 2. Add NozzleFactory, which might be in the future generalized to a generic factory object and a numebr of derived classes with different parameters (such as factory area shape, specification of sphere parameters etc); see scripts/test/shots.py 3. Fix many crashers in the OpenGL code; unbreak particle selection 4. Finalize the MatchMaker class, with convertor from python floats to specify fixed value. 5. MatchMaker is used to specify different coefficients of restitution for different material couples in Ip2_FrictMat_FrictMat_MindlinPhys; viscous constants moved away from Law2_ScGeom_MindlinPhys_Mindlin into MindlinPhys instead. 6. Fix compilation errors caused by unintelligedn 3rd-party Combine builder to scons -- save sombined files to an external file, force refresh of all combined files if the md5 changes. Does not increase compilation time. 7. Add DomainLimiter engine for deleting particles that go ouside some domain (see scripts/test/shots.py) 8. Add DragForceApplier (not yet tested); thans to Stefano for the suggestion.
1. Add #pragma once to MatchMaker (thanks, Remi) 2. Remove a few useless scripts.
1. Make the debug build installed in the same directory as the release build; it is compiled with debug=1 (or True); there is only a single yade executable for both, and the debug plugins are loaded with --debug. I tried to adjust packaging rules a bit, I hope it will not introduce additional errors. --debug and --rebuild work fine together. 2. Add --debug option to yade-batch, which runs yade with --debug.
1. Add LawTester class for prescribing displacements on interactions precisely, see scripts/test/law-test.py 2. plot now displays the last point as a bullet 3. Rename Interaction{Geometry,Physics} to I{Geom,Phys}; rename related classes as well (functors etc) 4. Rename Interaction::interaction{Geometry,Physics} to Interaction::{geom,phys} 5. Add Vector3.normalized() to the eigen wrapper 6. Add framework for arbitrary rendering hooks (GLDrawExtra) run from OpenGLRenderer at the end of the rendering routine (not yet fully tested)
1. Do not return Attr::hidden attributes in dict(); that makes them invisible in the UI as well.
1. Fix batch script with debug builds, thanks to Anton for reporting.
1. Fix a few malformed formulas (my bad) so that LaTeX does not choke on them.
Emanuele Catalano (12):
- Wide code maintainance - Removed isSuperior/Inferior/Lateral attribute, inside/fictious remain, Localize function removed - FlowEngine is able to receive as input boundary conditions (flow/pressure) to be applied to walls - Oedometer test can be performed via python scripting - A new force calculation scheme (facet scheme) had been implemented
- Forgot def_types.h in previous commit (sorry Tieng!)
- Added function to compute average cell velocity - Added function to apply sinusoidal external fluid pressures
- Solved retriangulation problems in seabed simulations - Code maintenance
- Solved compilation errors
- Added average_cell and average_grain velocity computation - Updated vtk_file creator function
- Moved functions and variables related to geometry in Network.cpp/.h - Update other files to these changes - Code maintenance
- Commented flow_engine definition, sorry Sergei
- Really solved compilation problem with 'cgal' feature, sorry again
- Update flowEngine files
- Added missing #ifdef FlowEngine condition
- Fixed compilation error
Jan Stránský (3):
1. add function yade.utils.stressTensorOfPeriodicCell 2. removed BoundDispatcher from pack.randomDensePack
1. correct some misprints and do some actualization in user's manual. 2. correct mistakes in Shop::stressTensorOfPeriodicCell()
1. modification of Vector6 2. change of Peri3dController (+docs and examples)
Janek Kozicki (11):
making TriaxialStressController more python friendly.
revert last commit
fix two typos, replace Real strain[3] with Vector3r strain
fix two small typos in docs, add spheresVolume python wrapper for TriaxialStressController. (I need it to calculate void_ratio=voids/sphresVolume)
Sphinx documentation for plotting + color plotting. Added missing comment in TriaxialCompressionEngine
Let TriaxialStressController calculate sphereVolume for clumps correctly.
A trivial fix for exceptions when drawing data that is being modified right now
refer to matplotlib manual
remove duplicated part about pyplot
Added pdf figs (not .svg, they are 5MB big!). added info about TeX usage of plot.labels. small fixes
Added a throw condition if two spheres have zero distance. Works in #ifdef YADE_DEBUG only.
Jerome Duriez (7):
- Re-write of SimpleShear PreProcessor with YADE_CLASS_... macro
- Creation of KinemSimpleShearBox, new class containing the features common to the various Kinem...Engines, and from which these Engines inherit now.
- Replace of .isDynamic (deprecated) by .dynamic in some python scripts
- the script simpleShear.py (renamed from SimpleShear.py) allows now to illustrate/test the various Kinem...Engines
- Documentation typos/formatting in few files
Few modifications in the doc of NormalInelasticityLaw (class Law2_ScGeom_NormalInelasticityPhys_NormalInelasticity), following the request done http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg05207.html. Not sure it is perfect, but hope it is at least better...
Re-write of "NormalInelasticityLaw" with use of ScGeom6D for what concerns rotations. => Rename of the corresponding Law2...
Luc Scholtes (1):
publication list update
Sergei Dorofeenko (6):
Viscoelastic basic particle model: move mass of particles from material to interaction
Fix bug666246. See https://bugs.launchpad.net/yade/+bug/666246
merge with trunk
Fix STLImporter; fix some examples
1. Fix ViscElBasic law to handle periodicity; 2. Add some regression tests
Fix bug in Ip2_ViscElMat_ViscElMat_ViscElPhys
Václav Šmilauer (88):
1. Docs update 2. Remove Dispatcher::add(string) (only accept functor objects instead)
1. Update documentation (backported to 0.50) 2. Remove the long deprecated object['attribute'] syntax.
1. Update docs 2. add some yade publications in bibtex
1. Port packaging changes from the 0.50 branch
1. Remove dem6dof related classes 2. add a few more publications to the bibtex db
1. Remove old io code in Omega 2. Update yade.eudoxos 3. Fix bug in pack.randomDensePack loading memoized scaled periodic packing from (backported to 0.50 as well)
1. Fix some spiral projection functions 2. Add manpage generation to yade and yade-multi 3. Add manpages to debian packaging, including alternatives (man yade -> man yade-bzr2284 etc)
1. Bugs in Cell (!!! no yet fixed: see scripts/test/peri8.py !!!) 2. Add optional devirtualized functors (experimental) 3. Adjust Peri3dController for large strains and test (modulo the cell bug) 4. doc fixes
1. Fix multiple authors syntax in bibtex (multiple authors MUST be separated by "and", not by comma!!!) 2. Add doctests of all modules, fix where failing 3. Add SpherePack.toSimulation
Minor documentation fixes.
1. Split publications in articles, conferences, theses 2. Fix problem with scons 2.0, now it works out of the box 3. Add a better error message for VelocityBins with NaN velocity
1. Add show Paraview documentation to the postprocessing section 2. Fix at least partially the rotated cell bug in shift2 (https://bugs.launchpad.net/yade/+bug/601866), still some issues elsewhere, though.
1. Fix stale potential interactions -- we've been dragging this bug since april, I will backport it to 0.50. You are strongly recommended to update!!! The bug was, in the end, not in the collider, but in the container; it had <= instead of >= in one condition. Sorry.
Fix Facet AABB computation in periodic scenes (another important update!)
1. LIVE PLOTTING (thanks to Janek for the idea and the suggestion of mtTkinter). Report bugs.
1. Fix InteractionGeometryDispatcher (in case someone still uses it).
1. Move triaxial documentation from the wiki to sphinx
1. Make utils.saveVars, utils.loadVars and utils.readParamsFromTable synthesize modules in yade.params.* to avoid name clashes in builtins (see docs and user's manual, you have to adapt your code if you use those) 2. Rewrite the installation page in sphinx (sorry, Anton, I hope it is a little more readable now) 3. Fix several undefined xrefs in the docs. 4. Disable wm3-compatibility in eigen wrapper (Vector3.UNIT_X etc) 5. Rename utils.chCylinder to utils.chainedCylinder, update docs there (sorry, Bruno, but chCylinder is really not a self-explanatory name)
1. Fix dispatch-torture scripts/test/dispatcher-torture.py 2. Remove wm3-compat code 3. Escape \d in the doc (must be \\d in c literals)
1. Make GL dispatchers proper classes exposed to python 2. Make State and derived classes indexable 3. Update scripts/test/dispatcher-torture.py
1. Fix compilation error due to free-standing function out (remember: NO FREE FUNCTIONS, everything must be inside classes, otherwise there is the risk of name clashes.)
1. Fix the GL dispatch (was enumerating child classes non-recursively, and your Gl1_ChainedCylinder did not inherit directly from GlShapeFunctor) 2. Do not use '|||' to separate plot axes, use None instead (||| is deprecated) 3. Move the Gl1_ChainedCylinder functor inside #ifdef YADE_OPENGL (please pay attention to that)
1. Add noqt3 feature (still keeps OpenGL available), run qt4 app at the beginning (emits warning) 2. Make GLUtils independent of QGLViewer 3. Add some metadata to attribute docstrings 4. Add scripts to render scene to pyQGLViewer and to show basic serialization interface in PyQt4. 5. Make static attributes non-static in python (enables docstrings)
1. Make static attributes documented (xrefs still not working, though) 2. Add section on the Material-State association to the Programmer's manual 3. Fix syntax error in qt4-attributes.py
Fix docs
1. Do not uselessly pass Scene* pointer to Law2 functors (already in LawFunctor) 2. Attempt at Law2_ScGeom_CpmPhys_Cpm (not tested)
1. Add the possibility of custom constructors to python (not a hack as it used to be) 2. Add cached functors to explicitly created interactions (not saved, though) 3. Improve the ScGeom-based Cpm law 4. Change interface of StepDisplacer to specify mov and rot separately (old interface with deltaSe3 works, but warns) 5. Add scripts/test/cpm-dem3dof-scgeom.py to show some differences between the 2 geometry formulations.
1. Turn many fatal warnings in UniaxialStrainer to exceptions, remove some guess-logic 2. Automatically disable live plots in batches. 3. the concrete uniaxial test now has the scGeom switch
1. Some VTK recorder fixes. 2. cpm fixes (untested)
1. Save interaction as vtkPolyData rather than vtkUnstructuredGrid (to allow the Tube filter to operate on it).
1. add noShow to uytils.plotDirections 2. Some fixes for ScGeom+Cpm (still problematic)
1. Preliminary version of PyQt4 interface (3d viewer flickers, reason unknown). Config checks largely absent.
1. Remove linkStrategy option. Specifying chunkSize=1 provides the per-plugin linkage. 2. Add qt4 feature, which conflicts qt3. Qt3 must be now explicitly defined. QT4DIR must be defined (defaults to /usr/share/qt4, which works for debian) 3. Add checks for python modules and prettify boost checks. 4. Remove a lot of legacy code, so that the qt4 build avoids yade::serialization completely 5. Add live inspection and modification of arbitrary sequences, for a showcase see the Inspect button on the simulation tab (Body/Interaction inspection will be rather easy as well) 6. Add common handling of number arrays (Vector3, Matrix3, Quaternion) 7. Add to-python converters for vector<vector<string>> and list<string> (only needed in Dispatchers, avoids tome exceptions) 8. Rename OpenGLRenderingEngine to OpenGLRenderer
Path hotfix.
1. Dispatchers cleanup (will continue)
1. Remake inheritance tree for Dispatchers, so that functors are really of the right type. Involves some macro ugliness. 2. Add rudimentary (but working) inspection interface for engines, bodies, interactions 3. Fix compilation without qt3 (will be removed soon, completely)
(forgotten file)
1. Make types and attributes in all editors clickable 2. Add editor for Se3, Vector3i, Vector2, Vector2i 3. Fix bugs in eigen's wrapper for Vector2i and Vector3i
1. Fix static properties of Eigen objects (return values, not references - see http://www.mail-archive.com/yade-users@lists.launchpad.net/msg02339.html)
1. SpherePack.makeCloud can distribute grains based on their mass (rather than count) along arbitrary PSD or uniformly if rMean is given (the default behavior is unchanged) 2. SpherePack.psd() function for generating particle size distribution, either based on particle count or their volume (mass) 3. A few fixes in the UI 4. Fix facet "coincident vertices" warning
1. Add script demonstrating mass-based and size-based particle size distributions (PSD) and how to specify and arbitrary function for PSD when generating random loose packing with SpherePack.makeCloud
1. Disable (experimental and malfunctioning) multiblock files with vtk<5.2 (did not exist)
1. Remove qt3 interface 2. Remove yade::serialization and related otherwise useless files 3. Remove lib/loki, use the official Loki library (in /usr/include/loki, package libloki-dev) instead, except for (highly incompatible) Singleton, which was moved to lib/base.
merge noqt3 branch
1. Body flags instead of bools + isBounded/setBounded flag. 2. Move body_id_t to Body.hpp
1. Change body_id_t to Body::id_t 2. Assign Body.bounded in py/utils.py funcs (in prep for making BoundDispatcher 1d)
1. Make Bo1 functors really 1D 2. add Body::isBounded/setBounded so that there is a way to ask for a body to not have bound created by BoundDispatcher 3. Change bool Body::dynamic into a bit inside Body::flags 4. Change body_id_t to Body::id_t since boost::serialization can handle class-defined types gracefully
1. Integrate BoundDispatcher into Collider, its python ctor takes list of BoundFunctors now 2. Warning and help if BoundDispatcher is used directly (more precisely: if Collider has no BoundFunctors defined and there is BoundDispatcher in O.engines) 3. Remove Body(id,mask) ctor as it bypasses default value initializers 4. Adjust preprocessors to the previous item
1. Remove BoundDispatcher from O.engines in examples, scripts and sphinx (accidental typos possible, sorry)
1. Remove outputFilename from FileGenerator, pass that as argument directly; remove message as FileGenerator's member; FileGenerator is no longer ThreadWorker (was not used) 2. Remove all variables named 'rootBody' in generators
(detail: make SeqSerializable number nicer)
1. Rename some stuff in Omega and Scene to make it consistent with python: Scene::currentIteration->Scene::iter Scene::getSimulationTime()->Scene::time Scene::getComputation...Time()->Scene::getComputationTime() Scene::stopAtIteration->Scene::stopAtIter etc. 2. Fix bug with per-class compilation (thanks to Sega for reporting)
1. Adjust docs for changes in the last commit 2. Add version requirement for python-sphinx to debian/control-template (Anton: that's the reason why the build fails in maverick; I uploaded 1.0~hg... into yade-users/external so it should build fine in a few hours; there is no use uploading 0.6 which is in maverick already)
1. replace {pre,post}ProcessAttributes by {pre,post}{Save,Load} (not virtual) 2. change attribute specification adding and additional attribute flags (read-only from python, not saved, should call postLoad after changing value from python) 3. Macros cleanup in Serializable 4. Support clang for compilation (more than 2x faster) https://yade-dem.org/wiki/Compilation_with_LLVM/clang (documentation not yet update to reflect those changes fully, sorry)
1. Add sub-stepping functionality (step by engines rather than by whole iterations) 2. Expose Scene in python properly (not very well tested yet...) 3. Update documentation about attribute flags 4. Remove some 3rd party files no longer needed
1. Add foce, torque etc display in the body tab of the inspector 2. Make force, torque etc access from python not require thread synchronization (sums up threads on demand)
1. When disabling sub-stepping when the last step is done only partially, all remaining substeps are run at the next step.
1. Fix bugs related to 3d views (centering, secondary views, closing views). Thanks to Sega for reporting.
1. Consistently use SUFFIX for what is the same for debug and non-debug version, and libDir for plugin installation directory. Hopefully that cleans the mess we've had. That should also fix startup problems with --debug that Anton reported 2. Do not #define PREFIX and SUFFIX as macros, since they are not used in the c++ code anymore (and should not be)
1. Link to the standard libstdc++.so.6 (which is instaleld everywhere) instead of libstdc++.so, which is only in the devel package of gcc 2. Full support for compilation with clang (packaged for lucid and maverick now), as explained at https://www.yade-dem.org/wiki/Compilation_with_LLVM/clang#Building_yade (openmp and optimizations do not work) 3. Add function to ScGeom to compute incident velocity from python.
1. Fix QT4CXX key error, thanks to Anton for reporting.
1. Fix startup error with debug-only builds. Sorry, Anton.
1. Enhance the gl-drawer for LawTester.
1. Fix both rotation and shear in LawTester. Signs are now consistent are correspond to displacements as defined on classical beam (x is the axis, y and z are in the shear plane)
1. Clear erro message when running debug-only build without --debug
1. Make number in qt4 show the left-most part if the text field is narrower, rather than the left part 2. Run the debug version if optimized is not available, even without --debug 3. Add the possibility of running the monolithig compilation (mono=True); not fully functional yet. 4. Add warning when using march with clang, which leads to crashes (optimizations are not the cause, in the end)
1. Flattening the file hierarchy, as mentioned previously. No changes to #include paths so far. 2. Change the directory where to install headers to not include yade version
1. Add OpenGLRenderer to DomainLimiter, that should fix the linking issue reported by Janek.
1. Fix debian linkage with MatchMaker (hopefully) 2. Add preliminary and experimental L3Geom class (do not use, do not ask etc -- yet).
1. Make forgotten class members public (sorry, Anton)
1. Enhance LawTester to work with L3Geom, fix some bugs 2. Add uN and uT references inside L3Geom, for respective components of the deformation vector
1. Add Vector6r wrapper (both c++ and python) 2. Fix prefix bug in initialization braking debian packages 3. Fix renames in py/test which made regression tests fail 4. Update LawTester and L3Geom for 6 dofs (not yet tested, please do not use now)
1. Add menu entry for the dbg package (yes, it really does not show up, dunno why either) 2. Add plasticity to Law2_L3Geom_FrictPhys_ElPerfPl, add convenience function to apply local forces
1. Clean up Vector6 and friends 2. Create Matrix_computeUnitaryPositive template to be compat between eigen2 and eigen3 (in the future)
1. undefine pi in MindlinPhys 2. Add isAspherical() flag to Body 3. Adjust kineticEnergy with PBC (not yet fully tested) 4. Make createInteraction work with PBC 5. Fix getIncidentVelocity with PBC and !avoidGranularRatcheting 6. Add some regression tests related to Cell (not yet fully done)
1. syntax hotfix for batch -- thanks, Ema.
1. Fix kinetic energy in PBC 2. Add tests to check PBC: Ek, incident velocity with ScGeom (with and without ratcheting), homothetic resize 3. Make it possible to set O.dt=0, for reasons of testing.
1. Deprecate NewtonIntegrator::homotheticCellResize in favor of Cell::homoDeform (compatibility interface with warning) 2. Add the possibility of homothetically changing positions rather than velocities; avoid the meanfield/fluctuation velocity jazz at the expense of vel not being time derivative of pos 3. Add PBC tests for the previous variant 4. Add defThreads arg to scons, which, if specified, gives default number of threads for simulations, if not overridden with -j 5. Fix a few example scripts, more work ahead come (please help!) 6. Add regression tests for saving/loading yade objects; on maverick, this makes the unregistered class to re-surface (!!)
1. Update the dispatch-torture script.
1. Fix laoding of unitialized LawTester
1. Disable debug messages from ScGeom in both debug and non-debug (!!) builds
1. Fix boost::sertialization class export (changed slightly in boost 1.42, which broke our case); that also solves the issues at maverick 2. Add framework for tracking energies (will be documented at some point), added to Law2_ScGeom_FrictPhys_CundallStrack, see scripts/test/energy.py 3. Convert energy trackers in Hertz-Mindlin to OpenMPAccumulator 4. Make OpenMPAccumulator align storage so that each thread uses one cache line (should be faster) 5. Make OpenMPAccumulator not require zero value pointer (is handled via ZeroInitializer template in lib/base/Math.hpp 6. Make OpenMPAccumulator work transparently with python (it can be used as a regular attribute now), make it boost::serializable as well; it appears transparently as a number in python. 7. Add OpenMPArrayAccumulator, for linear array of values (used in EnergyTracker) 8. Make deprecated attributes with non-g++ compilers (clang); previously, only g++>=4.3 was supported 9. Fix a few example script (not completed)
1. (hopefully) fix build with boost::serialization<1.42 broken by previous commit.
1. Add warning for missing ForceResetter in NewtonIntegrator (based step forces were last reset) 2. Rename *Spiral* to *Helix* (suggested by Jan, thanks!) 3. Generalize the post2d module to handle interactions (not just particles)
1. Fix intiialization problem in Shop::kineticEnergy (thanks, Anton) 2. Several enhancements of the post2d module 3. Fix a few crashers with deleted particles. 4. Improve utils.facetCylinder
1. Add HdapsGravityEngine which reads acceleration from real accelerometer in thinkpads (toy engine) 2. Fix bug in qt4 interface where multi-number entries (Vector3r etc) might have some values zeroed due to wrong order of initial update and signal connects.
1. Make clumps subclass of Shape (instead of Body) 2. Favicon in the batch web interface 3. Fix for clang compilation
1. Fix examples, delete a few other ones 2. Fix a bug in post2d
==================================================
yade-0.50.0
Wed, Jun 9 08:30:02 2010 +0200
Anton Gladky (77):
Added an example of VTK-recorder using. Thanks Sergei Doroffenko aka Sega
Changes in facetBox function to get other facet normals
Added import_mesh_geometry function to import mesh files into facets
Function import_LSMGenGeo_geometry is added to import into the simulation .geo files, generated by LSMGenGeo libraries. Example is added in ./scripts/test/regular-sphere-pack.py and ./scripts/test/genCylLSM.py
Fixes import_LSMGenGeo_geometry and its example
Adaptation RockPM and PressTestEngine for material and state classes
PressTestEngine is temporarily disabled as it causes YADE crash on start
1. TranslationEngine and PressTestEngines are activated 2. regular-sphere-pack.py is updated according to new material class
1.VTKRecorder is activated, except REC_CPM
1. scale factor is added to ymport.gengeo
1. Trivial change scale factor in regular-sphere-pack.py
CohesiveStateRPMRecorder base templates are added. This Engine is for calculating cohesive contacts in the RPM model.
1. Created yade.ymport.gengeo() function for importing LSMGenGeo geometry directly to the YADE simulation without intermediate files. See ./scripts/test/genCylLSM.py 2. yade.ymport.gengeo() (import .geo-files function) was renamed to yade.ymport.gengeoFile() 3. CohesiveStateRPMRecorder is now working. (thanks Vaclav)
1. "Patch" to fix 490223
1. CohesiveStateRPMRecorder now derives from the Recorder
1. REC_INTR in VTK changed to save interaction data not only for CPM model.
Very trivial fix in utils.py
1. In utils.facetBox added 'Defence from zero dimensions' 2. regular-sphere-pack.py is updated due to new names
1. Added moveTo und scale parameters for ymport.gmsh function
Some syntax fixes: moveTo has been renamed to shift in utils.py and ymport.py
ymport.gmsh function was renamed to ymport.mesh one
ymport.mesh was renamed back to ymport.gmsh
Trivial bug fix 318439
1. gmsh.ymport function is fixes to be more universal 2. "Bad" bug #505783 fix
Fix bug 505783
1. Added utils.facetCylinder function to create arbitrarily-aligned cylinder composed of facets 2. utils.facetCylinder example is added to ./scripts/tests/regular-sphere-pack.py 3. RotationEngine example is added to ./scripts/tests/regular-sphere-pack.py
1. utils.facetBox() and utils.facetCylinder() function description where changed according to Epytext format.
utils.facetBox() and utils.facetCylinder() description has been formatted to reStructuredText-format.
1. vtk-feature is on by default now 2. Added eigen library like a feature
1. Eigen check library fix. Thanks Bruno
1. Added some more Eigen headers to check in SConstruct 2. Commented the string in py/SConscript which made an error during compiling 3. Added yadeEigen.hpp to make a wrapper for Eigen
1. yadeEigen.hpp is added
1. Some changes for Eigen migration 2. TranslationEngineEigen to test Eigen library
1. Some changes in utils.facetCylinder function
1. Convert a RockPM class to YADE_CLASS_BASE_DOC_ATTRS
1. Convert Recorder class to YADE_CLASS_BASE_DOC_ATTRS
1. Removed TranslationEngineEigen 2. TranslationEngine and PressTestEngine were updated according to a new register standard 2. In SConstruct were added some more Eigen headers to check.
1. YADE_CLASS_BASE_DOC_ATTRDECL_CTOR_PY for CohesiveStateRPMRecorder is added, but not activated.
1. ForceRecorder added. 2. Some minor changes.
initRun=true added to ForceRecorder
1. spheresToFile() has been fixed and moved to export file. Do we need "consider=lambda id: True" there? 2. ymport.ascii() was renamed to spheresFromFile; wenjieFormat was deleted there. The function is rewritten, comments are available now. 3. Added export.spheresToFile() and ymport.ascii() examples to regular-sphere-pack.py. 4. In timing.py InteractionDispatcher->InteractionDispatchers 5. Some default values in scons were changed to make YADE compilable with "standard" Ubuntu machine with 4GB RAM: chunkSize=7, jobs=2
Rotate function is added to manualWrap
RotationEngine parallelized
GravityEngine parallelized
Some scons changes. Vaclav`s patch
1. penetrationDepth() is added to DemXDofGeom
1. penetrationDepth() declaration fixed. Thanks to Vaclav.
1. NewtonIntegrator - fixes of normalizing null-vectors 2. penetrationDepth() has been deleted from DemXDofGeom
Adaptation to Eigen Library
Previous commit correction. Thanks to Vaclav.
Fix compilation error
Orientation parameter is added for ymport.gmsh() function
Small changes in ymport.gmsh()
Some changes in utils.ymport module due to new Sphinx requirements.
Some examples clean
Examples cleaning
Trivial genCylLSM.py fix
Ubuntu 10.04LTS has GMSH version, where medit-mesh format is changed. It fixes wrong import of newly formatted files. Back compatibility is saved.
1. Quaterion.Rotate() wrapper is added 2. mill.py fixed
1. Examples cleaning 2. Code adopting to Eigen library
`materialID` property is added to VTKRecorder
VTKRecorder changes: 1. clumpIds recorder changed to clumpId 2. materialID recorder changed to materialId 3. ids recorder changed to id 4. Syntax cleaning 5. Default parameter 'all' is added
subscribedBodies parameter is added to VTKRecorder
Some fixes in VTKRecorder
1. Parameter groupMask is added to utils.sphere and utils.facet 2. VTKRecorder. subscribedBodies mechanism was changed to
VtkRecorder changes: 1. Velocities of particles are now exported as Vector3 and Length component separately. 2. Added 'force' parameter for facets and spheres (sorry, not good tested yet)
Force calculation mechanism is changed in VTKRecorder (Thanks to Vaclav). Experimental.
VTKRecorder. force->stress. But only for Dem3DofGeom now
1. Some warnings were commented (please, don't leave unused variables!) 2. In Shop created getStressForEachBody method to clean up VTKRecorder a little bit (not tested yet, but compiles)
1. VTKRecorder is static now. 2. function ymport.testExt and export.testExt are added
Comment parameter is added to export.textExt
groupMask parameter of bodies is now exported to VTK-output as `mask`
Blocking the crashing string in ElasticContactLaw
in ./examples/rotatingCylinder.py encoding is fixed
Some changes in examples
1. Fixes crash in VTKRecorder, when some bodies are erased
0.50.0
Boon Chiaweng (17):
BasicPM.cpp hpp BasicPMTest.py in pkg/dem/meta
BasicPM @ pkg/dem/meta
BasicPM @ pkg/dem
BasicPM @ pkg/dem meta
local commit
local commit
Removed BasicPM.cpp and added CundallStrack.cpp. It is a duplication of Law2_Dem3Dof_Elastic_Elastic but written in meta style like RockPM. It is therefore cleaner and more friendly to a beginner.
Comment
local commit
local
local
committing files which were not uploaded in last commit
committing files which were not uploaded in last commit
local
Cohesionless Moment Rotation LLaw as implemented by Plassiard et al (2009). Verified
changed Cohesionless Rotation Law to be cleaner
added instructions on how to use ContactLaw with TriaxialTest
Bruno Chareyre (102):
A flag "neverErase" is added to the contact law to define if it can erase interactions. This flag can be turned on when another constitutive law (e.g. capillaryCohesiveLaw) is in charge of erasing interactions.
- fix wrong usage of "neverErase" in TTWater - synchronise versions of ECLaw
Fix the path in the warning.
Please, never make me do that again!!
A (little) bit of cleaning.
Fix warnings.
And one more back.
- fix segfault in test.cpp (testing the triangulation functions) - adapt the collider to state/material
State/Mat fix.
Fixed : 2 "unused variable" warnings.
- fix the bug on bodies type in CFTriaxialTest - rename CohesiveFrictionalBodyParameters => CohesiveFrictionalMat - fix the bias in cloud generation (try and position a sphere of constant radius) - some more cleanup of the code
- update of the documentation
Add the missing #include AABB
Code using the velocity gradient to define periodic deformations (experimental) + script to test it. Needs compilation with #defined VELGRAD (currently needs uncommenting "#define VELGRAD" in 4 files in total).
Fix some warnings.
-Restore default behaviour even with #define VELGRAD, restore default homotheticCellResize=0 and register it. All py scripts should work whatever VELGRAD, except periodic-triax-velgrad.py (throw without VELGRAD for homotheticCellResize=1). -Clean code -Fix mail adress E.C.
Make non-proportional scripts really work with VELGRAD : -Update Hsize when refsize is modified once (this is ugly! needs a cleaner way) -Adapt size control by periodic engines. Sorry for this new change in Cell.h. It will not change for a while now, next commits will be in engines.
Add a new periodic compressor engine (candidate for replacing/merging with PeriTriaxController). Most important changes : - stress control using mass - defines the full stress tensor (not only normal stress for each axis) - defines strain with logarithm for comparison with goals and postprocessings
- merge stiffness/inertia control in PeriTriaxEngine and remove periEngine - show usage of inertia (commented out) in py script
A funny script, and no crash!
-Fix the loading path, this example shows how shear create rotations.
-A commented suggestion for dispatchers -Get back r1932 in PIC -Fix a wrong assignment of max vels in StressController that was causing non-isotropic compression (introduced a while ago when Luc Si. implemented 3D independant controls probably)
Optional porosity in makeCloud, giving a value discards rMean (avoid guessing rMean when you know size and number).
-Fix messed comment (save before commit!).
Comments.
- Rename Poison -> KsOnKn in some preprocessors. Not project-wide : I don't know what laws are used in PHYSPAR'ed files. - some cleaning in TT code
- Add CGAL excpetion in GNU GPL license.
rename KsOnKn -> KsDivKn.
Revert weird changes from JFJ in TWrapper interface (min/max should not be mandatory in any functions!).
I managed to remove the variable while adding the comment. Glad nobody noticed yet...
- Remove old files
- add insert(Scene& scene) to tesselation wrapper (faster) - move TWrapper out of namespace CGT and make it a YADE plugin - move TWrapper sources to pkd-dem/globalEngine, keep different (uncompiled) versions in lib for possible out of tree builds - some more documentation in TWrapper.hpp
- missing files in previous commit - fix a member's name in TW
- Fix : old names used in #includes and code
- Add a function KLA::DefToFile() writing the triangulation and deformations to a file - Use it in MMAnalyser.
- Fix read/write details in TriaxialState and few other small fixes - MMA is now fully operational for strain maps
- switch some spaces/endlines
Fix compile errors in VTKWritter and KLA.
- Fix size range in makeCloud. It was generating an interval twice smaller than expected.
Update the documentation. Used with uniform distribution, makeCloud now generates radii between mean-rRelFuzz and mean+rRelFuzz.
1. Remove lib/triangulation/TesselationWrapper. No need to keep in Yade files used only for out-of-tree builds + it was confusing to have the same file names twice. 2. Reformat vtk output. 3. Implement more methods to control the input/output of TesselationWrapper, access MicroMacroAnalyser methods via TWrapper interface, return all data in a python array (still commented).
1- move subdivideTriangle in the glNewList section. No reason to do that elsewhere. 2- Suggest using glList even when stripes=false (commented code) for better performance. Both changes affected by this bug for now : https://bugs.launchpad.net/yade/+bug/509084.
- Remove the part of the code that was only a hack to display bodies with broken contacts, and remove some spaces.
- Uncomment the line assigning deformation values in python::dict get(). - Add MATRIX3R_TO_NUMPY macro in numpy.hpp
-Add missing members declarations (forgot to commit the header with a previous commit)
Fix a compile error when openMP is not in features.
- Global update of the triangulation lib.
- Fix some compile errors. - Re-implement arbitrary boudaries ids. - Generalize boundary conditions. - Clean the code.
-disable the independant GL display.
- Fix compile errors with cgal in features.
- Fix compile error (forgot this one in lastr commit)
Flow: - Implement bz2 read/write for TriaxialStates - 3rd method for hydraulic force and some optimizations in FlowBS (Ema, I'll let you remove unused code) - new data in cell_info
- Mostly some formatting. - Compute the new tesselation in Interpolate().
- remove files not used in yade.
- Comment the includes pointing to out of tree files to prevent compile errors with implicit link.
- Fix the bug (r2025 probably) in GSTimeStepper (test of line 28). - Register timeSteppers. - numpy : comment and new line at EOF - TW : fix a warning. - PTCollider : remove a "using namespace std" in the header.
Some changes in the TCE behaviour. Save the state before stopping simulation, and start compression for reloaded files with autoCompression=true. Please keep intact the behaviour even when the code looks strange, there are reasons behind. I ran 1 week simulations, expecting saved xml at the end, but got nothing... I've included a fews comments about this.
- A few more comments and code cleaning.
- Fix an error in max_vel's definition.
- Register attributes of the stress controller and of derived classes. - Make them "global" engines instead of "partial" (and replace "applyCondition" by "action") - Add a function computing the solid volume of a sphere packing in Shop.
- py wrapping for getSpheresVolume (usage : O.getSpheresVolume)
- Missing in previous commit and creating compile error, sorry for that.
- Some documentation and code cleaning.
- Fix syntax error + small changes in the documentation.
Fix compile error ifndef YADE_OPENPM.
-Register and code cleaning.
-Link to the wiki page for general instructions and files download.
-One more initialisation in ctor (strain).
- Fix : wrong assignnment of friction for boxes. compactFrictionDeg was used in place of boxFrictionDegree. No idea when it was introduced.
- Register TriaxialTest (yes!!).
- Remove useless transition returning a LOG_ERROR.
- More registering!
- Remove unused unregistered engine.
- Register, rename, clean code, doccument some attributes.
- New names in Attic files (follow-up of r2156, more to come).
- Add a "cohesiveFrictional" functor for usage in interaction dispatching (functionally replace the global engine CohesiveFrictionalContactLaw, which is still here and used in cohesive preprocessor). - Register "cohesiveFrictional" classes and rename them. - Some cleaning and a fix in the law for brittle failure.
-Use new names.
- Some fixes in triangulation. Python array still crashing in TW.
- Use new names.
- Remove SCG_SCHEAR, clean code and documentation a little bit more.
- Take "fuzz" into account for the definition of rMean in the generated distribution.
- Update the link to capillary files.
- Make the radius of fictious sphere equal to the one of real sphere in box-sphere geometry. - Implement energy tracing in ElasticContactLaw - Remove some "#ifdef SCG_SHEAR"
- Remove equilibriumDistance and initialEquilibriumDistance from FrictPhys and inheriting code. - Remove rotationBlocked from TriaxialTest. - Fix documentation (backticks in pkg/dem/PreProcessor/TriaxialTest.hpp, pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp, pkg/dem/Engine/PartialEngine/TriaxialCompressionEngine.hpp).
- Fix cohesiveFrictional crasher - Initialise saveSImulation correctly in TCE - Remove initialKn/Ks assignment Ip2_2xCohFrictMat_CohFrictPhys
- Put back Vector3r::Zero()
py wrapping for shop::getSpheresVolume(). Used e.g. for computing porosity in a periodic cell.
- Use Shop::kineticEnergy in the recorder (adds the rotational term).
- Fix strainRate comparisons for the case dynCell=true. - Simplify the code, removing cellGrow totaly and using gradVel everywhere instead (its time derivative). - Rmk : I suspect some of those changes have been commited before, then reverted, but I couldn't really spot when/why. Actually, the revert attempt broke the "dynCell" behavior. This commit should not change anything for dynCell=false. Let me now if you see a difference.
- Fix the distance correction in plastic slip.
- Compile error (sorry) : matrix(i,k) instead of matrix[i][k]... (couldn't we overload simply define [][] operator for Eigen matrices?)
- Simplify equations inside plastic condition of Dem3Dof (1 sqrt instead of 3, less norm()), add a new function that uses a multiplier instead of maxDisp to take advantage of this new formulation (Vaclav, could you review and tell if we should merge maxDisp/multiplier in one single function with a bool? I didn't want to break any other part so I didn't touch the previous function). - Fix a wrong equation in shop::unbalanced force (max is for body force, not contact force). - hardcode tensor product in PeriIso, as this is instanciating a matrix and it is done for each contact at each step.
- Remove one more norm(), return 0 for compatibility.
- Fix the plastic dissipation equation in ElasticContactLaw and make plasticDissipation a OpenMPaccumulator. - Fix the name scaleDisplacementT(Real multiplier), handle the case force=0 correctly (thanks Vaclav). - Fix mail adress.
- Implement scaleDisplacementT(multiplier) for all functors derived from Dem3DOF. This function is only used in Law2_Dem3DOFGeom_FrictPhys_basic at the moment. - Fix the undefined scene pointer in ElasticContactLaw.
- Register TTWater correctly. - Update documentation of some classes, reformat a little, and fix (again) some email adresses.
1 - stress definition in PeriIsoCompressor was wrong for ScGeom (sign mistake due to double-reverse);
Missing files in r2249.
This commit complete the implementation of periodicity for incremental formulation, with updated relative velocity across periods. It has been tested carefully in periodic triaxial tests. 1. updateShearForce is renamed rotateAndGetShear and DOES NOT update shear force any more : this is Law2's job. Two versions are available, for resp. periodic and non-periodic case so that people don't have to worry about the additional "shift" in function parameters. 2. put the line fs+=ks*dus in laws using the former ScGeom::updateShearForce. 3. Put back Hsize in Cell (I need that each time I write a line in periodicity, really, please don't remove it). 4. The rest is details (fix wm3 incompatibilies, formating, documentation, etc.).
- Fix compile error, sorry.
- Fix Wm3 build in Dem3DofGeom_FacetSphere.cpp, the Real*Vector had not been reverted in that file. - Workaround https://bugs.launchpad.net/bugs/585898.
- Implement Cundall-style positions scaling when (homotheticCellResize=2). - Rename Water=>Capillary (more accurate) - Register CFTTest.
Chiara Modenese (5):
Added constitutive law with Hertz formulation for contact stiffnesses
Make penetrationDepth directly accessible through python
Removing variable timeStepOutputInterval from the TT, it was useless.
Add tangential values for the stiffnesses in HM law so that GSTS can be used (anyway contact forces are computed from the secant stiffness values to avoid numerical approximations). Avoid to store trialFs to the physics functor as it is already referenced. Correct a banal mistake in failure criterion.
- Small changes in HM to handle PBC if scene is periodic (same logic as in ElasticContactLaw.cpp)
Emanuele Catalano (16):
Add code for flow problem resolution.
Updated flow engine files.
Made some correction in flowengine files.
- Made corrections on flow code - Class registration via new macros introduced
Few corrections in flow files.
Forgot to delete some line.
- Modified the type of some function in FlowBoundingSphere - Adapted FlowEngine to that modifications - Adjusted the use of "currentTes" in FlowEngine
- Introduced timing information from engines and functors - Reorganized the code and cleaned from useless stuff
- Verified properly re-triangulation - Made corrections on Gauss-Seidel break criterion - Assigned more severe tolerance to permeability computation
- Fixed some error due to pointer scene* deletion - Added functions to write Mplotlib files
- Adjustments to the code
- Fixed retriangulation problems
- Flow Code Maintenance - Introduced local permeabilities' correction agent
- Fixed retriangulation problems
- Walls proper identification is no more ID dependent - New output files for fluid pressure and settlement evolution - Fixed some warning came out with new compiler version
- Fixed errors in walls' identification
Janek Kozicki (4):
fixes #571674
don't segfault when TriaxialStressController is facing clumps
Scene.hpp -> remove obsolete comment QtGUIGenerator -> wider view on vector fields TriaxialStateRecorder and TriaxialCompressionEngine -> it was segfaulting with clumps: fix it.
was not compiling with wm3
Jerome Duriez (26):
Beginning of adapting code about simple shear (to train with bzr almost) - There are still indeed the YADE_REQUIRE_FEATURE(PHYS_PAR) lines which prevent these files to be compiled. - There is only one change that will be detected by your news compilings : change of a line in ElasticContactLaw. I corrected a link towards an URL corresponding to "old wiki"
Renaming of all (normally) linked with this famous "ContactLaw1". Thanks to Vaclav for his scripts !
Dplt de SimpleShear hors de attic
Re-activation (suppression de YADE_REQ...(PHYS_PAR) ) de RockJointPhys, et RockJointLawRelationships
- "SimpleShear" was re-introduced in pkg/, instead of attic/
(Last ?) renaming of classes linked with "my" contact law. The normal inelasticity is now emphasized in the name, because it is what is specific to these classes. NB : this contact law takes also into account a moment transfer.
Re-writing of classes CinemCNCEngine, NormalInelastictiyLaw (and those linked : NormalInelasticityPhys and Ip2_2xCohFrictMat_NormalInelasticityPhys) according to the macros replacing former REGISTER_ATTRIBUTES...
Move of the line YADE_PLUGIN((...)) of CinemCNCEngine : it was before the "include...", and for Emmanuele it did not compile thus. Moved after the "include".
Re-write of CinemKNCEngine according to new macros. Anecdotic changes in CinemCNCEngine
Suppressing of commented lines
Renaming of Cinem...Engine in an english way : - CNC = Constant Normal Load => CNL - KNC = Constant Normal Stifness => CNS - DNC = Constant Normal Displacement => CND - DTC = Constant Tangential Displacement => CTD
- Correct writing of Disp2DPropLoadEngine : in order to perform tests on a shear box, piloted by dispNormal + k*dispTangential = 0 Compilation enabled by the way. - Minor syntax changes of doc of KinemCNSEngine
- Suppression of CinemCisEngine, which even me almost never used. - Add of KinemCTDEngine: performs constant tangential displacement (=oedometrical) compressions on the simple shear box - move of KinemCND from pkg/common to pkg/dem. This Engine does not use really any DEM-specific concept, but I guess it will always be used in DEM simulations, so I thought it will be more adequate in dem/ - modify of corresponding "include"... - rewrite of KinemCNDEngine.hpp, with "good" macros
- Use of YADE_CLASS_BASE_DOC_* macro family in KinemCNDENgine (it was not in r2082, contrary to what was previously said)
- Rename of NormalInelasticityLaw into Law2_ScGeom_NormalInelasticityPhys_NormalInelasticity (I accept sincerely any proposal of shorter file names...) In fact it is not yet a functor, but I want to try to write it in a more proper way... - Corresponding changes in affected files - Details in other files
- Rename of NormalInelasticityLaw into Law2_ScGeom_NormalInelasticityPhys_NormalInelasticity (I accept sincerely any proposal of shorter file names...) In fact it is not yet a functor, but I want to try to write it in a more proper way... - Corresponding changes in affected files - Details in other files
ANECDOTIC COMMIT - fix typo in Engine.hpp : "fron" corrected by "from" I commit this alone, with no other changes, to make clear to everyone that this change to a central part of Yade is really anecdotic...
- the code concerning the inelastic normal law is now in files named NormalInelasticityLaw.* instead of Law2_ScGeom_NormalInelasticityPhys_NormalInelasticity.* The class itself has still the same name (Law2...), but I changed the name of the files for practical reasons, as it seem other people do (files HertzMindlin, CohesiveFrictionalPM for ex). Tell me if this is problematic
Re-write of CohesiveFrictionalMat with YADE_BASE... macro. It is not one of "my" files but I wanted to use it with Python, so I did it. I hope noone will be offensed.
- Add of a script NormalInelasticityTest to test ... the NormalInelasticityLaw (Law2_ScGeom_NormalInelasticityPhys_NormalInelasticity) Moreover my python problems I had difficulties to obtain "perfect results". I think it is linked to the way un is computed in Ig2_Sphere_Sphere_ScGeom (see for example this "shift2"). Why not making penetrationDepth directly accessible through python ??
- Change of Law2_ScGeom_NormalInelasticityPhys_NormalInelasticity into a real functor instead of an Engine (compilation checked, and that's all)
- Run of NormalInelasticityTest, now Law2...NormalInelasticity is a functor => same results as before it seems - Change of .Length() in .norm() in other scripts, as .Length() seems to be deprecated
- One more change of .Length() in .norm() - check in NormalInelasticityTest.py that the curves are perfect !
**** "My" files ***** - Law2_ScGeom_NormalInelasticityPhys_NormalInelasticity is now a functor as it should. - Related changes in few files - The script NormalInelasticityTest tests now the tangential component also, and it will normaly soon check the MomentLaw. It illustrates also the various ways of controlling disp$
Fix of https://bugs.launchpad.net/yade/+bug/589516 (sorry, the compilation did not crash on my computer when I tried)
- Cleaning changes in NormalInelasticityFiles... =>Add of a new Material storing the info for differences between loading and unloading (related changes)
Luc Scholtes (13):
- correction of thickness computation in TriaxialStressController - submission of an updated version of cohesiveFrictionalContactLaw called cohesiveFrictionalPM (more details in CohesiveFrictionalPM.hpp). Tried to follow the new rules for variables declaration with documentation...
NEW TRY to add the updated version of cohesiveFrictionalContactLaw called cohesiveFrictionalPM (see revision 2068)
SORRY FOR THE REDUNDANCY... updated comments in cohesiveFrictionalPM.hpp to be consistent with the computation
correction of few bugs in CohesiveFrictionalPM
fix almost all of the classes related to CapillaryCohesiveLaw (except TriaxialtestWater) to suit YADE_CLASS_BASE_DOC_* macros. Everything compiles but the efficiency of the code needs to be tested.
This version fixes a bug which produced FATAL ERROR when 2100 version was launched. SORRY.
Removed CapillaryRecorder and ContactStressRecorder. Renamed SimpleElasticRelationshipsWater to Ip2_FrictMat_FrictMat_CapillaryLawPhys (can probably be removed as it is identical to Ip2_Frictmat_FrictMat_FrictPhys...) and CapillaryCohesiveLaw to CapillaryLaw. Modified all Capillary related files.
some updates of capillary files. Rk: all must be tested!
-updates for capillary files (doc in Law2_..._Capillarity and changes in CapillaryStressRecorder)\n\n -add a feature to CohesiveFrictionalPM (creation of CFpmState to stock number of broken bonds)
fix compiling error in previous rev (but some warnings linked to TriaxialStressController.hpp)
new line added at the end of CohesiveFrictionalPM to avoid corresponding warning + cleaning
some updates in CohesiveFrictionalPM. Unfortunately, the law still does not work in macroscale simulations...
CohesiveFrictionalPM update - add normalization of a quaternion + other few changes
Luc Sibille (2):
I added the (updated) ThreeDTriaxialEngine, and it is also to see if we managed to make bzr working through an ssh tunnel
- update of ThreeDTriaxialEngine with YADE_CLASS_BASE_DOC_ATTRS_CTOR_PY \n - modified ThreeDTriaxialEngine to be able to perform internal compaction (growing particles) \n - modified TriaxialStateRecorder to be able to use it with ThreeDTriaxialEngine
Sergei Dorofeenko (37):
1. virtual facets don't have a BoundingVolume (flag noBoundingVolume in utils.facet) 2. new engine ResetRandomPosition (another name?). This engine reset the body position to a random position in specifed (by virtual facets) region. 3. example of using of ResetRandomPosition engine: scripts/test/ResetRandomPosition.py
Fix [Bug 485209]
1. adapt VTKRecorder to body removing 2. fix bug with colon separated paths in a profiles.
fix bug in scons.profile*: now CPPPATH and LIBPATH is a simple string (not a list) with colon separated paths.
Adaptation of viscoelastic model classes and some others to new material/state classes: 1. Add a meta package ViscoelasticPM, which now contains all classes for viscoelastic model. 2. Fix STLImporter, getViscoelasticFromSpheresInteraction 3. Fix bug in utils.sphere, utils._commonBodySetup
Adaptation examples/STLImporterTest.py for new viscoelastic classes.
Adaptation NewtonDampedLaw to material/state classes
Add to NewtonDampedLaw a modified leap-frog algorithm for accurate integration of rotation equation. This is intermideate commit: new algo seems to work, but needs some coupling with previous code.
merge clump branch with trunk
Add some tests for clumps
Fix bug with import facets from stl
small optimization of acc.rot.alg; fix velocity and add angVel in VTKRecorder."
1. handle DOFs for new rotation alg.; 2. add new clump-hopper-viscoelastic script
merge with clump branch: 1. handle DOFs for new rotation alg.; 2. add new clump-hopper-viscoelastic script; 3. small optimization of acc.rot.alg; fix velocity and add angVel in VTKRecorder.
Intergate new acc.rot.alg. to code. Intermediate commit.
Rename prevAngMom to angMom
revert NewtonDampedLaw to r1817 and rename prevAngMom to angMom
Integrate new rotate alg. into code. Intermideate commit
integrate a new acc.rot.alg to NewtonDampledLaw framework
remove log_trace from NewtonDampedLaw::lfRigidBodyRotate
Integrate new rotate integrator into the NewtonDampedLaw framework
NewtonDampledLaw: rename functions and remove duplicate code as suggest Vaclav (thanks!)
1. NewtonDampedLaw: rename functions and remove duplicate code as Vaclav suggest (thanks!) 2. Add spheres ids to VTKRecorder
1.fix link with GLU for QGLViewer; 2.fix header for Shop; 3.Add clumpids to VTKRecorder
Update ResetRandomPosition
STLImporter returns a vector imported facets instead of adding them directly utils._commonBodySetup does not reset body id.
small update examples/STLImportedTest.py
Fix bug #531394
refixing bug #531394
Reanimation of some examples; fix bug in ymport.stl
fix bug in utils.py; consistent signs in ViscoelasticPM
fix typo
small modify of STLImporterTest.py
Fix shear direction damping as Chiara Modenese suggest.
And more fixing damping shear direction
yet more fixing ViscoelasticPM
Add doc for utils.getViscoelasticFromSpheresInteraction
Unknown (5):
1. Make all paths given to scons on the command line COLON separated rather than space separated. BACKWARDS INCOMPATIBLE if you used scons in scripts (doesn't affect saved profiles). (Rationale: impossible to save the option in shell and later use it due to quoting issues) 2. Optionally set PATH as argument to scons (you can use scons PATH=$PATH as well) 3. Enhance VTKRecorder to record interactions andsome data on them.
1. Fixes in scons for qt path (hopefully OK now); remove VTKINCDIR, use CPPPATH which alread exists 2. Improve yade-multi web interface (keep it running if --http-wait specified; show total time at the end) 3. Fixed in VTKRecorder and CPM
1. Enhance yade-multi to query running jobs for status (percentage, step number etc), to keep connections, allow more fine-grained thread number control 2. Add some more cpm data (like sigma, sigmaMean, tau) 3. Enhance vtkrecorder to save those cpm data 4. Don't set matplotlib backend in yade.plot automatically, since ti breaks in headless environments 5. Add O.tags.has_key
A typo in SConstruct.
getClassIndexStatic() member turned to public.
Vincent Richefeu (2):
- Increase DISTANCE_MAX - use gcc-4.0 (4.3 doesn't work correctly on mac snow leopard)
Rewrite KinematicLocalisationAnalyser::DefToFile for vtk format.
Václav Šmilauer (264):
1. Hopefully fix vtk libs in SConstruct (?) 2. Add compress parameter to VTKRecorder (doesn't seem to make any difference in the output files, however...?) 3. Add CPM damage to VTKRecorder 4. Move spiralProject to Shop, to be usable from within c++ 5. Add a 2 functions to compute 2d and 3d stresses to yade.eudoxos
1. Enhance VTKRecorder to save more CPM data 2. Add confinement storage to CpmMat; CpmStateUpdater now computes that. 3. Add method to get aabb of Gauss-smoothed domain.
1. Update examples/concrete/uniax.py and add CpmPhysDamageColorizer to renamed classes dictionary with warning.
1. Use colon as separator to all path parameters to scons (PATH, CPPPATH etc), to avoid shell escaping insaneness. NOT BACKWARDS COMPATIBLE if you call scons from scripts with multiple paths. Scons.profile-* files will work. 2. Add PATH parameter to scons, for things like pkg-config that we call during the configure stage (you can propagate whole path by saying scons PATH=$PATH) 3. Extend VTKRecorder to record interactions as well; add some cpm-related parameters. 4. avgStress is now Vector3r 5. Fix openGL-less builds (missing parenthesis in core/SConscript)
1. Remove VTKINCDIR (duplicates already existing CPPPATH) 2. Fix handling of QTDIR (hopefully?) 3. Yade multi now displays total time at the end, takes --jobs (long option for -j), and the http server keeps running as long as the summary page is requested if run with --http-wait 4. Fix computation of sxx, syy, szz in cpm
Yade-multi, VTKRecorder enhancements, &c
1. Fix compilation on nfs (unable to delete .nfs* files) 2. remove debug message from the info socket 3. Make SpiralEngine assign velocities to (nondynamic) bodies so that when velocityBins are used, contacts are not missed.
1. Add example of generating randomly-packed tunnel-like scene (6 lines of python code). 2. Add explicit check for physics dispatchers in InteractionDispatcher even in the optimized build.
Fix what seems like bug in is2is4scg...
1. Set timeout on infosocket 2. Add velocity bins to uniax.py example
1. New yade.post2d module for 2d post-processing (raw/smooth scalar/vector field plots), with docs and examples 2. Add epydoc brief documentation to all python modules 3. Change constructor of GaussAverage in python to take always the relThreshold parameter
1. New BodyVector written from scratch: supports body removal, intelligently allocates new ids at insertion. Is now default; a few pecent faster than BodyRedirectionVector which will be removed after a while. 2. Remove BodyAssocVector 3. Remove mass-spring for good 4. Add body removal support to InsertionSortCollider 5. Add empty body support to NewtonsDampedLaw, GravityEngine, OpenGLRenderingEngine and a few others 6. Wrap body removal from python 7. scripts/test/remove-body.py to demonstrate continuous dynamic body addition/removal.
1. Remove InteractionHashMap
Add 'deprecated' feature which guards code pending removal. To compile those, you have to add 'deprecated' to features.
1. Add infinite axis-aligned planes (Walls), interacting with spheres; I would like to deprecate Boxes soon. scripts/test/wall.py show the functionality, utils.wall create ready-made body. 2. Add Walls to triaxial test as an option to facets and boxes. 3. Unbreak ef2_Spheres_Elastic_ElasticLaw (passing neverErase broke virtual function resolution -> exception) 4. Make Simulation controller always open, closing it quits yade. Generator accessible from controller; player must be accessed from controller by opening generator, closing it (where by main window apprears), then opening player. 5. Change prototype for InteractingGeometry functors, to get some information about the openGL context (scene radius and center, ATM).
1. Remove all deprecated classes as described in the last commit. 2. Start flagging code needing GeometricalModel by YADE_REQUIRE_FEATURE(shape). Once it compiles without shape, affected classes will be removed.
Remove GeometricalModel from everywhere, unless you compile with the 'shape' features. Many classes had to be disabled; those who care about them are expected to fix them so that they don't rely on GeometricalModel. I will post on the mailing list on how to do that.
Trivial fix. But shape feature is no longer supported, fix such things yourself next time, if you need them.
1. For each interaction, save when it was last seen by the collider. Adapt SpatialQuickSortCollider for that (remove Interaction::cycle), it saves 2 loops over interactions. The deletion is triggered in InteractionDispatcher/InteractionGeometryDispatcher afterwards. This infrastructure is neede for the grid collider.
1. Flatten file hierarchy a little bit. 2. Add MetaEngine{1,2}D and EngineUnit{1,2}D to the MetaEngine.hpp and EngineUnit.hpp instead of having them in separate headers.
Remove 'deprecated' features from SCons files since they're not in the codebase anymore.
1. Change syntax of python docstrings to restructured text instead of epytext (for future compatibility) 2. Workaround CPPPATH error saving option 3. Make SpatialQuickSortCollider skip boundless bodies 4. Fix rendering bodies with names (i.e. selectables)
Initial commit of new Material and State classes that will replace PhysicalParameters in the future. No changes in functionality.
1. Fix crash when removing bodies with velocityBins and MetaInteractingGeometry2AABB 2. Add option to draw normals for InteractingFacet (off by default); see scripts/test/remove-body.py (commented)
Fix compile error introduced in last commit.
Rollback point for adding YADE_REQUIRE_FEATURE(physpar) everywhere.
rollback point 2
Build core only OK (no gui,python,extra)
NewtonsDampedLaw, Clumps, SpatialQuickSortCollider compile.
Checkpoint before replacing PhysicalParametersMetaEngine and friends
REMOVED PhysicalParameters, add Material and State classes. DISABLED many (most) plugins, I ask the respective authors/users to fix them.
1. A few small leftovers.
1. Initialize dnesity to 4800 in CpmMat 2. Add warning if passing obsolete physParamsClass to utils.{sphere,facet,box,wall} 3. Add Material.cpp to ensure virtual functions work properly (not sure if they didn't, but now they do) 4. Fix uniax.py
1. shared materials; see scripts/test/facet-sphere.py and also py/tests/omega.py. 2. added some regression tests for Omega 3. python iterator over O.bodies silently skips erased bodies now 4. finally rename all MetaBody::transientInteractions to MetaBody::interactions
1. Fix uninitialized memebrs in Material (thans Anton) 2. Add equivalent of dispSe3 to OpenGLRenderingEngine directly 3. Fix pack.py
1. Make the optimized build default (as per Sega's suggestion); it also sets linkStrategy to monolithic (is that OK?) 2. Add some vtk dirs to default CPPPATH 3. Fix periodic boundaries in OpenGL & remove some YADE_SHAPE stuff from there. 4. Fix some warnings 5. Fix pack.randomDensePack **kw 6. Adapt examples/concrete/uniax.py to shared materials
1. Add Material::newAssocState creating State instance that is supposed to go along with given material; wrapped in python. It is used by utils.{sphere,facet,box,wall} functions now (hence by most or all body-construction things in python) 2. Fix py/post2d.py and examples/concrete/uniax-post.py 3. Fix crash for material-less bodies in scripts/test/regular-sphere-pack.py
1. Move import functions from utils to yade.ymport (sorry, import is python keyword and cannot be used ;-) ). yade.utils contains proxy function that warn and call the implementation in ymport. 2. Added virtual book Material::stateTypeOk(State*). 2. MetaBody checks that material--state couples are OK at the first run (like initializers, but not listed among initializers...); throws on error. Added this to regression tests. 3. O.step() now calls MetaBody::moveToNextTimeStep() directly, instead of spawning worker for 1 iteration. 4. Adapt stl import test to yade.ymport (the facets look weird, though?)
(forgotten: remove prototypes for incrementCurrentIteration and incrementSimulationTime that are no longer used from Omega.hpp)
Regression check that NULL state throws (if there is a material) as well.
1. Merge PeriodicInsertionSortCollider into InsertionSortCollider (periodicity detected automatically); PeriIsoCompressor moved to a separate file. 2. Initialize GranularMat properties (such as posisson't ratio) to arbitrary but non-zero values (avoids NaN's and disappearing bodies, bug #488100) 3. Re-enable clump logic in NewtonsDampedLaw (was #ifdef'd out), fixes bug #488100 4. Change prototypes of Shop::sphere and other methods, to take advantage of shared materials. 5. Change Collider::probeBoundingVolume prototype to return vector<body_id_t> instead of storing it in the collider itself.
1. Enable velocityBins in pack.randomDensePack for periodic compression, speedup of about 13% (quite small?)
1. Fix Bruno's compile error pkg/dem/meta/Shop.cpp:281: error: operands to ?: have different types 'boost::shared_ptr<Material>' and 'boost::shared_ptr<GranularMat>' 2. Fix warning's from out-of-order initializer in State.
1. add #error to DataRecorder so that people don't use it, with explanation. 2. Add Recorder, deriving from PeriodicEngine and taking care of opening file. 3. Derive TriaxialStateRecorder from Recorder. (Anton: do the same for CohesiveStateRPMRecorder, I don't want to edit it since the version would probably diverge if you work on it now) 4. Fix PositionOrientationRecorder (is that one being used at all?) 5. Rewrite Singleton (to work accross different translation units) 6. Remove qt3 from 'exclude'. Enabling opengl requires qt3 automatically now. 7. Remove lib/sqlite3x, which was only used in noew-removed SQLiteRecorder 8. Experimental main in python (not fully functionaly for now)
1. Re-enable temporarily commented code.
1. Re-enable PeriodicPythonEngine and a few other YADE_REQUIRE_FEATURE(PYTHON) that I overlooked 2. Make the python main program work with plugins (RTLD_GLOBAL in both DynLibManager and python); doesn't work with openmp and opengl (investigation ongoing), looks promising otherwise. The program is called yade-trunk-dbg-py and such; not all options of the c++ main is implemented (yet?). 3. (In previous commit) Remove loading preferences.xml, just use QtGUI if possible and enabled, otherwise "only" python console.
1. Remove rests of Preferences. 2. Remove HUP emergency saving (was disabled since long anyway)
1. Add chunkSize option that determines how many plugins will be compiled together. (orthogonal to linkStrategy, that one determines how many will be linked to together). Should avoid issue with monolithic link on machines with less RAM; allows parallel compilation of plugins on machines with lots of RAM. Defaults to 20. 1. Re-enable crash warning in pyboot.cpp
1. Remove implementation of global functions from Tetra.hpp to Tetra.cpp (gave errors on linking multiple objects including that same header.) 2. Add Body().geom as alias for (now deprecated?) Body().mold
Make YADE_DEBUG work as expected (set debug leverl with log4cxx); avoid possible crash when logging during early log4cxx initialization.
1. Change prototype for InteractionGeometryMetaEngine to receive const State& instead of const Se3r&. Add const Vector3r& shift2 for peroioditiy (ZERO by default).
1. Fix Sega's and Anton's bug which was introduced in r1820 (keeping return from older version, instead of continue :-| )
1. Rename EngineUnits to Functors, MetaEngines to Dispatchers (only the 4 types that we will keep). Python scripts should not be affected, except for raising deprecation warnings for the old names 2. Fix corner cases in deprecated names logic in python
1. Rename MetaBody to World (it had to be done at some point, regardless of what the name is) 2. Add Engine::world, set before every call in moveToNextTimestep 3. Change names of a few related methods
1. Fix "rootBody" in FileGenerator saver.
1. Add scan&replace scons builder 2. Get libstdc++ path from the compiler, embed it in main.py; it runs fine 3. Fix temporary filename in Omega (forgotten dir separator)
(doesn't compile, will fix in a few minutes; need to transfer between computers now) cleanup of python boot code
1. Add yade.system module containing most startup things 2. yade-trunk-py usable now; startup is _much_ faster than the c++ main :-) (lazy linkage?). If everything works well, the c++ main will be deprecated soon (though still functional)
1. Add YADE_LINK_EXTRA_LIB so that plugin can request to be linked with additional library (used in MicroMacroAnalyser) 2. Add -frounding-math when compiling with CGAL 3. Lot of reorganization of python code. Yade is now fully usable (it seems) with the python main (yade-trunk-py), and also lodable from pure python
1. Fix assertion failure in NewtonsDampedLaw triggered by clumps in debug mode (typo) 2. Fix periodicity for Dem3Dof classes 3. Don't put things to __builtins__ in python, from yade import * will import wrappers as necessary into current global scope instead. 4. Expose Omega as yade.wrapper.O instance in the c++ code directly.
1. Error out if adding the same body twice from python 2. First steps for user tutorial (please do not edit now)
1. Move TesselationWrapper to lib/triangulation. 2. Main program (e.g. yade-trunk) is now in python; the old is yade-trunk-cxx. Most functionality should be the same, but please do report undesired behavior. 3. Adjust ipython configuration to be more friendly. 4. Improve default log4cxx output format 5. rename yade.PythonTCPServer to yade.remote 6. Remove annoying "INFO: sanitize failed" warnings 7. SimulationController now closes on escape or any function key.
1. Rename World to Scene, as Bruno suggested. It feels better, we are no gods to create worlds... 2. Rename BoundingVolume to Bound; BoundingVolumeDispatcher to BoundDispatcher; dtto for Functor 3. The 'shape' feature was renamed to 'geometricalmodel' feature to not conflict with the following: 4. Rename InteractingGeometry to Shape 5. Rename ef2_*_Sphere_Dem3DofGeom to Ig2_*_Sphere_Dem3DofGeom 6. Rename ConstitutiveLaw to LawFunctor, ConstitutiveLawDispatcher to LawDispatcher
1. Fix many warnings in various parts of python code related to renaming.
1. Rename data members to follow types: Body::boundingVolume → Body::bound, Body::interactingGeometry → Body::shape. Old names are still present as references with deprecation warning by the compiler. Regression tests passing.
1. make realVersion to be bzr revision 2. Re-enable Controller at startup always 3. Always rebuild python template files invisibly, since they wouldn't spot revision change otherwise (very fast)
1. Fix the plot example.
1. Add PeriTriaxController, with sample script in scripts/test/periodic-triax.py; works perfectly 2. Fix stress sign in PeriIsoCompressor (summing abs stresses still broken) 3. Handle periodic boundary moves with velocityBins 4. Rename ncb to scene in NewtonsDampedLaw (gradual change)
1. Fix (hopefully) an issue with log4cxx 0.9 reported by build robot.
(Python 2.5 fix for robot)
1. Enhance PeriTriaxController for controlling strain/stress in periodic simulations; stress and strains appear to be physically correct now (however, see https://bugs.launchpad.net/yade/+bug/493102) 2. Add examples/concrete/periodic.py, showing uniaxial/biaxial periodic loading. Results are awesome. 3. Fix stiffness computation for Cpm. 4. Add (unpolished) pack.randomPeriPack for generating periodic packings. 5. Add some sphinx doc files (no contents, just skeleton).
1. Change prototype to InterationGeometryFunctor (see https://www.yade-dem.org/index.php/API_Changes) 1. Write some docs
1. Fix PeriTriaxController example
1. Refactor parameter table support (one reader class) 2. Fix yade-multi, add detection of regular exit with log4cxx crash at exit 3. Add --nice option to main.py 4. Make O.exitNoBacktrace output either "Yade: normal exit." (magic for OK exit, detected by yade-multi for instance) or "Yade: error exit".
Fix reading parameters from table (thanks Anton for patience)
Hopefully fix yade-multi https://bugs.launchpad.net/yade/+bug/493686 now? Please confirm.
1. Add Scene* Functor::scene, update it from all dispatchers at every step. 2. Add NewtonsDampedLaw::homotheticCellResize (0,1,2 for disabled, velocity or position update) (not tested at all) 3. Start removing Scene* ncb and Scene* rootBody etc from Engine::action as I stumble accross them. Please do the same, Engine::scene can be always used instead.
1. Renames as discussed on yade-dev: NewtonsDampedLaw -> NewtonIntegrator, StandAloneEngine -> GlobalEngine, DeusExMachina -> PartialEngine. Regression tests ok. 2. Rename the confusing scons 'pretty' option to 'brief'. Profiles will be updated automatically, both options are valid for now.
1. Finish renaming DeusExMachina -> PartialEngine
1. Enable search engine in doxygen.
1. Fix https://bugs.launchpad.net/bugs/495358 (seems like concurrent access with Anton ;-) ) 2. Add mask check to the collider 3. Initialize Body::id with Body::ID_NONE rather than -1 4. First attempt at doctest (for utils.sphere)
1. Don't call CreateIndex in Materia::Material (see https://bugs.launchpad.net/yade/+bug/495437) 2. Add dipl and rot methods to body, for querying displacement and rotation relative to reference position and orientation (moved from the python wrapper). 3. Add .classIndices to return list of class indices from the instance up to the top-level indexable from python.
1. Rename Sphere (as GeometricalModel) to SphereModel (to facilitate InteractingSphere -> Sphere soon) 2. Initialized density to 1000 in Material, to avoid weird explosions 3. Add scripts/tests/triax-basic.py, a TriaxialTest in python
1. A few renames: Facet → FacetModel, Box → BoxModel, GLDrawSphere → GLDrawSphereModel, GLDrawBox → GLDrawBoxModel 2. Remove shadowVolume functors, since they were not used anywhere in OpenGLRenderingEngine
1. Rename GLDraw* to Gl1_* 2. Scene no longer inherits from Body, some of its properties are "emulated" (bound, shape). Not sure if Shape is really needed, perhaps for periodicity things etc in one place? It can be in the class itself just as well. 3. Remove MetaInteractingGeometry2AABB from all files (no longer needed); backwards-compatibility with python assured.
Hotfix for twice-renamed Bo1_SceneShape_Aabb.
1. Add some introspection interfaces to Indexables and dispatchers, as needed for Programmer's manual (https://yade-dem.org/sphinx/prog.html#multiple-dispatch), remove dead code, some cleanups.
1. Move lib/triangulation stuff to CGT namespace as suggested by Bruno in https://lists.launchpad.net/yade-dev/msg02658.html
1. Rename SpheresContactGeometry to ScGeom 2. Rename corresponding functors: InteractingBox2InteractingSphere4SpheresContactGeometry -> Ig2_Box_Sphere_ScGeom InteractingFacet2InteractingSphere4SpheresContactGeometry -> Ig2_Facet_Sphere_ScGeom InteractingSphere2InteractingSphere4SpheresContactGeometry -> Ig2_Sphere_Sphere_ScGeom
1. Rename InteractingBox -> Box, InteractingSphere->Sphere, InteractingFacet->Facet.
1. Fix renaming conflict (InteractingSphere->Sphere shadowed by older Sphere->SphereModel)
1. use stderr for standard startup messages 2. add scripts/test/dispatch-torture.py for visualizing dispatch matrices in html. Add support HTML.py module from the web. 3. call cleanupTemps if exiting; we should leave cruft in /tmp/yade-* only if crashing before trying to exit (unusual)
1. Make MetaInteractingGeometry2AABB warning more descriptive.
1. Remove Scene::{cellMin,cellMax}, use just Scene::cellSize; update all related code and scripts 2. Change python interface: Omega.periodicCell=Vector3 (only size, no more min/max) 3. Add (not yet used) core/Cell.hpp header. Will be accessible as Scene::cell, once used.
1. call centerScene() in GLViewer ctor, bind C to centerScene if no body is selected (was deactivated most likely by mistake, bzr annotate thinks it was me...!?). This should fix bug reported by Chiara for TriaxialTest with UpperCorner=Vector3(12,12,12)
Fix missing import in py/post2d.py
1. Use Scene::cell instead of Scene::cellSize; update all code 2. Have O.cellSize (instead of O.periodicCell; add wrapper with warning) and add O.cellShear 3. Add scripts/test/periodic-shear.py (purely for showing the display things, no interactions etc yet!)
Do pending renames: * AABB → Aabb * Interacting{Box,Sphere,Facet}2AABB → Bo1_{Box,Sphere,Facet}_Aabb * Wall2AABB → Bo1_Wall_Aabb * GLDrawAABB → Gl1_Aabb
1. Finish implementation of sheared periodic space. 2. Fix bug which might have caused missed asymetric (Facet - Sphere, for instance) in periodic space, when interaction order was reversed. 3. Add possiblity to pass a callable to utils.spheres' material parameter, to avoid shared material properties when called indirectly (pac.randomDensePack) 4. Remove Aabb::{center,halfSize}, since they were used only rarely and were redundant.
1. Remove abstract RenderingEngine 2. Remove SceneShape and related classes
1. Add python2.5 relative module import workaround (hope it works) 2. Move some python accessors from yadeWrapper to their respective classes 3. Half work on periodic cell scaling in the OpenGL renderer
1. Add ctor priorities, but only for gcc >= 4.3 (for early logging and plugins; necessary for the next point) 2. Register Functor core class in the factory (will be done for the rest soon, see https://bugs.launchpad.net/yade/+bug/498337) 3. Wrap Matrix3 class in python, write unit tests for it. 4. Re-enable ForceEngine and FacetTopologyAnalyzer 5. Update a few scripts in test/scripts
1. Implement arbitrary strain for periodic cell (see scripts/test/periodic-shear.py). Most code adapted accordingly. 2. ClassFactory now logs to cerr if YADE_DEBUG env var is defined, not otherwise. This avoids initialization order of plugins vs. ClassFactory itself
1. Fix weird behavior reported by Luc at https://lists.launchpad.net/yade-dev/msg02794.html (numerical issue) 2. Fix crash at body selection (wrong dispatcher arguments) 3. Add warnings about what Luc observed, should it happen again.
1. Allow spaces after YADE_REQUIRE_FEATURE (before parenthesis) and around its argument inside parentheses.
1. Fix https://bugs.launchpad.net/yade/+bug/499697 (sorry, Luc)
1. Rename BexContainer to ForceContainer, O.bex to O.forces etc. Mostly backwards-compatible in python. 2. Add Shop::flipCell which changes shear without affecting interactions (by integral steps), demonstrated in scripts/test/periodic-shear.py (not yet fully tested, but doesn't crash ;-) ) [BROKEN due to recent VELGRAD changed] 3. Add InteractionsContainer::eraseNonReal
(Fix unsignificant hasShear mistake in Cell, clean old code there)
1. Make python interaction iterator return only real interactions. (TODO: regression test & check scripts for compat)
1. Add cell strain rate integration to the Scene loop. 2. Remove Cell::Hsize and friends, remove VELGRAD; unify both approaches. 3. Update some scripts, fix Shop::flipCell (demo in scripts/test/periodic-triax-velgrad.py)
1. Use Cell::trsf instead of Cell::strain (which really meant trsf-Id) 2. NewtonIntegrator now precomputes cellTrsfInc for the current step, instead of using Cell::getTrsfInc getting increment from the previous step (!?) 3. Update scripts and other code.
1. fix size computation in cell 2. Save history at exit, incremental history search with arrows up/down 3. Don't return false in Ig2_Box_Sphere_ScGeom for existing intr
1. Separate rotation&shear from scaling in cell. Fix possible error (but also possibly not?) error in collider. Spheres' Aabb's are still probably not correctly enlarged.
1. Forgotten new file.
1. Re-enable error check in InsertionSortCollider, make the explanation clearer 2. Fix sphere's Aabb (hopefully) (Bruno, could you check that?) 3. Worker thread now catches exception from simulation and O.wait() (or O.run()) will rethrow it; avoids crashes from exceptions.
1. Preliminary attempt at https://blueprints.launchpad.net/yade/+spec/c++-numpy-arrays (for postprocessing and similar), example in eudoxos.testNumpy 2. SpherePack::makeCloud can be asked for negative number of spheres (= as much as possible)
1. May fixes for errors found when running larger simulation. 2. Move material properties from Ip2_CpmMat_CpmMat_CpmPhys to CpmMat itself. 3. Some reverts in PeriIsoCompressor (log strain and usage of refSize)
1. Add clone function to python objects, taking optinal python dictionary with changed attributes 2. Fix PeriIsoCompressor for examples/concrete/periodic.py 3. GaussAverage relThreshold argument is now optional in python, as it is in c++ (again)
1. Fix examples/concrete/periodic.py 2. Fix (partially) scaling of periodic cell resize in OpenGL
Implement https://blueprints.launchpad.net/yade/+spec/sphere-gl-stripes (weird lighting things). Must be enabled via "Gl1_Sphere(stripes=True)" in python.
1. Fix SpherePack().makeCloud() in python
1. Remove some old docs 2. Attempt at update-alternatives 3. packaging updates
1. FIx core class registration in the factory (fixes inheritance info in python for such classes) 2. Fix debian packaging, use update-alternatives
Bulk of consistency renames (hopefully last for long time to come): * ElasticMat → ElastMat * GranularMat → FrictMat * NormalInteraction → NormPhys * NormalShearInteraction → NormShearPhys * ElasticContactInteraction → FrictPhys * SimpleElasticRelationships → Ip2_FrictMat_FrictMat_FrictPhys * ef2_Spheres_Elastic_ElasticLaw → Law2_ScGeom_FrictPhys_Basic * Law2_Dem3Dof_Elastic_Elastic → Law2_Dem3Dof_FrictPhys_Basic
1. Document PeriodicEngine (doxygen comment in the header) 2. Fix runtimePREFIX vs. PREFIX in yade-multi (only affects packages, not regular builds)
1. Fix epydoc generation with python main (thansk Anton for th yade-cxx hint!) 2. Expose O.tmpFilename returning unique filename in temporary dir that is deleted at exit 3. Do not import yade.plot at startup, since it initialized matplotlib to TkAgg, which needs $DISPLAY (and fails later if no $DISPLAY exists, i.e. for headless simulations) 4. Fix shear stress computation in CpmStateUpdater
1. Fix numpy_boost and TesselationWrapper 2. Start moving python registration code inside classes themselves. That should allow proper class hierarchy in python as well as (faster) object.attribute access instead of hacky object['attribute']. Please report errors you might encounter. 3. Resurrect Dem6DofGeom, doesn't work for now.
1. Add new-style python wrapper to most classes that were previously wrapped in yadeWrapper.cpp. Let me know if this breaks something for you.
1. Add YADE_CLASS_BASE_DOC_ATTRS and YADE_CLASS_BASE_DOC_ATTRS_PY macros for python wrapping, including documentation (e.g. https://yade-dem.org/sphinx/yade.wrapper.html#yade.wrapper.Body). All classes should be converted in the future. 2. Remove global functions (diagDiv, componentMinVector, ...) from the wm3 wrapper
1. Add new python wrapper to a few more classes. 2. Make python's executable have real python path in the #! line at the beginning (that is, the same python interpreter used for running scons)
1. Fix body_id_t typedef (add includes) 2. Check body id when accessing ForceContainer from python 3. Override prefix in config.py already if YADE_PREFIX is set
1. Fix python docstring options for boost <=1.35 (hopefully)
1. Classes now warn at startup if they don't register &document attributes with YADE_CLASS_BASE_DOC_ATTRS & friends. 2. Add YADE_CLASS_BASE_DOC_ATTRDECL_CTOR_PY macro that declares, documents and initializes data members. 3. Add NaN to lib/base/yadeWm3Extra.hpp, which is std::numeric_limits<Real>::signalingNaN() 4. Fix syntax in a few python modules, away from the old obj['attr'] to obj.attr
1. Add detection & mention workaround for https://bugs.launchpad.net/ubuntu/+source/boost1.38/+bug/457688 1. Convert a few more classes to YADE_CLASS_BASE_DOC_ATTRS
1. Re-disable CInem{CNC,KNC}Engines (sorry, Jerome) 2. don't compile cxx main anymore; delete the executable from installation if present 3. Add help for --threads equali with OMP_NUM_THREADS
1. Moved all (most) unused files to attic/* (such as those that have YADE_REQUIRE_FEATURE(PHYSPAR);). We will not keep them there indefinitely (they are in the history), though. If you want to re-enable some classes, fix them and move them back (using bzr mv) to pkg/*. If I inconsciously moved some file that was being used, please fix it yourself (it is unlikely, though).
Get rid of physpas a geometricalshape relicts in non-attic code.
1. Fix class registration macro without attributes (remove "cap" in Rpm LawFunctor as well) 2. Remove StretchPeriodicEngine, it was probably too complicated to be really used; remove yade.plot data reduction which was relying on StretchPeriodicEngine 3. Properly expose PeriodicEngine, PythonPeriodicRunner, VTKRecorder, FileGenerator to python
1. Fix python registration of CohesiveStateRPMRecorder (YADE_PLUGIN was missing for PeriodicEngine and Recorder, it seems). Thanks Anton.
1. Wrap many classes using YADE_CLASS_BASE_DOC_ATTRDECL_CTOR_PY and friends. 2. "Fix" problems with features=all (is rejected now, features must be written by hand) 3. Add |ystatic| sphinx role (for static data memebers) 4. Rename GLDrawCpmPhys to Gl1_CpmPhys
1. Wrap yet more classes with YADE_CLASS_BASE_DOC_ATTRS and friends. I strongly ask people to do the same for "their" classes (like Bruno for TriaxialTest and so on); I will not and it might make those classes unfunctional in the future. 2. Add documentation here and there, where it was lacking
1. Remove wm3 includes from everywhere, use lib/base/Math.hpp instead (in preparation to the eigen switch). Regression tests passed.
1. Remove a few forgotten files.
1. Fix empty display (improperly initialized drawMask)
1. Catch io exceptions in the gui 2. Detect io error and throw in IOFormatManager 3. Set config dir at startup, enabling use of logging.conf etc 4. Fix display issues we had. When not running script/xml from command line, yade doesn't display the controller (press F12 to have it). Let me know if this is OK or not. 5. Fix OpenGL initialization code.
1. Add bin with 0 interactions to _utils.bodyNumInteractionsHistogram, hereby fixing utils.avgNumInteractions as well (thanks, Luc)
1. Update comments in scripts/simple-scene-plot.py (thanks, Chiara)
Document registration macros (will move to Programmer's manual later)
(Add 2 more hyperlinks to ElasticContactLaw, once it serves as example for docs)
1. Remove some garbage 2. Make code partially compile with the wm3-eigen glue.
(more fixes for wm3-eigen compat)
1. Fix compilation for per-class builds 2. Add manual wrapper for wm3 classes instead of the auto-generated one, to ease transition to eigen. Let me know if it broke something.
Fix compilation error introduced in last commit; sorry.
Fix setting # of OpenMP threads via -j switch
1. do not build miniWm3 at all if not needed
1. Document a few classes.
Register TimeStepper with YADE_PLUGIN as it should be (that's the reason it wasn't reported as not being registered with YADE_BASE_DOC_* -- thanks Bruno for pointing that out)
1. Add #ifndef YADE_* feature handling to implicit build scanner (till now, it was only supporting #ifdef YADE_*)
rename sphere{From,To}File to {ymport,export}.text for consistency.
1. Add scene->forces.sync() to several places
Fix typo (Scene::force vs. Scene::forces). Sorry. Thanks to Chiara for reporting.
1. Add no-alignment macros to compiler command line directly, this fixes compilation with eigen, including the tt.py test and scripts/regression-testss.py
1. Fix plugin registration for CinemCNCEngine, remove some cruft, fix formatting, add hyperlinks.
1. Fix quaternion/vector initializers in NormalInelasticityPhys 2. Fix some eigen related macros
1. Add eudoxos.InteractionLocator and eudoxos.IntrSmooth3 for 3d smoothing of arbitrary quantities defined on interactions. 2. Adjust some docstring formatting
1. Doc fixes 2. Change prototype for Funtor::getFunctor, since it doesn't seem to work from python now (perhaps it's that Functors don't inherit from Functor in python universe, actually?!) 3. Fix some stuff with class indices for GenericSpheresContact. (It doesn't seem to help, though, either)
1. Fix instruction set (march) for debian packages 2. chunkSize=∞ if <= 0
1. Add docs at several places 2. Update debian/rules to run tests 3. Add funnel.py scripts/test/CundallStrackTest.py 4. Add more formats to SnapshotEngine (don't seem to work, though)
1. Add IntrCallback and BodyCallback (not yet really documented), for hooking into interaction loop in InteractionDispatchers and body loop in NewtonIntegrator (suggested by Bruno). Two real callbacks are defined, to compute summary (hence also mean) forces on interactions and bodies. Sample script is scripts/test/callbacks.py, but currently it crashes for reasons beyond my comprehension. 2. Remove Scene* ncb and similar stuff from everywhere, since all Engines have scene declared in the base Engine class and don't need it pass as arguments. Later, the prototype will be changed (Engine::action(void) etc). 3. Add docs here and there.
1. Eninge::action and Engine::isActivated no longer takes Scene* pointer. It must be set beforehand by the caller (done e.g. in moveToNextTimeStep). Please check for suspicious crashes. 2. Remove PartialEngine::applyCondition, replace by action just like other engines (https://blueprints.launchpad.net/yade/+spec/remove-partial-engine-apply-condition) 3. Resurrect JumpChangeSe3 engine 4. add py/_extraDocs.py for documentation of c++ classes/function written conveniently in python strings rather than c++ string literals. 5. Fix bug in Dem3DofGeom_SphereSphere, introduced when avoiding normalization of (0,0,0) vector; is OK now.
1. devirtualize BodyContainer and InteractionContainer (they use implementation from BodyVector and InteractionVecMap). There is some speedup. I ask people (you) to run some simulation with the older and current version and report what they observe on the ML. I had more than 2x faster in some cases (in debug mode, though). 2. Fix chunkSize=-1 linkage (is like setting it to infinity)
1. Set docstring format for yade.qt
1. Code cleanups, docs 2. Make sure we are able to compile with boost::serialization (loading/saving works now as well, but no compression yet; about 3x faster for saving and even more for loading) 3. Enable boost-serialization feature for debian builds
1. Don't create python proxy classes for those not using YADE_CLASS_BASE_DOC_* 2. Remove few deprecated things like O.bex and such. 3. Warn about object['attribute'] syntax 4. Add yade --update option, which will do in-place replace for deprecated class names. Run on scripts/test/*.py 5. Wrap ResetRandomPosition and PositionOrientationRecorder 6. Remove some olden scripts
1. Move SpherePadder from extra to py/pack/SpherePadder 2. Add py/pack directory, to avoid too many files in py 3. Other small fixes
1. Fix crasher in Ip2_FrictMat_FrictMat_FrictPhys (??) 2. Cleanup python code 3. Add feature gl2ps, hitting 'v' in the GL view will save PDF (seems to freeze on large scenes, but works nice on small ones) 4. Add special syntax for deprecated attributes. For testing, renamed Shape::diffuseColor to Shape::color.
1. Fix gl2ps, works even for larger scenes now.
1. Rename many attributes in OpenGLRenderingEngine, using the deprecated attribute framework 2. Add pickling support to Serializables (useless) 3. Fixes of docstrings here and there
1. Disable deprecated attributes handling for gcc<=4.2, which gives errors on that code.
1. Use BSP sort in gl2ps only if len(O.bodies)<100 2. Remove ClumpMemberMover, no longer used anywhere 3. Fix pack.regularHexa bug, reported by Nasibeh http://www.mail-archive.com/yade-users@lists.launchpad.net/msg01424.html
1. Uniformize accumulator interface for open and openmp-less builds.
1. Fix compilation of deprecated attributes for gcc 4.3 (thanks Jerome for reporting) 2. Re-add facet rendering code. 3. Add docs to predicates.
1. TriaixalStressController: originally compilation fix, but Luc was faster; Bruno, I tried to replace on c-array with boost::array; if that works, you could use it for other c-arrays as well 2. Add yield surface query function from python to Law2_..._Cpm 3. Make plot support label translation via yade.plot.labels 4. make chunkSize very small for debian; add strip for the optimized build
1. Fix action(Scene*) vs. action() virtuals (mass replace in attic as well), in TranslationEngine. Thanks to Nasibeh Moradi for reporting.
1. Add doc/references.bib, which can be references from docstring using [Author2008]_ syntax (note the underscore). 2. Added a few bibliography items to test, and changed relevant docstrings -- see e.g. https://www.yade-dem.org/sphinx/yade.wrapper.html#yade.wrapper.NewtonIntegrator.damping
Add doc to SimpleViscoelasticPhys, add Jean-Francois' paper to both bibtex and SpherePadder's docs
1. add axis parameter to utils.uniaxialTestFeatures, to force strain direction
1. Import yade.plot when showing graph 2. Fix bibtex entry 3. Handle unseen interaction in InteractionDispatchers differently than with requestErase, as that will not work with certain colliders 4. Add from yade import utils to utils.py docstrings, and show full utils.sphere instead of sphere in session transcripts (thanks to Jerome for pointing that out)
1. Add toy grid-based collider (very slow)
1. Rename viscoelastic classes as discussed on the mailing list 2. FIx some docstrings.
Fix weird crash http://www.mail-archive.com/yade-users@lists.launchpad.net/msg01482.html in glGetError() (disable error check)
1. Reorganize engines a little bit, as discussed in http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg03337.html and other messages in the thread (trivial to change, though) 2. Small fixes at different places
1. Fix https://bugs.launchpad.net/yade/+bug/539562 (thanks, Luc) 2. Fix import warning in yade.remote
Fix monolithic build (#pragma once for BoundaryController and FieldApplier), sorry
1. Add importing native SpherePadder meshes 2. Fix LSMGenGeo interaction with our own type Sphere (in yade itself and in SpherePadder (HACK!!) 3. Fix sample scripts for GenGeo and SpherePadder 4. Allow both gengeo and GenGeo imports 5. Fix ymport.gengeo (shift vs. moveto)
1. Start filling NEWS for upcoming 0.5: do the same if you have some big things in mind 2. Fix hyperlinks in Gl1_Sphere doc
1. Make python return Vector2r, Vector2r, Vector3i, Vector3r, Quaternionr and Matrix3r by reference rather than by value; fixes http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg03406.html and was introduced by fixing https://bugs.launchpad.net/yade/+bug/539562. See explanation in Serializable.hpp.
1. Replace the ugliest code I've ever written by something more sensible. Still ashamed, though, please forgive me.
1. Completely remove HydraulicForceEngine which didn't exist in sources (removed by Bruno in previous commit) 2. Experimental binary io using boost::serialization 3. Some function in yade.eudoxos
1. Some preliminary work to make boost:;serialization work (MUCH faster)
1. Fix calling {pre,post}ProcessAttribute multiple times with boost::serialization.
Fix unchanged name (Bruno, do you use scripts/rename-class.py, right? https://www.yade-dem.org/sphinx/prog.html#renaming-class)
1. Skip yade::ObjectIO for boost::serialization-less builds. (thanks Nasibeh for reporting)
Fix Jerome's problem with boost 1.35 (don't compile code uselessly)
1. Fix cached values for cell and facet when modified from python 2. Fix table parsing for lines with 1 character onlyDynamic
1. Clarify error message i Law2 functor is not found (thanks, Chiara) 2. Make static attributes initialized by values provided in YADE_CLASS_BASE_DOC_STATICATTRS 3. documentation fixes here and there
1. Fix yade.plot broken in last commit 2. adjust interpolating-force example script
1. Adjust interpolating-force.py script; present for Chia
1. Fix boost::serialization and postProcessAttributes 2. Add scripts/test/serialization-benchmark.py for comparing serialization time/size (http://www.mail-archive.com/yade-dev@lists.launchpad.net/msg03496.html) 3. Fix bug #557124 (hopefully) 4. Don't call postProcessAttributes on Facet in utils.facet, as that is called automatically when setting vertices now.
Some eigen compatibility stuff
Some more replaces
After some text replaces (IDENTITY etc); removed MarchingCube
1. Replace things for eigen compatibility. See https://www.yade-dem.org/wiki/Wm3%E2%86%92Eigen for details. Code should not be changed functionally. Report if it is. 2. Remove PositionOrientationRecorder from everywhere. 3. Make the timestep entry behave differently: only when enter is pressed, it will change timestep. Fixes bug #394687
1. Forgotten fixes.
REALLY fix bad end iterator on InteractionContainer (since r2092!!). UPDATE your code, this makes simulations little wrong (some interaction might be processed twice in one step).
(Remove unnecessary aseerts in InteractionContainer.)
1. Remove some ToAxisAngle and FromAxisAngle as per https://www.yade-dem.org/wiki/Wm3%E2%86%92Eigen 2. Fix NewtonIntegrator using [i] on quaternions. 2. Add docs for VTKRecorder
1. Make controller a little more compact 2. JumpChangeSe3->StepDisplacer (does it sound ok, Chia?), MomentEngine->TorqueEngine 3. Fix a few docs 4. Disable building of CapillaryPressureEngine, it cannot work.
1. Change Wm3 interface so that it is eigen-compatible. Please let me know if there are regressions. 2. Fix body selection with python when no onBodySelect callback is defined
1. Some garbage removal 2. Fix assertion in NewtonIntegrator
1. Fixes for Eigen compatibility (compile with features eigen,nowm3)
1. Add forgotten file
1. Add docs for kineticEnergy 2. Complete wrapper for Eigen in Python (will be renamed from miniWm3Wrap to yade.math or similar later), passes scripts/regression-test.py now
1. Rename miniWm3Wrap module to miniEigen. Let me know in case of regressions (shouldn't be, unless you imported that module directly) 2. Add documentation to the eigen wrapper, document operators (https://www.yade-dem.org/sphinx/external.html#module-miniEigen) 3. Add custom converters from sequences for all supported vector types
1. Fix bug with facet import Luc reported (thanks) 2. Add None to separate y1 and y2 axis (instead of |||, which will still work, but is not documented anymore) 3. Add the possibility to plot multiple x axes with the save variable by adding spaces to the name in yade.plots 4. Rename TestWm3Wrapper to TestEigenWrapper
1. Add backward-compat to Cpm model if from external files 2. Complete the eigen wrapper 3. Fix some docstrings.
Fix inplace operators.
1. Add Pournin article to references.bib 2. Fix some docstrings (still not clear)
Fix DOI for Luc's article
1. Make yade compile with eigen by default. Use 'wm3' feature to compile with Wm3 instead (beware, you still need eigen installed) 2. Disable the possibility of ocmpiling with external wm3. 3. Add Identity, Ones, Zero, Unit{X,Y,Z} to old wm3 wrapper so that they can be used in python.
1. Fix O.tags with keys with spaces (historical relics)
1. Add forgotten ctor with kwargs to classes with static attrs (such as GL functors) 2. Update scripts/test/Dem3DofGeom.py
1. Fix facet wall vertices addition in TriaxialTest.
1. Fix O.tags tag update. Thanks to Anton for spotting the problem.
1. Change O.dt semantics (negative value activates TimeStepper) 2. Rename O.usesTimeStepper to O.dynDt 3. Remove several Omega wrapper functions that really pertain to Scene, adapt code accordingly. 4. Remove bunch of useless files from attic (mostly seem to have equivalents in our tree, or are obsolete WRT code structure)
1. Change O.dt as per http://www.mail-archive.com/yade-users@lists.launchpad.net/msg01767.html + update docs
1. Remove some old garbage code 2. Make Material::id read-only from python
1. Forgotten Scene #include in StepDisplacer, sorry.
1. Partial fix for clump eigen decomposition
1. Fix apparent clumps problems, spheres in the dogbone were getting through.
1. Rename groupMask to mask, change its default value to match that of Body::Body ctor (Bodies with 0 mask would not collide!!!!!!!!!!!!) and add to to waoll and box as well (please keep the interface the same for all 4: sphere, facet, wall, box).
1. Remove old sphinx docs before adding new ones.
1. Merge sphinx docs from https://launchpad.net/~eudoxos/+junk/ydoc/
1. remove sdecGroupMask from functors (handled by the collider already) -- thanks to Chiara for pointing it out.
Fix compilation error (Bruno, you must have been terribly tired today)
1. add explicit qt dependencies.
1. Fix scene pointer in CohesiveFrictionalContactLaw 2. add doc to utils.avgNumContacts.
1. Fix timestepper selection 2. Disable debuggin in Eigen (for higher performance with debug builds)
1. compile with package QGLViewer, if installed (package libqglviewer-qt3-dev)
1. Add Peri3dController, done by Jan and me during a rainy day 2. Implement memoizeDb for pack.randomPeriPack 3. add polar decomposition to Matrix3 in python 4. make the 3d view update even if there are no bodies
1. Fix bibliography path in generated docs 2. Fix bug #582679 hopefully (compile error with clean builds) 3. Add import gts to gts related function in yade.pack, to make the error message more informative 4. Rewrite scripts/debian-prep in python instead of shell 5. Add qglviewer to some versions in debian/control-template
1. Remove pause time from omega, avoids negative realtime 2. Fix some scripts in scripts/test
1. Avoid recompilation of the UI when already compiled
1. Tentative fix for the clumps bug
1. Re-enable PeriIsoCompressor and PeriTriaxController
1. Update docs for Peri3dController 2. Fix compiler warning
1. Adjust debian-related packaging files 2. Remove NullGUI for good 3. Remove non-DISPATCH_CACHE code (not used)
1. Fix a non-critical typo in the script
1. packaging fixes
1. Remove attic (use bzr co lp:yade -r2280 to get it) 2. Remove QGLViewer 3. Remove miniWm3
1. Remove wm3 sources 2. Remove #ifdefs pertaining to Wm3
1. make Body::isDynamic a method (and Body::setDynamic to change it), in preparation towards making dynamic equivalent to State::blockDOFs==State::DOF_ALL 2. make YADE_BOOST_SERIALIZATION and YADE_SERIALIZE_USING_BOOST #defined in all builds (will be removed later once the switch is complete)
1. Replace wm3-compatibility functions (component{Min,Max}Vector, angleAxisFromQuat, diag{Mult,Div}) with their eigen equivalents.
1. Fix stl import with different material
==================================================
yade-0.20.2
Sat, Sep 19 21:41:52 2009 +0200
Anton Gladky (34):
1. This is my first test commit 2. Added some initial files for mining rocks classes simulation
1. Some changes in RockPM, still does not work good
1. Some small changes on RockPM.* files 2. Test SVN_2_email
1. Test 2. RockPM.* updated
Changes on RockPM.* files
1. RockPM, first variant of "destruction mechanism"
1. Deleted euclid.py
1. delete euclid.py (fised Sconscript)
1. In utils.py alignedFacetBox has been changed to facetBox. It is now possible to create arbitrarily-aligned box composed of facets 2. Updated regular-sphere-pack.py 3. Some small changes on RockPM.cpp
1. RockPM update. Added simple "destruction mechanism" 2. Added scripts/installOnUbuntu.sh to make "oneButton-checkout+compile+install+doxygen+epydoc" script. Not tested yet. Requires corrections.
1. Updated some scripts according to new syntax
1. Added PressTestEngine for simulating presses. Can be used and for PointLoadTest simulations.
1. Updated simple-scene-graph.py according to a new syntax 2. Updated simple-scene-video.py according to a new syntax
1. Changes on PressTestEngine. Now it defines the destruction moment more precisely 2. YADE CONSOLE emblem shows now without upper row shifted.
1. Some small changes
1. All variables initialize in PressTestEngine and RockPm
Some changes on News
Fix compile error
1. Partly fixed
1. Almost fixed https://bugs.launchpad.net/yade/+bug/412892 Just 1 warning:
Some changes in INSTALL file because of migrating to BZR
Some changes on one-click-install script
Added "warning" in one-click-install script
1. Fixes compiling error without openmp feature.
1. 418107, I guess it is more correctly.
Some nonessential changes
Blocked some warnings in RockPM.cpp
Small changes
Press Engine and RockPM changes
Added demonstration of buldozer simulation
"Thanks" and Thanks to Janek :)
Fixes VTK-librabry dependencies for Ubuntu
Some small changes on Buldozer
0.20.2
Bruno Chareyre (22):
A wrong comment on contact laws in PFC3D is removed.
svn update - no real change (in principle) - recovering from erased local file
- Fix conflicts and prepare next implementation of isotropic compression
- Few files missing in the previous commit. - Add a new class for computing/recording micromechanical data based on tesselation
Still recovering from conflicted files... I hope this is the last one.
A class with algorithm for analysing contacts-forces-displacements statistics. Using the triangulation lib.
1. Fixed a critical bug in ElasticContactInteraction (kn, was not registered and left undefined after loading a simulation). 2. Test if fn!=0 (i.e. contact exists) before adding kn/ks to the global stiffness.
1. "Water" classes are updated based on the code developped locally (but not commited for a while) by Luc Scholtes. 2. Triangulation code updated as well (not compiled by default).
1. Add a missing class (for the capillarity model), this fixes a compilation error in the previous commit due to the missing files.
The "stopSimulation" command in the compression engine is now optional, as sometimes you don't want it to stop at all(1). The default behaviour of the compressionEngine is not affected, with autoStopSimulation=true by default. However, the TriaxialTest IS affected : it sets autoStopSimulation=false by default.
1. Update capillary files and add a new engine for them. 2. Prepare for removing old useless classes (typically some variants of engines with "water" at the end)
Remove useless dependency.
-Avoid crash when computing fusion number (it was using pointers to deleted interractions) FIXME : no distant meniscii for now due to deletion by the contact law.
Base class for the solid-fluid coupling (E. Catalano PhD).
-Register "thickness" so that sample dimensions are computed correctly (and not with 0 thickness)
Dimensions could be 0 when "updateParameters" was called from TriaxialCompressionEngine before TTController::action
Missing declarations in r1836.
- cleanup : removing unused (and useless) "water" variants of engines - some cleanup in recorders too
Update of the read/write functions for the connection with comsol. (coupling via Berkeley<->Grenoble mail servers! ;))
Missing declarations of member variables.
<none>
Set default read/write behaviour as in Andrea's version.
Feng Chen (1):
This is viscous force damping, equation similar to http://en.wikipedia.org/wiki/Damping, damping parameters are controlled by betaNormal and betaShear, it is sometimes more realistic than the non-viscous (or say, local) damping. While using this code, please make a reference to:
Janek Kozicki (54):
ouch, forgot to mark INSTALL file as outdated. We need to update it.
some cleanup in the files
fix crashes of this->parentWidget()->parentWidget() in UI
yade.cpp: more detailed info about compilation flags. LatticeExample: added material parameters bond zone between steel fibres and cement matrix
update to use latest scons 1.0.0
don't refresh display when there's nothing to refresh
support for generating multiple file with single NullGUI call
add to SimulationController buttons for looking in different directions. The default view direction is now down along the direction of gravity.
improved generation of steel fibres in lattice
fixed snaphotNames in NullGUI for .xml.gz
more configurable MakeItFlat, TriaxialTest can be now a biaxial test as well. small fixes in UIs
make it compile with boost 1.35 (I wonder what 1.36 will bring)
Fixed OpenGL problems with displaying spheres, which - never occurred on my desktop - I've seen them sometimes on other peoples computers, but never could reproduce them - but finally have appeared on my laptop.
up direction on Y release 0.12.1
created nearly empty snow package: pkg-snow
Snow stuff - generate grains made of layers according to voxel data read from file. And daraw it.
forgot some files
- make it compile with boost 1.34 - some snow improvements
- another fix. now it really compiles with boost 1.34
1. TriaxialStressController reads radius from interactingGeometry
Code wasn't compiling because of #include MicroMacroAnalyser - comment it out.
1. argh, guys. svn HEAD must compile. You didn't check your commits and then I waste 1h to fix that. See this commit, to check what I had to comment out about WATER
- added keyboard shortcut '.' that toggles grid subdivision by 10 - fixed error with grid step - grid step is now shown in gl window
small snow update
another small snow update
1. small snow update 2. fix compilation error by Vaclav (hey, you didn't compile again before commit! ;p )
rename file to avoid case conflict with directory
1. GLViewer - when sth. is selected don't move it to 0,0,0 position, but use its original position. This is done by delaying assignment to the next call of draw()
- added extensive comments to the polyhedron code which will be used for collisions
small snow update
maybe spheres won't disappear anymore?
a placeholder for drawing snow interactions
changed guards to #pragma once
postpone creating a 3d view, until a file is loaded. That should hopefully fix the problem with the primary view being empty.
added AUTHORS file, for the purpose of updating file headers. This was copied from http://yade.wikia.com/wiki/Authors
Why do I have the impression that I'm adding this file a second time? After all it's referred to in almost all source files "See file LICENSE for details.", right?
sort people in alphabetical order
sorry for bumping up revisions....
Snow, as it is finished by me. Further work on it will to be done by next post-doc researcher who wants money from EU for working on this :)
fix miniwm3 / full wm3 compilation error
I forgot to add those, sorry. (I wonder how it could stay unnoticed for so long ;)
add option for horizontal or vertical wires in fibre reinforced concrete.
1. correct display of lattice rods on 0th iteration 2. on/off switch for using different stiffness for tension and compression in lattice 3. fixed a bug in BodyRedirectionVector related to deleting of bodies 4. two more lattice examples 5. few more safety checks in lattice code
1. NullGUI was still usin .gz while thay are not supported anymore 2. small lattice update
sanitize stupid numers in QtGUI, eg. 0.1299999999999 becomes 0.13
small fix
after isNew and isReal are removed I'll update the code to use new contact logic.
Add an option to display DOFs and body IDs in the OpenGL window
- Lattice uses DOFs now - old implementation is still accessible by setting a flag backward_compatible, so that hundreds of my old FileGenerator files will still work - some improvements to recording strains and forces
- fix all my warnings - lattice generator improvements wrt concrete with steel fibres
- some improvements wrt to generation of densely packed aggregates and steel fibres in the concrete structure
- testing command "bzr commit --fixes lp:414868" - fixing bug 414868
Fix stupid error introduced when we have migrated to bex container
1. get snow code to run, albeit still buggy 2. why dynamic_casts stopped working everywhere, that's a mystery to me 3. interactions isNew doesn't exist anymore, snow code needs update for this
Jerome Duriez (9):
Added : - Engines for simulating shear tests at constant normal displacement, normal stress or normal rigidity (CinemDNCEngine, CinemCNCEngine and CinemKNCEngine) for samples deriving from SimpleShear PreProcessor (added also, former DirectShearCis) - ContactLaw1 : a contact law with Moment Transfer and inelastic behaviour in compression : see comments. With correspondant Relationships and type of Interactions. NB : sorry for the name : i didn't search too long for a more explicit one but I think personly that the comments in the files (and I tried to put some) are far much better than the one
- Add of the paragraph for the CL1Relationships, which was forgotten, in the corresponding SConscript
A (last ?) error concerning last revision in the paragraph CL1Relationships : "CL1Interaction" does not exist, that's ContactLaw1Interaction
-ContactLaw1 : correction of prototype of action() : it needed a body, whereas now action methods of Engines need a Metabody. This led the simulation to crash and is now fixed - SimpleShear : now all is normaly done so that this preprocessor could be used (with success) with this ContactLaw. Moreover it is now linked to the GlobalStifnessTimeStepper (instead of the ElasticOne)
Suppress of some useful comments (sorry for the extra mail)
(At last) The good Sconscript file
- The GlobalStifnessCounter engine (for correct use of GlobalStifnessTimeStepper) was forgotten in the preprocessor SimpleShear...
- Correction of the headers of two files "ContactLaw1Interaction" which were commited by me and not by Bruno - Some features of ContactLaw1Interaction were declared in ElasticContactInteraction. This was a mistake totally not planned (and the fact it was in svn also was not noticed) and is now corrected
- End of the job by suppressing also the corresponding lines in .cpp...
Luc Sibille (1):
I added a new engine "ThreeDTriaxialEngine" to perform triaxial simulations with an independant control in stress or in strain in the three space directions respectively. In this goal, the TriaxialStressControlEngine has been sligtly modified to impose a different stress value or strainrate in each space direction. I hope I have broken nothing!
Sergei Dorofeenko (32):
1. A new algorithm for facets. It use only a class Facet, so classes Vertex and Edge are deprecated and has been removed. 2. Add functions to python gui for import geometry from stl and for creating facets. 3. Add Shop::inscribedCircleCenter for calculate position of center of triangle inscribed circle (use it for set facet's se3.position). 4. ForceRecorder now take cary about old data files and renaming them. 5. SimulationPlayer now allow wire body form view tab.
1. ResetPositionEngine is now inherited from PeriodicEngine. 2. Add examples/rod_penetration model and geometry.
small fixes
1. New random-access interaction container InteractionVecMap (rewrited from InteractionVecSet) 2. Fixes: default initialization some attributes in SCG and IS2IS4SCG
Intermediate commit for SpheresFactory. Don't work yet. 1. New engine SpheresFactory 2. Add function engineByLabel to MetaBody 3. Add members to BroadInteractor.
1.First worked version of SpheresFactory engine. Example in examples/SpheresFactory 2.Added PersistentSAPCollider::probeBoundingVolume function (for using with SpheresFactory) 3.InteractionGeometryMetaEngine::explicitAction has been modified to remove artifical (as me seems) asserts. 4.python import_stl_geometry now return list of body ids instead only their number. 5.import stl geometry now allows import facets without BoundingVolume and InteractingGeometry. 6.Fixed dynamic_cast for BroadInteractor.
1. SpheresFactory allows now to create spheres in a convex volume. 2. SimulationController estimates total simulation time if stopAtIteration>0.
1. SimulationPlayer now allows to reload filters without reloading all simulation. 2. ColorizedVelocityFilter now allows to setup minValue,maxValue without reloading the filter.
Fixed bug in RotationEngine: rotationAxis now normalized in action(), not in postProcessAttributes()
ColorizedVelocityFilter counts a scale for each frame, without using previous min,max values.
Class SimpleViscoelasticInteraction is renamed to ViscoelasticInteraction and is inherited from ElasticContactInteraction now.
1. Convert SimpleViscoelasticContactLaw to ConstitutiveLaw engine unit (Spheres_Viscoelastic_SimpleViscoelasticContactLaw). 2. SimulatonPlayer have now Display tab as one in SimulationController.
1. The experimental widget for drawing a color scale for colorized velocity filter. 2. Convenient python function utils.ColorizedVelocityFilter.
Merging utils.*_v2 functions with their "first" analogs.
Add two new filters: ColorizedTimeFilter and PythonRunnerFilter
Migrate GravityEngines and ConstitutiveLaw to BEX_CONTAINER
Convert STLImporterTest to ConstitutiveLaw (SimpleViscoelastic contact model) and NewtonsDampedLaw engine.
Fix bug in serialization for ViscoelasticInteraction. Fix compilation error for InteractionHashMap
Update contact logic for SpatialQuickSortCollider (hope, it's correct)
Fix typo in PersistentSAPCollider
1. Remove zeroPoint 2. Add prefix ef2_ to Spheres_Viscoelastic_SimpleViscoelasticContactLaw
Fix link errors
fixed and updated some examples in keeping with last modifications
Realise InsertionSortCollider::probeBoundingVolume() so SpheresFactory now works
SpheresFactory now can create a spheres by python function. See scripts/test/SpheresFactory/model.py for example.
Add export python module with VTKWriter class (very initial) to export data from YADE to VTK-based post-processing tools
Added a c++ VTKRecorder (for spheres and facets) and new feature 'vtk' needed for it.
Add colors rec to VTKRecorder
Add default path for VTK
Fix VTKRecorder headers
Fix VTKRecorder headers
Add VTKINCDIR to configure options for directories where to look for VTK headers
Unknown (3):
I added a new state at the triaxial compression test in order to realize isotropic compression by the walls displacement until a indicated porosity value. These modifications can be seen with generator file "TriaxialCompression" in the last three parameters (added).
I corrected my errors on the triaxialtest files.Moreover, i added comments in the TriaxialCompressionEngine.hpp.
The isotropic compaction into the TraxialTest is activated: 1)I have deleted the translationspeed parameter (now the translation speed of walls is the strainRate parameter) 2)I have activated the porosity parameter in the TriaxailStressController.cpp file
Vincent Richefeu (42):
- initialize radius in InteractingSphere constructor. - add new plugins used for membrane modelling.
- add GLDraw plugin for BssSweptSphereLineSegment displaying
- 'Membrane' (in fact geogrid) has been improved but still doesn't work... - the class GroupRelationData has been add (not used yet) to define interacting parameters such as coefficient of friction or restitution that have nothing to do in the bodies parameters (in my opinion)
- forgotten files
- add the soft mgpost for DEM simulation post-processing and visualization.
- set menus in english mode
A very quick guide for mgpost (usage and XML format)
a forgotten file in mgpost/doc
- add a new tool for sphere packing (still in dev) - some enhancement in mgpost interface
- SpherePadder devel...
SpherePadder devel...
SpherePadder (devel: 5 steps ok)
- SpherePadder update - add a basic 'user friend' interface for sphere packing generation. The module can of course be used without this interface.
Speed enhacement for the SpherePadder algorithm.
Add possibility to make PNG screenshots (using libpng)
Add a DataRecoder that generate MGP files (only for Spheres for the moment). The MGP files can then be read with mgpost.
- add a class based on CGAL for 3D triangulation. - Packing method enhanced (place 380000 spheres in less than 2 min)
Fix some bugs and enhance the display of positive and negative forces
Fix some bugs
Begin devel. of densification process
2 files that were forgotten
Simplify sphere shapes when if there number is increased
Bug corrections (min and max radii)
- overlap with spheres inserted by user -> bug fixed - Densification begins to work
Increase the number of colors for the display of body's groupMasks from 6 to 10
We can now make the packing denser with a stop criterion based on the solid fraction or total number of spheres.
Add BasicViscoelasticRelationships: an alternative to SimpleViscoelasticRelationships. It accounts for the effective mass of each contact and considere the parameter cn as a dimensionless ponderation of its critical value (computed for each contact). Parameter cs is set to zero for the moment.
Add a boost.python wrapper (module packing)
Add a function to SpherePadder_wrapper to pass the result back to python. As Vaclav suggested, it is a list of (x,y,z,R) tuples. (Complet integration into yade is not done yet)
- Add 'HistoryRecorder' to save the sample and network state with a given time-step interval. - Correct a small bug due to the fact that a Clump cannot be casted into a GeometricalModel (and I don't know why!)
Use the clump mass instead of clump-member mass for the determination of the effective mass.
Ooops! There was a bug
Add the function NormalRestitution2DampingRate.
Add sphere reading for gdm-tk format
Remove default linkage with libtiff (png is now prefered)
Add an example of python script for SpherePadder
Add GroupRelationData serialization (not used yet in *Relationships classes) This class serves to manage parameters between bodies depending on their groupMasks. Here is an example of 'command stream' in xml file to set the parameters: <grpRelationData _className_="GroupRelationData" commands_="[ngrp 2 parameter kn setall kn 1e6]" />
Just try to use GroupRelationData with BasicViscolelasticRelationships.
Cast size_t to int in pow(double,int) function to avoid ambiguity for gcc (compilation failled on one of my computer)
Some tiny modifications for Mac OS X compatibility (Does not compil yet).
Some forgotten tasks
replace gcc-3.3 by gcc in the Makefile.macosx of mgpost
Václav Šmilauer (313):
Move big news to NEWS, ready for release finally (?)
Update INSTALL file from wiki (brief instructions only).
1. Reimplement some loop-intensive functions from yade.utils in c++ for better performance (as yade._utils, imported into yade.utils automatically - transparent to the user) 2. Add poisson's ratio and Young's modulus estimation in yade.eudoxos based on linear regressions of position→displacement mapping along different axes 3. Rename Shop::ElasticWaveTimestepEstimate to Shop::PWaveTimeStep, wrapped in yade.utils
1. Add python interface for blocking DOFs: b.phys.blockedDOFs=['z','rx','ry'] It is friendlier than b.phys['blockedDOFs']=1<<2|1<<3|1<<4. The property is read-write.
1. Add code for computing histogram of interaction directions in given plane in _utils. 2. This is code is used by yade.eudoxos.plotDirections() to create the actual (nice) figure.
1. Skip (almost) exactly zero projections, implement masking of bodies.
1. poisson and young estimator now works on a fractional part of the speciment 2. do not switch ui automatically if selected explcitly 3. body::maskOK to check mask
1. eudoxos module cleanups, young estimator arg chages 2. fix harmless compiler warning in _utils.cpp
1. add utility function to compute elastic energy within a volume (the dynamic_cast to NormalShearInteraction still fails; what is going on?) 2. add utils.fractionalBox, an AABB reduced to its fraction 3. fix fixmes in Force and Momentum about unused functions about to be deleted 4. plotting interaction direction histogram now works on contrained volume (to study boundary influence on the distribution)
1. Beginning hijacking SpheresContactGeometry to hold more elaborate geometry characteristics, such as relative shear displacement. By default, those parameters are neither calculated nor displated (exactRot==False; must be set to True in ISphere2ISphere4SpheresContactGeometry to enable it). Test script is in scripts/exact-rot.py 2. Remove deprecated code from UniaxialStrainController 3. Add GLUtils to draw lines, text, numbers -- copid over from Shop 4. Add operator<< for Quatrnions (axis angle) 5. Fix energy calculation in volume (in _utils.cpp) 6. Other fixes here and there...
1. The exactRot code is reasonably verified now to be functional, including rolling correction (SpheresContactGeometry::relocateContactPoints) and will used in brefcom soon. 2. Updated the "testing" script scripts/exact-rot.py, as a showcase as well.
1. Remove GL things from Shop, moved to lib/opengl/GLUtils.hpp 2. Cleanup of SpheresContactGeometry code, rename exactRot to hasShear
(I thought most of this was already commited?!) 1. Delete unused IS2IS4DistantSpheresContactGeometry (merged with IS2IS4SCG), adapt existing code 2. Adapt new facet code to updated SpheresContactGeometry (only superficially tested) so that they can interact using BrefcomLaw; add scripts/exact-rot-facet.py to show that. 3. Fix a few missing loggers in others' commits. 4. SimulationController redraws if iteration changes (the +1 button would otherwise not cause redraw) 5. Remove cruft from Brefcom. 6. Fix inheritance (dynamic casts) of NormalShearInteraction and of BrefcomPhysParams 7. Remove cruft from UniaxialStrainer 8. Add some python code to compute stress from stored elastic energy.
1. Move interaction direction distribution pie histograms to utils 2. Add plotting histogram of number of contacts to plotDirections()
1. Omega().bodies.append can take list of bodies now (instead of just one body), returning list of added id's 2. utils.facet can take both tuples and lists for vertex coordinates
1. Add NormalInteraction::normalForce and NormalShearInteraction::normalForce (moved up the hierarchy from ElasticContactInteraction) so that unbalancedForce can be calculated on any subclassed interaction type. 2. Adapt Brefcom for this. 3. Add Shop::unbalancedForce and utils.unbalancedForce 4. Add workaround for saving ipython history as suggested by http://lists.ipython.scipy.org/pipermail/ipython-user/2008-September/005839.html 5. Fix AxialGravityEngine to register parent class attributes.
1. Avoid compiler warning in optimized builds from pyOmega 2. Body containers now allocate the lowest possible ID for each added body. The old behavior was to allocate the first free ID greater than the ID of the body, if it was already set. Please let me know if this is critical for someone. We can do things like:
1. 3d view now has by default a OSD with iteration number, simulation time and virtual time. This can be toggled (all combinations) by pressing 'D' (which used to mean toggling d+ynamic flag...?) and set also from python with GLView.timeMask='rvi' (Real,Virtual,Iteration) and so on. 2. Simulation player displays real time and wall clock loaded from db (insted of bogus values of system clock when the player is being run) 3. new periodic SnapshotEngine that takes snapshots of any GL view to numbered PNG files. 4. new function qt.makeSimulationVideo that makes video _while running the simulation_. 5. qt.createVideo renamed to qt.makePlayerVideo 6. Added Omega method to query computation duration. 7. An example of using qt.makeSimulationVideo is in new file scripts/simple-scene-video.py
1. Add forgotten SnapshotEngine 2. BodyRedirectionVector always really find the lowest unused ID (the same for BodyAssocVector) 3. add Omega().interactions.clear() in python 4. Move the "Less than 500 bodies, moving possible" to LOG_INFO instead of on-screen since it disturbs videos taken during simulation...
A few fixes in TriaxialTest: 1. radiusStdDev is a registered attribute parameter 2. skip unloading phase if sigmaLateralConfinement==sigmaIsoCompaction 3. new bool autoUnload, that controls automaticity of going from compaction to unloading; autocompressionActivation controls from unloading to loading. Note: IFacet2IS4SCG is broken, but not yet fixed.
1. TriaxialTest now takes readiusMean argument (by default negative, i.e. disabled); if >0, box size is scaled so that both requested porosity and mean size can be preserved. 2. Attempt to fix computation of stress from stored elastic energy.
1. Fix adding empty engine if record wall stress interval <= 0 in TriaxialTest (bug introduced yesterday)
1. Add Interaction::swapOrder(), for use in EngineUnits that want to avoid calling goReverse() 2. SnapshotEngine can sleep specified number of msecs after shot, which probably can avoid some hw problems (make_current failed in mesa, freezes etc) 3. InteractingFacet2IS4SCG now works "correctly" (not exactly physically, though) with shear 4. DynLibDispatcher should report names of classes if dispatch fails.
1. Add InteractionGeometryMetaEngine::explicitAction and InteractionPhysicsMetaEngine::explicitAction for creating contacts manually using the dispatcher 2. add utils.createInteraction(id1,id2) that requests explicit transient interaction creation 3. Add sample ElasticContactLaw2 (in ElasticContactLaw.cpp) that uses new SpheresContactGeometry code and can be used for "persistent" (transient but not deleted by the collider) contacts. 4. Add Shop::applyForceAtContactPoint (applies contact force at contact point to both bodies (reversed for body2) and moments acting on their cenroids as well) 5. All the previous new functionality is demonstrated in scripts/chain-distant-interactions.py.
1. Add Omega().reload() 2. Create map<string,string> Omega::memSavedSimulations, where simulations are saved if they begin with special sequence ":memory:" and can be loaded again, within lifetime of Omega. 3. Add Omega().tmpLoad() and Omega().tmpSave() that use the above mentioned thing. 4. add utils.readParamsFromTable that reads any python variables from text file (useful for automatic parametric studies) 5. Add less expensive routine for sontact point relocation in SpheresContactGeometry
1. Separate player into two windows (controller and the 3d view); the controller may be hidden with ::hide() (and ::show()) or with Alt-H from the 3d view. This allows for correctly restoring 3d view size. Closing any of the two closes the player. Please log crashes, if any. 2. Update QtGUI-python.cpp: runPlayerSession
1. Yade now runs TCP server at the first free port above 9000 (accessible from localhost only), which simulates python console. (let me know if you need this over network -- it is DANGEROUS, since someone can delete all your files etc without any authentication). The interpreter has its own namespace.
1. Fix crasher (under special circumstances) in PersistentSAPCollider (deletion invalidating iterator) 2. PeriodicEngine now takes nDo and nDone attributes, limitng number of activations 3. Fix minor things is BrefcomDamageColorizer, add normalized damage to BrefcomPhysParams 4. Fix some indents in Triaxial
Fix stupid sign mistake when applying contact force in brefcom.
1. PythonTCPServer now generates random 6-letter cookie (password) at startup and authenticates all connections by that cookie. It can be retrieved from yade.runtime.cookie
1. Add Body().mask in python 2. Add PhysicalParameters().pos and .ori instead of ugly pp['se3'][:3] and pp['se3'][3:] 3. Add dmgPlane plot in brefcom 4. Do not delete renderer if we close the last view (loses all renderer settings)
1. Add a quick implementation of bending and torsion code to SpheresContactGeometry 2. Update ElasticContactLaw2 to use that code; stiffnesses are hard-coded for now. 3. Update scripts/chain-distant-interactions.py to show that that code really works 4. Plot residual strength instead of damage in brefcom 5. Add some functions for spiral projections (not correctly working yet) 6. Fix missing std:: in DisplayParameters
1. Add 2d weighted average smoothing abstract class and its specialization on symmetric gaussian kernel, with python glue of course. 2. Remove .gz support. 3. Fix some bugs in the spiral projection code.
1. Fix errors preventing compilation due to missing TesselationWrapper.
!! IMPORTANT !! Introduced new dependency on "python-numpy" package (numpy/ndarrayobject.h header), which is now checked for by scons. Tell me if this is not OK!
1. Add initializers for all SpheresContactGeometry members, to avoid nan's in the .xml file 2. Add code for saving arbitrary python variables within the .xml file, see documentation on utils.saveVars() and utils.loadVars() 3. Fix error (hopefully) caused by dangling symlinks in the symlinked buildDir/include tree
1. Fix algebraic typo in max distance check.
1. Commit simple parametric study interface, documented at http://yade.wikia.com/index.php?title=ScriptParametricStudy and wrapper script to queue jobs, which is installed as yade-trunk-multi, yade-trunk-opt-multi and so on. 2. Examples of such parametric "study" added in scripts/multi.py and scripts/multi.table 3. MetaBody now create Omega().tags['id'] at initialization like '20081028T102950p15498' (date, time, pid) that is unique
1. Changed colors to be random by default on utils.{sphere,box,facet}
1. Make our intelligence-challenged deserializer finally gracefully handle nan, inf, -inf (arbitrary lower-upper case). 2. Fix crash in MembraneTest (leftover in the commit from testing, oh well) 3. Add TriaxialTest::fixedBoxDims to not scale selected box dimensions if sphere mean radius is given (example underway).
1. experimental support for Real==long double (#defines QUAD_PRECISION, scons quad=1). long double is not necessarily quadruple precision (not on IA32, at least) though, but is still more precise than double. (search "long double" on wikipedia) 2. Some preparation to compile with -std=c++0x (not yet functional) WRT <boost/shared_ptr.hpp> and boost::shared_ptr vs. <memory> and std::shared_ptr 3. Fixed in yade-multi. 4. New direct oofenm exporter in yade.eudoxos. 5. Don't fiddle with termios in non-interactive sessions.
1. Add INTEGER (besides FLOAT) to the list of wrapped c++ types in python. Fix type detection for long double 2. Fix Real->double conversions in GLDrawBssSweptSphereLineSegment.cpp
1. Body().phys.refPos is directly accessible now (old way Body().phys['refSe3'[0:3]] still works, though) 2. Labeled engines are at load-time or when Omega().engines are modified assigned to variables __builtins__.label; for example
Add forgotten file.
1. Add linear templated interpolation function working on 2 lists, t and values 2. Add InterpolatingRotationEngine that changes rotation speed as given by value table 3. Lower info about starting python thread to debug message only.
1. Rename REGISTER_SERIALIZABLE(class,bool) to REGISTER_SERIALIZABLE_GENERIC, add two macros REGISTER_SERIALIZABLE and REGISTER_SERIALIZABLE_FUNDAMENTAL. Changed all uses accordingly. 2. Added REGISTER_CLASS_AND_BASE(class,base) which performs REGISTER_CLASS_NAME and REGISTER_BASE_CLASS_NAME at once. 3. Added REGISTER_ATTRIBUTES (not trailing 'S'), expanding to void registerAttributes(){...}, and REGISTER_ATTRIBUTES_WITH_BASE, which prepends call to baseClass::registerAttributes() (specified as the first argument).
1. Added Se3Interpolator engine, with scripts/test/Se3Interpolator.py 2. Added from math import * to PythonUI_rc.py so that math functions are readily accessible everywhere 3. Implemented stopStrain in UniaxialStrainControlledTest 4. other small fixes
1. Modify REGISTER_ATTRIBUTES macro so that it work with or without base class given. Change all headers in core to use that. It should help us if we ever make the transition to boost::serialization. 2. User REGISTER_CLASS_AND_BASE instead of REGISTER_CLASS_NAME and REGISTER_BASE_CLASS in core and at a few other places.
1. Removed cerr garbage from glviewer (use LOG_DEBUG if needed)
1. Fix warnings in GLViewer 2. Add (35.4%)-style counter if stopAtIteration is set to the OSD in gl view 3. Add utils.downCast to downcast object to its derived class and copying all attributes. 4. Add utils.SpherePWaveTimeStep to compute critical dt from a few parameters only 5. Add routine to compute overall kinetic energy to Shop (indirectly to utils as well) 6. Add routine to sum torque (momentum) with respect to an axis from forces and torques on given set of bodies.
Fix typo (compilation error in debug mode) in Shop::kineticEnergy
1. Fix a bug in rotation ode in SpheresContactGeometry. Now the code gives the same results as almost-for-sure-correct FEM code regarding strain computation. 2. Add label attribute to StandAloneEngine (inherits from Engine)
omg
(code cleanup, no functional changes)
Exit once the simulation finishes; do not rely on simulation exiting itself.
1. SpiralEngine that does both rotation and translation along the same axis 2. InterpolatingSpiralEngine for variable rotation+translation speed (replaces InterpolationgRotationEngine) 3. scripts/test-spiral.py for rudimentary functionality testing.
1. Un-disallow (bug) having all dimensions scalable in triaxial if particle radius is fixed. 2. Don't record anything by default to file in UniaxialStrainer (only useful for debugging)
1. Add a few functions for integrating piecewise-linear functions in new module yade.linterpolation
1. fix damage colorizer (removed dynamic_cast causing segfaults on non-spheres) 2. InterpolatingSpiralEngine now takes bool wrap rather than Real period. 3. qt.makePlayerVideo takse startWait argument, which waits for Backspace before starting (useful for setting up the view manually); postLoadHook gets run afterwards now.
1. Add algorithm for pushing sphere always to the same side when in contact with facet, even under extreme stress where the sphere geometrically passes to the other side. 2. Add bool SpheresContactGeometry::initContactOnPositiveFacetSide for that 3. Add test/demo script for that. 4. Re-enabled GLDrawSphere::glutUse (cosurgi?) 5. Renamed yade.runtime.args to argv, to be consistent with sys.argv 6. Allow passing sys.argv (arguments to scripts) through QtGUI as well
1. Fix clip plane orientation inversion as well as wheel normal movement. 2. Clip planes not displayed at all unless one of the clip planes is being manupulated.
1. Unbreak bad type (list) for sys.argv[0], broken recently 2. Color bodies by residual strength rather than damage parameter (smoother) 3. Make player messages (maybe) better formatted
omg...
1. Make player reuse existing renderer if there is one (allows setting Draw_mask etc before running player) 2. Add initRun parameter to PeriodicEngine (false by default), to run at the very fist run.
1. Make BrefcomDamageColorizer run at 0th iteration as well 2. Make player set stopAtIter to last iteration in db so that percentage is displayed in the output.
Fix previous commit, overlooked. sorry.
1. Number lines in parameter table for multijobs from 1 (as text editors do) 2. Print short summary at the end of job log (when started, when finished, exit status, duration, commandline)
1. Fix logic typo in QtGUI (warning when there shouldn't be and vice versa)
1. logarithmic strain for Brefcom. 2. change sphere-facet algorithm such that it works on corners. Maybe no longer necessary, but it doesn't hurt now. scripts/test-sphere-facet-corner.py as provided by sega demonstrates that. 3. "from __future__ import division" in python init such that 3/2==1.5 and 3//2=1 (is default since python 2.6) 4. Global GL lock to avoid crashes/freezes with GL accessed from multiple threads concurrently. scripts/gl-test.py (which used to crash) now works with one view; 5. Properly lock/unlock on all gl ops in QtGUI-python.cpp, like setting view direction, resizing etc. 6. Fix wrong assertion in SQLite player 7. add Omega().resetTime to reset iteration number, virtual and real time. 8. Changed utils.loadVars/saveVars code to be more reliable. 9. Added utils.aabbExtrema2d
1. Lock GL when closing view. Seems to fix crashes / delays at exit
1. Contact sphere-facet must be deleted by the constitutive law once created. Let me know if that is a problem -- I think it is the way it should be in the future everywhere, though. 2. Fixes for boost 1.37 (boost::thread not fully compatible) 3. utils.basidDEMEngines (not tested yet) 4. Fix warning in GroupRelationData 5. add march switch to scons ('native' is default, but not supported by older compilers) 6. Prepend default CXXFLAGS so that user-defined ones (like warning suppression) come after the default ones and override those.
1. Tentative fix for newer scons, which links empty files (dummy plugins) with plain gcc and doesn't find default c++ libs to link with.
1. File not needed.
1. Beautify no-debug code in main 2. SpiralEngine now saves angle it has turned so far 3. Remove failing assertion from IFacet2ISphere4SCG (why it fails? it was a (I->isReal&&I->interactionGeometry)||(!I->isReal&&!I->interactionGeometry)...) 4. Improve the utils.spiralproject function to specify period (moderately tested, but seems to work) 5. Adjust locks in GLViewer. Fixes my crashes on nvidia for both player and 3d view (didn't dare to try 2nd view). Next step will be to move this lock to Omega and lock it when loading/resetting simulation etc. 6. Change theora video quality to 63 (maximum) instead of medium 32 in utils.encodeVideoFromFrames. Makes the video about 3x bigger.
Two BIG changes:
1. Add ef2_Spheres_Brefcom_BrefcomLaw, is faster (!) 2. Fix locking in Omega, we don't get crashes when loading simulation with the 3D view enabled anymore (please report any further crashes in OpenGLRenderingEngine, that should be fixed) 3. Automatic update of Doxygen configuration file 4. Dem3DofContactGeometry, which should be in near future parent of SpheresContactGeometry and other new geometries providing normal and shear strains (SphereFacetContactGeometry, in my mind) 5. Add convenience function to apply force to contact point between two particles.
(remove no-warn for c++0x since that flag is not known to gcc-3.4)
1. Add possibility to change container types from python (for benchmarks) -- code not yet tested! 2. Possible optimization in PhysicalActionVectorVector, now disabled.
collider mistake hotfix
1. Make triaxial stop if !autoCompressionActivation and already unloaded. If this breaks something, please let me know, we can do it otherwise, but, for Cundall's sake, can we keep the same behavior for at least 6 months?? 2. SpatialQuickSortCollider will not delete real contacts, even if bodies don't collide. 3. Remove redundant attribute registration from SpheresContactGeometry
fix typo in collider
1. removed persistentInteraction from most places; they are still present in MetaBody, but not serialized any more, most importantly (avoids warnings) and not GL-drawn. 2. Plugin loading loginc completely changes, the underlying macro YADE_PLUGIN has still the same interface. We used __attribute__((constructor)), __attribute__((visibility("internal"))) and anonymous namespace magic to get there. This will make it possible to put multiple plugins to a single shared library without touching the source, only fiddling with SConscript's. 3. PythonUI is interactive by default (it was not?? weird.)
1. Add new non-generic Bex container. For non-optimized build, it increased the speed by about 11% (9:35 vs. 8:49) as compared to PhysicalActionVectorVector.
Users willling to go with the slower PhysicalActionContainer can compile with scons CXXFLAGS=-DNO_BEX now to get the old behavior.
1. Adapted TriaxialTest and ElasticContactLaw to BexContainer (switchable at compile-time). 2. Adapter GlobalStiffnessTimeStepper to BexContainer (GlobalStiffnessCounter code put to a function inside this one, hence that engine is not needed anymore). 3. Adapted Shop::Bex to BexContainer (probably not needed anymore?) 4. Exception is thrown in PhysicalActionVectorVector is used && built with BEX_CONTAINER (would most likely crash anyway). 5. transientInteractions and persistentInteractions are only references to MetaBody::interactions now. Removed extra loops in InteractionPhysicsMetaEngine and InteractionGeometryMetaEngine. 6. Remove including qglviewer into miniWm3, as it breaks compilation if using miniWm3 separately from yade (for testing purposes).
1. Define Janek's functions to convert from/to QGLViewer vector where they are used.
1. Add BexContainer (same interface, but separate implementation) in openMP flavor. 2. openmp=0 is the default for scons now (for some time), since openMP BexContainer gives about 7% slowdown and thus is not useful before at least some engines are parallelized as well. 3. Removed getting references to Force/Torque from BexContainer, since that breaks concurrency. Instead, addForce/addTorque must be used. If you need to read back with getForce/getTorque, you have to call sync() (expensive!!) beforehand, which will compute summary values for all bodies; if you forget, exception will be thrown. Note that sync() is invalidated at next write operation. 4. Adapted a few constitutive laws and other engines for the changes mentiones here.
1. Add time-profiling classes. See http://yade.wikia.com/wiki/Speed_profiling_using_TimingInfo_and_TimingDeltas_classes for details. It is accessible from python as well. 2. SimulationController no longer asks for output format. It just uses XML, the only available one. 3. Engine, EngineUnit have timingInfo member and pointer to optional timingDeltas. Timing is disabled by default, but it may still have some overhead in the order <1% perhaps (will test)
1. Forgotten file with yade.timing.stats() that pretty-prints some numbers.
1. Move all container to core, remove linking with them since it is not necessary 2. Fix things so that everything compiles (at least) both with and without BexContainer 3. Parallelize ConstitutiveLawDispatcher, InteracionPhysicsMetaEngine and InteractionGeometryMetaEngine with openMP if enabled on command-line 4. Make InteractionVecMap default container for interactions; necessary for parallel code.
1. New InteractionDispatchers class that has one common loop for InteractionGeometryMetaEngine, InteractionPhysicsMetaEngine and ConstitutiveLawDispatcher. It can be used from python like this:
1. Adapt ForceEngine to BexContainer 2. Add BEX_CONTAINER and YADE_OPENMP flags to be reported by -h.
1. Add two more forgotten headers. They are not used anywhere, though, and will be removed later.
1. Enhancement of utils.box from Marco.
1. Make Shop load 4/5/6 columns text files for spheres (and skip 5-cols) 2. Change evaluation of args in readParamsFromTable to be able to pass strings better (single quotes) and consistently 3. Parameters passed as env. vars by yade-multi are prefixed with ! 4. fix typo in timing for resetting timers.
1. Make the yade-multi scheduler multithread-aware. 2. Add the collider performance test as example 3. added utils.replaceCollider(anotherCollider) for convenience 4. added Omega().isChildClassOf(classNameChild,classNameParent)
1. Fix collider-perf (TriaxialTest has hardcoded dt=0.001 !!!!), set timestep by hand at first 2. Fix Shop:: loading spheres from file (regression from yesterday) 3. Add functorCache to Interaction and to InteractionDispatchers. About 5% improvement, but not yet finished. 4. Add DynLibDispatcher::getFunctor2D 5. Add BexContainer::sync() to other places in triaxial (thrown otherwise)
1. Fix old rename of runtime.args to runtime.argv in default-test.py. Should run OK now.
1. Fix for the compile error in snow for OrthogonalPlaneFit3. It still misses pkg/snow/Engine/ElawSnowLayersDeformation.cpp in the repo. Compile with exclude=...,snow as workaround.
1. Rename BroadInteractor to Collider. 2. Move some part of the contact logic to this common base class. The Collider::handleExistingInteraction is subject to discussion and not yet used.
1. Small fix in the collider code.
1. Remove SAPCollider completely 2. Make yade log4cxx 0.10 compatibile 3. Other minor fixes
1. Fix linking of realtime-rigidbody WRT PersistentSAPCollider
1. change default xiShear to 0 instead of NaN (is not used anyway) 2. Fix linking of mass-spring in cliean build
1. Fix #include's that include files not in the current source directory via "". 2. Add scripts/linkdeps.py that can automatically determine what plugin links to what other plugins, which can be once used for configurable monolithic/pluggable builds etc.
1. Fix crashed in TriaxialTest introduced by me a few days ago (referencing engine before being created) 2. Add simple (working?) memory usage query to utils and collider perf test.
1. Fixed collider performance benchmark 2. Added script to generate graph from log files (like http://yade.wikia.com/wiki/Colliders_performace)
1. Added SpheresContactGeometry::updateShearForce, will be used (not activated though yet) by ElasticContactLaw and other.
hotfix related to last commit
1. Initial checkout for the DemXDofGeom classes (will contain the hasShear code from SpheresContactGeometry and more eventually).
1. Preliminary version for sphere-facet collisions with total formulation (moderately tested). 2. Same for sphere-sphere collision. 3. test script for facet-sphere collision geometry.
1. Use local foreach.hpp if not found in the system 2. Use local file defining boost::python::len for boost<1.34
1. remove explicit linkage to boost_python in gui/SConscript
Forgotten empty file.
1. Remove logger from ClassFactory 2. Cleanup logging stuff in main (use constructor function, among other) 3. Cleanup system exit from python in PythonUI_rc.py 4. Add SpheresContactGeometry::updateShear that can be optionally used with ElasticContactLaw to update shear displacement instead of updating shearForce. triax-identical-results.py show quite large difference between both implementations, but I am not able to tell which one is correct. scripts/test/shear.py shown almost no difference for 2-sphere scenarios, modulo differences at 15th decimal place or so. 5. Remove debug output from BexContainer 6. Remove warning about meniscus data from CapillaryCohesiveLaw (warning is given in postProcessAttributes now, i.e. iff the class is actually used) 7. Add logger to snow. 8. Removed shear computation code in ElasticContactLaw, use SpheresContactGeometry::updateShearForce. 9. Fix scons deprecation warnings
1. Add functions to augment forces/torques in BexContainer.
1. Remove some garbage from SpheresContactGeometry 2. Verify that SCG_SHEAR doesn't alter behavior if ElasticContactLaw::useShear is false 3. Implement SCG_SHEAR for sphere-box interactions 4. sphere-box interactions no longer call goReverse, but swap interaction order instead, as facets do. 5. Fix triax-idnetical-results.py to reload generated initial config to avoid rounding issues of sphere coords in text file.
Minifix: link core with librt (clock_gettime) for platforms that require it
1. Add rate-dependent damage to normal and viscoplasticity to shear components of Brefcom (not yet tested, just compiles); other cleanups there.
1. add addF and addT to legacy ActionContainer
Add label attribute to engine units. Python wrapper updated.
1. Rate-dependent fixes (more to come) in brefcom.
1. Remove MetaBody::physicalActions if compiling with BEX_CONTAINER (default) 2. Make everything work with both BexContainer and deprecated PhysicalActionContainer 3. Change PhysicalActionDamper, PhysicalActionDamperUnit, PhysicalActionApplier and PhysicalActionApplierUnit to dispatch only according to PhysicalParameters (not PhysicalAction anymore). That means that only one unit will be called for each body and that NewtonsMomentumLaw has to do the job of NewtonsForceLaw as well (same for CundallNonViscousMomentumDamping). 4. Fix (finally) defaultDt computation in TriaxialTest (forgotten assignment to defaultDt in the GlobalStiffnessTimeStepper) 5. Fix (finally?) timestep manipulation form within the QtGUI. If reloading the same file, timestep settings will be preserved, otherwise those saved in the XML are used.
1. Create ef2_Spheres_Elastic_ElasticLaw that has the ElasticContactLaw algorithm 2. ElasticContactLaw now merely calls ef2_Spheres_Elastic_ElasticLaw. 3. TriaxialTest::parallel controls whether to use InteractionDispatchers or not. 4. Added examples/triax-perf to show the impact of that. Also see http://yade.wikia.com/wiki/Triaxial_Test_Parallel 5. Fix a few compilation issues. 6. Flush stdout before exiting from main, so that in case of crash upon exit (log4cxx?) we have all messages output.
1. Hotfix for 2 issues with ElasticContactLaw
1. Remove all traces of physical actions:
1. Remove Shop::Bex (no longer necessary) 2. Add InterpolatingDirectedForceEngine for Roger (not yet tested!)
1. Fix linking of ForceEngine with interpolation 2. Random rate-dependent things. 3. Typo in BexContainer docs
1. A few fixes in Brefcom. 2. Make python wrapper correctly handle long long attributes. 3. Added test script for InterpolatingDirectedForceEngine
1. MAJOR change in python syntax (backwards-compatible, though): through small bit of very dirty code, classes can be instantiated as python objects with keyowrd arguments, i.e. instead of
1. cleanup UniaxialStrainer code, add vars to control length of the acceleration phase and the ability to set absolute speed 2. EngineUnits within InteractionDispatchers can be labeled and accessed from python now. 3. A few minor things in the plot module
1. Remove cruft from brefcom, a few fixes there 2. Add gnuplot grid to gnuplot by default 3. Fix speed in USCT 4. Fix InteractionDispatchers traversal in pyOmega
1. Fix weird python problem if LIBS is not defined by distuils (?)
1. Add working version of facet adjacency finder (to get their mutual angle at edge)
1. Parallelize initial bound filling in PersistentSAPCollider. Gives almost 3x speedup for the first step. 2. Fix missing headers so that it compiles with g++-4.4 (in QGLViewer) 3. FacetTopologyAnalyzer works (not tested extensively), questions of where to put topology data for InteractingFacet (will be raised on yade-dev) 4. Test script for FacetTopologyAnalyzer.
1. Remove leftover var in PersistentSAPCollider
1. Add preliminary gnuplot plots merging facility to yade-multi 2. Fix yade.log module so that it also works without log4cxx (and gives 1 warning) 3. Switch to new syntax in scripts/plot.py
1. Fix race condition in brefcom (omp critical section) 2. Remove -ffast-math from optimized build, since NaNs do not work properly (e.g. isnan(NaN)==false!)
1. Fix bug in FacetTopologyAnalyzer algorithm 2. Add angle info to InteractingFacet (not yet used) 3. Add triangulated sphere test for FacetTopoloyAnalyzer to facet-topo.py 4. Fixes in rate-dep in brefcom
1. Add approximate viscosity equations to brefcom (not working) 2. Fixes in yade-multi
1. Finish implementation of Dof3DofGeom_FacetSphere (with plastic slip as well) 2. Adapt Brefcom optionally to Dem3DofGeom 3. Add d0fixup to SpheresContactGeometry to get correct normal strain in sphere-facet contact with fictive sphere (zero for sphere-sphere) 4. Finish FacetTopologyAnalyzer; angle usage in Dem4DofGeom_FacetSphere not yet tested.
1. Remove cruft from UniaxialStrainer, add the ability to set initial velocities to suppress inertia at the simulation beginning 2. Jobs in yade-multi can be automatically named after variables suffixed with ! 3. yade-multi now shows and updates automatically some statistic on localhost:9080 using http
1. Finish Dem3Dof for both spheres and facets, migrate Brefcom. Removing stuff from SpheresContactGeometry is on schedule, once thorough testing is finished. 2. Fix attribute inheritance for a few engine units 3. Add ef2_Dem3Dof_Elastic_ElasticLaw, which works like ElasticContactLaw (but faster ;-) ) 4. Remove BrefcomLaw, keep just the constitutive law as functor. Adapt sample generators for that. 5. Add hydrostatic confinement to brefcom (isoPrestress), remove viscApprox. 6. Add interface for querying and setting (doesn't work yet) number of openMP threads 7. Job description is taken from columns suffixed with ! or by combining all parameters 8. Add function for plotting yeild surface of brefcom to the eudoxos module 9. Oofem export now uses reference (starting) positions of particles as it should 10. Add "-" before profile name when generating default variant suffix in scons (which is expected)
Fix comp9ilation error for Janek.
1. Add python wrapper for clumps, see scripts/test/clump.py on how to use it (O.bodies.appendClumped) 2. Fix clump support in NewtonsDampedLaw (damping is quite wrong, it seems...; Bruno, any ideas on that?) 3. Move clump to pkg-dem (even though it depends on extra/Shop) 4. Remove absolute shear computation from SpheresContactGeometry, as Dem3Dof works fine now and Brefcom will not use SCG anymore; adapt a few other classes to that; remove ElasticContactLaw2 that was using it. 5.
1. Warn in --version if -ffast-math was used
1. Fixing bug in TriaxialCompressionEngine (introduced by luc apparently).
Big changes:
Handle boundingVolume-less bodies gracefully in InsertionSortCollider
1. Add utils.regularSphereOrthoPack by Anoton
Forgotten showcase.
1. Add InteractionContainer::requestErase to hint colliders that wouldn't otherwise see !isReal interactions. 2. Use this logic in InsertionSortCollider, PersistentSAPCollider, SpatialQuickSortCollider (noop in the last one) 3. Add InsertionSortCollider::sortThenCollide to make it behave as non-persistent collider (for debugging only?) 4. Add Interaction::reset() that has common initialization code. 5. Assign zero inertia to utils.facet (better than uninitialized binary garbage) 6. Fix contact logic in Brefcom, finally I get the same results with InsertionSortCollider as with SpatialQuickSortCollider on large simulation (more fixes to come) 7. Do not install pkg-config; fixes compilation error reported by the build bot.
1. Use bitfield instead of bools in InsertsionSortCollider 2. Revert accidental changes in insertion-sort-collider.py 3. Add function for using renamed classes from python with warning
Getting rid of the Brefcom name, classes renamed as follows (moving files around will follow)
1. Add logic to scons to delete files that will not be installed in this run but are on-disk. This should make it unnecessary to remove files by hand. In the same way, disable implicit target cache which was making problems if files shuffle around. 2. Remove Brefcom* files, move to pkg/dem/ConcretePM.?pp. (not sure what other place, since it contains Engines, DataClasses etc in one file that I would refuse to break.). 3. Add detailed comments on ConcretePM to the ConcretePM.hpp 4. Remove extra/usct, moveUniaxialStrainer and put to pkg/dem; move SimpleScene from extra to pkg/dem 5. Remove core/yadeExceptions.* 6. Remove Preferences::dynLibDirectores and Preferences::version. Omega now recursively searches the lib directory for plugins and loads them. preferences.xml has only defaultGUILibName now. Finally. Remove baseDirs and other cruft from DynLibManager.
2 forgotten files (separated from UniaxialStrainer before)
1. Fix hopefully last relict of pkg-config 2. Degrade deleting non-existent interaction from fatal erro to warning only (not sure where that can come from, though.)
Solve the cause of nonexistent interactions being deleted (after O.interactions.clear()). Make warning fatal error again.
1. Remove Interaction::isNew, Interaction::isReal. Add Interaction::isReal() which test for presence of _both_ interactionGeometry and interactionPhysics and Interaction::isFresh() which checks the interaction creation timestamp against current iteration. Updated all code for that. Please verify that your stuff works, it is possible I made some mistakes! 2. All code saying isReal=false replaced by interaction->requestErase(id1,id2) 3. make requestErase thread-safe 4. Add interace for traversing interactions pending erase (template) 5. Add TriaxialTest::noFiles and TriaxialCompressionEngine::noFiles to not generate any files (default: off) 6. Add predicate utils.ptInAABB(p,minPt,maxPt) 7. utils.spheresToFile return number of spheres written (instead of None) 8. Add examples/concrete/pack to generate packing; other stuff in concrete will follow, with simplified version of the cpm model in ConcretePM.
1. Syntax fixes in ConcretePM model 2. Interactions will be deleted also if the ye4xist, but geometry functor fails (returns false) 3. Add utils.approxSectionArea, utils.spheresFromFileUnixial (get some parameters useful for uniaxial tests from the sphere packing, such as cross-section, principal axis, etc) 4. Add lib/computational-geometry/Hull2d.hpp for computing convex hull in 2d using Graham scan algorithm (I know it is in CGAL already, but I don't want to depend on that commercial stuff) 5. Remove some unused stuff from utils.
1. Add epsNPl to Cpm 2. Replace vector<body_id_t> by Vector2<body_id_t> and make it properly serializable (should be faster) 3. Add function to compute forces on interactions crossing plane. 4. Replace custom xcombine function by itertools.product in grid sphere packing
Fixes and cleanups in the CPM code.
Add new 'feature' to scons called openGL, which is on by default. Qt3 GUI will not be built without openGL. YADE_OPENGL is defined in openGL-enabled builds. Sconscript files adapted to skip GL plugins or GL parts of plugins.
1. Fix missing libs for linkage 2. Fix a few typos
1. Don't link core with glut (is there a reason for that?)
Do not include X11 headers if without opengl
1. Move all python modules to PREFIX/lib/yadeSUFFIX/py/yade instead of */gui/yade 2. Add pack module for generating regular packings (thanks to Anton Gladky for his ideas & code) 3. Add _packPredicates module for solid inclusion testing. 4. Update regular-sphere-pack.py to test new packing features.
Remove leftover reularSpheresOrthoPack from utils. Is in yade.pack now.
Add pack.inHyperboloid predicate. Should be useful for cylindric specimen in uniaxial tension, but with the middle part having smaller diameter. Added to the test script as well.
1. Fix (hopefully) clump damping 2. Remove unused code from InsertionSortCollider 3. Make SimulationController NOT change timestep (rounding) by just opening it (!!) 4. Fix paths in PythonUI and lib/SConscript for $PREFIX/yade$SUFFIX/py/yade instead of $PREFIX/yade$SUFFIX/gui/yade
1. Add resetting interactionGeometry and interactionPhysics to Interaction::reset(), as it should be... 2. Small things in CPM 3. Add GaussAverage.data method to python (for debugging and plotting)
Include Python.h in PythonRunnerFilter. Build this plugin only with EMBED_PYTHON.
A few changes to allow run primarily python with qt3 on the top of that (open, close etc as needed). This paves way to running main yade process in python ;-) (just kidding, for now)
1. Handle groupMasks of bodies in InteractionDispatchers directly (not in geometry functors etc). 2. Fixes for qt3 started from within python 3. Add Body().dynamic flag to the wrapper, instead of using Body()['isDynamic'] all the time.
Anton's new things: axis-aligned ellipsoid predicate and fix in pack.regularHexa.
1. Add external euclid.py module (suggested by Anton, thanks!) to our installation
1. Propose *.sqlite ending for saved simulations instead of * in the player
Fix error-tolerant law which uses no interactionPhysics: add void Interaction physics in the geometry functor if returning true, to make Interaction::isReal return true. (Shouldn't we remove ErrorTolerant...? Does it have some serious use?)
1. Remove constructor priority for log4cxx to avoid syntax unsupported by gcc<=4.0. 2. Remove some commented cruft from FrictionLessElasticContactLaw
1. Add boolean operators on solid predicates (&,|,^,-), shown in scripts/test/regular-sphere-pack.py 2. Add notch predicate (not functional yet) 3. Add utils.alignedFacetBox to create hollow box from facets. Shown in new file scripts/test/facet-box.py
1. Update simulation filename in controller periodically 2. Fix notInNotch predicate, use infinite AABB for unbounded solids and raise exception in the packing generator if such is encountered. 3. Add notch to the head of regular-sphere-pack.py guy
1. Add checks for GTS (optional) 2. Add pyGTS to our tree (built only if needed), since no packages are available.
1. Fix corner case in InsertionSortCollider related to instability of std::sort (quicksort) and bodies having the same upper and lower bounds (facet in the xy plane, for example). Thanks to Anton for providing the crasher.
Fix feature macro definitions (typos)
1. Add GTS surface predicate 2. Add example of sphere horse falling onto facet horse in scripts/test/gts.py (try it!) 3. Predicate difference now takes padding in the inverse sense for the second predicate (logical) 4. Attempt to enable lightning on facets (no effect :-( )
1. Add coarsened horse geometry for the example gts.py
1. Rename ef2_Dem3Dof_Elastic_ElasticLaw to Law2_Dem3Dof_Elastic_Elastic (in scripts as well)
1. Make virtual methods on pack.Predicate work in python (inGtsSurface, for instance). Add scripts/test/gts-operators.py to show that. 2. Move scripts/test/gts.py to gts-horse.py 3. Add a few functions to pack for constructing triangulated revolution surfaces from meridians.
1. Padding support (though slow and not very precise) for pack.inGtsSurface
1. Fix crashers in InteractingMyTetrahedron* classes (introduced by me when updating interaction logic) 2. Reimplement inGtsSurface in c/c++ which makes it faster due to pygts interface limitations (addressed on pygts mailing list meanwhile), but is dirty programming. 3. Set CCOMSTR to correspond to CXXCOMSTR in SConstruct (to show nice line when compiling c source file, for pygts) 4. Set good-looking timestep in the TetrahedronsTest generator
1. Add triaxial packing generator, with optional memoization to sqlite database to avoid generating packing if there are suitable ones (same parameters/scalable to same parameters) available. Sample script will be provided soon. This allows for filling arbitrary (gts-defined, for example) volumes with irregular, high-quality sphere packing. 2. Add python-wrapped class SpherePack for manipulating sphere packings (loading, saving, spatial transformations, iterating) 3. Add shared_ptr<MetaBody> Omega::rootBodyAnother to be used with Omega().switchWorld() 4. Move some stuff from gui/py to lib/py, which is more logical hopefully 5. If negative value is specified for TriaxialTest::thickness, wall thickness will correspond to the mean sphere radius (avoids spheres going through the walls during compaction for some radii)
1. Add automatic converter from python::tuple to Vector3r and vice versa. Wrapped functions can take/return Vector3r directly instead of manual conversion. Clean code that had to do that. Let me know if something breaks, the changes should not touch any python code. 2. Some preliminary work on wrapping Vector+Quaternion classes in python via py++ (not enabled, just the files are there) 3. Add forgotten _packSphere.cpp, thanks to Vincent for reporting.
1. Add scripts/test/gts-traix-pack.py to demonstrate triaxial packing generator.
Remove useless include in GlobalStiffnessTimeStepper.
1. Fix STUPID (my fault, sorry!!) mistake in setting Interaction::iterMadeReal, which cause ElasticContactLaw to function wrong. It concerns a few other contact laws calling isFresh, which would return true as well. Sorry again.
1. Shuffling stuff around, moving most python things to py/ 2. Wrapping Vector3r, Quaternionr and Vector2r in python directly, see scripts/wm3-wrap.py 3. Change the way utils.box, utils.sphere and utils.facet works: arguments to physical parameters are passed as keywords, not as dictionary now (update your old code by passing **dict instead of dict as the last argument) 4. Fix a bug with useShear, now getting almost identical results for triaxial again. 5. Preliminary Triaxial::facetWalls, to be able to used Dem3DofGeom with Triaxial. (not fully functional yet) 6. TriaxialStressController::thickness is -1 by default now (get thickness from box width), as 0 is real value for Facets. Doesn't change beahvior in any way.
1. Update triax-perf.py 2. Add Omega().tmpToString returning string of :memory: saved simluation
1. add yade.plot.resetData(), which unlike reset() resets just data 2. Add scripts/test/compare-identical.py to run 2 simulations at the same time and check at every step (configurable) if they differ or not. 3. Add active=active line to GlobalStiffnessTimeStepper, which for some reason causes two same simulations to be the same. Any explanation someone??
1. Add forgotten py/SConscript (sorry!)
1. Fix absolute path generated by py++
1. Dump XML in ConcretePM in case of problems (nan's) 2. InteractingFacet::postProcessAttributes gives FATAL message if there are coincident vertices 3. Update triax-perf, add script and openoffice sheet to make table 4. InsertionSortCollider is used in TriaxialTest always (not only with fast) now.
1. Change prototype of Engine::isActivated() to Engine::isActivate(MetaBody*) 2. Add maxVelocitySq to NewtonsDampedLaw for analysis purposes 3. Add BoundingVolumeMetaEngine::sweepTime and ::sweepDist to sweep bounding volume by given predicted motion over time or by given absolute distance. 4. Add strided run support to InsertionSortCollider (using sweeping) 5. Add scripts/test/collider-stride-triax.py to play with the strategies of sweeping based on strides 6. Add O.interactions.countReal()
1. Fix collider-stride.py to match changed parameters. (it is quite useless now, anyway
1. Make NewtonsDampedLaw compute maxVlocitySq at every step anew. 2. Make InsertionSortCollider find NewtonsDampedLaw and get max speed from there. Together with InsertionSortColider::sweepLength, this makes stride adapted automatically to maxVelocitySq; this will described at http://yade.wikia.com/wiki/Insertion_Sort_Collider_Stride. 3. Update test script for that.
1. Handle clumps in a better way in NewtonsDampedLaw (only if asked by the clump itself) -- future parallelization work. (related to bug #398086) 2. InsertionSortCollider now knows when to run based on maximum distance the fastest body could have travelled. (It is actually the physical meaning of sweepDistance). Handle varying maxVelocitySq in a constitent way. 3. Add InteractionContainer::serializeSorted to sort interactions by id1 and id2 before serializing (useful for comparing XML files). Added Interaction::operator< to compare 2 interactions in that way. 4. Fix openMP strategy in InteractionDispatchers to "guided" (as per https://blueprints.launchpad.net/yade/+spec/omp-schedule-strategy)
1. Remove doc/removed, it is in SVN history 2. Tune debian scripts to install docs+examples+scripts instead of headers (targets https://bugs.launchpad.net/yade/+bug/398174, but not yet finished) 3. Add depends on python-numpy instead of python-scientific packages for debian 4. Add ../py directory to doxygen (targets bug #398190)
1. Change NewtonsDampedLaw to a StandAloneEngine 2. add .updateExistingKeys (perhaps should be updateExistingAttributes) to all python-wrapped yade objects, which will change only existing attributes from given dictionary 3. Adapt STLImporterTest to new nicer syntax.
1. Add virtual destructors to all EngineUnits so that they can by dynamic_cast'ed to. This fixes possible crash from python, bug #398255 2. Rename updateExistingKeys to updateExistingAttrs, add updateAttrs. 3. Add forgotten script to demonstrate predicate operators 4. The default debug level is -ggdb2 (instead of -ggdb3). Libs are about 60% in size and still give the same debug information.
1. Rename scons option arcs to PGO (profile=guided optimizations) 2. Install only binaries by default (no docs, must be requested from cmd line via path)
1. Various fixes related to generating debian packages
1. Fix EngineUnits linkage for SImpleViscoelasticRelationships
1. Add velocity binning for collision optimization: requires cooperation of NewtonsDampedLaw, BoundingVolumeMetaEngine and InsertionSortCollider. 2. Remove time-based sweeping from BoundingVOlumeMetaEngine. 3. QtGUI doesn't show annoying warning when run from python session anymore.
1. Parallelized NewtonsDampedLaw (scales very well) 2. Parallelized VelocityBins 3. Add const modifier to BodyContainer::size 4. Add virtual dtors to PhysicalAction{Damper,Applier}Unit (for dynamic_cast'ing)
1. Move NewtonsDampedLaw to StandAloneEngine directory 2. Add omp critical to ConcretePM 3. Remove SphericalDEMSimulator
1. Add sweepLength to TriaxialTest if fast==true 2. Remove euclid from the pack module, since we use wrapped wm3 now. 3. Add _packObb.cpp to compute minimal oriented bounding box on cloud of points 4. inGtsSurface predicate with triaxialPack will work on the minimum OBB 5. Add check for engine to prevent crash as per https://bugs.launchpad.net/yade/+bug/399810 6. Enhance the pack.inSpace predicate to work as expected. Custom center can be given to the ctor
1. Fix non-tuple in graph specification 2. Allow plotting agains the y2 axis, after a special parameter '|||'.
1. Remove mutex from requestErase (should be verified to compile on non-openMP machine!) 2. Add mutex to PhysicalParameters, so that body state can be locked while updating from the interaction loop. 3. Add linking with EngineUnits to Tetra (thans Emanuelle)
why..??
1. Adapt simple-scene-graph.py to new instance syntax 2. Add support to y2axis to saved gnuplot plots 3. Change interface for yade.plot.addData to take **kw instead of straight dict (still backwards-compatible)
1. Do not use REGISTER_ATTRIBUTE anymore, use REGISTER_ATTRIBUTES instead everywhere. This generates (in addition to serialization code) also some python code and makes python independent on the yade serialization framework (Janek, if you want to try boost::serialization, I have no objections now).
1. Remove garbage from doc 2. Instruct getopt to not shuffle command-line arguments, so that their order is preserved 3. Add epydoc documentation for all python classes and functions
1. Fix linking logic for _packPredicates (fixes https://bugs.launchpad.net/yade/+bug/401029) 2. Make gts-horse coarse original horse automatically
Fix small bug in Velocity bins related to max sweep length (should improve performance as well). Still some incorrect things WRT bboxes, it seems.
1. Fix mathematical error with VelocityBins, verified by new script scripts/test/collider-sweep-simple.py to be correct 2. Add py/ directory to skipped dirs for linkdeps.py so that it works on current trunk
1. BIG CHANGE: pkg/ no longer have SConscript files but are scanned at startup for plugins. See http://yade.wikia.com/wiki/ImplicitBuilds for some details. Let me know if there are some problems.
add boost-serialization and boost-program-options to debian.
1. Move STILimport to pkg/dem, as it depends on dem 2. update RockPM with the new-old version (probably svn didn't update the moved version? what a deal. We should definitely move to bzr...)
1. Fix unreported version for the debian build
1. Fix snow compilation by #including Voxel/* files in SnowVoxeslLoader and noc compiling them directly (sorry) 2. STLReader is a pure-header import lib now, tolerance is passed as regular data member. 3. Fix all warnings in ConcretePM. 4. Merge lib/yade-* into lib/yade-support.
1. Fix monolithic compilation even with fem. All modules can now be compiled that way.
fix compilation?
Fix TetraTestGen crasher (functionally still brokne, though)
Remove SDECLinkGeometry, replaced by SpheresContactGeometry at a few places. Not checked for functionality. This avoid many warnings.
1. Fix linking with full Wm3 library 2. Automatically add /usr/include/wm3 to CPPPATH if useMiniWm3=False
1. Hopefully fix https://bugs.launchpad.net/yade/+bug/402098 2. Fast in TriaxialTest uses nBins==5 and binCoeff==2 for VelocityBins
1. Fix SnapshotEngine and simple-scene-video.py to run. It doesn't work, though, because of the makeCurrent() failed error (probably getting snapshot from another thread...)
1. Add GLViewer::nextFrameSnapshotFilename to save frame in postDraw 2. Adjust SnapshotEngine to take advantage of that. This should solve https://bugs.launchpad.net/yade/+bug/396023 3. utils.encodeVideoFromFrames can take list of files (instead of just wildcard). Backwards-compatible. 4. scons doc skips debian/ directory (would mess up if deb package was build)
1. Fix for https://bugs.launchpad.net/yade/+bug/406343 (at least for me)
1. Add GenericSpheresContactClass to unit radius1, radius2 and normal between SpheresContactGeometry and Dem3DofGeom (to make it work with GlobalSitffnessTimeStepper). Partially solves https://bugs.launchpad.net/yade/+bug/399963
1. Add docstrings to all wrapper.Omega() methods 2. Fix a few warnings.
Fix has_map warning and one more in FlowEngine.
1. Add infrastructure for getting temporary filenames in a secure manner to Omega 2. move selectedBOyd to MetaBody; initialize it properly to avoid possible crash.
Remove leftover SConscripts.
1. Change syntax of YADE_PLUGIN("Plugin1","Plugin2") to YADE_PLUGIN((Plugin1)(Plugin2)) (replaced everywhere) 2. Add some perliminary and not-enabled by default support for boost::serialization (see ClassFactory.hpp) 3. Add boost::serialization code for Se3r, Vector2r, Vector2<int>, Quaternionr 4. Do not reset BexContainer's moves and rotations uselessly (i.e. if not used) 5. Use Omega's mutex in SimulationController to prevent loading-related crashes
1. Don't use __COUNTER__ to generate plugin registration function names, as they wre added in gcc 4.3 Use the name of the first plugin instead. 2. Dem3Dof_SphereSphere takes touching distance as equilibrium if distanceFactor is <=1. The initial position otherwise (was the default everytime until now)
1. Generate proxy constructors to all classes deriving only from Serializable in python (like GLDrawBox and similar). 2. Fix scripts to have the new syntax everywhere, since e.g. EngineUnit is just abstract class that cannot be instantiated from python. 3. Add check fro valid data before saving plot to gnuplot; raise comprehensible exception if there is nothing to save. 4. Remove leftover scripts/pch.py
1. Add an example of uniaxial tension-compression test for concrete (ready long time ago...)
1. All different yade types are real python types now. They have their properties defined at startup. One can say O.bodies[0].shape.diffuseColor instead of O.bodies[0].shape['diffuseColor'] now. It also works much better with ipython tab-completion. It is not sure whether we will be able ever to deprecate the old object['attribute'] syntax. 2. Wrap ParallelEngine in python, and finish Dispatcher wraps as well.
1. Reset interaction radius after the initial contacts have been created.
Fix FileGenerator wrapper in PythonUI_rc.py (has different name in c++ (FileGenerator) and python (Preprocessor).
1. Rename Preprocessor in python to FileGenerator, to be consistent with c++. Preprocessor is never used directly, anyway. The old deprecated name put in the deprecation table. 2. Manage crash at exit in defaut-test gracefully 3. Fix serialization of pairs (overlooked replace)
1. Initial attempt at regression tests (only the python wrapper so far); run scripts/regression-tests.py 2. Fix a few bugs discovered that way :-)
1. Replace PersistentSAPCollider and DistantPersistentSAPCollider by InsertionSortCollider everywhere. The two are still in the sources, but are not compiled. Will be removed in near future. Added to deprecated table in python so that old scripts still work. 2. Add some more regression tests for the python wrapper. 3. Fix timestep in HangingCloth (it does some weird things, can someone check it or just remove mass-spring from the tree?)
1. Be more tolerant to specifying invalid GUI at the command line 2. Throw exception about unopenable $DISPLAY rather than letting QApplication abort()
1. Fix https://bugs.launchpad.net/bugs/409254
https://bugs.launchpad.net/yade/+bug/409254 take 2
Maybe fix https://bugs.launchpad.net/yade/+bug/409365
1. Fix (?) https://bugs.launchpad.net/yade/+bug/409254 by moving ClumpTestGen out of Clump.hpp 2. Avoid warnings in STL import code (return values _should_ be checked, though!) 3. Avoid warning in yade.cpp in optimized build
1. Infrastructure for periodic collision handling. Not at all functional at this moment, don't even try to use.
1. Beta version of periodic boundary conditions (try scripts/test/periodic-simple.py
1. Assign new function O.exitNoBacktrace to sys.exit. Fixes partially https://bugs.launchpad.net/yade/+bug/410250 2. Add some more comments to periodic stuff.
1. Script that shrinks the periodic cell progressively (reveals bugs in the collider, though ;-) ) 2. Add function to compute total force in volume from interactions to Shop, wrapped in _utils as well.
1. Working periodic collider, yay!! scripts/test/periodic-grow.py shows that 2. A few changes related to that.
1. Add PeriIsoCompressor for periodic isotropic compression; see scripts/test/periodic-compress.py. Not so much slower than regular triax, nice surprise. 2. Make SpherePack standalone class (previously just in python's _packSpheres), add the function to generate cloud of spheres, both periodic and non-periodic. _packSpheres wrapper is update, but otherwise not changed. 3. Fix python-less compilation for se3 interpolator engine 4. Add Omega().runEngine() 5. Fix some compilation/linking issues.
1. Fix missing vtable for GenericSphereContact (crasher with debugging) 2. Fix collider stride for TriaxialTest with unspecified radius
1. Try to fix locking with boost-1.35, possibly fixes https://bugs.launchpad.net/yade/+bug/411572 (please confirm) 2. Add periodic repetition function to SpherePack
1. Fix linkage for boost<=1.34 (hopefully)
1. Fix a few things in SpherePack 2. Remove TriaxialTest::GenerateCloud, replaced by SpherePack::makeCloud 3. Fix crash in BoundingVolumeMetaEngine, if MetaBody has no boundingVolume 4. Improve sorting operator, remove workarounds for std::sort wrapping minima/maxima (https://bugs.launchpad.net/yade/+bug/402098) 5. Limit minimum cell width in PeriIsoCompressor, to not crash. 6. Add code for periodic packs in pack.triaxialPack (not yet fully functional)
1. Add #pragma once to SpherePack.hpp (possibly cause of https://bugs.launchpad.net/bugs/412442) 2. Fix crash in TetraTestGen (finally, I think), closing https://bugs.launchpad.net/bugs/408422 3. Add highlight parameter to utils.{facet,sphere,box}, passed to Body::geometricalModel
1. Fix assertion is 2d dispatch code, add indices to RpmPhys, RpmMat, CpmPhys, CpmMat (would break dispatching if using more classes derived from the same base in the dispatch matrix)
1. Remove {,Distant}PersistentSAPCollider and Fixed{Position,Orientation}Engine classes 2. Add test script for generating packing
1. Summarize important changes since the last release. Add your own things, if they are important for everybody (svn log has the small details)
1. Add scripts/rename-class.py for renaming classes (replaces in code, moves files with bzr, adds rename record to python). Not very well tested, though. 2. Remove core/StandAloneSimulator.*pp (not used anymore)
Add ignore patterns so that bzr st doesn't show (some) generated files
1. Merged upstream changes.
1. Clen the plugin loading logic a little (no nominal win32 support), support YADE_PREFIX for changing prefix (should be runtime-detected inthe future, anyway) 2. Use $ORIGIN in rpath to make yade relocatable; it can be fragile, let me know if there are troubles! 3. Add make check to the debian package (will be tested soon)
1. Add compatibility for hardy 2. Fix missing newlines (hardy compiler gives warning)
Adjust rpath for the main executable (ugly hack)
Run tests in debian package (not failing if the test crashes, though, for now)
1. IMPORTANT! All features are lower-cased now (avoids mess: openGL or OpenGL etc). This will probably break your profile files. 2. IMPORTANT! openmp is one of features, no longer a separate options. Adjust your profiles 3. Rename LOG4CXX to YADE_LOG4CXX; all features now #define YADE_FEATURE macros 4. Better $ORIGIN syntax in scons 5. Abort yade if running PythonUI_rc.py fails 6. Adjust pbuilder script
1. Add wrapper for running tests, to trap exit segfault at squeeze 2. Use the wrapper for tests in debian/control 3. Add wrapper for vector<Se3r>
Make the test script report what distribution failed (currently only karmic).
Fix GTS features (thanks for spotting that; we need regression tests for all the modules)
1. Skip more stuff in doxygen, a few warnings 2. Add debugging code to DynLibDispatcher (disabled)
1. Rewrite 2d dispatching code from scratch 2. Expose classIndex to python for indexable classes 3. scripts/test-sphere-facet.py shows how the dispatch matrix fills with data
Add python 2.5 compatibility hack
Avoid error in pack.triaxialTest if compiled without GTS.
1. PeriIsoCompressor: add keepProportions parameter (on by default), decrease global updates interval. 2. Omega: startSimulationLoop warns if there is no simulationLoop (how can that happen? It somehow can) 3. SpherePack: resets periodicity (and warns) if being rotated; cellSize is writable now. 4. pack.triaxialPack: renamed to pack.randomDensePack; fix loads of stuff in that; rename radiusStDev parameter to rRelFuzz; add epydoc documentation; fix erroneous detection of inGtsSurface being defined 5. wrapper: lock renderer when adding list of bodies; Omega().resetThisWorld to reset current world only. 6. Fix scripts/test/{gts-random-pack.py,gts-random-obb.py}
ef2_Sphere_Sphere_Dem3Dof: change meaning of distanceFactor, see docs (if < 0, equilibrium is sum of radii, otherwise the initial distance; defaults to -1). Renamed to distFactor, to break old code intentionally InteractingSphere2AABB: allow negative aabbEnlargeFactor, which doesn't scale aabb at all (same as if it is 1.) yade-multi: use the first non-blank line as column headings (not necessarily the first line of the file, as is used to be) SpatialQuickSortCollider: fix clearing interaction with openMP examples/concrete/uniaxial: move files around, add confinement and docs; remove examples/concrete/pack since not in the pack module (an example should be given, though) examples/collider-perf: remove PersistentSAPCollider, add InsertionSortCollide with strides, but commented out since no effect at hthe beginning of simulation PeriodicInsertionSortCollider: remove unnecessary (hopefully) condition that would abort in scripts/test/periodic-simple.py
PeriIsoCompressor: fix absolute displacements changing proportions, operate on averages instead pack.randomDensePack: fix proportions in periodic packs; change residual stress to 1e8 instead of 1e9
SConstruct: remove obsolete (unused) standalone openmp option
yadeWrapper: Fix compilation with boost<1.35 (again)
(now?)
1. Fix startup crash if no $DISPLAY set at all
miniWm3Wrap: update with newer py++; still errors out at karmic spirit: avoid warning with newer boost versions
Add gts to depends on the script.
Remove unnecessary inclusion of indexing_suite which breaks compilation for boost<1.34 (or something like that).
utils.uniaxialTestFeatures: fix compat with py2.5 SConstruct: fix compilation issues with older symlinks in include dirs
Fix OperationalError, reported by Janek in https://bugs.launchpad.net/yade/+bug/416906
SConstruct: add doc for pretty, fix a few lib checks on karmic
Fix version detection on systems where version is not specified by hand or in RELEASE file and bzr is not installed
main: disable SIGHUP handler (emergency save) and automatic loading.
1. Remove garbage from examples. 2. Fix SpheresFactory, fix examples/SpheresFactory/model.py
move SpheresFactor to scripts/test as it doesn't work. Add notes to changelog and news.
Forgotten file
Mark release version
Add mill script mimicking http://www.youtube.com/watch?v=005rdDBoe4w Some changes in qt interface (useless) Add series to package version to allow same version for multiple series in the ppa (0.20-1~hardy, 0.20-1~karmic etc)
Added script for http://www.youtube.com/watch?v=KUv26xlh89I
1. Fix facet lighting, mill shown with wire=False now (looks better) 2. Revert recent useless change in QtGUI-python
1. Enabling O.timingEnabled when running will not produce garbage values for current engine anymore 2. Add maxRefRelStep to VelocityBins, to limit speed fo maximum velocity changes 3. Fix epydoc format for utils.encodeVideoFromFrames and utils.uniaxialTestFeatures
1. Do not save potential-only interactions to the XML; do not save pendingErase interactions (are only potential) 2. Do not save interactions in SQLiteRecorder by default (saveInteractions=True if you want the old behavior) 3. Add slider to the simulation player, in the "snaps" tab
1. Add scene that has been sitting here for a few days (should be run for comparison with pfc3d)
Workaround bug #416335; static members of Vector3 work only on instance, e.g. Vector3.ZERO will not work, you have to use Vector3().ZERO; changed all occurences in the code accordingly, update your scripts as well.\n2.Some undocumented and untested enhancements for parameter table (backwards compatible)
==================================================
yade-0.20.0
Sat, Sep 19 21:41:52 2009 +0200
Anton Gladky (33):
1. This is my first test commit 2. Added some initial files for mining rocks classes simulation
1. Some changes in RockPM, still does not work good
1. Some small changes on RockPM.* files 2. Test SVN_2_email
1. Test 2. RockPM.* updated
Changes on RockPM.* files
1. RockPM, first variant of "destruction mechanism"
1. Deleted euclid.py
1. delete euclid.py (fised Sconscript)
1. In utils.py alignedFacetBox has been changed to facetBox. It is now possible to create arbitrarily-aligned box composed of facets 2. Updated regular-sphere-pack.py 3. Some small changes on RockPM.cpp
1. RockPM update. Added simple "destruction mechanism" 2. Added scripts/installOnUbuntu.sh to make "oneButton-checkout+compile+install+doxygen+epydoc" script. Not tested yet. Requires corrections.
1. Updated some scripts according to new syntax
1. Added PressTestEngine for simulating presses. Can be used and for PointLoadTest simulations.
1. Updated simple-scene-graph.py according to a new syntax 2. Updated simple-scene-video.py according to a new syntax
1. Changes on PressTestEngine. Now it defines the destruction moment more precisely 2. YADE CONSOLE emblem shows now without upper row shifted.
1. Some small changes
1. All variables initialize in PressTestEngine and RockPm
Some changes on News
Fix compile error
1. Partly fixed
1. Almost fixed https://bugs.launchpad.net/yade/+bug/412892 Just 1 warning:
Some changes in INSTALL file because of migrating to BZR
Some changes on one-click-install script
Added "warning" in one-click-install script
1. Fixes compiling error without openmp feature.
1. 418107, I guess it is more correctly.
Some nonessential changes
Blocked some warnings in RockPM.cpp
Small changes
Press Engine and RockPM changes
Added demonstration of buldozer simulation
"Thanks" and Thanks to Janek :)
Fixes VTK-librabry dependencies for Ubuntu
Some small changes on Buldozer
Bruno Chareyre (16):
1. Fixed a critical bug in ElasticContactInteraction (kn, was not registered and left undefined after loading a simulation). 2. Test if fn!=0 (i.e. contact exists) before adding kn/ks to the global stiffness.
1. "Water" classes are updated based on the code developped locally (but not commited for a while) by Luc Scholtes. 2. Triangulation code updated as well (not compiled by default).
1. Add a missing class (for the capillarity model), this fixes a compilation error in the previous commit due to the missing files.
The "stopSimulation" command in the compression engine is now optional, as sometimes you don't want it to stop at all(1). The default behaviour of the compressionEngine is not affected, with autoStopSimulation=true by default. However, the TriaxialTest IS affected : it sets autoStopSimulation=false by default.
1. Update capillary files and add a new engine for them. 2. Prepare for removing old useless classes (typically some variants of engines with "water" at the end)
Remove useless dependency.
-Avoid crash when computing fusion number (it was using pointers to deleted interractions) FIXME : no distant meniscii for now due to deletion by the contact law.
Base class for the solid-fluid coupling (E. Catalano PhD).
-Register "thickness" so that sample dimensions are computed correctly (and not with 0 thickness)
Dimensions could be 0 when "updateParameters" was called from TriaxialCompressionEngine before TTController::action
Missing declarations in r1836.
- cleanup : removing unused (and useless) "water" variants of engines - some cleanup in recorders too
Update of the read/write functions for the connection with comsol. (coupling via Berkeley<->Grenoble mail servers! ;))
Missing declarations of member variables.
<none>
Set default read/write behaviour as in Andrea's version.
Feng Chen (1):
This is viscous force damping, equation similar to http://en.wikipedia.org/wiki/Damping, damping parameters are controlled by betaNormal and betaShear, it is sometimes more realistic than the non-viscous (or say, local) damping. While using this code, please make a reference to:
Janek Kozicki (40):
created nearly empty snow package: pkg-snow
Snow stuff - generate grains made of layers according to voxel data read from file. And daraw it.
forgot some files
- make it compile with boost 1.34 - some snow improvements
- another fix. now it really compiles with boost 1.34
1. TriaxialStressController reads radius from interactingGeometry
Code wasn't compiling because of #include MicroMacroAnalyser - comment it out.
1. argh, guys. svn HEAD must compile. You didn't check your commits and then I waste 1h to fix that. See this commit, to check what I had to comment out about WATER
- added keyboard shortcut '.' that toggles grid subdivision by 10 - fixed error with grid step - grid step is now shown in gl window
small snow update
another small snow update
1. small snow update 2. fix compilation error by Vaclav (hey, you didn't compile again before commit! ;p )
rename file to avoid case conflict with directory
1. GLViewer - when sth. is selected don't move it to 0,0,0 position, but use its original position. This is done by delaying assignment to the next call of draw()
- added extensive comments to the polyhedron code which will be used for collisions
small snow update
maybe spheres won't disappear anymore?
a placeholder for drawing snow interactions
changed guards to #pragma once
postpone creating a 3d view, until a file is loaded. That should hopefully fix the problem with the primary view being empty.
added AUTHORS file, for the purpose of updating file headers. This was copied from http://yade.wikia.com/wiki/Authors
Why do I have the impression that I'm adding this file a second time? After all it's referred to in almost all source files "See file LICENSE for details.", right?
sort people in alphabetical order
sorry for bumping up revisions....
Snow, as it is finished by me. Further work on it will to be done by next post-doc researcher who wants money from EU for working on this :)
fix miniwm3 / full wm3 compilation error
I forgot to add those, sorry. (I wonder how it could stay unnoticed for so long ;)
add option for horizontal or vertical wires in fibre reinforced concrete.
1. correct display of lattice rods on 0th iteration 2. on/off switch for using different stiffness for tension and compression in lattice 3. fixed a bug in BodyRedirectionVector related to deleting of bodies 4. two more lattice examples 5. few more safety checks in lattice code
1. NullGUI was still usin .gz while thay are not supported anymore 2. small lattice update
sanitize stupid numers in QtGUI, eg. 0.1299999999999 becomes 0.13
small fix
after isNew and isReal are removed I'll update the code to use new contact logic.
Add an option to display DOFs and body IDs in the OpenGL window
- Lattice uses DOFs now - old implementation is still accessible by setting a flag backward_compatible, so that hundreds of my old FileGenerator files will still work - some improvements to recording strains and forces
- fix all my warnings - lattice generator improvements wrt concrete with steel fibres
- some improvements wrt to generation of densely packed aggregates and steel fibres in the concrete structure
- testing command "bzr commit --fixes lp:414868" - fixing bug 414868
Fix stupid error introduced when we have migrated to bex container
1. get snow code to run, albeit still buggy 2. why dynamic_casts stopped working everywhere, that's a mystery to me 3. interactions isNew doesn't exist anymore, snow code needs update for this
Jerome Duriez (2):
- Correction of the headers of two files "ContactLaw1Interaction" which were commited by me and not by Bruno - Some features of ContactLaw1Interaction were declared in ElasticContactInteraction. This was a mistake totally not planned (and the fact it was in svn also was not noticed) and is now corrected
- End of the job by suppressing also the corresponding lines in .cpp...
Luc Sibille (1):
I added a new engine "ThreeDTriaxialEngine" to perform triaxial simulations with an independant control in stress or in strain in the three space directions respectively. In this goal, the TriaxialStressControlEngine has been sligtly modified to impose a different stress value or strainrate in each space direction. I hope I have broken nothing!
Sergei Dorofeenko (28):
Intermediate commit for SpheresFactory. Don't work yet. 1. New engine SpheresFactory 2. Add function engineByLabel to MetaBody 3. Add members to BroadInteractor.
1.First worked version of SpheresFactory engine. Example in examples/SpheresFactory 2.Added PersistentSAPCollider::probeBoundingVolume function (for using with SpheresFactory) 3.InteractionGeometryMetaEngine::explicitAction has been modified to remove artifical (as me seems) asserts. 4.python import_stl_geometry now return list of body ids instead only their number. 5.import stl geometry now allows import facets without BoundingVolume and InteractingGeometry. 6.Fixed dynamic_cast for BroadInteractor.
1. SpheresFactory allows now to create spheres in a convex volume. 2. SimulationController estimates total simulation time if stopAtIteration>0.
1. SimulationPlayer now allows to reload filters without reloading all simulation. 2. ColorizedVelocityFilter now allows to setup minValue,maxValue without reloading the filter.
Fixed bug in RotationEngine: rotationAxis now normalized in action(), not in postProcessAttributes()
ColorizedVelocityFilter counts a scale for each frame, without using previous min,max values.
Class SimpleViscoelasticInteraction is renamed to ViscoelasticInteraction and is inherited from ElasticContactInteraction now.
1. Convert SimpleViscoelasticContactLaw to ConstitutiveLaw engine unit (Spheres_Viscoelastic_SimpleViscoelasticContactLaw). 2. SimulatonPlayer have now Display tab as one in SimulationController.
1. The experimental widget for drawing a color scale for colorized velocity filter. 2. Convenient python function utils.ColorizedVelocityFilter.
Merging utils.*_v2 functions with their "first" analogs.
Add two new filters: ColorizedTimeFilter and PythonRunnerFilter
Migrate GravityEngines and ConstitutiveLaw to BEX_CONTAINER
Convert STLImporterTest to ConstitutiveLaw (SimpleViscoelastic contact model) and NewtonsDampedLaw engine.
Fix bug in serialization for ViscoelasticInteraction. Fix compilation error for InteractionHashMap
Update contact logic for SpatialQuickSortCollider (hope, it's correct)
Fix typo in PersistentSAPCollider
1. Remove zeroPoint 2. Add prefix ef2_ to Spheres_Viscoelastic_SimpleViscoelasticContactLaw
Fix link errors
fixed and updated some examples in keeping with last modifications
Realise InsertionSortCollider::probeBoundingVolume() so SpheresFactory now works
SpheresFactory now can create a spheres by python function. See scripts/test/SpheresFactory/model.py for example.
Add export python module with VTKWriter class (very initial) to export data from YADE to VTK-based post-processing tools
Added a c++ VTKRecorder (for spheres and facets) and new feature 'vtk' needed for it.
Add colors rec to VTKRecorder
Add default path for VTK
Fix VTKRecorder headers
Fix VTKRecorder headers
Add VTKINCDIR to configure options for directories where to look for VTK headers
Unknown (1):
The isotropic compaction into the TraxialTest is activated: 1)I have deleted the translationspeed parameter (now the translation speed of walls is the strainRate parameter) 2)I have activated the porosity parameter in the TriaxailStressController.cpp file
Vincent Richefeu (38):
- add the soft mgpost for DEM simulation post-processing and visualization.
- set menus in english mode
A very quick guide for mgpost (usage and XML format)
a forgotten file in mgpost/doc
- add a new tool for sphere packing (still in dev) - some enhancement in mgpost interface
- SpherePadder devel...
SpherePadder devel...
SpherePadder (devel: 5 steps ok)
- SpherePadder update - add a basic 'user friend' interface for sphere packing generation. The module can of course be used without this interface.
Speed enhacement for the SpherePadder algorithm.
Add possibility to make PNG screenshots (using libpng)
Add a DataRecoder that generate MGP files (only for Spheres for the moment). The MGP files can then be read with mgpost.
- add a class based on CGAL for 3D triangulation. - Packing method enhanced (place 380000 spheres in less than 2 min)
Fix some bugs and enhance the display of positive and negative forces
Fix some bugs
Begin devel. of densification process
2 files that were forgotten
Simplify sphere shapes when if there number is increased
Bug corrections (min and max radii)
- overlap with spheres inserted by user -> bug fixed - Densification begins to work
Increase the number of colors for the display of body's groupMasks from 6 to 10
We can now make the packing denser with a stop criterion based on the solid fraction or total number of spheres.
Add BasicViscoelasticRelationships: an alternative to SimpleViscoelasticRelationships. It accounts for the effective mass of each contact and considere the parameter cn as a dimensionless ponderation of its critical value (computed for each contact). Parameter cs is set to zero for the moment.
Add a boost.python wrapper (module packing)
Add a function to SpherePadder_wrapper to pass the result back to python. As Vaclav suggested, it is a list of (x,y,z,R) tuples. (Complet integration into yade is not done yet)
- Add 'HistoryRecorder' to save the sample and network state with a given time-step interval. - Correct a small bug due to the fact that a Clump cannot be casted into a GeometricalModel (and I don't know why!)
Use the clump mass instead of clump-member mass for the determination of the effective mass.
Ooops! There was a bug
Add the function NormalRestitution2DampingRate.
Add sphere reading for gdm-tk format
Remove default linkage with libtiff (png is now prefered)
Add an example of python script for SpherePadder
Add GroupRelationData serialization (not used yet in *Relationships classes) This class serves to manage parameters between bodies depending on their groupMasks. Here is an example of 'command stream' in xml file to set the parameters: <grpRelationData _className_="GroupRelationData" commands_="[ngrp 2 parameter kn setall kn 1e6]" />
Just try to use GroupRelationData with BasicViscolelasticRelationships.
Cast size_t to int in pow(double,int) function to avoid ambiguity for gcc (compilation failled on one of my computer)
Some tiny modifications for Mac OS X compatibility (Does not compil yet).
Some forgotten tasks
replace gcc-3.3 by gcc in the Makefile.macosx of mgpost
Václav Šmilauer (269):
1. Add linear templated interpolation function working on 2 lists, t and values 2. Add InterpolatingRotationEngine that changes rotation speed as given by value table 3. Lower info about starting python thread to debug message only.
1. Rename REGISTER_SERIALIZABLE(class,bool) to REGISTER_SERIALIZABLE_GENERIC, add two macros REGISTER_SERIALIZABLE and REGISTER_SERIALIZABLE_FUNDAMENTAL. Changed all uses accordingly. 2. Added REGISTER_CLASS_AND_BASE(class,base) which performs REGISTER_CLASS_NAME and REGISTER_BASE_CLASS_NAME at once. 3. Added REGISTER_ATTRIBUTES (not trailing 'S'), expanding to void registerAttributes(){...}, and REGISTER_ATTRIBUTES_WITH_BASE, which prepends call to baseClass::registerAttributes() (specified as the first argument).
1. Added Se3Interpolator engine, with scripts/test/Se3Interpolator.py 2. Added from math import * to PythonUI_rc.py so that math functions are readily accessible everywhere 3. Implemented stopStrain in UniaxialStrainControlledTest 4. other small fixes
1. Modify REGISTER_ATTRIBUTES macro so that it work with or without base class given. Change all headers in core to use that. It should help us if we ever make the transition to boost::serialization. 2. User REGISTER_CLASS_AND_BASE instead of REGISTER_CLASS_NAME and REGISTER_BASE_CLASS in core and at a few other places.
1. Removed cerr garbage from glviewer (use LOG_DEBUG if needed)
1. Fix warnings in GLViewer 2. Add (35.4%)-style counter if stopAtIteration is set to the OSD in gl view 3. Add utils.downCast to downcast object to its derived class and copying all attributes. 4. Add utils.SpherePWaveTimeStep to compute critical dt from a few parameters only 5. Add routine to compute overall kinetic energy to Shop (indirectly to utils as well) 6. Add routine to sum torque (momentum) with respect to an axis from forces and torques on given set of bodies.
Fix typo (compilation error in debug mode) in Shop::kineticEnergy
1. Fix a bug in rotation ode in SpheresContactGeometry. Now the code gives the same results as almost-for-sure-correct FEM code regarding strain computation. 2. Add label attribute to StandAloneEngine (inherits from Engine)
omg
(code cleanup, no functional changes)
Exit once the simulation finishes; do not rely on simulation exiting itself.
1. SpiralEngine that does both rotation and translation along the same axis 2. InterpolatingSpiralEngine for variable rotation+translation speed (replaces InterpolationgRotationEngine) 3. scripts/test-spiral.py for rudimentary functionality testing.
1. Un-disallow (bug) having all dimensions scalable in triaxial if particle radius is fixed. 2. Don't record anything by default to file in UniaxialStrainer (only useful for debugging)
1. Add a few functions for integrating piecewise-linear functions in new module yade.linterpolation
1. fix damage colorizer (removed dynamic_cast causing segfaults on non-spheres) 2. InterpolatingSpiralEngine now takes bool wrap rather than Real period. 3. qt.makePlayerVideo takse startWait argument, which waits for Backspace before starting (useful for setting up the view manually); postLoadHook gets run afterwards now.
1. Add algorithm for pushing sphere always to the same side when in contact with facet, even under extreme stress where the sphere geometrically passes to the other side. 2. Add bool SpheresContactGeometry::initContactOnPositiveFacetSide for that 3. Add test/demo script for that. 4. Re-enabled GLDrawSphere::glutUse (cosurgi?) 5. Renamed yade.runtime.args to argv, to be consistent with sys.argv 6. Allow passing sys.argv (arguments to scripts) through QtGUI as well
1. Fix clip plane orientation inversion as well as wheel normal movement. 2. Clip planes not displayed at all unless one of the clip planes is being manupulated.
1. Unbreak bad type (list) for sys.argv[0], broken recently 2. Color bodies by residual strength rather than damage parameter (smoother) 3. Make player messages (maybe) better formatted
omg...
1. Make player reuse existing renderer if there is one (allows setting Draw_mask etc before running player) 2. Add initRun parameter to PeriodicEngine (false by default), to run at the very fist run.
1. Make BrefcomDamageColorizer run at 0th iteration as well 2. Make player set stopAtIter to last iteration in db so that percentage is displayed in the output.
Fix previous commit, overlooked. sorry.
1. Number lines in parameter table for multijobs from 1 (as text editors do) 2. Print short summary at the end of job log (when started, when finished, exit status, duration, commandline)
1. Fix logic typo in QtGUI (warning when there shouldn't be and vice versa)
1. logarithmic strain for Brefcom. 2. change sphere-facet algorithm such that it works on corners. Maybe no longer necessary, but it doesn't hurt now. scripts/test-sphere-facet-corner.py as provided by sega demonstrates that. 3. "from __future__ import division" in python init such that 3/2==1.5 and 3//2=1 (is default since python 2.6) 4. Global GL lock to avoid crashes/freezes with GL accessed from multiple threads concurrently. scripts/gl-test.py (which used to crash) now works with one view; 5. Properly lock/unlock on all gl ops in QtGUI-python.cpp, like setting view direction, resizing etc. 6. Fix wrong assertion in SQLite player 7. add Omega().resetTime to reset iteration number, virtual and real time. 8. Changed utils.loadVars/saveVars code to be more reliable. 9. Added utils.aabbExtrema2d
1. Lock GL when closing view. Seems to fix crashes / delays at exit
1. Contact sphere-facet must be deleted by the constitutive law once created. Let me know if that is a problem -- I think it is the way it should be in the future everywhere, though. 2. Fixes for boost 1.37 (boost::thread not fully compatible) 3. utils.basidDEMEngines (not tested yet) 4. Fix warning in GroupRelationData 5. add march switch to scons ('native' is default, but not supported by older compilers) 6. Prepend default CXXFLAGS so that user-defined ones (like warning suppression) come after the default ones and override those.
1. Tentative fix for newer scons, which links empty files (dummy plugins) with plain gcc and doesn't find default c++ libs to link with.
1. File not needed.
1. Beautify no-debug code in main 2. SpiralEngine now saves angle it has turned so far 3. Remove failing assertion from IFacet2ISphere4SCG (why it fails? it was a (I->isReal&&I->interactionGeometry)||(!I->isReal&&!I->interactionGeometry)...) 4. Improve the utils.spiralproject function to specify period (moderately tested, but seems to work) 5. Adjust locks in GLViewer. Fixes my crashes on nvidia for both player and 3d view (didn't dare to try 2nd view). Next step will be to move this lock to Omega and lock it when loading/resetting simulation etc. 6. Change theora video quality to 63 (maximum) instead of medium 32 in utils.encodeVideoFromFrames. Makes the video about 3x bigger.
Two BIG changes:
1. Add ef2_Spheres_Brefcom_BrefcomLaw, is faster (!) 2. Fix locking in Omega, we don't get crashes when loading simulation with the 3D view enabled anymore (please report any further crashes in OpenGLRenderingEngine, that should be fixed) 3. Automatic update of Doxygen configuration file 4. Dem3DofContactGeometry, which should be in near future parent of SpheresContactGeometry and other new geometries providing normal and shear strains (SphereFacetContactGeometry, in my mind) 5. Add convenience function to apply force to contact point between two particles.
(remove no-warn for c++0x since that flag is not known to gcc-3.4)
1. Add possibility to change container types from python (for benchmarks) -- code not yet tested! 2. Possible optimization in PhysicalActionVectorVector, now disabled.
collider mistake hotfix
1. Make triaxial stop if !autoCompressionActivation and already unloaded. If this breaks something, please let me know, we can do it otherwise, but, for Cundall's sake, can we keep the same behavior for at least 6 months?? 2. SpatialQuickSortCollider will not delete real contacts, even if bodies don't collide. 3. Remove redundant attribute registration from SpheresContactGeometry
fix typo in collider
1. removed persistentInteraction from most places; they are still present in MetaBody, but not serialized any more, most importantly (avoids warnings) and not GL-drawn. 2. Plugin loading loginc completely changes, the underlying macro YADE_PLUGIN has still the same interface. We used __attribute__((constructor)), __attribute__((visibility("internal"))) and anonymous namespace magic to get there. This will make it possible to put multiple plugins to a single shared library without touching the source, only fiddling with SConscript's. 3. PythonUI is interactive by default (it was not?? weird.)
1. Add new non-generic Bex container. For non-optimized build, it increased the speed by about 11% (9:35 vs. 8:49) as compared to PhysicalActionVectorVector.
Users willling to go with the slower PhysicalActionContainer can compile with scons CXXFLAGS=-DNO_BEX now to get the old behavior.
1. Adapted TriaxialTest and ElasticContactLaw to BexContainer (switchable at compile-time). 2. Adapter GlobalStiffnessTimeStepper to BexContainer (GlobalStiffnessCounter code put to a function inside this one, hence that engine is not needed anymore). 3. Adapted Shop::Bex to BexContainer (probably not needed anymore?) 4. Exception is thrown in PhysicalActionVectorVector is used && built with BEX_CONTAINER (would most likely crash anyway). 5. transientInteractions and persistentInteractions are only references to MetaBody::interactions now. Removed extra loops in InteractionPhysicsMetaEngine and InteractionGeometryMetaEngine. 6. Remove including qglviewer into miniWm3, as it breaks compilation if using miniWm3 separately from yade (for testing purposes).
1. Define Janek's functions to convert from/to QGLViewer vector where they are used.
1. Add BexContainer (same interface, but separate implementation) in openMP flavor. 2. openmp=0 is the default for scons now (for some time), since openMP BexContainer gives about 7% slowdown and thus is not useful before at least some engines are parallelized as well. 3. Removed getting references to Force/Torque from BexContainer, since that breaks concurrency. Instead, addForce/addTorque must be used. If you need to read back with getForce/getTorque, you have to call sync() (expensive!!) beforehand, which will compute summary values for all bodies; if you forget, exception will be thrown. Note that sync() is invalidated at next write operation. 4. Adapted a few constitutive laws and other engines for the changes mentiones here.
1. Add time-profiling classes. See http://yade.wikia.com/wiki/Speed_profiling_using_TimingInfo_and_TimingDeltas_classes for details. It is accessible from python as well. 2. SimulationController no longer asks for output format. It just uses XML, the only available one. 3. Engine, EngineUnit have timingInfo member and pointer to optional timingDeltas. Timing is disabled by default, but it may still have some overhead in the order <1% perhaps (will test)
1. Forgotten file with yade.timing.stats() that pretty-prints some numbers.
1. Move all container to core, remove linking with them since it is not necessary 2. Fix things so that everything compiles (at least) both with and without BexContainer 3. Parallelize ConstitutiveLawDispatcher, InteracionPhysicsMetaEngine and InteractionGeometryMetaEngine with openMP if enabled on command-line 4. Make InteractionVecMap default container for interactions; necessary for parallel code.
1. New InteractionDispatchers class that has one common loop for InteractionGeometryMetaEngine, InteractionPhysicsMetaEngine and ConstitutiveLawDispatcher. It can be used from python like this:
1. Adapt ForceEngine to BexContainer 2. Add BEX_CONTAINER and YADE_OPENMP flags to be reported by -h.
1. Add two more forgotten headers. They are not used anywhere, though, and will be removed later.
1. Enhancement of utils.box from Marco.
1. Make Shop load 4/5/6 columns text files for spheres (and skip 5-cols) 2. Change evaluation of args in readParamsFromTable to be able to pass strings better (single quotes) and consistently 3. Parameters passed as env. vars by yade-multi are prefixed with ! 4. fix typo in timing for resetting timers.
1. Make the yade-multi scheduler multithread-aware. 2. Add the collider performance test as example 3. added utils.replaceCollider(anotherCollider) for convenience 4. added Omega().isChildClassOf(classNameChild,classNameParent)
1. Fix collider-perf (TriaxialTest has hardcoded dt=0.001 !!!!), set timestep by hand at first 2. Fix Shop:: loading spheres from file (regression from yesterday) 3. Add functorCache to Interaction and to InteractionDispatchers. About 5% improvement, but not yet finished. 4. Add DynLibDispatcher::getFunctor2D 5. Add BexContainer::sync() to other places in triaxial (thrown otherwise)
1. Fix old rename of runtime.args to runtime.argv in default-test.py. Should run OK now.
1. Fix for the compile error in snow for OrthogonalPlaneFit3. It still misses pkg/snow/Engine/ElawSnowLayersDeformation.cpp in the repo. Compile with exclude=...,snow as workaround.
1. Rename BroadInteractor to Collider. 2. Move some part of the contact logic to this common base class. The Collider::handleExistingInteraction is subject to discussion and not yet used.
1. Small fix in the collider code.
1. Remove SAPCollider completely 2. Make yade log4cxx 0.10 compatibile 3. Other minor fixes
1. Fix linking of realtime-rigidbody WRT PersistentSAPCollider
1. change default xiShear to 0 instead of NaN (is not used anyway) 2. Fix linking of mass-spring in cliean build
1. Fix #include's that include files not in the current source directory via "". 2. Add scripts/linkdeps.py that can automatically determine what plugin links to what other plugins, which can be once used for configurable monolithic/pluggable builds etc.
1. Fix crashed in TriaxialTest introduced by me a few days ago (referencing engine before being created) 2. Add simple (working?) memory usage query to utils and collider perf test.
1. Fixed collider performance benchmark 2. Added script to generate graph from log files (like http://yade.wikia.com/wiki/Colliders_performace)
1. Added SpheresContactGeometry::updateShearForce, will be used (not activated though yet) by ElasticContactLaw and other.
hotfix related to last commit
1. Initial checkout for the DemXDofGeom classes (will contain the hasShear code from SpheresContactGeometry and more eventually).
1. Preliminary version for sphere-facet collisions with total formulation (moderately tested). 2. Same for sphere-sphere collision. 3. test script for facet-sphere collision geometry.
1. Use local foreach.hpp if not found in the system 2. Use local file defining boost::python::len for boost<1.34
1. remove explicit linkage to boost_python in gui/SConscript
Forgotten empty file.
1. Remove logger from ClassFactory 2. Cleanup logging stuff in main (use constructor function, among other) 3. Cleanup system exit from python in PythonUI_rc.py 4. Add SpheresContactGeometry::updateShear that can be optionally used with ElasticContactLaw to update shear displacement instead of updating shearForce. triax-identical-results.py show quite large difference between both implementations, but I am not able to tell which one is correct. scripts/test/shear.py shown almost no difference for 2-sphere scenarios, modulo differences at 15th decimal place or so. 5. Remove debug output from BexContainer 6. Remove warning about meniscus data from CapillaryCohesiveLaw (warning is given in postProcessAttributes now, i.e. iff the class is actually used) 7. Add logger to snow. 8. Removed shear computation code in ElasticContactLaw, use SpheresContactGeometry::updateShearForce. 9. Fix scons deprecation warnings
1. Add functions to augment forces/torques in BexContainer.
1. Remove some garbage from SpheresContactGeometry 2. Verify that SCG_SHEAR doesn't alter behavior if ElasticContactLaw::useShear is false 3. Implement SCG_SHEAR for sphere-box interactions 4. sphere-box interactions no longer call goReverse, but swap interaction order instead, as facets do. 5. Fix triax-idnetical-results.py to reload generated initial config to avoid rounding issues of sphere coords in text file.
Minifix: link core with librt (clock_gettime) for platforms that require it
1. Add rate-dependent damage to normal and viscoplasticity to shear components of Brefcom (not yet tested, just compiles); other cleanups there.
1. add addF and addT to legacy ActionContainer
Add label attribute to engine units. Python wrapper updated.
1. Rate-dependent fixes (more to come) in brefcom.
1. Remove MetaBody::physicalActions if compiling with BEX_CONTAINER (default) 2. Make everything work with both BexContainer and deprecated PhysicalActionContainer 3. Change PhysicalActionDamper, PhysicalActionDamperUnit, PhysicalActionApplier and PhysicalActionApplierUnit to dispatch only according to PhysicalParameters (not PhysicalAction anymore). That means that only one unit will be called for each body and that NewtonsMomentumLaw has to do the job of NewtonsForceLaw as well (same for CundallNonViscousMomentumDamping). 4. Fix (finally) defaultDt computation in TriaxialTest (forgotten assignment to defaultDt in the GlobalStiffnessTimeStepper) 5. Fix (finally?) timestep manipulation form within the QtGUI. If reloading the same file, timestep settings will be preserved, otherwise those saved in the XML are used.
1. Create ef2_Spheres_Elastic_ElasticLaw that has the ElasticContactLaw algorithm 2. ElasticContactLaw now merely calls ef2_Spheres_Elastic_ElasticLaw. 3. TriaxialTest::parallel controls whether to use InteractionDispatchers or not. 4. Added examples/triax-perf to show the impact of that. Also see http://yade.wikia.com/wiki/Triaxial_Test_Parallel 5. Fix a few compilation issues. 6. Flush stdout before exiting from main, so that in case of crash upon exit (log4cxx?) we have all messages output.
1. Hotfix for 2 issues with ElasticContactLaw
1. Remove all traces of physical actions:
1. Remove Shop::Bex (no longer necessary) 2. Add InterpolatingDirectedForceEngine for Roger (not yet tested!)
1. Fix linking of ForceEngine with interpolation 2. Random rate-dependent things. 3. Typo in BexContainer docs
1. A few fixes in Brefcom. 2. Make python wrapper correctly handle long long attributes. 3. Added test script for InterpolatingDirectedForceEngine
1. MAJOR change in python syntax (backwards-compatible, though): through small bit of very dirty code, classes can be instantiated as python objects with keyowrd arguments, i.e. instead of
1. cleanup UniaxialStrainer code, add vars to control length of the acceleration phase and the ability to set absolute speed 2. EngineUnits within InteractionDispatchers can be labeled and accessed from python now. 3. A few minor things in the plot module
1. Remove cruft from brefcom, a few fixes there 2. Add gnuplot grid to gnuplot by default 3. Fix speed in USCT 4. Fix InteractionDispatchers traversal in pyOmega
1. Fix weird python problem if LIBS is not defined by distuils (?)
1. Add working version of facet adjacency finder (to get their mutual angle at edge)
1. Parallelize initial bound filling in PersistentSAPCollider. Gives almost 3x speedup for the first step. 2. Fix missing headers so that it compiles with g++-4.4 (in QGLViewer) 3. FacetTopologyAnalyzer works (not tested extensively), questions of where to put topology data for InteractingFacet (will be raised on yade-dev) 4. Test script for FacetTopologyAnalyzer.
1. Remove leftover var in PersistentSAPCollider
1. Add preliminary gnuplot plots merging facility to yade-multi 2. Fix yade.log module so that it also works without log4cxx (and gives 1 warning) 3. Switch to new syntax in scripts/plot.py
1. Fix race condition in brefcom (omp critical section) 2. Remove -ffast-math from optimized build, since NaNs do not work properly (e.g. isnan(NaN)==false!)
1. Fix bug in FacetTopologyAnalyzer algorithm 2. Add angle info to InteractingFacet (not yet used) 3. Add triangulated sphere test for FacetTopoloyAnalyzer to facet-topo.py 4. Fixes in rate-dep in brefcom
1. Add approximate viscosity equations to brefcom (not working) 2. Fixes in yade-multi
1. Finish implementation of Dof3DofGeom_FacetSphere (with plastic slip as well) 2. Adapt Brefcom optionally to Dem3DofGeom 3. Add d0fixup to SpheresContactGeometry to get correct normal strain in sphere-facet contact with fictive sphere (zero for sphere-sphere) 4. Finish FacetTopologyAnalyzer; angle usage in Dem4DofGeom_FacetSphere not yet tested.
1. Remove cruft from UniaxialStrainer, add the ability to set initial velocities to suppress inertia at the simulation beginning 2. Jobs in yade-multi can be automatically named after variables suffixed with ! 3. yade-multi now shows and updates automatically some statistic on localhost:9080 using http
1. Finish Dem3Dof for both spheres and facets, migrate Brefcom. Removing stuff from SpheresContactGeometry is on schedule, once thorough testing is finished. 2. Fix attribute inheritance for a few engine units 3. Add ef2_Dem3Dof_Elastic_ElasticLaw, which works like ElasticContactLaw (but faster ;-) ) 4. Remove BrefcomLaw, keep just the constitutive law as functor. Adapt sample generators for that. 5. Add hydrostatic confinement to brefcom (isoPrestress), remove viscApprox. 6. Add interface for querying and setting (doesn't work yet) number of openMP threads 7. Job description is taken from columns suffixed with ! or by combining all parameters 8. Add function for plotting yeild surface of brefcom to the eudoxos module 9. Oofem export now uses reference (starting) positions of particles as it should 10. Add "-" before profile name when generating default variant suffix in scons (which is expected)
Fix comp9ilation error for Janek.
1. Add python wrapper for clumps, see scripts/test/clump.py on how to use it (O.bodies.appendClumped) 2. Fix clump support in NewtonsDampedLaw (damping is quite wrong, it seems...; Bruno, any ideas on that?) 3. Move clump to pkg-dem (even though it depends on extra/Shop) 4. Remove absolute shear computation from SpheresContactGeometry, as Dem3Dof works fine now and Brefcom will not use SCG anymore; adapt a few other classes to that; remove ElasticContactLaw2 that was using it. 5.
1. Warn in --version if -ffast-math was used
1. Fixing bug in TriaxialCompressionEngine (introduced by luc apparently).
Big changes:
Handle boundingVolume-less bodies gracefully in InsertionSortCollider
1. Add utils.regularSphereOrthoPack by Anoton
Forgotten showcase.
1. Add InteractionContainer::requestErase to hint colliders that wouldn't otherwise see !isReal interactions. 2. Use this logic in InsertionSortCollider, PersistentSAPCollider, SpatialQuickSortCollider (noop in the last one) 3. Add InsertionSortCollider::sortThenCollide to make it behave as non-persistent collider (for debugging only?) 4. Add Interaction::reset() that has common initialization code. 5. Assign zero inertia to utils.facet (better than uninitialized binary garbage) 6. Fix contact logic in Brefcom, finally I get the same results with InsertionSortCollider as with SpatialQuickSortCollider on large simulation (more fixes to come) 7. Do not install pkg-config; fixes compilation error reported by the build bot.
1. Use bitfield instead of bools in InsertsionSortCollider 2. Revert accidental changes in insertion-sort-collider.py 3. Add function for using renamed classes from python with warning
Getting rid of the Brefcom name, classes renamed as follows (moving files around will follow)
1. Add logic to scons to delete files that will not be installed in this run but are on-disk. This should make it unnecessary to remove files by hand. In the same way, disable implicit target cache which was making problems if files shuffle around. 2. Remove Brefcom* files, move to pkg/dem/ConcretePM.?pp. (not sure what other place, since it contains Engines, DataClasses etc in one file that I would refuse to break.). 3. Add detailed comments on ConcretePM to the ConcretePM.hpp 4. Remove extra/usct, moveUniaxialStrainer and put to pkg/dem; move SimpleScene from extra to pkg/dem 5. Remove core/yadeExceptions.* 6. Remove Preferences::dynLibDirectores and Preferences::version. Omega now recursively searches the lib directory for plugins and loads them. preferences.xml has only defaultGUILibName now. Finally. Remove baseDirs and other cruft from DynLibManager.
2 forgotten files (separated from UniaxialStrainer before)
1. Fix hopefully last relict of pkg-config 2. Degrade deleting non-existent interaction from fatal erro to warning only (not sure where that can come from, though.)
Solve the cause of nonexistent interactions being deleted (after O.interactions.clear()). Make warning fatal error again.
1. Remove Interaction::isNew, Interaction::isReal. Add Interaction::isReal() which test for presence of _both_ interactionGeometry and interactionPhysics and Interaction::isFresh() which checks the interaction creation timestamp against current iteration. Updated all code for that. Please verify that your stuff works, it is possible I made some mistakes! 2. All code saying isReal=false replaced by interaction->requestErase(id1,id2) 3. make requestErase thread-safe 4. Add interace for traversing interactions pending erase (template) 5. Add TriaxialTest::noFiles and TriaxialCompressionEngine::noFiles to not generate any files (default: off) 6. Add predicate utils.ptInAABB(p,minPt,maxPt) 7. utils.spheresToFile return number of spheres written (instead of None) 8. Add examples/concrete/pack to generate packing; other stuff in concrete will follow, with simplified version of the cpm model in ConcretePM.
1. Syntax fixes in ConcretePM model 2. Interactions will be deleted also if the ye4xist, but geometry functor fails (returns false) 3. Add utils.approxSectionArea, utils.spheresFromFileUnixial (get some parameters useful for uniaxial tests from the sphere packing, such as cross-section, principal axis, etc) 4. Add lib/computational-geometry/Hull2d.hpp for computing convex hull in 2d using Graham scan algorithm (I know it is in CGAL already, but I don't want to depend on that commercial stuff) 5. Remove some unused stuff from utils.
1. Add epsNPl to Cpm 2. Replace vector<body_id_t> by Vector2<body_id_t> and make it properly serializable (should be faster) 3. Add function to compute forces on interactions crossing plane. 4. Replace custom xcombine function by itertools.product in grid sphere packing
Fixes and cleanups in the CPM code.
Add new 'feature' to scons called openGL, which is on by default. Qt3 GUI will not be built without openGL. YADE_OPENGL is defined in openGL-enabled builds. Sconscript files adapted to skip GL plugins or GL parts of plugins.
1. Fix missing libs for linkage 2. Fix a few typos
1. Don't link core with glut (is there a reason for that?)
Do not include X11 headers if without opengl
1. Move all python modules to PREFIX/lib/yadeSUFFIX/py/yade instead of */gui/yade 2. Add pack module for generating regular packings (thanks to Anton Gladky for his ideas & code) 3. Add _packPredicates module for solid inclusion testing. 4. Update regular-sphere-pack.py to test new packing features.
Remove leftover reularSpheresOrthoPack from utils. Is in yade.pack now.
Add pack.inHyperboloid predicate. Should be useful for cylindric specimen in uniaxial tension, but with the middle part having smaller diameter. Added to the test script as well.
1. Fix (hopefully) clump damping 2. Remove unused code from InsertionSortCollider 3. Make SimulationController NOT change timestep (rounding) by just opening it (!!) 4. Fix paths in PythonUI and lib/SConscript for $PREFIX/yade$SUFFIX/py/yade instead of $PREFIX/yade$SUFFIX/gui/yade
1. Add resetting interactionGeometry and interactionPhysics to Interaction::reset(), as it should be... 2. Small things in CPM 3. Add GaussAverage.data method to python (for debugging and plotting)
Include Python.h in PythonRunnerFilter. Build this plugin only with EMBED_PYTHON.
A few changes to allow run primarily python with qt3 on the top of that (open, close etc as needed). This paves way to running main yade process in python ;-) (just kidding, for now)
1. Handle groupMasks of bodies in InteractionDispatchers directly (not in geometry functors etc). 2. Fixes for qt3 started from within python 3. Add Body().dynamic flag to the wrapper, instead of using Body()['isDynamic'] all the time.
Anton's new things: axis-aligned ellipsoid predicate and fix in pack.regularHexa.
1. Add external euclid.py module (suggested by Anton, thanks!) to our installation
1. Propose *.sqlite ending for saved simulations instead of * in the player
Fix error-tolerant law which uses no interactionPhysics: add void Interaction physics in the geometry functor if returning true, to make Interaction::isReal return true. (Shouldn't we remove ErrorTolerant...? Does it have some serious use?)
1. Remove constructor priority for log4cxx to avoid syntax unsupported by gcc<=4.0. 2. Remove some commented cruft from FrictionLessElasticContactLaw
1. Add boolean operators on solid predicates (&,|,^,-), shown in scripts/test/regular-sphere-pack.py 2. Add notch predicate (not functional yet) 3. Add utils.alignedFacetBox to create hollow box from facets. Shown in new file scripts/test/facet-box.py
1. Update simulation filename in controller periodically 2. Fix notInNotch predicate, use infinite AABB for unbounded solids and raise exception in the packing generator if such is encountered. 3. Add notch to the head of regular-sphere-pack.py guy
1. Add checks for GTS (optional) 2. Add pyGTS to our tree (built only if needed), since no packages are available.
1. Fix corner case in InsertionSortCollider related to instability of std::sort (quicksort) and bodies having the same upper and lower bounds (facet in the xy plane, for example). Thanks to Anton for providing the crasher.
Fix feature macro definitions (typos)
1. Add GTS surface predicate 2. Add example of sphere horse falling onto facet horse in scripts/test/gts.py (try it!) 3. Predicate difference now takes padding in the inverse sense for the second predicate (logical) 4. Attempt to enable lightning on facets (no effect :-( )
1. Add coarsened horse geometry for the example gts.py
1. Rename ef2_Dem3Dof_Elastic_ElasticLaw to Law2_Dem3Dof_Elastic_Elastic (in scripts as well)
1. Make virtual methods on pack.Predicate work in python (inGtsSurface, for instance). Add scripts/test/gts-operators.py to show that. 2. Move scripts/test/gts.py to gts-horse.py 3. Add a few functions to pack for constructing triangulated revolution surfaces from meridians.
1. Padding support (though slow and not very precise) for pack.inGtsSurface
1. Fix crashers in InteractingMyTetrahedron* classes (introduced by me when updating interaction logic) 2. Reimplement inGtsSurface in c/c++ which makes it faster due to pygts interface limitations (addressed on pygts mailing list meanwhile), but is dirty programming. 3. Set CCOMSTR to correspond to CXXCOMSTR in SConstruct (to show nice line when compiling c source file, for pygts) 4. Set good-looking timestep in the TetrahedronsTest generator
1. Add triaxial packing generator, with optional memoization to sqlite database to avoid generating packing if there are suitable ones (same parameters/scalable to same parameters) available. Sample script will be provided soon. This allows for filling arbitrary (gts-defined, for example) volumes with irregular, high-quality sphere packing. 2. Add python-wrapped class SpherePack for manipulating sphere packings (loading, saving, spatial transformations, iterating) 3. Add shared_ptr<MetaBody> Omega::rootBodyAnother to be used with Omega().switchWorld() 4. Move some stuff from gui/py to lib/py, which is more logical hopefully 5. If negative value is specified for TriaxialTest::thickness, wall thickness will correspond to the mean sphere radius (avoids spheres going through the walls during compaction for some radii)
1. Add automatic converter from python::tuple to Vector3r and vice versa. Wrapped functions can take/return Vector3r directly instead of manual conversion. Clean code that had to do that. Let me know if something breaks, the changes should not touch any python code. 2. Some preliminary work on wrapping Vector+Quaternion classes in python via py++ (not enabled, just the files are there) 3. Add forgotten _packSphere.cpp, thanks to Vincent for reporting.
1. Add scripts/test/gts-traix-pack.py to demonstrate triaxial packing generator.
Remove useless include in GlobalStiffnessTimeStepper.
1. Fix STUPID (my fault, sorry!!) mistake in setting Interaction::iterMadeReal, which cause ElasticContactLaw to function wrong. It concerns a few other contact laws calling isFresh, which would return true as well. Sorry again.
1. Shuffling stuff around, moving most python things to py/ 2. Wrapping Vector3r, Quaternionr and Vector2r in python directly, see scripts/wm3-wrap.py 3. Change the way utils.box, utils.sphere and utils.facet works: arguments to physical parameters are passed as keywords, not as dictionary now (update your old code by passing **dict instead of dict as the last argument) 4. Fix a bug with useShear, now getting almost identical results for triaxial again. 5. Preliminary Triaxial::facetWalls, to be able to used Dem3DofGeom with Triaxial. (not fully functional yet) 6. TriaxialStressController::thickness is -1 by default now (get thickness from box width), as 0 is real value for Facets. Doesn't change beahvior in any way.
1. Update triax-perf.py 2. Add Omega().tmpToString returning string of :memory: saved simluation
1. add yade.plot.resetData(), which unlike reset() resets just data 2. Add scripts/test/compare-identical.py to run 2 simulations at the same time and check at every step (configurable) if they differ or not. 3. Add active=active line to GlobalStiffnessTimeStepper, which for some reason causes two same simulations to be the same. Any explanation someone??
1. Add forgotten py/SConscript (sorry!)
1. Fix absolute path generated by py++
1. Dump XML in ConcretePM in case of problems (nan's) 2. InteractingFacet::postProcessAttributes gives FATAL message if there are coincident vertices 3. Update triax-perf, add script and openoffice sheet to make table 4. InsertionSortCollider is used in TriaxialTest always (not only with fast) now.
1. Change prototype of Engine::isActivated() to Engine::isActivate(MetaBody*) 2. Add maxVelocitySq to NewtonsDampedLaw for analysis purposes 3. Add BoundingVolumeMetaEngine::sweepTime and ::sweepDist to sweep bounding volume by given predicted motion over time or by given absolute distance. 4. Add strided run support to InsertionSortCollider (using sweeping) 5. Add scripts/test/collider-stride-triax.py to play with the strategies of sweeping based on strides 6. Add O.interactions.countReal()
1. Fix collider-stride.py to match changed parameters. (it is quite useless now, anyway
1. Make NewtonsDampedLaw compute maxVlocitySq at every step anew. 2. Make InsertionSortCollider find NewtonsDampedLaw and get max speed from there. Together with InsertionSortColider::sweepLength, this makes stride adapted automatically to maxVelocitySq; this will described at http://yade.wikia.com/wiki/Insertion_Sort_Collider_Stride. 3. Update test script for that.
1. Handle clumps in a better way in NewtonsDampedLaw (only if asked by the clump itself) -- future parallelization work. (related to bug #398086) 2. InsertionSortCollider now knows when to run based on maximum distance the fastest body could have travelled. (It is actually the physical meaning of sweepDistance). Handle varying maxVelocitySq in a constitent way. 3. Add InteractionContainer::serializeSorted to sort interactions by id1 and id2 before serializing (useful for comparing XML files). Added Interaction::operator< to compare 2 interactions in that way. 4. Fix openMP strategy in InteractionDispatchers to "guided" (as per https://blueprints.launchpad.net/yade/+spec/omp-schedule-strategy)
1. Remove doc/removed, it is in SVN history 2. Tune debian scripts to install docs+examples+scripts instead of headers (targets https://bugs.launchpad.net/yade/+bug/398174, but not yet finished) 3. Add depends on python-numpy instead of python-scientific packages for debian 4. Add ../py directory to doxygen (targets bug #398190)
1. Change NewtonsDampedLaw to a StandAloneEngine 2. add .updateExistingKeys (perhaps should be updateExistingAttributes) to all python-wrapped yade objects, which will change only existing attributes from given dictionary 3. Adapt STLImporterTest to new nicer syntax.
1. Add virtual destructors to all EngineUnits so that they can by dynamic_cast'ed to. This fixes possible crash from python, bug #398255 2. Rename updateExistingKeys to updateExistingAttrs, add updateAttrs. 3. Add forgotten script to demonstrate predicate operators 4. The default debug level is -ggdb2 (instead of -ggdb3). Libs are about 60% in size and still give the same debug information.
1. Rename scons option arcs to PGO (profile=guided optimizations) 2. Install only binaries by default (no docs, must be requested from cmd line via path)
1. Various fixes related to generating debian packages
1. Fix EngineUnits linkage for SImpleViscoelasticRelationships
1. Add velocity binning for collision optimization: requires cooperation of NewtonsDampedLaw, BoundingVolumeMetaEngine and InsertionSortCollider. 2. Remove time-based sweeping from BoundingVOlumeMetaEngine. 3. QtGUI doesn't show annoying warning when run from python session anymore.
1. Parallelized NewtonsDampedLaw (scales very well) 2. Parallelized VelocityBins 3. Add const modifier to BodyContainer::size 4. Add virtual dtors to PhysicalAction{Damper,Applier}Unit (for dynamic_cast'ing)
1. Move NewtonsDampedLaw to StandAloneEngine directory 2. Add omp critical to ConcretePM 3. Remove SphericalDEMSimulator
1. Add sweepLength to TriaxialTest if fast==true 2. Remove euclid from the pack module, since we use wrapped wm3 now. 3. Add _packObb.cpp to compute minimal oriented bounding box on cloud of points 4. inGtsSurface predicate with triaxialPack will work on the minimum OBB 5. Add check for engine to prevent crash as per https://bugs.launchpad.net/yade/+bug/399810 6. Enhance the pack.inSpace predicate to work as expected. Custom center can be given to the ctor
1. Fix non-tuple in graph specification 2. Allow plotting agains the y2 axis, after a special parameter '|||'.
1. Remove mutex from requestErase (should be verified to compile on non-openMP machine!) 2. Add mutex to PhysicalParameters, so that body state can be locked while updating from the interaction loop. 3. Add linking with EngineUnits to Tetra (thans Emanuelle)
why..??
1. Adapt simple-scene-graph.py to new instance syntax 2. Add support to y2axis to saved gnuplot plots 3. Change interface for yade.plot.addData to take **kw instead of straight dict (still backwards-compatible)
1. Do not use REGISTER_ATTRIBUTE anymore, use REGISTER_ATTRIBUTES instead everywhere. This generates (in addition to serialization code) also some python code and makes python independent on the yade serialization framework (Janek, if you want to try boost::serialization, I have no objections now).
1. Remove garbage from doc 2. Instruct getopt to not shuffle command-line arguments, so that their order is preserved 3. Add epydoc documentation for all python classes and functions
1. Fix linking logic for _packPredicates (fixes https://bugs.launchpad.net/yade/+bug/401029) 2. Make gts-horse coarse original horse automatically
Fix small bug in Velocity bins related to max sweep length (should improve performance as well). Still some incorrect things WRT bboxes, it seems.
1. Fix mathematical error with VelocityBins, verified by new script scripts/test/collider-sweep-simple.py to be correct 2. Add py/ directory to skipped dirs for linkdeps.py so that it works on current trunk
1. BIG CHANGE: pkg/ no longer have SConscript files but are scanned at startup for plugins. See http://yade.wikia.com/wiki/ImplicitBuilds for some details. Let me know if there are some problems.
add boost-serialization and boost-program-options to debian.
1. Move STILimport to pkg/dem, as it depends on dem 2. update RockPM with the new-old version (probably svn didn't update the moved version? what a deal. We should definitely move to bzr...)
1. Fix unreported version for the debian build
1. Fix snow compilation by #including Voxel/* files in SnowVoxeslLoader and noc compiling them directly (sorry) 2. STLReader is a pure-header import lib now, tolerance is passed as regular data member. 3. Fix all warnings in ConcretePM. 4. Merge lib/yade-* into lib/yade-support.
1. Fix monolithic compilation even with fem. All modules can now be compiled that way.
fix compilation?
Fix TetraTestGen crasher (functionally still brokne, though)
Remove SDECLinkGeometry, replaced by SpheresContactGeometry at a few places. Not checked for functionality. This avoid many warnings.
1. Fix linking with full Wm3 library 2. Automatically add /usr/include/wm3 to CPPPATH if useMiniWm3=False
1. Hopefully fix https://bugs.launchpad.net/yade/+bug/402098 2. Fast in TriaxialTest uses nBins==5 and binCoeff==2 for VelocityBins
1. Fix SnapshotEngine and simple-scene-video.py to run. It doesn't work, though, because of the makeCurrent() failed error (probably getting snapshot from another thread...)
1. Add GLViewer::nextFrameSnapshotFilename to save frame in postDraw 2. Adjust SnapshotEngine to take advantage of that. This should solve https://bugs.launchpad.net/yade/+bug/396023 3. utils.encodeVideoFromFrames can take list of files (instead of just wildcard). Backwards-compatible. 4. scons doc skips debian/ directory (would mess up if deb package was build)
1. Fix for https://bugs.launchpad.net/yade/+bug/406343 (at least for me)
1. Add GenericSpheresContactClass to unit radius1, radius2 and normal between SpheresContactGeometry and Dem3DofGeom (to make it work with GlobalSitffnessTimeStepper). Partially solves https://bugs.launchpad.net/yade/+bug/399963
1. Add docstrings to all wrapper.Omega() methods 2. Fix a few warnings.
Fix has_map warning and one more in FlowEngine.
1. Add infrastructure for getting temporary filenames in a secure manner to Omega 2. move selectedBOyd to MetaBody; initialize it properly to avoid possible crash.
Remove leftover SConscripts.
1. Change syntax of YADE_PLUGIN("Plugin1","Plugin2") to YADE_PLUGIN((Plugin1)(Plugin2)) (replaced everywhere) 2. Add some perliminary and not-enabled by default support for boost::serialization (see ClassFactory.hpp) 3. Add boost::serialization code for Se3r, Vector2r, Vector2<int>, Quaternionr 4. Do not reset BexContainer's moves and rotations uselessly (i.e. if not used) 5. Use Omega's mutex in SimulationController to prevent loading-related crashes
1. Don't use __COUNTER__ to generate plugin registration function names, as they wre added in gcc 4.3 Use the name of the first plugin instead. 2. Dem3Dof_SphereSphere takes touching distance as equilibrium if distanceFactor is <=1. The initial position otherwise (was the default everytime until now)
1. Generate proxy constructors to all classes deriving only from Serializable in python (like GLDrawBox and similar). 2. Fix scripts to have the new syntax everywhere, since e.g. EngineUnit is just abstract class that cannot be instantiated from python. 3. Add check fro valid data before saving plot to gnuplot; raise comprehensible exception if there is nothing to save. 4. Remove leftover scripts/pch.py
1. Add an example of uniaxial tension-compression test for concrete (ready long time ago...)
1. All different yade types are real python types now. They have their properties defined at startup. One can say O.bodies[0].shape.diffuseColor instead of O.bodies[0].shape['diffuseColor'] now. It also works much better with ipython tab-completion. It is not sure whether we will be able ever to deprecate the old object['attribute'] syntax. 2. Wrap ParallelEngine in python, and finish Dispatcher wraps as well.
1. Reset interaction radius after the initial contacts have been created.
Fix FileGenerator wrapper in PythonUI_rc.py (has different name in c++ (FileGenerator) and python (Preprocessor).
1. Rename Preprocessor in python to FileGenerator, to be consistent with c++. Preprocessor is never used directly, anyway. The old deprecated name put in the deprecation table. 2. Manage crash at exit in defaut-test gracefully 3. Fix serialization of pairs (overlooked replace)
1. Initial attempt at regression tests (only the python wrapper so far); run scripts/regression-tests.py 2. Fix a few bugs discovered that way :-)
1. Replace PersistentSAPCollider and DistantPersistentSAPCollider by InsertionSortCollider everywhere. The two are still in the sources, but are not compiled. Will be removed in near future. Added to deprecated table in python so that old scripts still work. 2. Add some more regression tests for the python wrapper. 3. Fix timestep in HangingCloth (it does some weird things, can someone check it or just remove mass-spring from the tree?)
1. Be more tolerant to specifying invalid GUI at the command line 2. Throw exception about unopenable $DISPLAY rather than letting QApplication abort()
1. Fix https://bugs.launchpad.net/bugs/409254
https://bugs.launchpad.net/yade/+bug/409254 take 2
Maybe fix https://bugs.launchpad.net/yade/+bug/409365
1. Fix (?) https://bugs.launchpad.net/yade/+bug/409254 by moving ClumpTestGen out of Clump.hpp 2. Avoid warnings in STL import code (return values _should_ be checked, though!) 3. Avoid warning in yade.cpp in optimized build
1. Infrastructure for periodic collision handling. Not at all functional at this moment, don't even try to use.
1. Beta version of periodic boundary conditions (try scripts/test/periodic-simple.py
1. Assign new function O.exitNoBacktrace to sys.exit. Fixes partially https://bugs.launchpad.net/yade/+bug/410250 2. Add some more comments to periodic stuff.
1. Script that shrinks the periodic cell progressively (reveals bugs in the collider, though ;-) ) 2. Add function to compute total force in volume from interactions to Shop, wrapped in _utils as well.
1. Working periodic collider, yay!! scripts/test/periodic-grow.py shows that 2. A few changes related to that.
1. Add PeriIsoCompressor for periodic isotropic compression; see scripts/test/periodic-compress.py. Not so much slower than regular triax, nice surprise. 2. Make SpherePack standalone class (previously just in python's _packSpheres), add the function to generate cloud of spheres, both periodic and non-periodic. _packSpheres wrapper is update, but otherwise not changed. 3. Fix python-less compilation for se3 interpolator engine 4. Add Omega().runEngine() 5. Fix some compilation/linking issues.
1. Fix missing vtable for GenericSphereContact (crasher with debugging) 2. Fix collider stride for TriaxialTest with unspecified radius
1. Try to fix locking with boost-1.35, possibly fixes https://bugs.launchpad.net/yade/+bug/411572 (please confirm) 2. Add periodic repetition function to SpherePack
1. Fix linkage for boost<=1.34 (hopefully)
1. Fix a few things in SpherePack 2. Remove TriaxialTest::GenerateCloud, replaced by SpherePack::makeCloud 3. Fix crash in BoundingVolumeMetaEngine, if MetaBody has no boundingVolume 4. Improve sorting operator, remove workarounds for std::sort wrapping minima/maxima (https://bugs.launchpad.net/yade/+bug/402098) 5. Limit minimum cell width in PeriIsoCompressor, to not crash. 6. Add code for periodic packs in pack.triaxialPack (not yet fully functional)
1. Add #pragma once to SpherePack.hpp (possibly cause of https://bugs.launchpad.net/bugs/412442) 2. Fix crash in TetraTestGen (finally, I think), closing https://bugs.launchpad.net/bugs/408422 3. Add highlight parameter to utils.{facet,sphere,box}, passed to Body::geometricalModel
1. Fix assertion is 2d dispatch code, add indices to RpmPhys, RpmMat, CpmPhys, CpmMat (would break dispatching if using more classes derived from the same base in the dispatch matrix)
1. Remove {,Distant}PersistentSAPCollider and Fixed{Position,Orientation}Engine classes 2. Add test script for generating packing
1. Summarize important changes since the last release. Add your own things, if they are important for everybody (svn log has the small details)
1. Add scripts/rename-class.py for renaming classes (replaces in code, moves files with bzr, adds rename record to python). Not very well tested, though. 2. Remove core/StandAloneSimulator.*pp (not used anymore)
Add ignore patterns so that bzr st doesn't show (some) generated files
1. Merged upstream changes.
1. Clen the plugin loading logic a little (no nominal win32 support), support YADE_PREFIX for changing prefix (should be runtime-detected inthe future, anyway) 2. Use $ORIGIN in rpath to make yade relocatable; it can be fragile, let me know if there are troubles! 3. Add make check to the debian package (will be tested soon)
1. Add compatibility for hardy 2. Fix missing newlines (hardy compiler gives warning)
Adjust rpath for the main executable (ugly hack)
Run tests in debian package (not failing if the test crashes, though, for now)
1. IMPORTANT! All features are lower-cased now (avoids mess: openGL or OpenGL etc). This will probably break your profile files. 2. IMPORTANT! openmp is one of features, no longer a separate options. Adjust your profiles 3. Rename LOG4CXX to YADE_LOG4CXX; all features now #define YADE_FEATURE macros 4. Better $ORIGIN syntax in scons 5. Abort yade if running PythonUI_rc.py fails 6. Adjust pbuilder script
1. Add wrapper for running tests, to trap exit segfault at squeeze 2. Use the wrapper for tests in debian/control 3. Add wrapper for vector<Se3r>
Make the test script report what distribution failed (currently only karmic).
Fix GTS features (thanks for spotting that; we need regression tests for all the modules)
1. Skip more stuff in doxygen, a few warnings 2. Add debugging code to DynLibDispatcher (disabled)
1. Rewrite 2d dispatching code from scratch 2. Expose classIndex to python for indexable classes 3. scripts/test-sphere-facet.py shows how the dispatch matrix fills with data
Add python 2.5 compatibility hack
Avoid error in pack.triaxialTest if compiled without GTS.
1. PeriIsoCompressor: add keepProportions parameter (on by default), decrease global updates interval. 2. Omega: startSimulationLoop warns if there is no simulationLoop (how can that happen? It somehow can) 3. SpherePack: resets periodicity (and warns) if being rotated; cellSize is writable now. 4. pack.triaxialPack: renamed to pack.randomDensePack; fix loads of stuff in that; rename radiusStDev parameter to rRelFuzz; add epydoc documentation; fix erroneous detection of inGtsSurface being defined 5. wrapper: lock renderer when adding list of bodies; Omega().resetThisWorld to reset current world only. 6. Fix scripts/test/{gts-random-pack.py,gts-random-obb.py}
ef2_Sphere_Sphere_Dem3Dof: change meaning of distanceFactor, see docs (if < 0, equilibrium is sum of radii, otherwise the initial distance; defaults to -1). Renamed to distFactor, to break old code intentionally InteractingSphere2AABB: allow negative aabbEnlargeFactor, which doesn't scale aabb at all (same as if it is 1.) yade-multi: use the first non-blank line as column headings (not necessarily the first line of the file, as is used to be) SpatialQuickSortCollider: fix clearing interaction with openMP examples/concrete/uniaxial: move files around, add confinement and docs; remove examples/concrete/pack since not in the pack module (an example should be given, though) examples/collider-perf: remove PersistentSAPCollider, add InsertionSortCollide with strides, but commented out since no effect at hthe beginning of simulation PeriodicInsertionSortCollider: remove unnecessary (hopefully) condition that would abort in scripts/test/periodic-simple.py
PeriIsoCompressor: fix absolute displacements changing proportions, operate on averages instead pack.randomDensePack: fix proportions in periodic packs; change residual stress to 1e8 instead of 1e9
SConstruct: remove obsolete (unused) standalone openmp option
yadeWrapper: Fix compilation with boost<1.35 (again)
(now?)
1. Fix startup crash if no $DISPLAY set at all
miniWm3Wrap: update with newer py++; still errors out at karmic spirit: avoid warning with newer boost versions
Add gts to depends on the script.
Remove unnecessary inclusion of indexing_suite which breaks compilation for boost<1.34 (or something like that).
utils.uniaxialTestFeatures: fix compat with py2.5 SConstruct: fix compilation issues with older symlinks in include dirs
Fix OperationalError, reported by Janek in https://bugs.launchpad.net/yade/+bug/416906
SConstruct: add doc for pretty, fix a few lib checks on karmic
Fix version detection on systems where version is not specified by hand or in RELEASE file and bzr is not installed
main: disable SIGHUP handler (emergency save) and automatic loading.
1. Remove garbage from examples. 2. Fix SpheresFactory, fix examples/SpheresFactory/model.py
move SpheresFactor to scripts/test as it doesn't work. Add notes to changelog and news.
Forgotten file
Mark release version
Add mill script mimicking http://www.youtube.com/watch?v=005rdDBoe4w Some changes in qt interface (useless) Add series to package version to allow same version for multiple series in the ppa (0.20-1~hardy, 0.20-1~karmic etc)
Added script for http://www.youtube.com/watch?v=KUv26xlh89I
1. Fix facet lighting, mill shown with wire=False now (looks better) 2. Revert recent useless change in QtGUI-python
1. Enabling O.timingEnabled when running will not produce garbage values for current engine anymore 2. Add maxRefRelStep to VelocityBins, to limit speed fo maximum velocity changes 3. Fix epydoc format for utils.encodeVideoFromFrames and utils.uniaxialTestFeatures
1. Do not save potential-only interactions to the XML; do not save pendingErase interactions (are only potential) 2. Do not save interactions in SQLiteRecorder by default (saveInteractions=True if you want the old behavior) 3. Add slider to the simulation player, in the "snaps" tab
1. Add scene that has been sitting here for a few days (should be run for comparison with pfc3d)
Workaround bug #416335; static members of Vector3 work only on instance, e.g. Vector3.ZERO will not work, you have to use Vector3().ZERO; changed all occurences in the code accordingly, update your scripts as well.\n2.Some undocumented and untested enhancements for parameter table (backwards compatible)
==================================================
yade-0.12.1
Sat, Nov 22 22:48:27 2008 +0000
Bruno Chareyre (6):
A wrong comment on contact laws in PFC3D is removed.
svn update - no real change (in principle) - recovering from erased local file
- Fix conflicts and prepare next implementation of isotropic compression
- Few files missing in the previous commit. - Add a new class for computing/recording micromechanical data based on tesselation
Still recovering from conflicted files... I hope this is the last one.
A class with algorithm for analysing contacts-forces-displacements statistics. Using the triangulation lib.
Janek Kozicki (14):
ouch, forgot to mark INSTALL file as outdated. We need to update it.
some cleanup in the files
fix crashes of this->parentWidget()->parentWidget() in UI
yade.cpp: more detailed info about compilation flags. LatticeExample: added material parameters bond zone between steel fibres and cement matrix
update to use latest scons 1.0.0
don't refresh display when there's nothing to refresh
support for generating multiple file with single NullGUI call
add to SimulationController buttons for looking in different directions. The default view direction is now down along the direction of gravity.
improved generation of steel fibres in lattice
fixed snaphotNames in NullGUI for .xml.gz
more configurable MakeItFlat, TriaxialTest can be now a biaxial test as well. small fixes in UIs
make it compile with boost 1.35 (I wonder what 1.36 will bring)
Fixed OpenGL problems with displaying spheres, which - never occurred on my desktop - I've seen them sometimes on other peoples computers, but never could reproduce them - but finally have appeared on my laptop.
up direction on Y release 0.12.1
Jerome Duriez (7):
Added : - Engines for simulating shear tests at constant normal displacement, normal stress or normal rigidity (CinemDNCEngine, CinemCNCEngine and CinemKNCEngine) for samples deriving from SimpleShear PreProcessor (added also, former DirectShearCis) - ContactLaw1 : a contact law with Moment Transfer and inelastic behaviour in compression : see comments. With correspondant Relationships and type of Interactions. NB : sorry for the name : i didn't search too long for a more explicit one but I think personly that the comments in the files (and I tried to put some) are far much better than the one
- Add of the paragraph for the CL1Relationships, which was forgotten, in the corresponding SConscript
A (last ?) error concerning last revision in the paragraph CL1Relationships : "CL1Interaction" does not exist, that's ContactLaw1Interaction
-ContactLaw1 : correction of prototype of action() : it needed a body, whereas now action methods of Engines need a Metabody. This led the simulation to crash and is now fixed - SimpleShear : now all is normaly done so that this preprocessor could be used (with success) with this ContactLaw. Moreover it is now linked to the GlobalStifnessTimeStepper (instead of the ElasticOne)
Suppress of some useful comments (sorry for the extra mail)
(At last) The good Sconscript file
- The GlobalStifnessCounter engine (for correct use of GlobalStifnessTimeStepper) was forgotten in the preprocessor SimpleShear...
Sergei Dorofeenko (4):
1. A new algorithm for facets. It use only a class Facet, so classes Vertex and Edge are deprecated and has been removed. 2. Add functions to python gui for import geometry from stl and for creating facets. 3. Add Shop::inscribedCircleCenter for calculate position of center of triangle inscribed circle (use it for set facet's se3.position). 4. ForceRecorder now take cary about old data files and renaming them. 5. SimulationPlayer now allow wire body form view tab.
1. ResetPositionEngine is now inherited from PeriodicEngine. 2. Add examples/rod_penetration model and geometry.
small fixes
1. New random-access interaction container InteractionVecMap (rewrited from InteractionVecSet) 2. Fixes: default initialization some attributes in SCG and IS2IS4SCG
Unknown (2):
I added a new state at the triaxial compression test in order to realize isotropic compression by the walls displacement until a indicated porosity value. These modifications can be seen with generator file "TriaxialCompression" in the last three parameters (added).
I corrected my errors on the triaxialtest files.Moreover, i added comments in the TriaxialCompressionEngine.hpp.
Vincent Richefeu (4):
- initialize radius in InteractingSphere constructor. - add new plugins used for membrane modelling.
- add GLDraw plugin for BssSweptSphereLineSegment displaying
- 'Membrane' (in fact geogrid) has been improved but still doesn't work... - the class GroupRelationData has been add (not used yet) to define interacting parameters such as coefficient of friction or restitution that have nothing to do in the bodies parameters (in my opinion)
- forgotten files
Václav Šmilauer (44):
Move big news to NEWS, ready for release finally (?)
Update INSTALL file from wiki (brief instructions only).
1. Reimplement some loop-intensive functions from yade.utils in c++ for better performance (as yade._utils, imported into yade.utils automatically - transparent to the user) 2. Add poisson's ratio and Young's modulus estimation in yade.eudoxos based on linear regressions of position→displacement mapping along different axes 3. Rename Shop::ElasticWaveTimestepEstimate to Shop::PWaveTimeStep, wrapped in yade.utils
1. Add python interface for blocking DOFs: b.phys.blockedDOFs=['z','rx','ry'] It is friendlier than b.phys['blockedDOFs']=1<<2|1<<3|1<<4. The property is read-write.
1. Add code for computing histogram of interaction directions in given plane in _utils. 2. This is code is used by yade.eudoxos.plotDirections() to create the actual (nice) figure.
1. Skip (almost) exactly zero projections, implement masking of bodies.
1. poisson and young estimator now works on a fractional part of the speciment 2. do not switch ui automatically if selected explcitly 3. body::maskOK to check mask
1. eudoxos module cleanups, young estimator arg chages 2. fix harmless compiler warning in _utils.cpp
1. add utility function to compute elastic energy within a volume (the dynamic_cast to NormalShearInteraction still fails; what is going on?) 2. add utils.fractionalBox, an AABB reduced to its fraction 3. fix fixmes in Force and Momentum about unused functions about to be deleted 4. plotting interaction direction histogram now works on contrained volume (to study boundary influence on the distribution)
1. Beginning hijacking SpheresContactGeometry to hold more elaborate geometry characteristics, such as relative shear displacement. By default, those parameters are neither calculated nor displated (exactRot==False; must be set to True in ISphere2ISphere4SpheresContactGeometry to enable it). Test script is in scripts/exact-rot.py 2. Remove deprecated code from UniaxialStrainController 3. Add GLUtils to draw lines, text, numbers -- copid over from Shop 4. Add operator<< for Quatrnions (axis angle) 5. Fix energy calculation in volume (in _utils.cpp) 6. Other fixes here and there...
1. The exactRot code is reasonably verified now to be functional, including rolling correction (SpheresContactGeometry::relocateContactPoints) and will used in brefcom soon. 2. Updated the "testing" script scripts/exact-rot.py, as a showcase as well.
1. Remove GL things from Shop, moved to lib/opengl/GLUtils.hpp 2. Cleanup of SpheresContactGeometry code, rename exactRot to hasShear
(I thought most of this was already commited?!) 1. Delete unused IS2IS4DistantSpheresContactGeometry (merged with IS2IS4SCG), adapt existing code 2. Adapt new facet code to updated SpheresContactGeometry (only superficially tested) so that they can interact using BrefcomLaw; add scripts/exact-rot-facet.py to show that. 3. Fix a few missing loggers in others' commits. 4. SimulationController redraws if iteration changes (the +1 button would otherwise not cause redraw) 5. Remove cruft from Brefcom. 6. Fix inheritance (dynamic casts) of NormalShearInteraction and of BrefcomPhysParams 7. Remove cruft from UniaxialStrainer 8. Add some python code to compute stress from stored elastic energy.
1. Move interaction direction distribution pie histograms to utils 2. Add plotting histogram of number of contacts to plotDirections()
1. Omega().bodies.append can take list of bodies now (instead of just one body), returning list of added id's 2. utils.facet can take both tuples and lists for vertex coordinates
1. Add NormalInteraction::normalForce and NormalShearInteraction::normalForce (moved up the hierarchy from ElasticContactInteraction) so that unbalancedForce can be calculated on any subclassed interaction type. 2. Adapt Brefcom for this. 3. Add Shop::unbalancedForce and utils.unbalancedForce 4. Add workaround for saving ipython history as suggested by http://lists.ipython.scipy.org/pipermail/ipython-user/2008-September/005839.html 5. Fix AxialGravityEngine to register parent class attributes.
1. Avoid compiler warning in optimized builds from pyOmega 2. Body containers now allocate the lowest possible ID for each added body. The old behavior was to allocate the first free ID greater than the ID of the body, if it was already set. Please let me know if this is critical for someone. We can do things like:
1. 3d view now has by default a OSD with iteration number, simulation time and virtual time. This can be toggled (all combinations) by pressing 'D' (which used to mean toggling d+ynamic flag...?) and set also from python with GLView.timeMask='rvi' (Real,Virtual,Iteration) and so on. 2. Simulation player displays real time and wall clock loaded from db (insted of bogus values of system clock when the player is being run) 3. new periodic SnapshotEngine that takes snapshots of any GL view to numbered PNG files. 4. new function qt.makeSimulationVideo that makes video _while running the simulation_. 5. qt.createVideo renamed to qt.makePlayerVideo 6. Added Omega method to query computation duration. 7. An example of using qt.makeSimulationVideo is in new file scripts/simple-scene-video.py
1. Add forgotten SnapshotEngine 2. BodyRedirectionVector always really find the lowest unused ID (the same for BodyAssocVector) 3. add Omega().interactions.clear() in python 4. Move the "Less than 500 bodies, moving possible" to LOG_INFO instead of on-screen since it disturbs videos taken during simulation...
A few fixes in TriaxialTest: 1. radiusStdDev is a registered attribute parameter 2. skip unloading phase if sigmaLateralConfinement==sigmaIsoCompaction 3. new bool autoUnload, that controls automaticity of going from compaction to unloading; autocompressionActivation controls from unloading to loading. Note: IFacet2IS4SCG is broken, but not yet fixed.
1. TriaxialTest now takes readiusMean argument (by default negative, i.e. disabled); if >0, box size is scaled so that both requested porosity and mean size can be preserved. 2. Attempt to fix computation of stress from stored elastic energy.
1. Fix adding empty engine if record wall stress interval <= 0 in TriaxialTest (bug introduced yesterday)
1. Add Interaction::swapOrder(), for use in EngineUnits that want to avoid calling goReverse() 2. SnapshotEngine can sleep specified number of msecs after shot, which probably can avoid some hw problems (make_current failed in mesa, freezes etc) 3. InteractingFacet2IS4SCG now works "correctly" (not exactly physically, though) with shear 4. DynLibDispatcher should report names of classes if dispatch fails.
1. Add InteractionGeometryMetaEngine::explicitAction and InteractionPhysicsMetaEngine::explicitAction for creating contacts manually using the dispatcher 2. add utils.createInteraction(id1,id2) that requests explicit transient interaction creation 3. Add sample ElasticContactLaw2 (in ElasticContactLaw.cpp) that uses new SpheresContactGeometry code and can be used for "persistent" (transient but not deleted by the collider) contacts. 4. Add Shop::applyForceAtContactPoint (applies contact force at contact point to both bodies (reversed for body2) and moments acting on their cenroids as well) 5. All the previous new functionality is demonstrated in scripts/chain-distant-interactions.py.
1. Add Omega().reload() 2. Create map<string,string> Omega::memSavedSimulations, where simulations are saved if they begin with special sequence ":memory:" and can be loaded again, within lifetime of Omega. 3. Add Omega().tmpLoad() and Omega().tmpSave() that use the above mentioned thing. 4. add utils.readParamsFromTable that reads any python variables from text file (useful for automatic parametric studies) 5. Add less expensive routine for sontact point relocation in SpheresContactGeometry
1. Separate player into two windows (controller and the 3d view); the controller may be hidden with ::hide() (and ::show()) or with Alt-H from the 3d view. This allows for correctly restoring 3d view size. Closing any of the two closes the player. Please log crashes, if any. 2. Update QtGUI-python.cpp: runPlayerSession
1. Yade now runs TCP server at the first free port above 9000 (accessible from localhost only), which simulates python console. (let me know if you need this over network -- it is DANGEROUS, since someone can delete all your files etc without any authentication). The interpreter has its own namespace.
1. Fix crasher (under special circumstances) in PersistentSAPCollider (deletion invalidating iterator) 2. PeriodicEngine now takes nDo and nDone attributes, limitng number of activations 3. Fix minor things is BrefcomDamageColorizer, add normalized damage to BrefcomPhysParams 4. Fix some indents in Triaxial
Fix stupid sign mistake when applying contact force in brefcom.
1. PythonTCPServer now generates random 6-letter cookie (password) at startup and authenticates all connections by that cookie. It can be retrieved from yade.runtime.cookie
1. Add Body().mask in python 2. Add PhysicalParameters().pos and .ori instead of ugly pp['se3'][:3] and pp['se3'][3:] 3. Add dmgPlane plot in brefcom 4. Do not delete renderer if we close the last view (loses all renderer settings)
1. Add a quick implementation of bending and torsion code to SpheresContactGeometry 2. Update ElasticContactLaw2 to use that code; stiffnesses are hard-coded for now. 3. Update scripts/chain-distant-interactions.py to show that that code really works 4. Plot residual strength instead of damage in brefcom 5. Add some functions for spiral projections (not correctly working yet) 6. Fix missing std:: in DisplayParameters
1. Add 2d weighted average smoothing abstract class and its specialization on symmetric gaussian kernel, with python glue of course. 2. Remove .gz support. 3. Fix some bugs in the spiral projection code.
1. Fix errors preventing compilation due to missing TesselationWrapper.
!! IMPORTANT !! Introduced new dependency on "python-numpy" package (numpy/ndarrayobject.h header), which is now checked for by scons. Tell me if this is not OK!
1. Add initializers for all SpheresContactGeometry members, to avoid nan's in the .xml file 2. Add code for saving arbitrary python variables within the .xml file, see documentation on utils.saveVars() and utils.loadVars() 3. Fix error (hopefully) caused by dangling symlinks in the symlinked buildDir/include tree
1. Fix algebraic typo in max distance check.
1. Commit simple parametric study interface, documented at http://yade.wikia.com/index.php?title=ScriptParametricStudy and wrapper script to queue jobs, which is installed as yade-trunk-multi, yade-trunk-opt-multi and so on. 2. Examples of such parametric "study" added in scripts/multi.py and scripts/multi.table 3. MetaBody now create Omega().tags['id'] at initialization like '20081028T102950p15498' (date, time, pid) that is unique
1. Changed colors to be random by default on utils.{sphere,box,facet}
1. Make our intelligence-challenged deserializer finally gracefully handle nan, inf, -inf (arbitrary lower-upper case). 2. Fix crash in MembraneTest (leftover in the commit from testing, oh well) 3. Add TriaxialTest::fixedBoxDims to not scale selected box dimensions if sphere mean radius is given (example underway).
1. experimental support for Real==long double (#defines QUAD_PRECISION, scons quad=1). long double is not necessarily quadruple precision (not on IA32, at least) though, but is still more precise than double. (search "long double" on wikipedia) 2. Some preparation to compile with -std=c++0x (not yet functional) WRT <boost/shared_ptr.hpp> and boost::shared_ptr vs. <memory> and std::shared_ptr 3. Fixed in yade-multi. 4. New direct oofenm exporter in yade.eudoxos. 5. Don't fiddle with termios in non-interactive sessions.
1. Add INTEGER (besides FLOAT) to the list of wrapped c++ types in python. Fix type detection for long double 2. Fix Real->double conversions in GLDrawBssSweptSphereLineSegment.cpp
1. Body().phys.refPos is directly accessible now (old way Body().phys['refSe3'[0:3]] still works, though) 2. Labeled engines are at load-time or when Omega().engines are modified assigned to variables __builtins__.label; for example
Add forgotten file.
==================================================
yade-0.12.0
Wed, Aug 20 14:37:02 2008 +0000
Janek Kozicki (8):
testing if SVN commit messages can go to launchpad
eliminate crash on simulation reload. commented out line 241 in QtFileGenerator.cpp
some small bugfixes that allow all non-broken filegenerators to run. Those based on SDECLinks will never work, so just put "return false;" there to indicate failure.
use NDEBUG to detect optimized builds in FEMBeam and HangingCloth
small changes in Lattice small bugfix in scons (by Vaclav)
No idea why dynamic_cast fails while static_cast works in TriaxialCompressionEngine:275 and GlobalStiffnessCounter:63 when casting to NormalShearInteraction. We will use static_cast for now...
New ChangeLog format. Now I will update with older revisions. But next time it's ALL OF YOU who will write this ChangeLog. It's not nice to write 200 entries once per year.
Release 0.12 is ready
Sergei Dorofeenko (1):
Fixed small bugs and misprints
Václav Šmilauer (22):
1. Remove unused GLViewer4 2. Add fairly straightforward GLViewer wrapper (manually wrapped) 3. Fix scripts/simple-scene-player.py that generates video 4. yade.qt module is now in python and imports * from yade._qt for the binary wrappers 5. importing qt if qt not running raises ImportError 6. utils.qtCreateVideo moved to qt.CreateVideo 7. Exponential softening in brefcom (untested)
1. DECREASED Mathr::ZERO_TOLERANCE to 1e-20 so that we don't get identity quaternions for small rotation in ToAxisAngle (!!) 2. Add glue for GLViewer, currently may crash, probably concurrency issues there 3. added yade.plot.reset() 4. add data smoothing (moving averages &c) function to yade.eudoxos 5. Omega().run(num#,wait=False): if the bool is True, it is equivalent to o.run(20); o.wait() for convenience
1. Fix file generator to properly return bool. This fixes some of default-test.py. Change python interface to throw on generator error rather than return bool. 2. Added python glue to set logging levels for individual loggers (from yade import log; log.setLevel('TriaxialTest',log.DEBUG) ) 3. Configuration file for logging is not monitored anymore, since changes from python would be lost 4. Added PhysicalParameters BrefcomPhysParams to prepare for storing volumetric strain; adapted utils.sphere and utils.box to take physParamsClass argument to determine what class to actually create (was always BodyMacroParameters, which is the default now) 5. Brefcom now computes unbalanced force (which is apparently broken as far as the numbers go) and volumetric strain. Many cleanups in Brefcom as well. 6. The collider now properly deletes interactions !I->isReal && !I->isNew && haveDistantTransient. More discussion is needed on that, though.
1. Fix USCTGen so that it works within default-test.py 2. Minor fixes as usual.
1. Fix all crashing preprocessors - for the price of SDECLinkedSpheres and ThreePointBending not really working - InteractingSphere2InteractingSphere4SpheresContactGoemetry only handles SpheresContactGeometry (and not SDECLinkGeometry), OTOH CohesiveContactLaw works only on SDECLinkGeometry. scripts/default-test.py passes now all preprocessors. 2. SDECLinkGeometry marked as deprecated.
1. Permit non-zero integeres as bool - sometimes the serializaer confuses bool with int; give warning to console about that. 2. the -opt profile (and optimize=1) generates instruction set for the current machine (gcc: -march=native) which means that the code may not run on different processor (e.g. core2 code will not run on Pentium IV). Please let me know if this is problem for someone.
1. Fix error with newer ipython coming from the fact that sys.argv wasn't defined in the embedded python env. 2. Fixes in brefcom. 3. stopSimulationLoop in TriaxialCompressionEngine if we enter LIMBO state.
1. Fix refresh period: use it for regular GL rendering as well 2. Make "open automatically" open generated simulation even if a simulation is already loaded 3. Fix crasher (on some machines) the close() was emitted 2× for QtFileGenerato
1. Fix a typo causing crash in the renderer.
Fix another crash - rendering interaction that were, meanwhile, deleted during simulation being loaded. A more proper solution (like having a mutex on the whole rootBody that would be locked during loading) is welcome.
1. Remove draw mutex when loading simulation introduced a few days ago (may throw boost::lock_error under some conditions) 2. Restore default signal handlers before exit from main; set SEGV handler to nullHandler since on i386 we (on lenny consistently) get crashes in some log4cxx destructor.
WARNING! This version crashes - but I don't know why and I please for help. Summary follows.
1. Fix GUI "crash" when trying to run python console without terminal (running by clicking an icon, for example): if no $TERM, run non-interactively 2. Select QtGUI over PythonUI if no $TERM set
1. Do not propagate exception to c++ (-> crash) if there is python exception in the script being run from command-line. Just print traceback and drop to the python console (unless stop after execution specified).
1. Kill building threads if the master thread is interruped in multi-builds (profile=a,b)
Fix physical action index.
test commit (whitespace)
test commit 2 (whitespace)
test commit (whitespace)
1. Fix catching all (including SystemExit) exceptions in python scripts. If nonInteractive or stopAfter, exit immediately, otherwise just print traceback and drop to the python shell. Reveals many unfunctional generators suddenly.
1. Fix nan's in SpheresContactGeometry 2. Fix ThreePointBending returning false on success (?!) 3. Add Preprocessor().load() method to python wrapper that generates to tempfile and loads it immediately.
1. Fix SDECLinkedSpheres returning false on succes (?!).
==================================================
yade-0.12.0rc1
Sun, Jul 27 10:52:50 2008 +0000
Bruno Chareyre (69):
Modifications in the equations of "non-viscous" damping. The equations are now as defined by Cundall.
Engines are now compiled in a different order, with DeusExMachinas compiled last. The full DEM package has been compiled successfully after thuis change.
<none>
<none>
IsotropicCompressionEngine removed from SVN. TriaxialTest do the same thing (i.e. isot. compression) better, and do more.
The damping equations are reverted to their original expressions, with independant damping of each DOF. It looks like the convergence to equilibrium is faster with these equations.
Squared distances are now compared instead of simple distances (faster) to decide if two grains are in contact. In addition, InteractionDetectionFactor is added as member data. The default value is 1, a value greater than one will allow the geometry of contacts to be created as soon as the distance is less than Factor*SumOfRadii. Usefull for interactions at longer distances (like capillary effects).
A simple definition of contact stiffness based on E and nu : kn = E*size of sphere (so that apparent stiffness will be independent of size) ks = nu*kn
A lot of small changes in triaxial classes, impossible to comment all of them; but note that : - TriaxialCompressionEngine can compress a sample to a dense isotropic state (either by moving walls or increasing the size of the spheres), - then change the confining pressure if needed (for running tests with different confining pressure on the same sample), - then start a triaxial compression test at constant zz strain rate and constant xx and yy stress (when the sample is considered stable based on StabilityCriterion). - The transitions between the different phases are (in principle) very smooth.
Revert erroneous (and unexpected) changes in this pro file.
Minor changes in the computation of the critical timestep.
All files related to capillary law.
Update of all classes related to dry and unsaturated triaxial tests.
Modified definition of the interpenetration for box-spheres interractions. The previous definition was inconsistent.
Correction of a wrong formula introduced in the last revision (the position of the contact point was wrong).
Some changes in the computation of critical timestep so that the triaxial samples do not explode when dt is set to the automatic value. The change mostly affects the first steps of a simulation. Now, dt is computed at each timestep during the first steps, whatever the value of the user-defined variable "timeStepUpdateInterval", until a relevant value is found.
Cosmetic changes in TriaxialTest.
Initial zoom in the simulation player is set to a more reasonable value.
UnbalancedForce member data was not defined in the constructor of TriaxialCompressionEngine, it was causing a crash when loading a TriaxialTest.xml.
-TriaxialTest now includes a recorder to write stress history to a file. -safety factor is set to a smaller value in the timestepper as the computed value was still a bit too large in some cases. -UnbalancedForce is defined in TriaxialCompressionEngine() to avoid errors when loading a xml.
Link TriaxialTest with WallStressRecorder in SConscript
This commit contains new classes in order to simulate cohesive interactions with transient interactions. The new SAPCollider does set IsReal=false at each time step, neither do the Sphere2Sphere4Distant... engine. The user must set isReal=false in another engine (here the CohesiveFrictionalContactLaw engine) in order to have the interactions removed from the DistantPersistentSAPCollider list. All new engines are used in the CohesiveTriaxialTest.
A REGISTER_ATTRIBUTE was missing in the previous commit.
Some new classes related to the coupling with comsol (main author Andrea Cortis).
FIXED : TriaxialCompressionEngine was stopping the simulation at each time step...
1- New contact law and related classes : CohesiveFrictionalContactLaw. It will be the most general contac law in Yade soon probably (TODO : include rotational effects like MomentRotation law). 2- New Stress-Strain recorder : TriaxialStateRecorder, autodetect the TrixialCompressionEngine of a MetaBody and write the parameters from it in a text file. 3- TriaxialCompressionEngine and TriaxialStressController are modified in order to compute stress and strain on demand.
Modification in the usage of default values in GlobalStiffnessTimestepper. Change in dt default values in the preprocessors.
Added some comments (doxygen friendly) and corrected the author in some of the source files related to the triaxial test example.
In Yade.cpp : conditional compilation in order to compile with boost 1.33 In TriaxialTest.cpp : instanciation of a SimpleElasticRelationship object before adding it to engines (to avoid a crash). Vaçlav please, what is going on here?O
Few "cerr" are back...
Different fixes, including
-TimeStepper : previousDt is now a registerable parameter, which can be used after saving/loading. New feature implemented : dt can be increased at a steady rate : dt=1.5*dt each time maximum (to prevent sudden increases and explosions). Comments added. -TriaxialTest : The timestepper is moved to a earlier location in the list of engines, so that the timestep is set before the stressController call. REMARK : REGISTERABLE dt IN THE TIMESTEPPER MAY BE REDUNDANT WITH THE "RECOVER TIME STEP" FEATURE OF YADE, DO WE NEED THIS ONE? -StressController : revert a small mistake in last commit.
Fix the bug with BrefCom in GlobalStiffnessCounter.
Samll optimizations. r1263 is +25% slower than r1264 based on tests on 2 different computers.
Added NewtonsDampedLaw :
The test on penetrationDepth is moved to a different line : no need for a "new SpheresContactGeometry()" when interaction->isReal will be false.
A registered parameter (finalMaxMultiplier) was not set for the relevant engine. Fixed now.
Parameters are adapted to the last modifications in TriaxialStressCompressionEngine.
TriaxialStateRecorder : add the unbalanced force in 8th column. TriaxialTest : revert order of creation of spheres and boxes (boxes first), to prevent numbering problems in SAPcollider when using HydraulicTest. HydraulicTest : search engines and modify their parameters (desactivate stress control/activate gravity) dem/SConscript : link HydraulicTest with few more libs
Safety coefficient on critical dt is changed to 1 (was 0.25 before). 0.25 was far too conservative.
A bit (lot) of cleaning in TriaxialTest. Useless recorders inherited from the early ages of Yade are no longer present.
Fixed interpolation for the case P=0.
Added minimalist documentation.
1. TriaxialCompressionEngine is now saving at the end of compaction rather than at the begining of compression test, so that the simulation is saved when autoCompression is not activated (before this change, the simulation was going in LIMBO state without even saving, which means it was lost).
Some cleaning.
A link was missing between TriaxialTest and the NewtonsDampedLaw (new engine doing the same as the 6 previous integrating engines).
A lot of fixes to make this engine work correctly regarding transitions between different states, including situations with saving/editing/loading.
This commit contains an experimental version of the collider based on the triangulation package of CGAL.org. Compilation is disabled for the moment, but uncommenting few lines will enable compilation if CGAL and my (me=Bruno) own libs are available for linker.
Contact law based on voronoi tesselation (using CGAL). Not included in compiling process now, this is for JF Jerier.
This reverts a previous change in IGMetaEngine from Janek (interactions were set "new" when not real - problem was that non-distant interactions are ALWAYS "not real" when starting IG dispatching - so they were set new and reseted at each timestep, which disabled friction). What was supposed to be done in IGMetaengine is now replaced by something almost equivalent in the SAPcollider (the difference is that if an interaction is not real before being reseted by the collider, it really means that it is not-overlaping and not-physicaly-interacting).
Again few changes in the behaviour of this engine, it should now handle correctly any manual change in the xml file (still needs a fix : there is still a part of the code that is done only at first iteration, which means that a modification of sigma_iso by editing the xml will give a different result than the same modification from PythonUI).
Timestep safety coefficient is back to 0.25.
- ks is registered in ElasticContactInteraction (it was not, which was a bug, but it was not affecting computation because initialKs was used to set ks=initialKs at each timestep).
Added code for computing porosity in TriaxialStateRecorder and titles for colums in output history file (porosity is in the 9th column).
1+2 : added "Key" string in filenames. 3 : missed that hpp in previous commit.
A small cast mistake.
Corrected a local #include path.
Added a function that can modify friction of all bodies/interactions. Usefull to compact at low friction and then perform the compression test with normal (higher) friction.
Modify slightly the way shear displacement is computed to prevent "ratcheting" (see comment)
Same modif as in ElasticContactLaw (previous revision) to prevent "ratcheting".
Added a code that will be common to all output filenames to help sorting different simulation results.
Some code for triangulation/tesselation using CGAL, it is experimental and not included in the build process for the moment.
Fixed a bug due to a wrong macro definition in CGAL (CGAL_LIB_CREATE sould be "ar cr" instead of "ar cr ''"). This macro is not used now.
- epsilonMax added to compressionEngine to stop simulation. - data files for Triangulation removed from svn - bool "isNeighbor" added to interactions, used in triangulationCollider.
- Modified numerical scheme to reproduce a standard 2nd order finite difference scheme integration (more stable). - TimeStepSafetyCoefficient can be set to 1 rather than 0.25. - same change still to be done in the separate LeapFrog engines (the default TimeStepSafetyCoefficient is 0.25 in the meantime to prevent explosions with preprocessors using those separate engines).
NewtonsDampedLaw : fixing a small mistake and cleaning the code. IMPORTANT NOTE : Forces/Moments are not affected by damping now, only accelerations are modified. The result is the same in terms of damping, but users can now get the exact values of forces/moments on bodies at any point during a timestep.
Mostly small changes and fixes from previous weeks. Sorry for such poor comments...
ks is added to registered parameters.
Fix a problem resulting in VectSet (default) and HashMap being used simultaneously for transient/persistent interactions in the same simulation (which for unknown reasons is not good).
Janek Kozicki (82):
added info where are the pictures for the user manual
can be undeleted from the history if anybody needs that
directories for Czesiu and Tiziano to work on yade packages: debian and gentoo. later we can add directories for .rpm, etc....
- better DynLib error reporting - new Lattice, only 2D - triaxial test from Bruno - deleted unused QGLThread
Fixed some problems with yade-flat
deleted yade-lib-time, and using boost::posix_time instead
- it is possible to select (shift click) and 'm'ove bodies in the simulation view window. a dirty implementation. Needs major refactoring. - the "display" tab now offers the ability to set 'display refresh rate' in [ms] so it's like the priority of draw.
renaming SimulationRunner -> ThreadRunner SimulationFlow -> ThreadWorker
renaming done.
FileGenerator now does not block whole GUI when generating. And can be stopped if function generate() calls somewhere in the loops:
small fixes to ThreadWorker
Graphics display can be now synchronized with the calculation without problems, and without blocking GUI
- more improvements in ThreadRunner, ThreadWorker::~ThreadWorker and SimulationController - fiddling with lattice: angle between beams is now calculated in 3D not 2D, with tracking of positive/negative angle. So the angle is between -180 and 180 deg, while arcus cosinus can only give a result between 0 and 180 degrees.
Finally deleted swiftpp and qhull. Now we have less license problems. There is still license problem with math library, though.
...
...
Some cleaning, involving changing variable names, like Body::interactingGeometry. Which caused almost all the files to be modified.
oops, forgot to commit MyTetrahedronLaw
renaming: ElasticContactParameters ElasticContactInteraction
renaming cd...
renaming finished: ElasticContactParameters ElasticContactInteraction
added GLDrawStateFunctor. So now it is possible to see bodies' velocity, acceleration, angularVelocity, angularAcceleration. And other State attributes of a body.
=========-----------------============
-------------------------------------- NullGUI allows to call a FileGenerator
Omega throws when loading bad simulation file
----------- SimulationController catches that error from Omega :) (when loading bad file)
'C' key centers scene on selected body 'D' sets the 'isDynamic' flag of selected body. (select it twice to unset this flag).
-- flag that allows to enable/disable calculating of torsion LatticeExample FileGenerator can now generate a 3D tetrahedral regular grid. (before there was only orthogonal grid)
Added drawMask to OpenGLRenderingEngine, it is now possible to see only bodies that have a certain groupMask
Added non-working scripts that can compile yade using waf. At least they are not working for me.
-- removed invMass and invInertia. Removed special handling for division by zero. mass shouldn't be zero anyway.
Matrix3 patch from Vaclav
- FileGenerator reports how long the generation took - yade.cpp takes PREFIX and POSTFIX as #define /some/path , without " - small change to lattice generation method - Makefile cleans after scons - SConstruct: removed \" from defines in PREFIX and POSTFIX line 147 added -pthread for g++ 3.3 moved env.Append(CXXFLAGS=['-pipe','-Wall','-pthread']) before invoking the tests changed "nor" to "not", line 271 removed PATH, becuase I couldn't get it to work. so instead I set CXX='distcc g++-3.3'
- FileGenerator shows generation time, and saving time
- QtFileGenerator remembers save file name (so it is not always ../data/scene.xml), this was done in previous commit. A small bugfix here
- OpenGLRenderingEngine didn't draw Body when it's groupMask was 0 - some changes in lattice.
- I added GeometricalModelForceColorizer. It is another hacky Engine that I have added (along with Quadrilaterals). I did it, because I wanted to see spheres colored according to force acting on them. This is a hack because the GLDraw mechanism is currently very limited, and has to be extended to allow things like this. So currently it works, but not in a way it should be done. GLDraw* changes are coming ... soon :)
In this commit I made Interactions drawable by GLDraw*, and I added three example GLDraws for Interactions:
- in GLViewer new keys: 'o' and 'p' to change the field of view. Useful for changing the perspective.
IMPORTANT: In this sommit I have added a third parameter to GLDrawInteractingGeometryFunctor, which means that all GLDrawInteracting* classes had to be changed. If you have your own classes that draw interacting geometry you must modify them as well. The extra paramater added is 'bool wireFrame'. I think it will be useful :)
- a more prominent warning when PREFIX was not defined during compilation - ThreePointBending does not crash when there is not file to load - some fiddling with lattice
moved some obsolete scripts to doc/removed
- Updated trunk/ChangeLog - new icon
- fix several warnings, - merge latest version of lattice from my PhD - todo: serialization problems with findType in NodeRecorder and FEMBeam, remove ErrorTolerant, fix collistions in rigid body
- removed ErrorTolerant, - SConscript uses md5sum instead of timestamp.
Tetrahedron modification to std::vector
- fixed crash in SDECLinkedSpheres example - there must me a dynamic cast in InteractingSphere2InteractingSphere4SpheresContactGeometry.cpp until the containers are rewritten. - fixed RotatingBox and BoxStack examples - and accidental mistake in SAPCollider
- timestepper is set correctly when loading file in GUI (I hope!) - no need to reload second time - FileGenerator does not open SimulationController if it already exists
- introduced body_id_t(ype) so that bodies are not numbered as an int, but as a body_id_t - added center 'scene button' on first tab of simulation controller
trunk on SVN is deprecated now
undeprecating trunk. Now I'll apply diffs from BZR back here.
BZR revno: 983 committer: vsmilauer <vsmilauer@c1sinquatis-l> Fix scons to handle boost.*-mt well, some other cleanups.
BZR revno: 989 committer: VĂĄclav Ĺ milauer <eudoxos@arcig.cz> message: Modify debian builds so that making source packages for release versions work as well.
BZR revno: 991 committer: Janek Kozicki <cosurgi@berlios.de> message: - Tetra2TetraBang returns before it starts (to avoid crashes in the release) - fixed some crashing of HangingCloth, but I see that there is still some problem. Tracking it down is a waste of time, currently, because new containers will enforce refactoring here and fixing this problem. - FileGenerators try to set the timestep when TimeStepper is not used. But it is still not working when simulation is running during the generation. This means, that 'dt' should not be in Omega, but inside a simulation itself. At last there is a clear answer for this dilemma.
OK, I think that migration back from BZR is complete :-)
Ooops, previous commit did break SCDECLinkedSpheres example and HangingCloth... I hope that it's fixed now. Also removed warnings from Capillary law... again.
HangingCloth finally is fixed, and is not crashing in optimized build. The dynamic cast ought to be in HangingCloth.cpp FileGenerator ;)
Added RELEASE file in tags/yade-0.11.0 more descriptive error message when directory ../data/ doesn't exist (usually happens at start...)
- update yade icon, by Vaclav's suggestion (the red spheres are not so vividly red, so looks a bit better) - scons will create the installation directory if it doesn't exist - incorporated Bruno's fixes into 0.11 release
- Updated RELEASE info in yade.cpp, although the best would be if sons will #define RELEASE
update changelog
Preparinf 0.11.1 release. Updated INSTALL file. ForceRecorder now checks if a body exists.
changed char* yadePluginClasses[]= to const char* yadePluginClasses[]= to eliminate possible misuse updated release 0.11.1 looks like ready to ship
Some fixes in lattice regarding yade::serialization problems (function findType()) that started to occur when using g++ newer than 3.4 The offending code was commented because it wasn't working. Now I uncommented and modified it, so it works.
deleted unused class AAInteractingBox2InteractingSphere4ClosestFeatures
Use lattice model for simulation of concrete with steel fibres reinforcement.
SConstruct is now working on debian etch, exclude multimethods in Doxyfile
1. Fix FUNCTOR2D mistake in CundallNonViscousMomentumDamping 2. make it compile with python2.4 and qt3 (which sucks) NOTE: python-scientific requires boost 1.34
recent changes in Dispatcher seemingly broke adding InteractingSphere2InteractingSphere4DistantSpheresContactGeometry and InteractingBox2InteractingSphere4SpheresContactGeometry as strings. Need to create class instance first, then add it as a variable (not as string).
I must assign something to avoid "nan" when loading dt. When recover=false, those can be "nan" and lead to crash.
- draw linked interactions only if isReal.
Added StaticAttractionEngine, which help to fasten a little the initial stage of compression - removing the central void. But it is in fact too slow, for bigger usage. That's because everything is attracted to everything.
I don't know what's up with Brefcom, but I need yade to compile, because those guys who will sell us 16-core machine will be using this SVN revision for their benchmarks.
dang! I just want the latest SVN revision to compile.
yade.cpp give info about cmdGui -N name : specify the user interface (available: NullGUI, cmdGui, QtGUI) FileGenerator catches exceptions.
Moment law.
1. moment law: some cleaning 2. GLDrawSphere - draws circles faster (wireframe) 3. yadeControl - fix compilation error with optimized builds: YADE_PTR_CAST -> dynamic_pointer_cast
in previous commit, when optimizing the circle, I committed by accident a filled version. It's just a bool to toggle between filled and not filled, but, it's not possible to change from GUI... yet.
Use / * - + for front cutting plane: 1. added new class YadeCamera : public qglviewer::Camera 2. ovverride virtual function which calculates the front cutting plane 3. it's possible that GLViewer4 will have to be modified - to use YadeCamera to have this new feature - front cutting plane. I didn't touch it.
Ask the FileGenerator for the filename.
- flag 'active' in DisplacementEngine - CapillaryCohesiveLaw now complains to stderr (could use LOG_WARN as well, but didn't compile) - flag 'always_use_moment_law' in CohesiveFrictionalContactLaw (so is possible to use even for broken contacts) - added comment about the contact law from PFC-3D (I used it for comparison with Wenjie)
- started snow creep test. - added optional creep in CohesiveFrictionalContactLaw
Jerome Duriez (1):
- A new Preprocessor (DirectShearCis) allowing to simulate ... direct shear tests with the Engine associated to let move correctly the box (CinemCisEngine)
Sergei Dorofeenko (17):
Add linear viscoelastic contact model
1. Main commit: import a geometry of walls from a STL file.
Translate comments to english.
1. Fix orientation. Now one can rotate the STL geometry. 2. Added rotation kinematics to STLImporterTest preprocessor 3. Bugs fix. 4. Added another example of STL file in examples directory.
1. Python wrapper for STLImporter 2. Example python preprocessor STLImporterTest.py 3. Small fixes
1. Added attribute zeroPoint to RigidBodyParameters and RotationEngine. This attribute defines the rotation center of kinematic body. 2. For ElasticContactLaw added accounting rotation of kinematic body around its zeroPoint. 3. Added phase flag "cycle" to Interaction. SpatialQuickSortCollider is modified so interaction's cycle flag is used to mark stale contacts instead isReal flag. 4. Small changed InteractingSphere2InteractingSphere4SpheresContactGeometry and GLDrawElasticContactInteraction. I think, towards an improvement. If there are objections, changes must be reverted. 5. pyOmega.save allows recovery 6. STLImporter allows multiple files to import consistently. 7. Bugs fix.
reverting condition c->isReal
1. Add engine ResetPositionEngine for the return of bodies at their initilal positions. 2. small fixes.
Small fixes
Fix relative path in SimulationPlayer
small fix
1. ResetPositionEngine: added import/export initial positions from file 2. GLSimulationPlayerViewer: skip bodies which does not have a geometrical model 3. QtGeneratedSimulationPlayer: small fixes layout and sizePolicy. 4. utils.py: agreement spheresToFile and spheresFromFile
In PositionOrientationRecorder and GLSimulationPlayerViewer pass the bodies without geometrical model Small fixes in PositionOrientationRecorder
1. Added new engines: - FiltrEngine is a base engine for a scene filtration before visualization (both for a player and for a controller). The filtration is activated through GUI (now only for SimulationPlayer). - ColorizedLayerFilter allocates with colour a layer of bodies - ColorizedVelocityFilter allocates with colour a velocity of bodies 2. Add Omega::setCurrentIteration to allow current simulation time from a player 3. ResetPositionEngine allows onlyDynamic (without save subscribed bodies ids)
small fixes
fix errors in previous commits
Fix in SimulationPlayer: search filters and updateGL after loading simulation
Unknown (2):
Fixed some typos.
Modified Doxyfile not to show lib/ and to optimize for C++
Václav Šmilauer (208):
Multiple changes.
Add logging.hpp which I forgot in the previous commit.
Remove printing headers being linked, add help for cleaning. Tried scons on a cleanly checked-out trunk and it worked. Sorry for the traffic.
1. Two sets of files were named StiffnessMatrixTimeStepper, of which the other one was in directory Global StiffnessTimestepper. Since it was not used (not compiled by default), I renamed the second set to match the directory name. If it breaks something, let me know. 2. Updated the scons script, scons now compiles yade completely, including header installation. It is yet to be tuned to be lot more fast, but works fine already. 3. Cleaning up messages at startup, (almost) everything is piped through the LOG_* stuff. 4. Included sample logging.conf.sample file, log4cxx is amazingly flexible and easy to use. Give it a try! 5. Lot of debugging since after the last change of allowing regular files to be plugin-loaded, yade would try to load garbage (like the file foobar.baz transformed to libbar.so and the like) giving spurious errors. Everything should work properly now, you can have whatever you like in the plugins directories. It will not even crash on short files (amazing fragility...). 6. Removed the message from ResultantForceEngine constructor, to not to pollute the console every time. Dtto for StiffnessMatrixTimeStepper. 7. Added one ; in yade.cpp that broke compilation without LOG4CXX. The non-log4cxx macros are now enclosed within {} just as their log4cxx counter parts. This should eliminate the need for separately building both configurations.
First commit from the wm3 convergence set. Header files were modified to allow compilation with old methods with deprecation warnings from the compiler.
This is the second changeset. Yade now compiles without any single warning about deprecated functions. For fixing your own code, I will upload a script to automatize that process shortly. As time goes by, deprecated functions and (slowly) wm3 itself will be removed from yade's sources.
Provided script hackett-warn-replace.py is for eventually helping you with replacing deprecated wm3 methods by the good ones. hackett.py was used to insert deprecated wrapper to headers and will probably never used as such anymore. Deleted old erskine2* stuff, since it is superseded by erskine3* and scons.
This commit marks properly all headers as well as methods that were deprecated during the transition to the official wm3 library. Next commit will follow shortly and will fix all deprecated headers warnings. It is (and will be for a while) to compile in with USE_BASTARDIZED_WM3 to use the old headers, but expect many warnings during the build.
- Bastardized wm3 library ejected from the tree. From now on, you need to install wm3 separately. Will update README shortly on how to proceed. Basically, add "-I/usr/local/include/wm3" to CXXFLAGS if you use qmake. Includes and linking was adjusted in c++ and .pro files. - DOUBLE_PRECISION removed in favor of SINGLE_PRECISION. Therefore, the default is to define Reals as doubles now. SINGLE_PRECISION will be removed very soon anyway. - Removed yade-lib-algorithms, since it is not used. Once someone needs it, it can be found in svn history. - Created yade-lib-base, that for now contains 1. Logging.hpp: moved from yade-core to avoid circular dependency), 2. yadeWm3.hpp: typedefs for Vector3r Vecrtor3<Real>, definition of Real. This header will be removed soon, since it will not be needed. 3. yadeWm3Extra.hpp: things that were added to the bastardized wm3, like a few operators and functions. You almost certainly want to include it in your code if you get undefined references (and link with yade-lib-base). - Omega now reports undefined symbols demangled.
Re-enable workaround for scons: create install directories beforehand. Cause of that is to be inspected yet.
Disable DEBUG messages for non-log4cxx builds so that Janek's screen is nicer ;-) (sorry for these scattered commits, hopefully this is the last one).
Exceptions from the FileGenerator thread are now properly caught; it means for example that if you pass an invalid classname in createActors, yade will tell yo +u what class it wasn't able to construct instead of hanging infinitely.
Massive update of scons, which I now recommend for building. It has some autodetection support as well. Please report any bugs (?) / RFEs to me. Brief instruction are given in INSTALL.
Quick fix for recently discovered segfault. Wondering why it didn't surface before. Valgrind still complains about PhysicalActionVectorVectorIterator::increment using an unitialized value, but that may be unrelated (probably is) to this one.
SCons update, please use it and report any problems to yade-dev or yade-users. Thanks.
Iterations/sec display added to simulation controller (someone more sensible may redesign the layout in the future). Line ending changed from CRLF to CR.
Scons accepts additional POSTFIX parameter, which will alter installation so that PREFIX/{bin,lib}/yade becomes PREFIX/{bin,lib}/yadePOSTFIX (similar to EXTRAVERSION of Linux). Further, configuration files will be searched for in ~/.yadePOSTFIX instead of ~/.yade. Unfortunately, headers installed in PREFIX will still be overwritten by newer version, even with different POSTFIX, since most files do something like #include<...>. This is meant to ease simultaneous installations of different variants of yade. To achieve full independence, PREFIX and POSTFIX should be different. Note that you don't need to set LD_LIBRARY_PATH, since scons uses linker's -rpath option (hint: man ld). If someone has better solution, please let me know.
Microchange to comment on naming of scons configuration options.
SConscruct file update - make it work with older scons, remove -floop-optimize2 that doesn't exist for older gcc (<4.0).
Hunted down the bugwith node enumeration, now should be reliable. Added some checks so that configuration is not done when cleaning, likewise for installable nodes (so we do NOT uninstall upon cleaning). If you use g++-3.3, you need to set e.g. CXX="distcc g++-3.3 -pthread". This will be fixed perhaps in the future but for now the default is to keep it simple.
Other fix for sarge (0.96.1) version of scons. It is a variant to be removed. For some features (especially the srcdir keyword), sonner or later we will mandate 0.96.94 to build yade, but that can be a few months in the future, though.
Fix node enumeration for newer scons's (isfile() is true only if the file already exists, which is contrary to what I thought).
Microchanges: fix rpath quoting, fix ctags indexing non-c++ files (local bug? --language=c++ would make all files (including .o, for example), being indexed.
Plugin loader now handles multi-class plugins, provided that they define "char* yadePluginClasses[]" symbol containing list of class names (sentinel=NULL) that the plugin contains. Regular one-class-per-file plugins work normally.
Fix build process for older versions of scons that break if there is a target that has no sources. Added a dummy empty file to the loki library to do that, modified project file. Do not forget to delete yade-libs/yade-lib-loki before running scons again to regenerate SConscript files.
1. Include IsotropicCompressionTest in dem's preprocessors project so that it gets compiled 2. Improve erskine to indent SConscripts in a nice way
1. Fixed Omega::scanPlugins so that it loads plugins that were linked without -rpath for their dependencies. Everything is in #ifdef STUPID_DLL 2. Removed again IsotropicCompressionTest since needed headers are missing. Bruno, please add them back (they were removed in the 1045 commit.) and then enable IsotropicCompressionTest in yade-packages/yade-package-dem/src/PreProcessor/PreProcessor.pro again.
Default preferences.xml doesn't neglect the last plugin dir (off-by-one error)
Simulation may be (which is the default) loaded after generation automatically now.
Prepare framework for "high-level clumps". Everything is withing #ifdef HIGHLEVEL_CLUMPS, hence shouldn't change anything unless compiled with that option (don't try at the moment, it doesn't work). More information at http://beta.arcig.cz/~eudoxos/phd/index.cgi/YaDe/HighLevelClumps .
1. provide Doxyfile, running "cd yade-doc; doxygen" will produce html reference documentation 2. initial (non-functional) implementation of high-level clumps, along with some cleanup of the changes done elsewhere 3. erskine now can be given scons variables (namely, $PREFIX) that will be unexpanded in generated SConscript's 4. SConscruct #defines HIGHLEVEL_CLUMPS, since other people probably don't use scons (yet) 5. New method Body::byId, new typedef Body::id_t, new constant Body::ID_NONE (jailed in HIGHLEVEL_CLUMPS for now, that will be removed sooner or later)
1. Clump code completed, but totally untested so far. 2. Added target 'doc' to Makefile that runs doxygen 3. New tracing macro TRWM3QUAT for quaternions
1. Clump::subBodies are now a std::map<Body::id_t,Se3r>, subSe3s removed. 2. Sample clump generator ClumpTestGen written; works, but yade crashes because of dispatchers being setup incorrectly. 3. Omega::setRootBody added so that rootBody can be temporarily set during filegeneration, which is necessary for Body::byId.
1. Fixes in the clump code 2. InteractionGeometryMetaEngine doesn't crash if a body doesn't have interactingGeometry (like Clump) 3. Fixes in the collider, related to the clump code 4. ClumpSubBodyMover is now a DeuxExMachina 5. discovered bug in Wm3::Matrix3::EigenDecomposition 6. ClumpTestGen generates a usable testcase (either a random one, or with one-sphere clump and an equivalent sphere) for testing purposes. Parameters etc. are physically wrong, but at least there are no crashes. 7. ClumpTestGen temporarily sets rootBody in Omega so that Body::byId is usable
1. Clump code is not (hopefully) correct physically - translational, rotational and potential energies give constant sum over time (more or less) 2. ClumpTestGen generates a useful scenario of standalone sphere, {1,2,3,4}-sphere clump. 3. Inertia calculation fallback for cases with NaNs from EigenDecomposition. 4. acceleration and angularAcceleration reset after every position update for clump. 5. Body::{isClump,isClumpMember,isStandalone} added. 6. Gravity engine skips clump members (applied to the whole clump only).
1. Clump code cleanup 2. Python may now be embedded in yade: (i) SConscruct checks for it and #defines EMBED_PYTHON if present. (ii) main sets up the interpreter. One disadvantage is that Python runs in its own thread, so pressing ^C during simulation doesn't quit yade (^\ still works). 3. New class PythonRecorder that evaluates arbitrary expression when activated. 4. Pyade interface that makes it possible to retrieve some values from yade in Python. For example, you can now record body #5 z-velocity and z-angularVelocity every 10 iterations by setting PythonRecorder::expression="if (S.i%10==0): print B[5].v[2],B[5].w[2]". Retrievable attributes are documented in the source (or the Doxygen documentation).
1. selection in the renderer are now saved in Omega::selectedBodies (GUI to that list is in the future yet) 2. PythonRecorder now supports retrieving selected bodies; it redirects stdout to file if specified. 3. pyade now required scientific python to be installed - this permits to do vector and quaternion arithmetics in python. General cleanup. 4. pyadeDummy.py module added - for testing pyade without yade
Microchange to catch exception from distutils in python detection.
1. Scons changes, node enumeration gotten rid of, now uses proper Install in SConscript's. Should eliminate scons version problems we've had. 2. Some new make targets: for repetitive compilation (with -j2) and first personalizaed target: eudoxos. 3. Selecting clump member in GLViewer now selects the whole clump; it is moved and redrawn as well (only with HIGHLEVEL_CLUMPS). 4. An attempts at escaping special characters beforce XML serialization (\",\n,\t,\\), doesn't work - commented out. 5. Project files cleaned from nonexistent include directories.
1. OK, the floats floating around for colors drove me nuts, so I replace all of that garbage by doubles. Since for one particular case (glMaterialv) the corresponding function taking double (glMaterialdv) is not defined in mesa (and perhaps not in most other gl libs), for that one the argument was converted explicitly. 2. New Shop class, that defines static methods for easy things, along with a dictionary of default parameters for some useful stuff: like getting a rootbody with reasonable set of actors, sphere body, box body. That's all for the moment. Add your own stuff. Filegenerators may shrink considerably this way. 3. Clump::subBodies renamed to Clump::members, Clump::moveSubBodies to Clump::moveMembers, ClumpSubBodyMover to ClumpMemberMover - to be consistent with Body::isClumpMember. Clump still not moved to DEM, that will wait till later - at the moment, QGLViewer depends on Clump (for moving clump when selected and moved with mouse).
Many extensive changes:
1. renamed Chagelog to ChangeLog, will be generated autmatically from svn chamgelog 2. removed waf script (wscript), not used 3. scons now installs everything with '-version-postfix' appended, like yade-svn1072-debug 4. scons builds different variants (version and postfix) in separate directories
1. Clump member velocities are calculated in ClumpMemberMover. This may create problems since velocity will always be lagged by one iteration. 2. removed cyclic dependency of Clump and Shop.
1. Debugging mode now #defines YADE_DEBUG in addition to DEBUG, which seems to be #undef'ed by some header. Lazy to trace down. 2. Removed #ifdef DEBUG messages from dynlib &co (now under #if 0); use LOG_TRACE if you need those messages 3. Signal handler now handles SIGSEGV (segmentation fault) and SIGABRT (failed assertions, among other) in debugging mode: gdb is run, attached to the current process and backtrace of all threads is printed.
Python fixes: 1. load pyade.py from path given by PREFIX and POSTFIX (we really need to define that somewhere in a unified manner: not by using BOOST_PP_STRINGIZE everywhere! - config.hpp...?) 2. velocity and angularVelocity are vectors now (returned only the x component by mistake)
Attempt to access interactions from Python, commeted out for the moment. May disappear later. Not used anywhere. Do not use.
1. Cleanup of clump includes 2. Scons now puts buildDir include directory first so that it shadows eventually installed versions 3. jobs=x added to scons, like -j3, but is saved accross runs 4. Archive modifications (shuffling includes around) so that compiling with recent g++ (4.1) works - was preprocessor problem.
Fixed error in yesterday's commit, should compile really fine with g++4.1 now.
SCons cleanup. Now supports buildPrefix (defaults to '..') so that build is completely separate from sources.
commit before mass-replacing Dymanic_cast. This will not compile, used only as wayback for me. New commit shortly.
dynamic_cast replaced by YADE_CAST where appropriate: i.e. the result of the cast is not checked to verify whether the conversion was successful as condition for further flow branching. The consequence is that you have to #define YADE_CAST in CXXFLAGS by hand as either dynamic_cast (original version) or static_cast (for optimized builds) when using make.
dynamic_pointer_cast replaced by YADE_PTR_CAST as appropriate. It must be defined on compiler command-line (-DYADE_PTR_CAST=dynamic_pointer_cast or -DYADE_PTR_CAST=static_pointer_cast). Scons builds get this automatically.
Doxygen settings from yade-flat imported. New file tracking removed elements.
Merged the scons-layout branch to trunk.
1. PythonRecorder runs optimized byte-compiled expression, optionally translated to machine-code by psyco 2. Serialization lib now properly escapes and unescapes XML-unfriendly charcters (\n,\t,<,>,",\\)->(\\n,\\t,\[,\],\',\\\\)
1. Remove cyclic plugin loading forever (undefined STUPID_DLL) 2. Tetrahedron has vector<Vector3r> v instead of Vector3r v1,v2,v3,v4; (fem will probably not compile because of this for now - will be fixed) 3. Added experimental tetra class & friends.
ough... put actual data in. Next commit will rename files as they should be (stupid svn...).
Renamed files.
1. gdbCrashBatch moved to Omega (was emptry when a different thread thatn the main one crashed?!) 2. Shop generates tetrahedra properly now, including dispatchers 3. Tetrahedra rendering and linking fixed 4. Added an icon to the main window (not serious ;-) ) 5. commented out STUPID_DLL overflowing loader 6. log4cxx has level set to INFO by default (was DEBUG, lot of garbage on screen)
1. Some type fixes (signed vs. unsigned). The Body ID mess needs to be cleaned up!!! 2. More tetrahedron stuff; will not compile for now, though. 3. Icon update ;-)
1. remove vector<Vector3r> from tetrahedra code, replace simply by Vector3r[4] 2. implement 4h-4h intersection peroperly, without relying on wm3. Compiles, not tested for correctness at all.
Make compilation proper when python is not found (no errors, just disable what should be disabled).
#define MINIWM3 when using miniWm3 don't exclude lattice with miniWm3 (lattice needs to be modified to not use undefined functions from full Wm3 in this case (Delaunay!)
Adjust QTDIR to gentoo, too Configure-time decision whether to link against QGLViewer or 3dviewer.
use -mt variants of boost byt preference if both exist useMiniWm3 by default
1. Fix fedora/centos etc compilation (<includehint> in the .ui file mentioning nonexistent file) 2. Other scons cleanup
1. Fix soname on shared libs (no soname at all; bug with "" in the name previously). Is it good for something? 2. Add 'features' option to scons, which can enable/disable python and log4cxx at compile-time (extensible)
1. Correct 'all' value for features 2. Add a few signed/unsigned typecasts 3. Check clump code
1. Fix uninitialized se3 in one-member clump handling 2. Fix syntax error in SConstruct introduced in previous commit.
If RELEASE file exists, get yade version from there, instead of from svn.
Remove wildmagic-dev from debian deps.
fixed qt3 detection (used deprecated qapp.h header instead of qapplication.h).
Adjust debian package generation back to svn.
frontend cleanups, eperimental python console ui.
Convenience functions for serialization - experimental.
fix qualifiers in constructor of AttrAccess
1. rename ThreadWorker::message() to ThreadWorker::getStatus, ThreadWorker::setMessage() to ThreadWorker::setStatus (and private ThreadWorker::m_message to m_status) 2. add public: std::string FileGenerator::message that holds exit value description 3. FileGenerator::generate returns now bool (if the generation was successful); description in ::message 4. Adapted all generators and UIs for the above changes (except NullGUI - is that needed?)
Adjust other components for FileGenerator changes. Add wrapper for preprocessor in python.
1. SCons will download new version of itself if older thatn 0.96.93 and will proxy all calls to it transparently (hopefully) 2. Revamped python wrappers, now all attributes are settable as dicionary entries in respective instances from python 3. added example of python script that generates and runs BoxStack 4. Do not #define DEBUG, since it is used in log4cxx (as log4cxx::Levels::DEBUG). YADE_DEBUG is used everywhere. If you ever get weird errors about that, #undef DEBUG after including qt3 headers. 5. Some code cleanups.
Fix argv[0] for scons proxy.
Don't warn on amd64 about limited type range in comparison.
Initial .spec file for fedora 6
spec file works on fedora 6 now
1. Add screw example (this is really my personal one...) 2. Fix Shop::tetra (tetra interacting geometry still incorrect or incorrectly drawn... why???) 3. Remove python finalization, boost should take care of that. 4. Possibly fix plugin loader bug (first plugin after one with yadePluginClasses "inherits" them unless it has its own yadePluginClasses defined).
Sync SConstruct with sid packages (lib for qglviewer is not in capitals there)
1. Tetrahedron fixes (intersections are correct now, but interaction still wrong - crashes??!) 2. Fix scons to work with versions > .97 (no syntax errors; didn't try if it compiles
1. Scons now updates itself to 0.97.0d20070918 (for testing purposes etc) 2. fix crash in ElasticContactLaw and ElasticCohesiveLaw if interaction is not SpheresContactGeometry and ElasticContactInteraction; this fixes tetrahedra interaction. 3. other tetrahedron fixes (still not fully functional yet) 4. mark attributes in class factory as __attribute__((unused)) to avoid warnings
1. Correct typo in comment in SConstruct 2. Correct formulas for 4hedron inertia, testcase passes 3. Switch to fixed timestep when timestep is being changed by user in the qt3 ui
1. Change default timestep to 1e-8, should prevent weidness onthe first run. 2. Fix cmdGui to handle gracefully reading/assigning nonexistent attributes (not crash, but caught exception) 3. Fix char* / const char * warnings from g++-4.2 in main() and OpenGLRenderingEngine. 4. Cleanup of triaxial test, added parameter noLateralConfinement (not yet used).
1. Default scons to latest snapshot (should be a bit faster) 2. Don't autocreate plugin path entries for paths that are not installed 3. Turn TriaxialStressEngine into state machine, while preserving the possibility of changing some values by hand in .xml. (should be tested). 4. Exclude Loki:: from doxygen docs.
1. Remove relicts of old Omega::logMessage &c 2. Remove duplicated Wm3 headers in core (is already in lib-yade-base) 3. Update python scripting (object.attribute is shorthand for object['attribute'] now) 4. Cleanups in triaxial, adding STATE_UNINITIALIZED
1. BIG update of python wrappers - enagines can be created, added, modified from python now. Examples will be provided very soon. 2. fix plugin loader for multi-plugins: YADE_PLUGIN() macro should be used in all plugins, otherwise due to linking symbol overrides a multi-plugin will shadow classes in the plugin actually being loaded (better solution?!) 3. Add experimental BREakable Frictional COhesive Moment-blocking material (brefcom for short), not yet fully done. 4. PersistentSAPCollider now can be parametrized to permit distant contacts (is not the default, though), incorporating Bruno's changes in DistantPersistentSAPCollider 5. Uniaxial strain-controlled test (USCT), a quite simple implementation. Used primarily for brefcom testing now. 6. Fix SConstruct so that it is backward-compatible with python2.4
1. Remove MetaEngine, inherit MetaDispatchingEngine directly 2. Fix unbalanced force reporting (thanks for complaining, Bruno) 3. EngineUnits now declare their types with FUNCTOR1D(.) or FUNCTOR2D(.,.) macros, dispatchers will ask for their types automagically. Old syntax still supported, once all engines have those types declared, it will be obsoleted and removed (like e->add("InteractingSphere","InteractingSphere","InteractingSphere2InteractingSphere4SpheresContactGeometry"); Shop and USCTGen usethe new syntax now. 4. Brefcom law passes some rudimentary tests and appears to work (normal force and damage for now; we miss shear force and blocked rotations) 5. Brefcom contact can be drawn with opengl, damage signified by color. 6. Updated Python wrapper.
1. Remove the old prototype for adding EngineUnits to dispatchers add(string,string,string) 2. All EngineUnits now have FUNCTOR1D(...) or FUNCTOR2D(...,...) in their headers.
1. Preliminary recovery of simulation accross runs (try sending SIGHUP to yade) 2. Python wrapper for body parameters. 3. Misc fixes of engines. 4. Allow Omega to stop at predefined iteration number (for regression tests, I work on that ;-) ) 5. ...
Fix lefover of experimental code in TriaxialCompressionEngine (creating sohesive links after compaction.
Updated brefcom, with undisclosable parts moved outside the tree.
Fix typo breaking compilation on different machines than mine.
1. Remove "../data", replace by "./" (cwd) or "". 2. Some other stuff I don't remember.
1. HUGE update of python, it wraps almost all yade classes now (except PhysicalActionContainer and InteractionContainer). Documentation is lacking as well. 2. Move most of init stuff of python from cmdGui::run to cmdGuiInit.py (which I forgot to "svn add", will commit shortly) 3. Run ipython shell (or python shell with history and tab completion as fallback) inside yade
Adding init code as advertised in last commit.
Passing exclude='qt3' to scons will disable qt3 checks and everything related to qt3. Note that the default GUI is still QtGUI unless you change that in your config file or at command line with -N.
Avoid using boost1.34 python/stl_iterator.hpp, should compile with 1.33 now (debian etch, ubuntu feisty)
Fixes and addendum for openSuse based on comments by Sega
1. Test suite for all preprocessors 2. Added assumeElasticSpheres attribute to GlobalStiffnessCounter; if set to false, dynamic_casts are used to properly determine type of contact between spheres (used in USCTGen now) 3. Debugger now dumps backtrace without interruption and exits immediately (core is still dumped)
1. cmdGui now exports yade binary name (to allow spawning subprocesses) 2. default-test.py handles crashing simulations gracefully (by executing them in a subprocess) 3. Omega retains original argc and argv from the command line.
1. Remove NaN's in PersistentSAPCollider for bodies that don't have bounding box: use zero-size degenerate box at its position instead. (fixes warning when running ClumpTestGen) 2. Remove check for scientific python from scons as we don't use it now.
1. BIG: Moved latest upstream qglviewer to our tree. If you REALLY need to use the packaged version, let me know. As of now, there is no way to do that. 2. BIG: Removed many (unfunctional) parts of the qt3 GUI, in the view of qt4 migration which will probably not happen. Maybe I removed too much (simulation player -- does it work?!), let me know in that case. 3. Experimental GLViewer support in python, disabled. (broken and needs qt4) 4. Misc fixes related to that and other small stuff.
Previous commit didn't compile on clean environment, fixed now.
HOTFIX: final fix for the libqglviewer linking issue.... I hate qt3, I hate uic, I hate moc. It works now, please test on you machines and let me know if there are any regressions.
Forgotten files, build crashed on foreign machine. Fixed now. (This stuff is not tested, do not use!)
OK, now QGLViewer REALLY builds. Was bug in scons: file.ext1.ext2 is not handled properly with the qt3 tool. Created symlinks replacing first dot with _.
Add tags, doc and clean "targets" to scons do their job, short-circuit the rest of building process and exit. Clean only removes builddir, _not_ installed files as -c would do. (LP: #202067)
1. Resurredced and un-crapped simulation player (for making videos). Updated howto is http://yade.wikia.com/wiki/New:Making_videos#Using_Simulation_Player_with_svn.3E1281
1. Include fracture strain calibration routines in brefcom. 2. Add BrecomDamageColorizer - changes colora ccording to average cohesive interactions the body has. 3. Delete non-cohesive interactions from inside BrefcomLaw when spheres become distant. 4. Documentation updates.
1. MAJOR improvements of the python wrappers (constructors take attributes etc.) 2. FIRST proof-of-implementation simulation completely created in python: scripts/simple-scene.py. This file will be commented abundantly shortly. 3. Add default values to some bool params so that there is no serializer error if they are uninitialized. 4. Add aabbEnlargeFactor to InteractingSphere2AABB (should be added to InteractingBox2AABB as well?) (not tested yet) 5. rename InteractionDetectionFactor to interactinDetectionFactor 6. Serialization now registers only attributes that have not yet been registered (there were problems with python because of that: at first save, attributes were duplicated and the xml file was less readble, although loadable) 7. Scan .tpp and .ipp for c++ tags as well 8. Some documentation.
1. New engine attracting bodies towards a fixed axis (constant force, points towards the axis everywhere) 2. some fixes in python wrapper (run initializers if needed; the logic in yade itself is currently broken however) 3. New python "example" for creating cylindrical packing of spheres
1. allow saving spheres (format like small.sdec.xyz) from python 2. PositionOrientationRecorder can optionally record RGB color of each body as well now 3. SimulationPlayer now can change colors of bodies, if the .rgb file exists 4. Bunch of fixes if brefcom, in UniaxialStrainControlledTest 5. dt moved from Omega to MetaBody for good; this allows preprocessor to set timestep that will be used when the simulation is loaded. 6. Code cleanups here and there.
Update debian control to possibly fix deb package builds
Fix header scanner if there are extra headers in the tree.
1. PROTOTYPE CHANGE: Engine::action(Body*) changed to Engine::action(MetaBody*); all engines adapted 2. MetaBody::miscParams can be used to set static variables at deserialization (used for GLDrawBrefcomContact now) 3. allow serialization of shared_ptr<Serializable> (only pointers to derived classes were enabled until now) 4. big fixes inside brefcom 5. enhancements of python interface (Generic class, fixes) 6. added Shop::GLDrawLine, Shop::GLDrawArrow, Shop::GLDrawNum 7. fixed QGLViewer #defining DEBUG (qt3) by #undef'ing it after qt3 headers inclusion
1. Add many checks to see where XML and BIN serializers take each other's work (non-intrusive). 2. reorganization of cmdGui (will be renamed - perhaps - to pyUi or similar) 3. BINFormatManager is now optional and _disabled by default_. feature 'binfmt' must be enabled to build the plugin. 4. Added utils classes in python, examples are much simplified now.
Fix python2.4 compatibility
fix of the previous fix.
1. Commit before other changes.
Renamed cmdGui to PythonUI. Tests seem to be working now.
1. Define macro NEEDS_BEX() that engines can use to advertise what physical actions they need. This avoids the necessity of passing that to PhysicalActionContainerInitializer. The change is backwards-compatible, all present engines were adapted however. 2. Fix BrefcomTestGen and USCTGen: don't crash anymore. 3. Small fixes in python code.
Svn wants to commit before moving files... :-|
Refactored MetaDispatchingEngine to MetaEngine (everywhere)
Support saving to .xml, .xml.gz and .xml.bz2. Loading works as well.
1. Added heavy comments to simple-scene.py, started functionally equal code in extra/SimpleScene.{c,h}pp 2. Added dependency on boost::iostreams to debian template (for gzip/bzip2 streams).
Hotfix for file loading logic.
1. Ignore ^C in PythonUI (gives crashes) 2. Shop::Bex caches physical action indices in static variables (not yet benchmarked) 3. Check for boost/foreach.hpp in scons and suggest how to install it. 4. Fixes in Brefcom 5. Set initial qglview size to 550x550
Big scons updates:
Fix compilation problems and some warnings in the previous commit.
1. BOOST_FOREACH now works with InteractionContainer and BodyContainer and is #defined as foreach.
1. GUI change in qt3: make the simulation controller to take _much_ less space (no LCD displays, notably) and allow more place for 3d views. If someone is not happy with that, gui/qt3 can be reverted. 2. UniaxialStrainController now measures and records transversal strain. 3. Add attempt at smart command-line completion for ipython console. 4. Improved the class index cache in Shop::Bex (benchmarks needed)
1. Added MetaBody* as optional argument to Body::byId, to avoid Omega::instance().getRootBody() lookups - took a few percent of time in valgrind-profiled run. 2. Completed SimpleScene, a script to generate commented source py2wiki.py and put results on http://yade.wikia.com/wiki/SimpleSceneTutorial 3. Swap argument order in utils.sphere and utils.box to match Shop::sphere and Shop::box (center first, then radius/extents and not vice versa as it used to be)
Make the GUI loader/saver a bit less intelligent. .yade, .xml, .xml.gz, .xml.bz2 are accepted when both loading and saving (hopefully).
1. Fix tabs in SConstruct.
1. Rudimentary plotting support through python; see http://yade.wikia.com/wiki/PythonPlotting and scripts/simple-scene-graph.py for details 2. Updates in examples/cmdGui1.py
1. QtGUI now integrated PythonUI if available. This means simulation can be controlled both from the QtGUi and the console. The + standalone PythonUI is available as well. 2. Changed form workspace to MDI windows; main window is menu-only thing that hides when simulation is open. 3. other minor changes.
1. Replace foreach with FOREACH, based on discussion with Janek. 2. Fix FileGenerateor message crash without workspace. 3. Fix TimeStepper choosable at the same time as fixed timestep. There is some problem with switching back to timestepper, use Omega().usesTimeStepper=True/False from python for now, please.
1. Merging containers and iterators and iteratorpointers to one .hpp. (Proxy headers created, no existign code affected) 2. Moving default containers for interactions, bodies and physicalAction to core; therefore, omega is constructed with out-of-the-box usable Metabody. (no code affected, though some initializations are now redundant) 3. Dropped workspace mode of QtGUI, since for some weeks no-one complained. 4. Big simplification of QtGUI (no dynamic menus and the like), to allow Views to be opened from python, independently of the simulation controller and so on. 5. Initial wrapper for gui stuff in python, in module yade.qt (View(),Controller(),center()) 6. Exiting the python interpreted (^D, quit()) will close yade main window as well. 7. Moved python wrapper helpers to gui/py/pyAttrUtils.hpp to be usable from elsewhere.
Fix: move files properly (with svn)
Forgotten add.
MetaBody still needs InteractingGeometry, BoundingVolume and PhysicalParameters initialized. But that would mean moving more classes to core, which is questionable. For now, fix that in Python and still rely on user init in other code (as before, but less).
1. Fix passing .py to PythonUI (local vars shadowing global ones); fixes default-test.py as well. 2. Fallback to PythonUI automatically if $DISPLAY is not defined in shell 3. Ignore closing YadeQtMainWindow if it doesnt exist instead of throwing exception
1. Arguments can be passed to scripts, propagated as yade.runtime.args 2. default-test more robust, with e-mail report
Update testing script for automated tests
Micro fix in python script.
Cleanups for ubuntu package builds.
1. Other fixes related to deb packages (jobs=1 because of fakeroot :-( ) 2. transversal strain sensors max speed can only be positive in USCT
Fix for crashing from python-constructed rootbody. Hopfully other things are not broken.
Fix player crashes (dialogs should have no parents)
Fix setting timeStepper / fixed timestep from the qt3 ui
Build qt3 with python disabled cleanly.
1. Add std::string Engine::label, which user can set to identify an engine by arbitrary label 2. Fix warnings in SpatialQuickSortCollider 3. Set isDynamic in rootBody by default 4. Remove PlotDataGetter, superseded by PeriodicPythonRunner 5. New abstract class for running things in predefined periods PeriodicEngine
Forgotten file.
1. Fix sync mode in qt3 ui. 2. Fix real time display in qt3 ui. 3. Fix resizing of controller in qt3 ui (childs expand now) 4. Remove deprecated PythonRecorder (superseded by PeriodicPythonRunner) 5. Initialize Omega timers also at construction-time rather than simulation-loading only as it used to be. 6. Don't print bogus values of iters/sec in controller at startup.
1. Fix the priodic engine. 2. Add layout to the main windows with 4 buttons. 3. Fix PeriodicPythonRunner plugin installation 4. Update simple-scene-graph.py so that it works after latest plotting changes.
1. Add the possibility to save as gnuplot figure to the plotting interface 2. Add PeriodicEngine (fixed period) as opposed to RangePeriodicEngine (variable period) 3. Make BrefcomDamageColorizer subclass of PeriodicEngine instead of doing Omega::instance().getIteration()%interval==0 4. Change some icons in the UI 5. Add 'scale' parameter to loading spheres from file
1. Fix segfault in GUI exception trap 2. Handle .xml.gz and .xml.bz2 (in addition to .xml) as command-line argument in QtGUI
Small fixes here and there. Merged from https://code.launchpad.net/~yade-team/yade/t2. All changes here:
1. Add list<string> MetaBody::tags, which hold metadata in the key=value format; this is to workaround current serialization that errors out on map<string,string> in findType. 2. Add meanStress and vlumetricStrain to Triaxial for python access 3. add neverDamage flag to Brefcom which forces elastic behavior regardless off strain magnitude. 4. Fix some warnings in STLImporter regarding signedness 5. add __attribute__((unused)) to a variable in Wm3Matrix3 that was not used during optimized builds - to avoid warning.
1. Fix tagging, do it as list<string>; must NOT contain spaces! 2. Adapt python to that (replaces spaces automatically and so on)
Forgotten variable after move
Fixes for g++-4.3 compatibility (still some warnings, may need -fpermissive to compile)
1. Small fixes here and there 2. In brefcom, make the parameter set richer 3. PythonUI now may be run in non-interactive mode (batch processing) 4. new function Omega().interactions.nth(n) for getting random interaction
Microfix: unitialized diffuseColor in boundingVolume
1. Remove failing and unused screw generator. 2. Add rate-dependence variables to brefcom 3. Add raw attribute access from python, like this: gm=GeometricalModel("Facet") gm.setRaw('vertices',"[{1 2 3} {4 5 6} {7 8 9}]") to provide access to attributes the current wrapper doesn't wrap properly (i.e. anything beyond numbers, bools, strings and flat arrays of numbers: e.g. vector<Vector3r>, as in Facet). The format of the raw string is that of XMLFormatManager.
1. Triaxial now calculates thickness of the walls automatically (from the extents of the first wall) 2. Add flags to scons, for the gold linker (doesn't link plugins, oh well) 3. Many fixes in brefcom 4. flag needsInitializers moved into MetaBody and it is checked at every iteration; assigning initializers from python sets this flag. It is set to true in MetaBody constructor. 5. Added wrapper for postProcessAttributes in python, for Facets. Serializable::postProcessAttributes was made public due to that (don't kill me). 6. A few things added to yade.utils 7. SimulationController now correctly handles decreasing timestep mantissa from 1 (goes to 9 and exponent is decreased by 1) and increasing it from 9.
1. Parallel engine that runs engines in parallel; python wrapper for that 2. Added simple-scene-parallel.py for an example (sppedup of 16% over simple-scene.py) 3. Added openmp flags to scons (enabled by default) 4. Simultaneous builds of multiple profiles: scons profile=default,opt will run all the machinery 5. Refactored grid-drawing code; press 'x','y','z' to have grids with that normal 6. Ported some things from GLViewer to GLSimulationPlayerViewer (grid and mouse events)
1. Fix the simple-scene-parallel.py (interactionGeometry and interactionPhysics may _not_ be run in parallel) 2. Fix the #pragma clause in ParallelEngine (it did not run in parallel before, but still there were performance gains ?!) 3. When saving simulation, set the filename so that it can be reloaded from the GUI
1. PositionOrientationRecorder save to bzip2'ed files now; player is able to read both compressed and uncompressed files for backward compatibility. 2. Unsucessful try to use glut for drawing spheres; left as an option that is disabled by default, however. 3. Fixes in brefcom 4. Simulation player now has progress window and supports strides when loading files. 5. Fix wrong timestamp format in saveGnuplot in gui/py/plot.py (%m instead of %M)
1. Implemented clipping planes in the GL viewer and GL renderer 2. Moving body is now consistent with mouse bindings for moving scene
Remove duplicated code in GLSimulationPlayerViewer, subclass from GLViewer.
Median centering routine (for cases where one body went nuts and centerScene will make the whole a small point) - activated with Alt-C (both controller and viewer)
1. Added displacement and rotation scaling to the OpenGLRenderingEngine (accessible from the renderer config). Documentation missing as of now. Displacements from reference point will be scaled in the rendering. At this moment, only geometrical model and a few other elements of the GL display are scaled.
1. Double-click aligns clipping planes if manipulated, x,y,z aligns normal with axis. 2. Default number of clipping planes is 3 instead of 2 now. 2. Fix compilation error in ResetPositionEngine (missing logger)
1. sqlite3-dev is now required for yade (checked by scons) 2. sqlite3x c++ sqlite3 wrapper is in our tree (5 files, about 60kb of code), built by scons 3. Check for boost::regex 4. Experimental SQLiteRecorder (the player side is not yet supported at all!) 5. Remove messages at startup about singletons (define YADE_DEBUG env var to get them again) 6. StretchPeriodicEngine that will eventually replace the overdesigned RangePeriodicEngine
Fix logger error at startup.
1. Remove some warnings about persistentInteractions initialization (initialization is done in MetaBody constructor anyway, it can not break anything); 2. Remove long obsolete pyade 3. Add Omega::getComputationTime 4. Add Omega::saveSimulationToStream and Omega::loadSimulationFromStream 5. Improve the SQLiteRecorder: put simulation into the db, create table with pointers to other tables, declare column types. The recording part is almost done. Implementation in player is to be done.
1. Move FiltrEngine from core to common (I know this is arguable, given that DeusExMachina and StandAloneEngine are in core as well. I think, however, that common is a more appropriate place since these engines are not as important...) 2. Completed the recording sqlite part 3. Completed the player part of sqlite (in player) 4. Added libsqlite3-dev to debian build depends 5. PeriodicEngine now is activated when the priod is reached, not afterwards (> vs. >=)
Other fixes. Please not in GLSimulationPlayerViewer I had to comment one line that I didn't know how to make compile (dynamic-Cast).
1. Set iteration number with sqlite as well
1. Views, Player, Controller and Generator can be opened asynchronously from python now. 2. Revamped the player UI, hopefully making it better. 3. Added Alt-S for saving viewer state (camera etc) 4. Added runPlayer to python for aotomatized replay. The file contains instructions for offscreen thereof rendering as well.
Re-enable sega's code that doesn't compile here.
1. qtCreateVideo creates video from the replay snapshots directly (using gstreamer) 2. qt.{Player,Generator,Controller} now take an optional bool; if true (_not_ default), they will not return until the requested window will have been created and ready. 3. runPlayer return wildcard and list of snapshot files now 4. Adapted simple-scene-player.py to reflect that.
Fix linking issue.
1. new class DisplayParameters is a string->string "hash map" for holding various configurations. 2. Multiple display parameters (i.e. QGLViewer config and OpenGLRenderingEngine config) are stored in Metabody. 4. stopAtIteration moved to MetaBody so that it is saved and reloaded (MetaBody::recover hack is gone) 5. Remove unnecessary persistentInteraction initializers so that we have less warnings 6. Remove deprecated RangePeriodicEngine, plotting uses StretchPeriodicEngine instead. 7. Add the ability to load from stream and save to stream to IOFormatManager (afterwards, I discovered there were actually_identical_ functions loadArchive and saveArchive; those were deleted since unused elsewhere) 8. GLViewer can now load and save state from/to string 9. in GLViewer, keys 7,8,9 load display config #0,1,2 and Alt-{7,8,9} saves current view to #0,1,2. Those are saved in MetaBody. BUG: after loading such config, the QtGUI-generated OpenGLRenderingEngine config dialog doesn't work anymore (probably some issue with archives, not sure). 9. Hopefully all xml-parser-offensive characters are escaped at string serialization (and unescaped at deserialization). We use standard SGML escapes (newline=&br; tab=&tab; <=< and so on) now. This allows to save XML-as-string in the xml itself (used for DisplayParameters). 10. GLViewer now properly saves what XYZ planes are displayed (using custom DOM element) 11. Some fixes in Brefcom, more to come.
1. Fixes in Brefcom 2. Add docstrings to QtGUI-python functions; 3. StretchPeriodicEngine adjusts both limit and period if one of them is nonzero 4. Other fixes in python interface
Sync with upstream QGLViewer 2.3.0
1. Experimental scale drawing in GLViewer (disabled by default) 2. Fix (?) race conditions (?) in Omega and python 3. Other fixes in plotting, works now again (remove numpy.array, not needed)
1. Merge all gravity engines (central, axial, directional (the old one)) into 1 header 2. Cleanups of pkg/common/SConstript 3. Add more brefcom accessors (Fs, Fn, ...) 4. Fix (hopefully) threading issues with python; Omega().pause and other now use Py_BEGIN_ALLOW_THREADS to avoid deadlock of the interpreter if called from c++ interpreting python code
1. Add private functions to eudoxos.py 2. Fix a few broken includes
Fix #includes in affected files.
Forgotten file.
Second file that was forgotten :-|
1. Omega().interactions.nth returns n-th real interaction 2. Export more brefcom data to python 3. Make LOG_DEBUG and LOG_TRACE no-op in NDEBUG (optimized) builds 4. Change linebreaks from CR+LF to unix LF in a few random diles 5. Make DeusExMachina registerAttributes of Engine 6. Serializer prints offending value if bad_lexical_cast. 7. Attempt to catch exception if reading bool written as int (254 etc) and consider that "true" (doesn't work?) 8. JumpChangeSe3 can set (angular)velocity if requested instead of plain moving
1. Move refSe3 and dispSe3 to PhysicalParameters; this should speed up the renderer (clipping is done only once etc) and make it possible to apply clipping (via PhysicalParameters::isDisplayed) in GL functors for interactions as well. 2. Add button for setting reference positionts to the controller 3. Remove warnings in NewtonsDampedLaw
1. Cleanups in OpenGLRenderingEngine, use systematically clipping and scaling 2. Merge GL functor abstract class headers in one (GLDrawFunctors.hpp) and fix files using them 3. Make qt-serialization layout a bit more space-conservative.
1. Fix default test to report errors during simulation loading as well 2. Fix preprocessors derived from triaxial to not initializa transienInteractions, preventing crash discussed with Bruno: containes for transient and persistent must be the same, for unknown reason. 3. Fix preprocessors using brefcom to define all variables, otherwise we have nan's in XML which crashes the deserializer.
Add script for making release
Improved the release script.
1. Add the ability to block individual DOFs on every body in PhysicalParameters and implement relevant code in both NewtonsDampedLaw and LeapFrog integrators 2. Add that to UniaxialStrainer 3. Put both CundallNonViscous damping classes in one file (cleanup), adapt all files to that
1. Make the -x flag to PythonUI stop even if no script is provided.
Fix missing lib (error at startup)
==================================================
yade-0.10.0
Tue Jul 11 13:17:04 2006 +0000
Janek Kozicki (55):
small correction in INSTALL, renamed ayde-data to yade-examples, and tagged it.
added schedule
added some more instructions to INSTALL file
I am committing new version of docs, checked by my sister. And briefly checked by me. Olivier, now you can work on it, and remember to copy & paste lots of text and explanations from the article!
directory for creating packages with yade.
directory for Czesiu to work on debian packages for yade. later we can add directories for .rpm or gentoo, etc....
Fixed some broken symlinks. Removed unnecessary int i from MetaBody loops
added missing -lglut
yade is compiling with boost 1.33, but I had to make some modifications in ErrorTolerantLaw <- it is compiling, but I'm sure that it Jacobian is WRONG !! - Oliver it's your code, only you can fix that.
some small changes, before I start something bigger
ClassFactory is one step closer to windows version
I have started changes that will make yade compilable on windows
another step closer to compile yade on windows:
to compile yade on windows we have to remove symlinks. I started doing that, but it's not finished. I have to commit in the middle
still removing symlinks...
symlinks removed. but it is NOT compiling now
deleted all useless directories
modyfing all .pro files and Makefiles so that it will compile
maybe it is compiling...
so symlinks are now removed, and it is compiling and installing exactly like before.
So I have started compiling it on windows, and I stopped on the problem that linker cannot link serialization with factory.
General cleaning of all header files. Now they are much more readable, and more coherent with C++ coding standards.
added SDECMovingWall FileGenerator contributed by Andreas Plesch.
You have decided to rename class: Box2AABB to a new name: InteractingBox2AABB You have decided to rename class: Sphere2AABB to a new name: InteractingSphere2AABB
D yade-packages/yade-package-common/src/Engine/EngineUnit/Box2AABB/Box2AABB.pro D yade-packages/yade-package-common/src/Engine/EngineUnit/Box2AABB/Box2AABB.cpp D yade-packages/yade-package-common/src/Engine/EngineUnit/Box2AABB/Box2AABB.hpp A yade-packages/yade-package-common/src/Engine/EngineUnit/Box2AABB/InteractingBox2AABB.pro A yade-packages/yade-package-common/src/Engine/EngineUnit/Box2AABB/InteractingBox2AABB.cpp A yade-packages/yade-package-common/src/Engine/EngineUnit/Box2AABB/InteractingBox2AABB.hpp D yade-packages/yade-package-common/src/Engine/EngineUnit/Sphere2AABB/Sphere2AABB.cpp D yade-packages/yade-package-common/src/Engine/EngineUnit/Sphere2AABB/Sphere2AABB.hpp A yade-packages/yade-package-common/src/Engine/EngineUnit/Sphere2AABB/InteractingSphere2AABB.pro A yade-packages/yade-package-common/src/Engine/EngineUnit/Sphere2AABB/InteractingSphere2AABB.cpp A yade-packages/yade-package-common/src/Engine/EngineUnit/Sphere2AABB/InteractingSphere2AABB.hpp D yade-packages/yade-package-common/src/Engine/EngineUnit/Sphere2AABB/Sphere2AABB.pro
I hope that scripts to rename classess are still working okay :>
ErrorTolerantContactModel -> ErrorTolerantContact AABox2Sphere4ClosestFeatures -> AAInteractingBox2InteractingSphere4ClosestFeatures Box2Box4ClosestFeatures -> InteractingBox2InteractingBox4ClosestFeatures Box2Sphere4ClosestFeatures -> InteractingBox2InteractingSphere4ClosestFeatures Box2Sphere4ErrorTolerant -> InteractingBox2InteractingSphere4ErrorTolerantContact Box2Sphere4MacroMicroContactGeometry -> InteractingBox2InteractingSphere4SpheresContactGeometry Sphere2Sphere4ClosestFeatures -> InteractingSphere2InteractingSphere4ClosestFeatures Sphere2Sphere4ErrorTolerant -> InteractingSphere2InteractingSphere4ErrorTolerantContact Sphere2Sphere4MacroMicroContactGeometry -> InteractingSphere2InteractingSphere4SpheresContactGeometry
continued...
this renaming is DONE
GLDrawInteractionBox -> GLDrawInteractingBox GLDrawInteractionGeometryFunctor -> GLDrawInteractingGeometryFunctor GLDrawInteractionSphere -> GLDrawInteractingSphere GLDrawInteractionGeometrySet -> GLDrawMetaInteractingGeometry
renaming continued..
renamig DONE
Serialization::registerAttributes() is now protected, as it should be. renamed MetaBody::actors to engines
added:
QtEngineEditor is not working - doesn't detect correctly StandAloneEngines
- can save simulation from simulation controller - can change background color of the simulation displayed
binary serialization for yade - looks like it is working :)
fixed one bug in BINFormatManager fixed savig ElasticContactParameters and SpheresContactGeometry, so that after loading the simulation is not going crazy added several try/catch blocks removed GLAPI and GLAPIENTRY from OpenGLWrapper XMLSaxParser is now better at counting lines
I have just enabled commit-email.pl for SVN. we should get info about commits for yade-dev, I wonder it if works :)
not so small bugfixes and imprvements:
- fixed serious bug in bool BodyRedirectionVector::erase(unsigned int); - added function bool exists() const; to BodyContainer - graphical display now has reversed meaning of scrollwheel, so it is now similar to behaviour of blender and autocad - SDECLinkedSpheres is working after some (surprise!) quick hack. That part is still waiting for total rewrite. - big improvements in lattice model. beam bending works (but not always) with axis+angle notation. maybe with quaternions it will be better. There is a problem that shows itself when using regular triangular grid.
- added function Quaternion::power(RealType) - lattice bending works now in 2d (X-Y plane), using angles. not vectors or quaternions. I will do 3d later.
- 'cancel' when loading filegenerator is not crashing now - started non-local model for lattice - hopefully 2d lattice beams are now okay.
middle button in 3d view is now "PAN" command, not "ZOOM" as it used to be. It's more similar to AutoCAD
'yade -h' will now display compilation flags (currently only DOUBLE_PRECISION - how about adding long double ;) ?)
small fix so yade works with lates kubuntu:
Threadable class has been removed: - when yade is idle 0% of CPU is consumed by the display, - when simulation is ran it is in separate thread, second processor (if present) is drawing on the screen, - with two processors theoretically QtGUI should have speed equal to NullGUI, - drawing on the screen is not synchronized, so some bodies are from previous iteration, some are from next iteration (later there will be an option to turn synchronization ON - it will slow down computations a bit)
Renaming SimulationLoop to SimulationRunner.
renaming finished. SimulationLoop -> SimulationRunner
deleted yade-lib-threads, added SimulationRunner, that can start/stop or perform singleLoop of simulation in separate thread.
final touches to SimulationRunner
compilation fix
yade-flat now allows to debug yade from inside kdevelop
SimulationController is now updating iterations/time and sets time step correctly.
updated INSTALL file (before release).
Olivier Galizzi (10):
Corrected one missing include into yade-package-lattice so that it is compiling
Added new yade-spherical-dem-simulator plugin. It is compiling but I have not tested it for now. This plugin will be used to compare yade performances to a dedicated simulator that can only run simulation on spheres and which is not extensible.
Corrected some symlinks (forgot to call symlinks -rcs)
Improvement into SphericalDEMSimulator
SphericalDEMSimulator is now working. But maybe an error remains because for now it is 10x faster than yade !!
Started to add SimulationPlayer plugin to QtGUI
Some small optimisation of Math library. Some if statement where remaining after an assert that were doing the same check.
Improvement into SphericalDEMSimulator and QtSimulationPlayer.
SimulationPlayer is now working; but there is no check to see is the files exists or not, so it is up to the user to be carefull (at least for now)
Minor changes into NullGUI.
==================================================
yade-0.09.0
Sun Aug 21 20:41:37 2005 +0000
Janek Kozicki (34):
fixed some broken symlinks
removed inifinite loop when loading plugins
fixed setDebug and setRelease scripts. Set everything to debug.
added yade-flat - it is very useful for debugging, because command:
fixed some Makefiles - changed make to $(MAKE) corrected invalid usage of postfix increment++
changed Makefiles, so that qmake respects INSTALL_DIR and PREFIX_DIR
corrected a mistake
another correction in Makefiles
still fixind Makefiles, should be OK now...
So now I think that Makefiles are OK. But I've discovered a mistake in .pro, when trying to install to totally custom directory (for example /home/joe/work ). So I'm committing this before fixing that.
so by default /usr/local/include is searched for include files. INSTALL_DIR and PREFIX_DIR modify this path automatically. So that there is no problem to install yade as a normal non root user, in home directory.
all Makefiles are tested and are working. following commmands were tested (launched from trunk/ directory)
I started renaming SpheresContactGeometry to MacroMicroContactGeometry, and also I am testing new fixed renaming scripts!
still testing renaming scripts...
after this commit I'll know if scripts are correct
fixing item no. 35 in yade-core/.todo
fixing item no. 35 in yade-core/.todo
Finished fixing item no. 35 in yade-core/.todo
renaming: SDECTimeStepper ElasticCriterionTimeStepper
SDECTimeStepper -> ElasticCriterionTimeStepper
finished SDECTimeStepper -> ElasticCriterionTimeStepper
InteractionDescriptionSet2AABB -> MetaInteractingGeometry2AABB
./yade-scripts/renameClassFilenames InteractionDescriptionSet2AABB MetaInteractingGeometry2AABB
./yade-scripts/renameClassDirectories InteractionDescriptionSet2AABB MetaInteractingGeometry2AABB
updated Changelog
M trunk/Changelog D tags/yade-0.1
M trunk/Changelog
preparing for release.
is compiling with DOUBLE_PRECISION
corrected instructions in INSTALLs text files.
ok, I think that this version is ready for release
added dependencies diagram
started tagging releases. renemed top directory QtGUI to yade-gui-qt. Just like XMLFormatManager
tagged all new releases!
Olivier Galizzi (19):
Better YadeQtMainWindow. Now menus are displayed in menu bar in the same order they are added in the program.
Added preferences for QtGUI. Now it remembers size and position and exit.
Now it is possible to choose time step from GUI.
Created directory yade-plugins to store all yade unfisnished plugins Added iteratortest to test iterator on polymorphic container
Improved version of polymorphic iterator
Splitted files in iteratortest so there is one class per file
I have introduced iterators for all types of containers in order to remove the dirty gotoFirst, gotoNext, hasNext and notAtEnd methods. Now it looks like more like stl iterators. It is compiling but unfortunately it is segfaulting at runtime, probably some problems in ++,* operators.
Yade is now working with iterator. At least all configurations generated by some FileGenerator are working.
Added some improvement into GLEngineEditor. For that I have rewritten a big part of yade-lib-opengl because it was not possible to delete windows without corrupting the id of the others windows.
Added Makefile to compile and install all packages at once.
Better design : added class related to MetaEngine. Removed all references to Serialization stuff into yade-lib-multimethod. They are now into newly added classes.
Some cleaning in MetaEngine hpp and cpp. Some improvement into QtEngineEditor
Improvements into QtEngineEditor. Now it is olamost possible to create graphically a simultation loop.Now I have to make something to set parameter of MetaEngines.
Improvement into QtEngineEditor Moved REGISTER_CLASS_NAME from Serializable to Factorable and started to add REGSITER_BASE_CLASS_NAME to all Factorable classes. With those two macro we'll be able to build into Omega for example the class tree and then reuse it everywhere it is needed. For example it will be usefull to create GUI that want to deal only with this or this type of class.
Now all classes register their base class name.
Removed unused classes.
Fixed some compiletion errors. Added Makefile to compile the whole trunk at once.
Improvement int QtEngineEditor. Now only correct EngineUnit and base base are displayed thank's to the REGISTER_BASE_CLASS_NAME macro.
Simulation loop editing is now working. There are still some random crashes to fix and for now it is not possible to load a simulation loop.
==================================================
yade-0.08.7
Thu Jul 7 11:14:08 2005 +0000
Janek Kozicki (10):
renamed mscv to msvc
first version of Makefile for yade-lib-loki
Makefiles are better
added Makefile for all libs
Makefiles uninstall correctly
make install works for all yade-libs (weel, actually oinly three of them now)
looks like commands:
small correction in docs
small fix for make clean
after name change of libXMLManager we had to correct Makefile
Olivier Galizzi (77):
Created yade-libs directoryt to clean a little the directory tree
Created directory yade-packages
Created directory yade-empties
Created yade-empties directory
Removed directories yade-lib-rendering-engine-opengl and yade-lib-gui-qt because they now have no reasons to be there
Renaming directory yade to yade-core
Modified yade-empty-lib directory structure
Added Makefile in yade-empty-lib
Added README file into yade-empty-lib/doc/
Created yade-lib-qhull
Created yade-lib-loki
Added symlinks for yade-lib-loki Created yade-lib-wm3-math
Making symlinks relative
Created lib yade-lib-threads and yade-lib-time The lib yade-lib-factory was also created but is not working because it needs the lib-loki to be installed
Creaed libs yade-lib-swiftpp, yade-lib-multimethods. Corrected yade-lib-time, yade-lib-factory
Created libs yade-lib-opengl and yade-lib-algorithms
Created libs yade-lib-serialization and yade-lib-computational-geometry
Created libs yade-lib-serialization-xml and yade-lib-serialization-qt
Corrected #include statements to point to yade/yade-lib-* instead of just yade-lib*
removed old yade-empty-package
Added new yade-empty-package which is simpler than previous one
Started to add yade/ in all include statements
Finished to change #include statements
Sub-Project libraries removed from yade-core
Yade is now compiling with separate libraries projects
Yade is now compiling AND running !! :)
Changed yade-empty-package so that all subdirectories contain not plural names.
Added empty kdevelop project into yade-empty-lib Added script changeLibName into yade-empty-lib, which allow the user to change the name of kdevelop project, this is easier when you wnat to start to develop a library
Added script into yade-empties so that it is easier to start to develop a new package of lib.
Added yade-empty-gui Improved version of scripts that change the name of empties.
Started to make yade-core clean (without all plugins)
Making yade-core clean.
Making yade-core clean
yade-core is clean.
When asking for default gui, QtGUI is choosen when return is pressed.
Created project yade-guis/QtGUI
Modified make clean to remove kdevelop temp file
Cleaning yade-packages before splitting
First version of yade-package-common with containers and DataClasses ok, but for Terrain which is not compiling
Moved Terrain to sandbox because it is absolutely not finished yet.
Some cleaning in yade-tmp
Added PersistentSAPCollider and SAPCollider to yade-package-common Engine
Created yade-package-fem and yade-package-dem
Intermediate commit because I have put Ellastic*Law into Engine and not Engine/StandAloneEngine
Continuing splitting of yade.
Removed unused directories
Created package yade-package-realtime-rigidbody, yade-package-lattice, yade-package-mass-spring
All data classes are almost splitted
Prepocessor are all splitted, so as DataClasses
removed useless directories
Splitted all InteractionSolver
Added forgottent LatticeLaw StandAloneEngine
Removed unused directories
All MetaEngine are now splitted
Removed unused directories
Splitted engine unit to yade-common
Moved directory previously moved to wrong place
Temporary commit because of wrong svn mv
Moved directories that were in wrong place
All BodyEngineUnit are now splitted
Removed unused directories
Temp commit because of error
Everything is splitted but RenderingEngine and NarrowInteractionGeometryEngineUnit
Removed unused directories
Everything is now splitted but RenderingEngine
Removed unused directories
Splitting yade-core finished. Maybe some changes will be needed in the future. Of course now we have to make compile the new projects !
Removed unused directory.
Fixed symlinks error into yade-core
yade-core and yade-common are compiling
Yade-package-dem is compiling
yade-package-fem is compiling
yade-package-lattice is compiling
yade-package-mass-spring is compiling
yade-package-rigid-body is compiling So all packages are now compiling, but I still have to check for build order.
Yade is now compiling and running
Changed build order of yade-package-common so that it is compiling on the first try.
==================================================
yade-0.08.6
Fri Jul 1 15:36:47 2005 +0000
Olivier Galizzi (14):
Added some functions into yade-lib-computational-geometry Started to and graphical interface for buliding simulation loop and initializer list
Added ommitted files QtEngineEditor.*
Added unused class MetaEngine, MetaDispatchingEngine2D and MetaDispatchingEngine1D. I wanted to make something easier for the user but it is not working now.
Updates into QtGeneratedCodeGenerator.ui. Started to implement the GUI
Updates in Omega : now foreach plugins we store if it is indexable, factorable or serializable. Improved code generation : Data class, engine and dispatching engine works. No stuff is done for generation of kdevelop projects.
All libs use now $(YADEDYNLIBPATH)/yade-libs directory as output path. Some changes had to be made in most of the .pro files. Added a preference editor in QTGUI
Attempt to use Yade without environnement variable. I am closer to the solution but it is still not working.
Small change so that yade is compiling with qglviewer 2.0
No there is no need to set up and environnement variable to run yade. Of course because the libs are still into a local dir your LD_LIBRARY_PATH should point to this local folder.
Yade is now working and compiling.
Started to move yade-lib-gui-qt back to plugins
yade-lib-gui-qt moved back to plugins
Yade is now compiling fine. I removed qyade and nyade since they are not needed anymore.
Added user manual without pictures. But .tex is compiling well.
==================================================
yade-0.08.5
Sun Jun 19 23:01:35 2005 +0000
Janek Kozicki (5):
it's compiling now with gcc 3.3
added warining in Omega.cpp when trying to scan non existing directory for dynlibs
added missing 'virtual' to destructors of some classess - I had random compiler/startup errors because of that.
openGL problem fixed - yade must link with -lglut, and display works.
Lattice works with rods, but dirty, of course - as always when something is implemented for the first time :>
Olivier Galizzi (6):
All EngineUnit now link with their corresponding MetaEngine otherwise findType doesn't work ! Why ... I don't know ! :) Because EngineUnit only use the abstract class contained inside corresponding MetaEngine dynlib and nothing else ...
To make yade deserialization working I had to modify PointerHandler.tpp around line 90. Basically I just remplaced a dynamic_cast by a reinterpret_cast. We have to find why dynamic_cast is not working anymore !
Added some dynlibs for handling swept sphere volume.
Tetrahedron are almost working. A bug into SWIFT is still causing troubles.
Some changes into SweptSphere and Tetrahedron
Putting some stupid name for 2 enum in Typelist.hpp (l 518 and 520) so that yade is compiling with gcc 4. Gcc 4 do not accept anymore anonymous enum type !
==================================================
yade-0.08.4
Mon May 23 12:51:50 2005 +0000
Janek Kozicki (1):
added -lpthread in some places, so it is compiling with g++ 3.3
Olivier Galizzi (17):
Removing MarchingCube GeometricalModel (because it is not a GeometricalModel !)
Renaming PhysicalActionEngineUnit to PhysicalActionDamperUnit and PhysicalActionApplierUnit Added class Preferences that contain directory to dynlibs. Modification of library yade-lib-factory so that it is using multiple directories to look for requested dynlib
Removing remaining directory toolboxes
Started to split include files of libraries into different directories. Started to change all #include "lib" to #include <yade-lib*/lib>
Corrected some wrong #include stuff
All include files from plugins/pre and post processor are now into include/yade-common. This is not final destination but it is closer to want we want. All #include stuff are modified according to this new structure.
Added script countNbLines that count the number of lines of code of the project
Starting renaming SimpleSpringLaw to FrictionLessElasticContactLaw
Renaming SimpleSpringLaw to FrictionLessElasticContactLaw
Renaming SimpleSpringLaw to FrictionLessElasticContactLaw
SimpleSpringLaw renamed to FrictionLessElasticContactLaw. Yade is compiling.
Improved documentation : added introduction to YADE
Improved documentation
Added librarie swift++ and qhull. Modified scripts so that they works with .h and .c files.
Added MarchingCube algorithm into yade-lib-computationnal-geometry Created lib yade-lib-algorithms were to gather algorithms of different type : for now there is only a PerlinNoise algorithm, but we can put here sorting algorithm ...
Moving, renaming some directories before splitting
Added new file generator Funnel and TetrahedronsTest Added new interactingGeometry PolyhedralSweptSphere Added new NarrowInteractionGeometryEngine SwiftPolyhedronProximityModeler that will use SWIFT++ library and PolyhedralSweptSphere Added EngineUnit Tetrahedron2PolyhedralSweptSphere and Box2PolyhedralSweptSphere that will build InteractingGeometry
==================================================
yade-0.08.3
Tue May 10 08:40:39 2005 +0000:
Olivier Galizzi (32):
Renaming ActionParameter to PhysicalAction
Renaming ActionParameter to PhysicalAction finished
Renaming ActionParameterForce/Momentum to Force/Momentum adn ActionParameterInitilizer/Reseter to PhysicalActionContainerInitializer/Reseter
Renaming ActionParameterForce/Momentum to Force/Momentum adn ActionParameterInitilizer/Reseter to PhysicalActionContainerInitializer/Reseter ...
Renaming ActionParameterForce/Momentum to Force/Momentum adn ActionParameterInitilizer/Reseter to PhysicalActionContainerInitializer/Reseter
Renaming ActionParameterVectorVector to PhysicalActionVectorVector ...
Renaming ActionParameterVectorVector to PhysicalActionVectorVector ...
Yade is now compiling ...
Moving NullGUI to yade core and renaming QtGUI to yade-qt-gui
Moving yade-gui-gt from extensions/Frontend to gui
Still moving yade-qt-gui
Moving XMLManager from extensions/IOManager to serialization
Renaming back yade-qt-gui to QtGUI to try to make yade compile first ...
Renaming back yade-qt-gui to QtGUI to try to make yade compile first finished
Forgot to re-ad QtGUI to kdevelop project
Changing yade-empty-package directory tree Changing build order
Moving all MetaEngine stored inside yade core to plugin/engine/metaengine ...
Moving MetaEngine from yade to plugins
Moving MetaEngine from yade to plugins
Moving MetaEngine from yade to plugins...
Modifications so that yade is compiling with new directory tree
Creating library yade-lib-serialization-qt and yade-lib-time
Changing build order and moving XMLManager to libraries
Changing build order and removing unused directory serialization
Renaming XMLManager to yade-lib-serialization-xml
Moving gui/QtGUI to libraries/yade-lib-gui-qt
Changing build order and finishing renaming of XMLManager and QtGUI
Changing the way QtGUI load OpenGLRenderingEngine so that QtGUI doesn't need anymore to link with OpenGLRenderingEngine library.
Making yade main application with flat directory structure
Making yade main application with flat directory structure
Removing all references to libraries Interactions, Body, Engine than no longer exist. Yade should now compile.
Splitted ElasticContactLaw into 2 : ElasticContactLaw and ElasticCohesiveLaw. Autocollision for hanging cloth is working without hack.
==================================================
yade-0.08.2
Fri May 6 15:57:05 2005 +0000
Olivier Galizzi (75):
Starting creating new directory structure
Directory renaming ...
renaming directories ...
Directory renaming ...
Directory renaming ...
Directory renaming ...
Directory renaming ...
Directory renaming ...
Directory renaming ...
Directory renaming ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ... s D yade/src/plugins/Engine/ActionParameterFunctor D yade/src/plugins/Engine/PhysicalAction
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Directory tree redesign ...
Finishing directory tree redesign ... not compiling yet Now starting to rename files and some directories
Renaming files ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes ...
Renaming classes is almost finished and yade is now compiling !
Renaming libraries to yade-lib-*
Renaming libraries to yade-lib-* ...
Renaming libraries to yade-lib-*
Renaming libraries to yade-lib-*
Renaming libraries to yade-lib-*
Renaming libraries to yade-lib-* done. Yade is now compiling.
Moving DataStructure to plugins ...
Moving DataStructure to plugins finished
Yade is now compiling on the first try. I removed initialization in constructor of bodyContainer, InteractionContainer ... because now container are in plugins and so compiled after yade itself.
Changing name Dispatcher/funtor to MetaEngine/EngineUnit
Changing names Dispatcher/Functor to MetaEngine/EngineUnit ...
Changing names Dispatcher/Functor to MetaEngine/EngineUnit ...
Changing names Dispatcher/Functor to MetaEngine/EngineUnit ...
Changing names Dispatcher/Functor to MetaEngine/EngineUnit ...
Changing names Dispatcher/Functor to MetaEngine/EngineUnit ...
Changing names Dispatcher/Functor to MetaEngine/EngineUnit ...
Changing names Dispatcher/Functor to MetaEngine/EngineUnit ...
Changing names Dispatcher/Functor to MetaEngine/EngineUnit ...
Changing names Dispatcher/Functor to MetaEngine/EngineUnit finished
==================================================
yade-0.08.1
Wed Apr 27 16:51:17 2005 +0000
Janek Kozicki (348):
deleted file makeSymLink, and corrected calling scripts, when current directory is not in $PATH - just added ./ everywhere
better scripts - easier to use
better script to switch dynlib on/off, but still not good enough
removed spaces at the end of line
Multimethods work! but class Factorable MUST be added, to clean mess with CollisionFunctor
correcten compile dependencies - builds again from command line
corrected (again) compile dependencies
removed couple of compiler warnings
added yade/scripts/setDebug yade/scripts/setRelease
added FIXME about serialization, and Omega constructor tells about -rdynamic flag
added comments into MAIN LOOP (currently inside NonConnexBody)
scripts now check if YADEPATH was set
scripts now checking if YADEPATH set, othervise tell user to set it
moving GUI to frontend
moved GUI to FrontEnd
added FactoryExceptions so that ClassFactory is reusable
fixed ArchiveTypes.hpp:FIXME : change SMART_POINTER to POINTER and STL_CONTAINER to CONTAINER
added ClassFactory snippet, in order to clean it and make reusable
ClassFactory now should be really reusable
starting work with Serialization (spirit)
preparing yade to use reusable snippets - do not modify those files inside yade! do it in snippets instead
now yade uses exactly the same files as snippets. DO NOT MODIFY THEM, modify snippets first, then copy here.
now yade uses boost::spirit, DO NOT MODIFY, work on snippets instead
little cleanup, before making resetable rootBody
corrected spirit. DO NOT MODIFY, please test on snippets first.
now hanging cloth uses fundamental variable [ {1 {2 3 4}} {1 {2 3 4}} ... ]
we started adding SDEC element. now SDECTestExample works. but not rotating box. and we need to clean stuff
SDECDynamicEngine starts to work with contact law
moving CollisionModel into CollisionGeometry
changing *PhaseCollider into *Collider
changing *PhaseCollider into *Collider (2)
changing *PhaseCollider into *Collider (3)
changed *PhaseCollider into *Collider, now starting with qmake static libraries inside yade directory
now yade accepts more arguments on input: filename, timestep, maxiter
added benchmark - we can easily test speed changes of yade
CollllisionFunctor does NOT need to derive from Indexable!, rearranging subprojects
changes in Math directory...
more changes in directory tree (I must commit between changes...)
more changes in directory tree (I must commit between changes... 2)
moving files around
...still not compiling..
i must commit before I move directories..
looks like I've found a solution for qmake...
looks like I've found a solution for qmake...2
finally! rearrangement of qmake/yade subtree. Serialization must be a dynlib!! it is absolutely not working as a static library!!, Omega must be freed from dependency on Vector3, this causes lots of problems (4hours to find it), 12h total, wheeeew. I Hope this work is not useless...
CollisionFunctor derived or not, from Indexable? (in g++3.3 if YES - it's faster, but rather uncorrect...)
now compiles with g++3.3, that was darn difficult to figure out, and is not slower than 94 svn status -q :)
correction in SDECDynamicEngine with PermanentLinks, and Quaternion precise rotation
added tetrahedron with permanent links, and -a flag, to say if we want autostart computations
added NullGUI, and -p flag
SDECBenchmark8k.xml is working now.
added two more examples
not working moment law - just after implementing it with JP
wtf with euler angle on y direction???
added SDECMoreTetrahedronsWithLinksMDEM3D.xml
this one works stable, but bad: data/SDECPermanentChainRotated.xml
corrected SDECRotatingBoxWithTetrahedrons.xml and FileGenerator/RotatingBox/RotatingBox.cpp
added LinkedSpheres filegenerator, small note inside Translatro.cpp - so that we can reproduce strange bahaviour changed order of REGISTER_ATTRIBUTES in NonConnexBody - interactions are first SDECDynamiCEngine has damping 0.3 now (should be attribute!!)
added SDECCollision.xml - looks really good with timestep 0.003(FIXME - should be inside .xml) and moment law uncommented(FIXME) in SDECDynamicEngine
XMLManager says line number of .xml if serialization fails, at least sometimes...
Serializtion now supports: std::map, Loki::AssocVector, std::list, std::deque, std::set, std::vector, std::pair, boost::tuple1/2/3/4/5
corrected all .pro files to include toolboxes/Libraries/AssocVector - so that yade now compiles and runs good with all that new serialization stuff
createIncludes script corrected, Makefile removed
this version of file is used to make comparision of results with Jean Patrick
corrected - works with current (unfinished) containers
moved Singleton.hpp to toolboxes/Libraries/Singleton - place where it belongs
now yade works with new serialization - added beforeSerialization, afterSerialization, beforeDeserialization, afterDesrialization
removed class Contact, in prepare for interactionContainer
added InteractionContainer (not integrated yet)
InteractionContainer integrated into yade
InteractioContainer eraseCurrent() useful for SAPColider
BodyContainer starts to work
BodyContainer with ids works, now I havr to move it into yade/Body, yade/Interaction
InteractionContainer and BodyContainer integration completed. but container classes quality/speed is not good (and tested) yet
InteractionVecSet and BodyVector
FIXED threading on multi-processor machine (not real multiprocessor, just hyper threading...)
rename BodyVector to BodyRedirectionVector
corrected BodyRedirectionVector, added comment in Singleton
scripts that allow easy switching between relative paths and paths in environemnt YADE*PATH variables
threads are now crashing little less often... (only when clicking "new view" "start" "stop")
XMLManager writes pointers in a shorter way, with _className_
preProcessAttributes postProcessAttributes
converted SDECBenchmark8k.xml
NullGUI works - for benchmars of Vector3 not in Serializable, etc..
scripts are checking all Environement Variables - more safety
fixed missing is_base_and_derived in Indexable.hpp
started with OpenGLWrapper and removed extra tabs in serialization
OpenGLWrapper starts to work - now to write all those functions from gl.h
OpenGLWrapper 50% done - and #DOUBLE_PRECISION works! (float/double)
improved SDECLinkedSpheres (momwnt law is not workingsvn status -q)
SDECCollision.xml is loading correctly, but is not working!!! - it was working previously!!
SDECCollision.xml works for dt=0.003
SDECCollision.xml and SDECTetrahedronWithLinks.xml work for dt=0.003
SDECLinkedSpheres example now is much more interesteing, with dt=0.003
fixed hack in PointerHandler, fixed SDECBenchmark8k, some .pro were release, not debug
ok, this problem in IOManager.cpp is strange...
rearranging directories.
changing directories cd...
changing directories cd...
changing directories cd...
Finished rearranging subdirectories. Now we have directory extensions (we can rename it, if there is a better name), and ClassFactory is in toolbox/Libraries, Multimethods (once there are done) should go there too, because MultiMethods have nothing to do with yade.
yade is now compiling (and works) with g++ 3.3
all .xml examples except ErrorTolerant, are now working
NullGUI is now saving results during computations. Those results can be opened with QtGUI and we can see what is computed.
added filegenerator that can import data files from SDEC
hack, which must be corrected just after adding Action, allows to measure forces during simulation
InteractionVecSet is corrected and working, yade is now compiling withi double (there was some mistake with float), but all the examples are now broken!
yade is now crashing less often, so I hope that we will never again see that error:
again was not compiling with double....
corrected some threading problems, removed MyEngine2 from DynamicEngine.pro, because it doesn't exist
added SopeTest in SimulationController
-pthreads -lpthreads are required for yade to compile with 3.3!! don`t remove them!!!!
added some comments to code regarding integration with new multimethods
started integration of multimethods
integrating new multimethods, continued...
1D, 2D MultiMethods are working in yade. but there is a bug in DynLibDispatcher, current workaround is done with a hack
added some comments to working multimethods, hack is little better, but not removed, yet
Multimethods are now working, clean, checked with valgrind, and results from older version are compared with kompare.
added two postprocessors - recording forces, and average position. but why they crash Omega.loadDynLibs(), when I use ofstream???
force recorder is not modifying data anymore, but anyway it`s dirty and must use Action, and work like real sensors!!
SDECImport uses new dialog box
changes into Interaction and Interaction container:
version 0.1.5, with many changes: - moment rotation law added, mess inside SDECDynamicEngine (three enegines in one!) - Serialization now supports almost all std, boost and Loki containers and more - math classes are separate from serialization, and done with templates (but with wild-magic license) - for storing Bodies and Interactions we now use polymorphic classes InteractionContainer and BodyContainer - yade uses threads now, but still not fully stable - switch at compile time to select float/double precision of calculation - displayed objects are now casting really cool shadows - some examples are not updated, and therefor not working. it is guaranteed that SDECBenchmark8k will always work. - BoundingVolume optimized for each kind of GeometricalModel makes computation almost twice faster - new very generic MultiMethods are added, allowing multivirtual call with extra parameters, and easy code reuse
added changelog
small correction in Interaction constructor
putting Real in all places where it is used for calculation
was not compiling because of stupid .pro problems
renamed DynLibLauncher to FunctorWrapper
changing name from SDECContactModel to SDECContactModel - but not tested yet - I must commit between subversion operations
SDECContactModel renamed to SDECContactGeometry, OK
renaming BroadCollider, NarrowCollider to BroadInteractor, NarrowInteractor, part 1
still renaming
finished renaming BroadCollider, NarrowCollider to BroadInteractor, NarrowInteractor
changed color of sphere number 1 and 10 - this is for checking the shearForce between those spheres (as we had numerically different results for float and double)
some cleaning before ActionContainer
some .pro conflicts, now it's compiling, still before ActionContainer
added empty class ActionVecVec
I added empty classes ActionForce and ActionMomentum, because I need something that ActionContainer can store classes are empty now.
So, now all classes are added: Action, ActionVecVec, ActionContainer, ActionForce, ActionMomentum, etc.. but they are empty. And it is compiling
abstract interface for ActionContainer is specified, now to fill in the class ActionVecVec ....
work inside ActionVecVec - not done yet, but is compiling
corrected compilation order (except for CollisionGeometrySet, which is a sign bigger design flaw, than just a compilation order) and xorrected SDECBenchmark8k.xml so that it is running with latest modifications
ActionContainer->reset() - resetting actions without deleting all the pointers - faster
changed the way in which ActionContainer works, now all fields are never empty. DynamicEngine (or some other actor?), when if(first) must call ActionContainer->prepare(), and then ActionContainer works much faster.
added flat kdevelop project, this is for debugging - I don't know why, but alleyoop is not showing line numbers inside dynlibs, now...
finad() and getCurrent() in containers are now returning references, as it should be faster
Body is Indexable, but we have to register SDECDiscreteElement to dispatcher, not RigidBody... it's a bug in Indexable class, or somewhere there...
Multimethods now support inheritance in Indexable objects, I had to modify in Indexable class:
possibly faster DynLibDispatcher, I was also trying to fix problem that Singleton is not deleted at end, but finally I made only some improvement, but it is still not fixed.
renaming CollisionFunctor to InteractionFunctor, part 1
renaming, part 2
renaming, part 4
renaming, part 5
renaming, part 6
finished renaming of InteractionFunctor, and I also corrected colors in qt dialog, and qt simulation-controller window. But I'm not sure about colors in qt dialog.
small change in ActionDispatcher.cpp, is faster, but if Action was holding body's id it is possible that it can be faster
corrected SDECBenchmark8k.xml, and I've checked that visually simulation is the same as previous version
renaming...
moving stuff around
moving stuff around
moving stuff around cd..
moving stuff around...
now I'll try to compile...
still trying to compile...
it is almost compiling
so it is compiling, except for CollisionGeometrySet problem
OpenGL display works with strange static_cast inside DynLibDispatcher
started with PositionOrientationRecorder
changed double to Real in few remaining places. small fixes in multimethods.
remove ParticleBallisticEngine BallisticDynamicEngine
renamed geometricalModel, interactionGeometry, boundingVolume
before renaming class name of CollisionGeometry to InteractionGeometry
renaming collistion to interaction, cd...
renaming cd...
renaming...
renaming...
renaming...
renaming...
still renaming collision to interaction...
still renaming collision to interaction...
still renaming collision to interaction...
still renaming collision to interaction...
still renaming collision to interaction...
renaming mess..
classes aggregated by Body have a prefix 'Body' in their name, to reduce confusion of class names:
fixed OpenGL display of cloth, and still renaming classess aggregated by Body
Loki library in single place, but it should be renamed to SmallLoki, or YadeLoki, because this is not an exact copy of Loki library.
added FactoryFunctors and UpdatorFunctors for BoundingVolume, GeometricalModel, etc... They are empty for now
Loki ok (just should be SmallLoki, or YadeLoki), BodyAssocVec -> BodyAssocVector
because of name conflict between Body::InteractionGeometry and Interaction::InteractionGeometry, maybe name Body::InteractionDescription will be ok? this is what I've renamed in this commit
so now we have (arrow <- means 'aggregates'):
renaming cd..
renaming cd..
renaming cd..
before renaming InteractionFunctor-s to InteractionGeometryFunctor-s
little renaming/cleaning is finished.
problem with InteractionDescriptionSet is solved, and now yade just compiles without any errors!
I have done some general cleaning - removed unnecessary constructors, deleted unused postProcessAttributes, etc..
OK/Cancel works now in file selection dialog, ActionForce2RigidBody was deleted, because ActionForce2Particle does the same job now I'm staring to work on updating GeometricalModel of Mesh2D, so that cloth will be displayed properly
changed names RigidBody to RigidBodyParameters and so on
before making correct display of cloth geometrical model I have to move Geometry into Body, because Body owns geometry, and it will not compile if I don;t move it there.
all renaming finished for now. so I'll start with proper update of geometrical model for cloth.
update of GeometricalModel for cloth is working
is compiling now with g++ 3.3, and with double
FunctorWrapper is Serializable, now - because we want Dispatcher to work with serialization, so that Functors can get extra arguments from .xml
Functors are serializable, so now I'm working on DynLibDispatcher to support this serialization of functors
Serializable functors are working, so now I'll separate damping from SDECDynamicEngine. It will be a functor, with parameters.
preaparations for ActionDampingFunctor, corrected SDECBenchmark8k.xml
damping is separated from SDECDynamicEngine and works, strange is that ActionDampingDispatcher and ActionApplyDispatcher are exactly the same!! so they should be merged into one dispatcher. maybe Action2BodyPhysicalParametersDispatcher
damping works quite good
added ActionReset - it is not inside SDECDynamicEngine - because for cloth example we have two/three engines, so they can't do a reset - because they will delete results from other engine
renamed:
stared with RotatingBox with simplespring, filegenerator...
RotatingBox example with spheres and boxes inside is working quite good - with SimpleSpringDynamicEngine
BoxStack example is working quite good. meybe it should be renamed to WallImpact, or something like that...
the real name for damping is: Cundall Non Viscous Local Damping
TimeStepper is working quite nice, and now - even SDECLinkedSpheres example is stable!
SDECParameters is now holding shearingAngle, young modulus and posiions ratio - as it should.
internal shearing angle is added, and yade is ready to compare results with sdec, although force recorder is little dirty, because it is releasing the bug ball
some small corrections, before comparing results with sdec
splitting leapfrom integrator into two parts....
added velocity recorder, and timeintegrator is split in two parts
started with lattice model
Lattice model generation starts to work.
SDECImport can also create walls made of spheres
Body::group changed into Body::groupMask (so bodies can belong to many groups - max. 16 groups, because we have 16 bits here)
supid error everywhere!!! volume of a spohere was 4/3*PI*radius*radius, EVERYWHERE!!!. the volume of a sphere should be calculated in ONLY one place!!!
so now we will make another comparision with SDEC, after sphere volume was fixed
renaming DynamicEngine to InteractionLaw renaming KinematicEngine to KinematicMotion
DynamicEngine -> InteractionLaw KinematicEngine -> KinematicMotion
renaming
DynamicEngine is ConstitutiveLaw
ApplyActionForce2Particle -> NewtonsForceLaw ApplyActionMomentum2RigidBody -> NewtonsMomentumLaw
started nice class diagram
better (but not finished) class diagram
version used for training with Julien, Frederic, and Luc
yadeExampleTimeLoop.dia (xml) almost finished
renaming Action to ActionParameter
renaming cd...
renaming cd...
renamed Action to ActionParameter
separating gravity to GravityForceFunctor - it is necessery because I'm preparing code for courses. some filegeneratr examples now have zero gravity, and empty ActionParameterContainer, that is easy to fix with ActionParameterInitializer, when doing ActionParameterInitializer, also ActionParameterReset must be done correctly and split from ActionReset. Then we have to add ActionParameter displacement, position and angularDisplacement, so that ImposeKinematicConditions will work correctly (AngularDisplacementFunctor, DisplacementFunctor (it was Rotor and Translator))
some cleaning
stared ActionParameterInitializer and ActionParameterReset
started LeapFrogOrientationIntegratorFunctor and LeapFrogPositionIntegratorFunctor
LeapFrogOrientationIntegratorFunctor LeapFrogPositionIntegratorFunctor done
renaming KinematicMotion to COndition
renaming KinematicMotion to Condition
renaming KinematicMotion to Condition
ForceCondition GravityCondition RotationCondition TranslationCondition, are OK
renaming..
renaming..
renaming..
renaming..
renaming..
renaming..
renaming..
renaming..
renamed: SDECParameters -> BodyMacroParameters SDECContactGeometry -> MacroMicroContactGeometry, and all functors SDECMacroMicroElasticRelationships -> MacroMicroElasticRelationships SDECContactPhysics -> ElasticContactParameters SDECLaw -> ElasticContactLaw
added empty classess:
added empty FEMSetTextLoaderFunctor
FEMBeam load the file correctly
FEM bodies inherit from BodyPhysicalParameters
scripts to rename classess, hopefully working correctly
I'm testing the renaming scripts:
I'm testing the scripts:
I'm testing the scripts
scripts should work now, with small human intervention
I'm testing scripts again
./renameClassFilenames FEMTetrahedronParameters FEMTetrahedronData
./renameClassDirectories FEMTetrahedronParameters FEMTetrahedronData
ComplexBody has now actors and initializers, and thanks to that FEMSetTextLoaderFunctor is working.
FEM is half done - generation works. and other stuff. Only Constitutive Law for FEM is empty - waiting to be written. But there is a compilation problem we have to compile twice now, because of linker errors in fem loader.
FEM works!!
GLDrawTetrahedron is now drawing solid tetrahedrons. but sometimes it is drawing not correctly....
corrected some comments in FEMLaw
FEM stuff is compiling correctly, some cleaning.
created directory
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-fem
created
created
created
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-qt
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-wm3math
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-loki
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-serialization
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-multimethods
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-factory
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-threads
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-opengl
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-computationalgeometry
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-massspring
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-realtime-rigidbody
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-computational-geometry D svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-computationalgeometry
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-wm3-math D svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-wm3math
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-mass-spring D svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-massspring
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-empty
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-sandbox
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-serialization-xml
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-dem-fem D svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-femdem
better openGL tetrahedron display
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-time
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-gui-qt D svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-qt
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-rendering-engine-opengl
A trunk/yade-package-fem A trunk/yade-package-fem-dem D trunk/yade-mass-spring A trunk/yade-package-realtime-rigidbody D trunk/yade-dem D trunk/yade-fem D trunk/yade-dem-fem D trunk/yade-realtime-rigidbody A trunk/yade-package-lattice D trunk/yade-lattice A trunk/yade-package-mass-spring A trunk/yade-package-dem
A trunk/yade-lib-wm3-math A trunk/yade-lib-loki D trunk/yade-rendering-engine-opengl A trunk/yade-lib-factory A trunk/yade-lib-computational-geometry D trunk/yade-multimethods A trunk/yade=lib-time A trunk/yade-lib-opengl D trunk/yade-threads D trunk/yade-wm3-math D trunk/yade-time D trunk/yade-loki A trunk/yade-lib-rendering-engine-opengl D trunk/yade-factory D trunk/yade-computational-geometry A trunk/yade-lib-multimethods D trunk/yade-opengl A trunk/yade-lib-threads
A trunk/yade-lib-time D trunk/yade-serialization-xml D trunk/yade-serialization A trunk/yade-lib-serialization-xml A trunk/yade-lib-serialization D trunk/yade=lib-time
fem-dem coupling ...
disabled stuff in QtGeneratedSimulationController
changed todo
changed something in interactions
./renameClassFirst InteractionDescription InteractingGeometry
./renameClassFilenames InteractionDescription InteractingGeometry
D yade/src/yade/Body/InteractionDescription A yade/src/yade/Body/InteractingGeometry
D yade/projects/kdevelop/yade/Body/InteractionDescription A yade/projects/kdevelop/yade/Body/InteractingGeometry A yade/projects/kdevelop/yade/Body/InteractingGeometry/InteractingGeometry.pro M yade/projects/kdevelop/yade.kdevelop
SimpleBody deleted
renameClassFirst ComplexBody MetaBody
./renameClassFilenames ComplexBody MetaBody
D yade/src/plugins/Body/InteractionDescription A yade/src/plugins/Body/InteractingGeometry D yade/src/plugins/Body/InteractionDescriptionFunctor A yade/src/plugins/Body/InteractingGeometryFunctor D yade/projects/kdevelop/plugins/Body/InteractionDescription A yade/projects/kdevelop/plugins/Body/InteractingGeometry D yade/projects/kdevelop/plugins/Body/InteractionDescriptionFunctor A yade/projects/kdevelop/plugins/Body/InteractingGeometryFunctor M yade/projects/kdevelop/plugins/Body/Body.pro M yade/projects/kdevelop/yade.kdevelop
D yade/projects/kdevelop/plugins/Body/InteractingGeometry/InteractionDescription.pro A yade/projects/kdevelop/plugins/Body/InteractingGeometry/InteractingGeometry.pro D yade/projects/kdevelop/plugins/Body/InteractingGeometryFunctor/InteractionDescriptionFunctor.pro A yade/projects/kdevelop/plugins/Body/InteractingGeometryFunctor/InteractingGeometryFunctor.pro
DeusExMachina
/renameClassFilenames Condition DeusExMachina
Condition DeusExMachina
Condition DeusExMachina
./renameClassFirst InteractionSolver ConstitutiveLaw
./renameClassFilenames InteractionSolver ConstitutiveLaw
InteractionSolver ConstitutiveLaw
InteractionSolver ConstitutiveLaw
Actor - Engine
Actor - Engine
BodyPhysicalParameters PhysicalParameters
BodyPhysicalParameters PhysicalParameters
BodyPhysicalParameters PhysicalParameters
BodyPhysicalParameters PhysicalParameters
...
...
...
...
...
...
...
...
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-empty-lib
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-package D svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-empty
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-empty-package D svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-package
updated todo
A svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk/yade-lib-serialization-contrib
we have made a great yade-empty directory structure!!
Olivier Galizzi (147):
removing ui file from CORBA IDL section and problem with moc resolved by removing trailing slash at the end of YADEPATH
moving everything into subdirectory yade (part 1)
moving everything into subdirectory yade (part 2)
changed README - better quick-guide
renaming function collisionModelisationPhase to narrowCollisionPhase
smalls changes into ContactModel, CollisionModel, Body for preparing to multimethods. Class Indexable added.
Splitting collision function into dynlibs
Multimethod implemented but not tested yet!
Indexable class not working (can't shared_dynamic_cast Serializable to Indexable)
New classes added (Factorable,Interaction,InteractionModel)
Rewriting class Factorable and InteractionModel because subversion delete their content during last commit ???
Add some toolboxes (M3D,M2D,Rand,Constants)
Some unused files were removed. The content of some files was again erased by an unknown reason?
All serialization stuff are now into a dynlib
Putting build order in the correct order
Toolboxes Distances and Intersections created
shared_dynamic_cast was changed to dynamic_pointer_cast
Adding new class for cloth simulation. There is some mess with serialization.
starting adding cloth simulation
Cloth simulation is working but some stuff are dirty
Cloth and spheres are working together but in a dirty way
Starting adding FEMBody and renaming Cloth to MassSpringBody
Putting all GUI stuff into a dynlib and new class QtGUIGenerator (that generate a qt widget from a serializable object) added
Correct some little error in QtGUIGenerator subproject
Changing build order
Minor changes + adding boxes into RotatingBox
Better tuning of rotatingBox simulation
Added not working BoxStack, and createDynamicEngine script
New SDECDiscreteElement and SDECDynamicEngine added
New simple example for SDEC added
Some minor changes in SDECDynamicEngine - but it is still not working with RotatingBox
New multimethod design (moved from omega to nonconnexbody)
Some include of Omega were missing in previous commit
Improved detection of new and old interactions (we hope it is faster)
We change the way we remember contacts from previous time step (new geometrical old physical)
Added Actor so we can choose order of main loop modules. Started to add permanent links
Added new ErrorTolerant classes
SDECTestPermanentLink.xml is now working
Added ErrorTolerant classes round 2
Added todo file, corrected examples, corrected permanents links, started to add jean patrick law
Moment law is now working better but there are still some problems
Moment law is now using Quaternion instead of weird modulo loop for computing dBeta (but still some problem)
Moment law seems now to work or at least it is much more stable
Added Translator kinematic engine
Continuing ErrorTolerantDynamicEngine and added CollisionFunctor for him
LCP solver using bi-conjugate gradient is implemented but is not working yet
Starting moving libraries AssocVector, Frontend, IOManager to correct places
added /home/evasion/galizzi/devel/yade/yade/include, libraries in correct places now
modified todo, removed some junk
Change all declaration of Math stuff so that it is using new template Vector3, Matrix3 ...
Yade is now working with new serialization of vector ...
Removed output when class are registered
Added some todo stuff
QtGUIGenerator is now able to (de)-serialize all fundamentals into a serializable
Add QtFileGenerator, for automatic file generation with Qt GUI (not completely working yet)
QtGuiGenerator and QtFileGenerator are now working
Added improvements into QtGUIGenerator and QtFileGenerator
All Qt libraries are now in one library. Improved version of QtGUIGenerator
Removed directory QtFileGenerator and QtGUIGenerator
Created new qt controller for simulation and new opengl library
New SimulationController is now working
Started moving simulation loop from glViewer to a specific thread
Added ThreadSynchronizer. Yade is now working with external simulation loop
Improved thread management. Multiple views are now working
Improved GUI. Is ThreadSynchronizer really working ?
Improved version of Threads library
Added omitted Thread* files
Changes into ThreadSynchronizer
Much better version of Thread library and multithreaded QGLViewer
Reenabling GUI updater thread
Now we use InteractionHashMap by default because InteractionVecSet is not ready yet
Added RenderingEngines
Changing build order
Shadow added but not working yet because of problems with stencil buffer
Shadows are working but not when they overlap
Changing stencil function solved the problem with overlapping shadows
Better lighting parameters
Faster shadow. Only 1 rendering instead of 3 and use of QUAD_STRIP
Improved QtGUI
Improved QtGUI
some changes in shadows
Improved SDECSpheresPlanes
Improved fast shadow volumes
Added new classes for bounding volume management (not used yet)
Bounding volume are now both indexalbe and a GeometricalModel
BoundingVolume update is now done into an actor
Improved version of GLWindowManager library
Improved GUI with (de)-serialization of RenderingEngine into SimulationController
Improved version of QtGUIGenerator. Now boolean are represented by checkboxes instead of linedits
Better handling of start,stop and reload simulation. Thread now terminate when associated window is closed
Update in BoundingVolume updating. Now it is working for rootBody through it CollisionGeometrySet. Scene is now dynamically centered when file is loaded
Changes into FileGenerator
Fixed some problems with FileGenerators
Boxes are now casting shadows
Boxes are now casting shadows
Better handling of thread into GUI. But they are still problems especially if you close the first GLWindows because it contain the GLContext where the GL lists are stored
Improved stability
Threads improvement
Somes changes into Thread and GUI
Mush better handling of threads, open/close ... it is never crashing on my laptop at least
Now yade is no more segfaulting on exit
Display list are now builded at each new creation of RenderingEngine
Changes into threads
Added createDynlib script
Added Messagedialog
Fix error when reloading simulation and display list are now not built several times
Redesigned the way we use boost::lock
Added mutex into Threadable sleep method
Added changes from snippets Thread
Better handling of real simulation duration
Improved GUI
Persistent SAPCollider is now working.
Added PersistantSAPCollider files that were missing in previous revision
Added script addClassToDynLib
Fix crash with permanent links.
Added clas InteractionPhysics Added subproject InteractionPhysics Renamed subproject InteractionModel to InterationGeometry
Added into SVN repository omitted files InteractionPhysics
Problem with InteractionPhysics
Corrected kdevelop mistakes due to introduction of InteractionPhysics
Added SDECContactPhysics and SDECPermanentLinkPhysics
Fix mistake into SDECPermentLink : Some attributes were not registered
Implemented InteractionPhysics and InteractionGeometry
Updated todo list : Switch all possible dynamic_pointer_cast to PointedType * p = static_cast<PointedType*>(shared_p.get())
Added Action, ActionContainer, SDECLinearContactModel, PhysicalInteractor. We started redesign to introduce Action which are the response of a DynamicEngine to an Interaction and acts on body.
Adding factorable macros into Action and ActionContainer
Add function add,sub and reset into Action classes. Almost finished action container.
You have to call createIndex() from constructor of all Indexable class. Before adding displatcher for applying Actions.
Added ActionDispatcher. Now we want to use it.
Now ActionDispatcher is working.
Added omitted files from previous commit.
Added single step button in QtGUI Better SpheresPlanes FileGenerator
Started to rename and move SimpleNarrowCollider and classes related to InteractionPhysics
InteractionPhysicsDispatcher starts to works. But we have to make BodyPhysics
HangingCloth is working again but it is designed using Yade framework
Small changes into MassSpring so that it is faster
Added BodyPhysics class and moved all type of bodies into subdirectory BodyPhysics
To add BodyPhysicalParameter we have to make OpenGLDispatchers. So we started to add all of them.
OpenGL continued...
Stuff with BodyPhysicalParameters is compiling .
Corrected some bugs due to introduction of BodyPhysicalParameters
Created TimeIntegratorFunctor and Dispatcher. BallisticDynamicEngine is now LeapFrogIntegrator
Corrected KinematicEngine. MassSpring cloth is now working : but we still have to update geometricalModel
Added layout and scrollview to QTGUI
corrected function name into Quaternion
Added file yade.sxw which contain concept and spirit of yade
Added tree file to rename files and directories
Added some concepts into yade.sxw
== START sections template - copy it to the top after each release, so that people can add their ChangeLog entries in a proper section ==
Alpha shapes
Bug fixes
Clang-format & reorganize
Clumps
Documentation / Comments
Examples
Fluid & thermal & particle saturation
GUI
High precision RealHP<N> ComplexHP<N>
LevelSet & Vol. Interacting LevelSet
OpenMPI calculations
Packaging improvements & building
Polyhedra / Facets
PotentialParticles / Blocks
Small improvements
Tests & checks & CI
== END sections template ==
== START Another categories template, to use at the top of this file ==
Bug Fixes
*********
Code Formatting & Organization
******************************
Documentation & Comments
************************
Examples
********
User Interface (GUI)
********************
Models & Shapes
***************
Alpha shapes
------------
Clumps
------
Fluid & thermal & particle saturation
-------------------------------------
LevelSet & Volume Interacting LevelSet
--------------------------------------
Polyhedra / Facets
------------------
PotentialParticles / Blocks
---------------------------
OpenMPI / OpenMP threads
************************
OpenFoam coupling
*****************
Packaging & Build Improvements
******************************
Small Enhancements
******************
Testing & Continuous Integration
********************************
== END Another categories template ==
|