File: ChangeLog

package info (click to toggle)
yade 2025.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,308 kB
  • sloc: cpp: 93,298; python: 50,409; sh: 577; makefile: 162
file content (9809 lines) | stat: -rw-r--r-- 868,371 bytes parent folder | download | duplicates (2)
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; <=&lt; 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 ==