{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.gepayvNL/b1/yade_2024.02a-1_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.gepayvNL/b2/yade_2024.02a-1_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,6 +1,6 @@\n \n c2edd065faa58d00b79cbe1c7d872104 15811628 debug optional libyade-dbgsym_2024.02a-1_amd64.deb\n 204440e62ea3315688942c06df154add 67973888 science optional libyade_2024.02a-1_amd64.deb\n 1d81c68aea17327050ba2639b272dac1 291948 python optional python3-yade_2024.02a-1_amd64.deb\n- d1ecc2dfb008b39b58d5830045258196 8047564 doc optional yade-doc_2024.02a-1_all.deb\n- 5592bdefc968ea757b1341a998aa702e 2414740 science optional yade_2024.02a-1_amd64.deb\n+ d04b26df158258eeed10ab7550f0a7ec 8045260 doc optional yade-doc_2024.02a-1_all.deb\n+ 01487d906648e768abaec843279072cf 2415012 science optional yade_2024.02a-1_amd64.deb\n"}, {"source1": "yade-doc_2024.02a-1_all.deb", "source2": "yade-doc_2024.02a-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-02-10 08:19:39.000000 debian-binary\n--rw-r--r-- 0 0 0 9004 2024-02-10 08:19:39.000000 control.tar.xz\n--rw-r--r-- 0 0 0 8038368 2024-02-10 08:19:39.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 8996 2024-02-10 08:19:39.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 8036072 2024-02-10 08:19:39.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: yade-doc\n Source: yade\n Version: 2024.02a-1\n Architecture: all\n Maintainer: Debian Science Maintainers \n-Installed-Size: 30969\n+Installed-Size: 30961\n Depends: libjs-sphinxdoc (>= 7.2.2), libjs-mathjax\n Recommends: yade\n Section: doc\n Priority: optional\n Multi-Arch: foreign\n Homepage: https://yade-dem.org/doc/\n Description: Platform for discrete element modeling. Documentation\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}, {"source1": "line order", "source2": "line order", "unified_diff": "@@ -28,62 +28,62 @@\n usr/share/doc/yade/html/_images/clusteredBonds2.png\n usr/share/doc/yade/html/_images/connect.png\n usr/share/doc/yade/html/_images/dispatch-loop.png\n usr/share/doc/yade/html/_images/funnel.png\n usr/share/doc/yade/html/_images/gnuplot.png\n usr/share/doc/yade/html/_images/graphviz-026e1bdf412147766472ddfdaf48b32402babcac.png\n usr/share/doc/yade/html/_images/graphviz-026e1bdf412147766472ddfdaf48b32402babcac.png.map\n-usr/share/doc/yade/html/_images/graphviz-074dfc96e9799727b259019334fd20f6fe2e245d.png\n-usr/share/doc/yade/html/_images/graphviz-074dfc96e9799727b259019334fd20f6fe2e245d.png.map\n-usr/share/doc/yade/html/_images/graphviz-0a4a41c87c3cd011acdd0925a5322d245aaad22e.png\n-usr/share/doc/yade/html/_images/graphviz-0a4a41c87c3cd011acdd0925a5322d245aaad22e.png.map\n-usr/share/doc/yade/html/_images/graphviz-0aefe59e00f45abaf0ae5974b5afcf3876f5e1ce.png\n-usr/share/doc/yade/html/_images/graphviz-0aefe59e00f45abaf0ae5974b5afcf3876f5e1ce.png.map\n-usr/share/doc/yade/html/_images/graphviz-107be9f5b4909c78fd94debc5819204c7cffb923.png\n-usr/share/doc/yade/html/_images/graphviz-107be9f5b4909c78fd94debc5819204c7cffb923.png.map\n-usr/share/doc/yade/html/_images/graphviz-13c170358a3e275d54dbe5ef6bcbf43c2fe7369c.png\n-usr/share/doc/yade/html/_images/graphviz-13c170358a3e275d54dbe5ef6bcbf43c2fe7369c.png.map\n+usr/share/doc/yade/html/_images/graphviz-096a8ad2249663fd9316831b9a2019aed4277e9d.png\n+usr/share/doc/yade/html/_images/graphviz-096a8ad2249663fd9316831b9a2019aed4277e9d.png.map\n+usr/share/doc/yade/html/_images/graphviz-17bfe631a17a2c47a0b9225d6c628db7d7848d3c.png\n+usr/share/doc/yade/html/_images/graphviz-17bfe631a17a2c47a0b9225d6c628db7d7848d3c.png.map\n usr/share/doc/yade/html/_images/graphviz-17f9812096113ae486215e7db30e452a557e728d.png\n usr/share/doc/yade/html/_images/graphviz-17f9812096113ae486215e7db30e452a557e728d.png.map\n-usr/share/doc/yade/html/_images/graphviz-1808fea3a20c38d4cd0b6aa3f24fe72a560e2e91.png\n-usr/share/doc/yade/html/_images/graphviz-1808fea3a20c38d4cd0b6aa3f24fe72a560e2e91.png.map\n-usr/share/doc/yade/html/_images/graphviz-276a15721907526623594a980c55509b4ae67121.png\n-usr/share/doc/yade/html/_images/graphviz-276a15721907526623594a980c55509b4ae67121.png.map\n+usr/share/doc/yade/html/_images/graphviz-20f6abc1cefbe637270246b3e5bf422a00da1f83.png\n+usr/share/doc/yade/html/_images/graphviz-20f6abc1cefbe637270246b3e5bf422a00da1f83.png.map\n+usr/share/doc/yade/html/_images/graphviz-29d886276218a46b374ae5d69a8de40a95e06752.png\n+usr/share/doc/yade/html/_images/graphviz-29d886276218a46b374ae5d69a8de40a95e06752.png.map\n+usr/share/doc/yade/html/_images/graphviz-2a483ba8257a71727ab479f3edb66ed64594646b.png\n+usr/share/doc/yade/html/_images/graphviz-2a483ba8257a71727ab479f3edb66ed64594646b.png.map\n usr/share/doc/yade/html/_images/graphviz-313fdbdba9383b7efb584d04116c8791b14e7973.png\n usr/share/doc/yade/html/_images/graphviz-313fdbdba9383b7efb584d04116c8791b14e7973.png.map\n-usr/share/doc/yade/html/_images/graphviz-366786bf2c56b36d359ec17b9ce652faf9c8d1d9.png\n-usr/share/doc/yade/html/_images/graphviz-366786bf2c56b36d359ec17b9ce652faf9c8d1d9.png.map\n-usr/share/doc/yade/html/_images/graphviz-38391193205e47fbdb57aff5f2abce6e05321bc3.png\n-usr/share/doc/yade/html/_images/graphviz-38391193205e47fbdb57aff5f2abce6e05321bc3.png.map\n-usr/share/doc/yade/html/_images/graphviz-4e3c2643e358321e88d2319defec48c0bcef3db7.png\n-usr/share/doc/yade/html/_images/graphviz-4e3c2643e358321e88d2319defec48c0bcef3db7.png.map\n-usr/share/doc/yade/html/_images/graphviz-4f1fc9a7013f32c436b5eb3bf3386e390b9a9d23.png\n-usr/share/doc/yade/html/_images/graphviz-4f1fc9a7013f32c436b5eb3bf3386e390b9a9d23.png.map\n-usr/share/doc/yade/html/_images/graphviz-81a7d122579d0c5b5d1b0eeed597f02659670ad7.png\n-usr/share/doc/yade/html/_images/graphviz-81a7d122579d0c5b5d1b0eeed597f02659670ad7.png.map\n-usr/share/doc/yade/html/_images/graphviz-83cfced80f5d4a7e72c394ef55e65198f2a53ed4.png\n-usr/share/doc/yade/html/_images/graphviz-83cfced80f5d4a7e72c394ef55e65198f2a53ed4.png.map\n-usr/share/doc/yade/html/_images/graphviz-882c411b862655b9714e77b2bbb3eddbe4506e17.png\n-usr/share/doc/yade/html/_images/graphviz-882c411b862655b9714e77b2bbb3eddbe4506e17.png.map\n+usr/share/doc/yade/html/_images/graphviz-3223860f5e033837128fdfacbab13b5404ae3709.png\n+usr/share/doc/yade/html/_images/graphviz-3223860f5e033837128fdfacbab13b5404ae3709.png.map\n+usr/share/doc/yade/html/_images/graphviz-3fb13b6cbb973040c76514a05f45a7a87d9d9040.png\n+usr/share/doc/yade/html/_images/graphviz-3fb13b6cbb973040c76514a05f45a7a87d9d9040.png.map\n+usr/share/doc/yade/html/_images/graphviz-4ef2eaa62153ff8574755392eca7d99c71473565.png\n+usr/share/doc/yade/html/_images/graphviz-4ef2eaa62153ff8574755392eca7d99c71473565.png.map\n+usr/share/doc/yade/html/_images/graphviz-70288add9f5a28d218cd7274bf3bd78e91807378.png\n+usr/share/doc/yade/html/_images/graphviz-70288add9f5a28d218cd7274bf3bd78e91807378.png.map\n+usr/share/doc/yade/html/_images/graphviz-72fe811d1f0727f5492ec2ccfdb8aa9ae01469a6.png\n+usr/share/doc/yade/html/_images/graphviz-72fe811d1f0727f5492ec2ccfdb8aa9ae01469a6.png.map\n+usr/share/doc/yade/html/_images/graphviz-76607aa9c9c5c9c6abb99fddf4223131c02b8d1d.png\n+usr/share/doc/yade/html/_images/graphviz-76607aa9c9c5c9c6abb99fddf4223131c02b8d1d.png.map\n+usr/share/doc/yade/html/_images/graphviz-7b227d9efedf28b2c45dae7a66a9b9feea748556.png\n+usr/share/doc/yade/html/_images/graphviz-7b227d9efedf28b2c45dae7a66a9b9feea748556.png.map\n+usr/share/doc/yade/html/_images/graphviz-80d26d2c402e21cd5cd70a6808bda247ce323a5a.png\n+usr/share/doc/yade/html/_images/graphviz-80d26d2c402e21cd5cd70a6808bda247ce323a5a.png.map\n usr/share/doc/yade/html/_images/graphviz-8a4f0345616595e17b13b371bf9c8561ae5d0e0a.png\n usr/share/doc/yade/html/_images/graphviz-8a4f0345616595e17b13b371bf9c8561ae5d0e0a.png.map\n-usr/share/doc/yade/html/_images/graphviz-8e06af367df9012c9a493fb551a5b776b36be08d.png\n-usr/share/doc/yade/html/_images/graphviz-8e06af367df9012c9a493fb551a5b776b36be08d.png.map\n-usr/share/doc/yade/html/_images/graphviz-981479fc69f12c6234b7d78e7ccbfb1beb7ade8a.png\n-usr/share/doc/yade/html/_images/graphviz-981479fc69f12c6234b7d78e7ccbfb1beb7ade8a.png.map\n-usr/share/doc/yade/html/_images/graphviz-9be7689398a3a27d3d52ac630f978043f3731a7f.png\n-usr/share/doc/yade/html/_images/graphviz-9be7689398a3a27d3d52ac630f978043f3731a7f.png.map\n-usr/share/doc/yade/html/_images/graphviz-ad56aa0af6c86b4b8f90d5d7e4ad1245bcf598f1.png\n-usr/share/doc/yade/html/_images/graphviz-ad56aa0af6c86b4b8f90d5d7e4ad1245bcf598f1.png.map\n-usr/share/doc/yade/html/_images/graphviz-b3744f157c93378bdce3246db6dc87a43277a473.png\n-usr/share/doc/yade/html/_images/graphviz-b3744f157c93378bdce3246db6dc87a43277a473.png.map\n-usr/share/doc/yade/html/_images/graphviz-d4f57527196c008850b8ddecea5f0d920c27a2af.png\n-usr/share/doc/yade/html/_images/graphviz-d4f57527196c008850b8ddecea5f0d920c27a2af.png.map\n+usr/share/doc/yade/html/_images/graphviz-a506055a2b97c4536e13af610020acc55854328f.png\n+usr/share/doc/yade/html/_images/graphviz-a506055a2b97c4536e13af610020acc55854328f.png.map\n+usr/share/doc/yade/html/_images/graphviz-ad1b210c404b47515d68d58a32ca143385fc1819.png\n+usr/share/doc/yade/html/_images/graphviz-ad1b210c404b47515d68d58a32ca143385fc1819.png.map\n+usr/share/doc/yade/html/_images/graphviz-c161a15c85e66aa009af68a0d6a79c741ca33ec3.png\n+usr/share/doc/yade/html/_images/graphviz-c161a15c85e66aa009af68a0d6a79c741ca33ec3.png.map\n+usr/share/doc/yade/html/_images/graphviz-c776f2e53635ebf4f2110088ea81ee9c0617b23a.png\n+usr/share/doc/yade/html/_images/graphviz-c776f2e53635ebf4f2110088ea81ee9c0617b23a.png.map\n+usr/share/doc/yade/html/_images/graphviz-ce9914d068e6037d3005d910a43e4daf266da57e.png\n+usr/share/doc/yade/html/_images/graphviz-ce9914d068e6037d3005d910a43e4daf266da57e.png.map\n+usr/share/doc/yade/html/_images/graphviz-d354e1a802cbf2169fa86c84cb9b56dd1ea12760.png\n+usr/share/doc/yade/html/_images/graphviz-d354e1a802cbf2169fa86c84cb9b56dd1ea12760.png.map\n usr/share/doc/yade/html/_images/graphviz-d4f7fce88dafb5e53d959b0da493ec5adf1bc19f.png\n usr/share/doc/yade/html/_images/graphviz-d4f7fce88dafb5e53d959b0da493ec5adf1bc19f.png.map\n+usr/share/doc/yade/html/_images/graphviz-dec4f9eae3b0da6023118f04bd9ba9789a7cd0f3.png\n+usr/share/doc/yade/html/_images/graphviz-dec4f9eae3b0da6023118f04bd9ba9789a7cd0f3.png.map\n usr/share/doc/yade/html/_images/horse.png\n usr/share/doc/yade/html/_images/hyperboloid.png\n usr/share/doc/yade/html/_images/instancetype.png\n usr/share/doc/yade/html/_images/interaction-classes.png\n usr/share/doc/yade/html/_images/launchinstance.png\n usr/share/doc/yade/html/_images/law-functors.png\n usr/share/doc/yade/html/_images/localstrain.png\n"}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -40,62 +40,62 @@\n -rw-r--r-- 0 root (0) root (0) 281087 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/clusteredBonds2.png\n -rw-r--r-- 0 root (0) root (0) 65595 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/connect.png\n -rw-r--r-- 0 root (0) root (0) 11122 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/dispatch-loop.png\n -rw-r--r-- 0 root (0) root (0) 34276 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/funnel.png\n -rw-r--r-- 0 root (0) root (0) 12145 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/gnuplot.png\n -rw-r--r-- 0 root (0) root (0) 2604 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-026e1bdf412147766472ddfdaf48b32402babcac.png\n -rw-r--r-- 0 root (0) root (0) 318 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-026e1bdf412147766472ddfdaf48b32402babcac.png.map\n--rw-r--r-- 0 root (0) root (0) 11514 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-074dfc96e9799727b259019334fd20f6fe2e245d.png\n--rw-r--r-- 0 root (0) root (0) 792 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-074dfc96e9799727b259019334fd20f6fe2e245d.png.map\n--rw-r--r-- 0 root (0) root (0) 52872 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-0a4a41c87c3cd011acdd0925a5322d245aaad22e.png\n--rw-r--r-- 0 root (0) root (0) 3156 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-0a4a41c87c3cd011acdd0925a5322d245aaad22e.png.map\n--rw-r--r-- 0 root (0) root (0) 4700 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-0aefe59e00f45abaf0ae5974b5afcf3876f5e1ce.png\n--rw-r--r-- 0 root (0) root (0) 454 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-0aefe59e00f45abaf0ae5974b5afcf3876f5e1ce.png.map\n--rw-r--r-- 0 root (0) root (0) 59572 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-107be9f5b4909c78fd94debc5819204c7cffb923.png\n--rw-r--r-- 0 root (0) root (0) 3001 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-107be9f5b4909c78fd94debc5819204c7cffb923.png.map\n--rw-r--r-- 0 root (0) root (0) 89447 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-13c170358a3e275d54dbe5ef6bcbf43c2fe7369c.png\n--rw-r--r-- 0 root (0) root (0) 3442 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-13c170358a3e275d54dbe5ef6bcbf43c2fe7369c.png.map\n+-rw-r--r-- 0 root (0) root (0) 106135 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-096a8ad2249663fd9316831b9a2019aed4277e9d.png\n+-rw-r--r-- 0 root (0) root (0) 4557 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-096a8ad2249663fd9316831b9a2019aed4277e9d.png.map\n+-rw-r--r-- 0 root (0) root (0) 55654 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-17bfe631a17a2c47a0b9225d6c628db7d7848d3c.png\n+-rw-r--r-- 0 root (0) root (0) 2866 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-17bfe631a17a2c47a0b9225d6c628db7d7848d3c.png.map\n -rw-r--r-- 0 root (0) root (0) 5911 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-17f9812096113ae486215e7db30e452a557e728d.png\n -rw-r--r-- 0 root (0) root (0) 458 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-17f9812096113ae486215e7db30e452a557e728d.png.map\n--rw-r--r-- 0 root (0) root (0) 105647 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-1808fea3a20c38d4cd0b6aa3f24fe72a560e2e91.png\n--rw-r--r-- 0 root (0) root (0) 4559 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-1808fea3a20c38d4cd0b6aa3f24fe72a560e2e91.png.map\n--rw-r--r-- 0 root (0) root (0) 30169 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-276a15721907526623594a980c55509b4ae67121.png\n--rw-r--r-- 0 root (0) root (0) 1905 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-276a15721907526623594a980c55509b4ae67121.png.map\n+-rw-r--r-- 0 root (0) root (0) 32916 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-20f6abc1cefbe637270246b3e5bf422a00da1f83.png\n+-rw-r--r-- 0 root (0) root (0) 1582 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-20f6abc1cefbe637270246b3e5bf422a00da1f83.png.map\n+-rw-r--r-- 0 root (0) root (0) 37267 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-29d886276218a46b374ae5d69a8de40a95e06752.png\n+-rw-r--r-- 0 root (0) root (0) 1628 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-29d886276218a46b374ae5d69a8de40a95e06752.png.map\n+-rw-r--r-- 0 root (0) root (0) 60063 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-2a483ba8257a71727ab479f3edb66ed64594646b.png\n+-rw-r--r-- 0 root (0) root (0) 2403 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-2a483ba8257a71727ab479f3edb66ed64594646b.png.map\n -rw-r--r-- 0 root (0) root (0) 3885 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-313fdbdba9383b7efb584d04116c8791b14e7973.png\n -rw-r--r-- 0 root (0) root (0) 452 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-313fdbdba9383b7efb584d04116c8791b14e7973.png.map\n--rw-r--r-- 0 root (0) root (0) 43424 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-366786bf2c56b36d359ec17b9ce652faf9c8d1d9.png\n--rw-r--r-- 0 root (0) root (0) 2271 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-366786bf2c56b36d359ec17b9ce652faf9c8d1d9.png.map\n--rw-r--r-- 0 root (0) root (0) 37125 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-38391193205e47fbdb57aff5f2abce6e05321bc3.png\n--rw-r--r-- 0 root (0) root (0) 1628 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-38391193205e47fbdb57aff5f2abce6e05321bc3.png.map\n--rw-r--r-- 0 root (0) root (0) 10153 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-4e3c2643e358321e88d2319defec48c0bcef3db7.png\n--rw-r--r-- 0 root (0) root (0) 807 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-4e3c2643e358321e88d2319defec48c0bcef3db7.png.map\n--rw-r--r-- 0 root (0) root (0) 56542 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-4f1fc9a7013f32c436b5eb3bf3386e390b9a9d23.png\n--rw-r--r-- 0 root (0) root (0) 2869 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-4f1fc9a7013f32c436b5eb3bf3386e390b9a9d23.png.map\n--rw-r--r-- 0 root (0) root (0) 164106 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-81a7d122579d0c5b5d1b0eeed597f02659670ad7.png\n--rw-r--r-- 0 root (0) root (0) 5565 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-81a7d122579d0c5b5d1b0eeed597f02659670ad7.png.map\n--rw-r--r-- 0 root (0) root (0) 33132 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-83cfced80f5d4a7e72c394ef55e65198f2a53ed4.png\n--rw-r--r-- 0 root (0) root (0) 1582 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-83cfced80f5d4a7e72c394ef55e65198f2a53ed4.png.map\n--rw-r--r-- 0 root (0) root (0) 11525 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-882c411b862655b9714e77b2bbb3eddbe4506e17.png\n--rw-r--r-- 0 root (0) root (0) 812 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-882c411b862655b9714e77b2bbb3eddbe4506e17.png.map\n+-rw-r--r-- 0 root (0) root (0) 166007 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-3223860f5e033837128fdfacbab13b5404ae3709.png\n+-rw-r--r-- 0 root (0) root (0) 5565 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-3223860f5e033837128fdfacbab13b5404ae3709.png.map\n+-rw-r--r-- 0 root (0) root (0) 119134 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-3fb13b6cbb973040c76514a05f45a7a87d9d9040.png\n+-rw-r--r-- 0 root (0) root (0) 4593 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-3fb13b6cbb973040c76514a05f45a7a87d9d9040.png.map\n+-rw-r--r-- 0 root (0) root (0) 11400 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-4ef2eaa62153ff8574755392eca7d99c71473565.png\n+-rw-r--r-- 0 root (0) root (0) 814 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-4ef2eaa62153ff8574755392eca7d99c71473565.png.map\n+-rw-r--r-- 0 root (0) root (0) 42564 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-70288add9f5a28d218cd7274bf3bd78e91807378.png\n+-rw-r--r-- 0 root (0) root (0) 2272 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-70288add9f5a28d218cd7274bf3bd78e91807378.png.map\n+-rw-r--r-- 0 root (0) root (0) 44619 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-72fe811d1f0727f5492ec2ccfdb8aa9ae01469a6.png\n+-rw-r--r-- 0 root (0) root (0) 1979 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-72fe811d1f0727f5492ec2ccfdb8aa9ae01469a6.png.map\n+-rw-r--r-- 0 root (0) root (0) 61072 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-76607aa9c9c5c9c6abb99fddf4223131c02b8d1d.png\n+-rw-r--r-- 0 root (0) root (0) 2999 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-76607aa9c9c5c9c6abb99fddf4223131c02b8d1d.png.map\n+-rw-r--r-- 0 root (0) root (0) 51187 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-7b227d9efedf28b2c45dae7a66a9b9feea748556.png\n+-rw-r--r-- 0 root (0) root (0) 3161 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-7b227d9efedf28b2c45dae7a66a9b9feea748556.png.map\n+-rw-r--r-- 0 root (0) root (0) 59264 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-80d26d2c402e21cd5cd70a6808bda247ce323a5a.png\n+-rw-r--r-- 0 root (0) root (0) 3108 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-80d26d2c402e21cd5cd70a6808bda247ce323a5a.png.map\n -rw-r--r-- 0 root (0) root (0) 3067 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-8a4f0345616595e17b13b371bf9c8561ae5d0e0a.png\n -rw-r--r-- 0 root (0) root (0) 324 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-8a4f0345616595e17b13b371bf9c8561ae5d0e0a.png.map\n--rw-r--r-- 0 root (0) root (0) 59216 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-8e06af367df9012c9a493fb551a5b776b36be08d.png\n--rw-r--r-- 0 root (0) root (0) 3103 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-8e06af367df9012c9a493fb551a5b776b36be08d.png.map\n--rw-r--r-- 0 root (0) root (0) 119513 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-981479fc69f12c6234b7d78e7ccbfb1beb7ade8a.png\n--rw-r--r-- 0 root (0) root (0) 4593 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-981479fc69f12c6234b7d78e7ccbfb1beb7ade8a.png.map\n--rw-r--r-- 0 root (0) root (0) 60688 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-9be7689398a3a27d3d52ac630f978043f3731a7f.png\n--rw-r--r-- 0 root (0) root (0) 2403 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-9be7689398a3a27d3d52ac630f978043f3731a7f.png.map\n--rw-r--r-- 0 root (0) root (0) 45139 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-ad56aa0af6c86b4b8f90d5d7e4ad1245bcf598f1.png\n--rw-r--r-- 0 root (0) root (0) 1979 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-ad56aa0af6c86b4b8f90d5d7e4ad1245bcf598f1.png.map\n--rw-r--r-- 0 root (0) root (0) 48417 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-b3744f157c93378bdce3246db6dc87a43277a473.png\n--rw-r--r-- 0 root (0) root (0) 2338 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-b3744f157c93378bdce3246db6dc87a43277a473.png.map\n--rw-r--r-- 0 root (0) root (0) 10379 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-d4f57527196c008850b8ddecea5f0d920c27a2af.png\n--rw-r--r-- 0 root (0) root (0) 622 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-d4f57527196c008850b8ddecea5f0d920c27a2af.png.map\n+-rw-r--r-- 0 root (0) root (0) 10098 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-a506055a2b97c4536e13af610020acc55854328f.png\n+-rw-r--r-- 0 root (0) root (0) 622 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-a506055a2b97c4536e13af610020acc55854328f.png.map\n+-rw-r--r-- 0 root (0) root (0) 45380 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-ad1b210c404b47515d68d58a32ca143385fc1819.png\n+-rw-r--r-- 0 root (0) root (0) 2341 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-ad1b210c404b47515d68d58a32ca143385fc1819.png.map\n+-rw-r--r-- 0 root (0) root (0) 10153 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-c161a15c85e66aa009af68a0d6a79c741ca33ec3.png\n+-rw-r--r-- 0 root (0) root (0) 807 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-c161a15c85e66aa009af68a0d6a79c741ca33ec3.png.map\n+-rw-r--r-- 0 root (0) root (0) 87474 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-c776f2e53635ebf4f2110088ea81ee9c0617b23a.png\n+-rw-r--r-- 0 root (0) root (0) 3438 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-c776f2e53635ebf4f2110088ea81ee9c0617b23a.png.map\n+-rw-r--r-- 0 root (0) root (0) 30138 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-ce9914d068e6037d3005d910a43e4daf266da57e.png\n+-rw-r--r-- 0 root (0) root (0) 1899 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-ce9914d068e6037d3005d910a43e4daf266da57e.png.map\n+-rw-r--r-- 0 root (0) root (0) 12025 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-d354e1a802cbf2169fa86c84cb9b56dd1ea12760.png\n+-rw-r--r-- 0 root (0) root (0) 790 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-d354e1a802cbf2169fa86c84cb9b56dd1ea12760.png.map\n -rw-r--r-- 0 root (0) root (0) 1632 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-d4f7fce88dafb5e53d959b0da493ec5adf1bc19f.png\n -rw-r--r-- 0 root (0) root (0) 273 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-d4f7fce88dafb5e53d959b0da493ec5adf1bc19f.png.map\n+-rw-r--r-- 0 root (0) root (0) 4470 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-dec4f9eae3b0da6023118f04bd9ba9789a7cd0f3.png\n+-rw-r--r-- 0 root (0) root (0) 454 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/graphviz-dec4f9eae3b0da6023118f04bd9ba9789a7cd0f3.png.map\n -rw-r--r-- 0 root (0) root (0) 153804 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/horse.png\n -rw-r--r-- 0 root (0) root (0) 112017 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/hyperboloid.png\n -rw-r--r-- 0 root (0) root (0) 80661 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/instancetype.png\n -rw-r--r-- 0 root (0) root (0) 15188 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/interaction-classes.png\n -rw-r--r-- 0 root (0) root (0) 188531 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/launchinstance.png\n -rw-r--r-- 0 root (0) root (0) 12476 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/law-functors.png\n -rw-r--r-- 0 root (0) root (0) 59738 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/_images/localstrain.png\n@@ -272,43 +272,43 @@\n -rw-r--r-- 0 root (0) root (0) 12870 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/index-toctree-manuals.html\n -rw-r--r-- 0 root (0) root (0) 10823 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/index-toctree-reference.html\n -rw-r--r-- 0 root (0) root (0) 8426 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/index-toctree-theory.html\n -rw-r--r-- 0 root (0) root (0) 33010 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/index-toctree.html\n -rw-r--r-- 0 root (0) root (0) 11932 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/index-toctree_manuals.html\n -rw-r--r-- 0 root (0) root (0) 15163 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/index.html\n -rw-r--r-- 0 root (0) root (0) 84735 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/installation.html\n--rw-r--r-- 0 root (0) root (0) 91898 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/introduction.html\n+-rw-r--r-- 0 root (0) root (0) 91897 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/introduction.html\n -rw-r--r-- 0 root (0) root (0) 179764 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/modules.html\n -rw-r--r-- 0 root (0) root (0) 104412 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/mpy.html\n--rw-r--r-- 0 root (0) root (0) 88017 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/objects.inv\n+-rw-r--r-- 0 root (0) root (0) 88016 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/objects.inv\n -rw-r--r-- 0 root (0) root (0) 84237 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/potentialparticles.html\n--rw-r--r-- 0 root (0) root (0) 382679 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/prog.html\n+-rw-r--r-- 0 root (0) root (0) 382700 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/prog.html\n -rw-r--r-- 0 root (0) root (0) 209751 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/publications.html\n -rw-r--r-- 0 root (0) root (0) 12723 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/py-modindex.html\n -rw-r--r-- 0 root (0) root (0) 50831 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/references.html\n -rw-r--r-- 0 root (0) root (0) 6322 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/search.html\n--rw-r--r-- 0 root (0) root (0) 2243157 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/searchindex.js\n+-rw-r--r-- 0 root (0) root (0) 2243288 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/searchindex.js\n -rw-r--r-- 0 root (0) root (0) 15403 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-advanced.html\n -rw-r--r-- 0 root (0) root (0) 48694 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-data-mining.html\n -rw-r--r-- 0 root (0) root (0) 84500 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-examples.html\n--rw-r--r-- 0 root (0) root (0) 33164 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-geo.html\n--rw-r--r-- 0 root (0) root (0) 78347 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-hands-on.html\n+-rw-r--r-- 0 root (0) root (0) 33113 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-geo.html\n+-rw-r--r-- 0 root (0) root (0) 78499 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-hands-on.html\n -rw-r--r-- 0 root (0) root (0) 8089 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-introduction.html\n -rw-r--r-- 0 root (0) root (0) 68163 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-more-examples-fast.html\n -rw-r--r-- 0 root (0) root (0) 103418 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-more-examples.html\n -rw-r--r-- 0 root (0) root (0) 17237 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-short-course-bouncing-sphere.html\n -rw-r--r-- 0 root (0) root (0) 40549 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-short-course-fluids.html\n -rw-r--r-- 0 root (0) root (0) 13665 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-short-course-installation.html\n--rw-r--r-- 0 root (0) root (0) 46046 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-short-course-intro.html\n+-rw-r--r-- 0 root (0) root (0) 46195 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-short-course-intro.html\n -rw-r--r-- 0 root (0) root (0) 22427 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-short-course-rotating-drum.html\n -rw-r--r-- 0 root (0) root (0) 37802 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-short-course-thermal1.html\n -rw-r--r-- 0 root (0) root (0) 31269 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-short-course-thermal2.html\n -rw-r--r-- 0 root (0) root (0) 14203 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial-short-course.html\n -rw-r--r-- 0 root (0) root (0) 16240 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/tutorial.html\n--rw-r--r-- 0 root (0) root (0) 272545 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/user.html\n+-rw-r--r-- 0 root (0) root (0) 272566 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/user.html\n -rw-r--r-- 0 root (0) root (0) 27067 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.bf.html\n -rw-r--r-- 0 root (0) root (0) 18062 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.bodiesHandling.html\n -rw-r--r-- 0 root (0) root (0) 54285 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.export.html\n -rw-r--r-- 0 root (0) root (0) 44809 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.geom.html\n -rw-r--r-- 0 root (0) root (0) 61937 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.gridpfacet.html\n -rw-r--r-- 0 root (0) root (0) 29559 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.libVersions.html\n -rw-r--r-- 0 root (0) root (0) 15082 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.linterpolation.html\n@@ -320,15 +320,15 @@\n -rw-r--r-- 0 root (0) root (0) 5872891 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.plot.html\n -rw-r--r-- 0 root (0) root (0) 7792 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.polyhedra_utils.html\n -rw-r--r-- 0 root (0) root (0) 40926 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.post2d.html\n -rw-r--r-- 0 root (0) root (0) 32193 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.potential_utils.html\n -rw-r--r-- 0 root (0) root (0) 7776 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.qt.html\n -rw-r--r-- 0 root (0) root (0) 14647 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.timing.html\n -rw-r--r-- 0 root (0) root (0) 232953 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.utils.html\n--rw-r--r-- 0 root (0) root (0) 4633164 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.wrapper.html\n+-rw-r--r-- 0 root (0) root (0) 4633161 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.wrapper.html\n -rw-r--r-- 0 root (0) root (0) 53589 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yade.ymport.html\n -rw-r--r-- 0 root (0) root (0) 14011 2024-02-10 08:19:39.000000 ./usr/share/doc/yade/html/yadeTechArchive.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-02-10 08:19:39.000000 ./usr/share/doc/yade-doc/\n -rw-r--r-- 0 root (0) root (0) 4866 2024-02-10 08:19:39.000000 ./usr/share/doc/yade-doc/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 291124 2024-02-09 20:21:23.000000 ./usr/share/doc/yade-doc/changelog.gz\n -rw-r--r-- 0 root (0) root (0) 4738 2023-12-22 20:57:13.000000 ./usr/share/doc/yade-doc/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2024-02-10 08:19:39.000000 ./usr/share/doc-base/\n"}, {"source1": "./usr/share/doc/yade/html/_sources/yade.wrapper.rst.txt", "source2": "./usr/share/doc/yade/html/_sources/yade.wrapper.rst.txt", "unified_diff": "@@ -34,54 +34,54 @@\n .. graphviz::\n \t:caption: Inheritance graph of Shape.\n \n \tdigraph Shape {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"Shape\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Shape\"];\n-\t\t\"Wall\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Wall\"];\n-\t\t\"Wall\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"GridConnection\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GridConnection\"];\n-\t\t\"GridConnection\" -> \"Sphere\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"GridNode\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GridNode\"];\n-\t\t\"GridNode\" -> \"Sphere\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Lin4NodeTetra\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Lin4NodeTetra\"];\n-\t\t\"Lin4NodeTetra\" -> \"DeformableElement\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"DeformableElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DeformableElement\"];\n+\t\t\"DeformableElement\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Node\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Node\"];\n+\t\t\"Node\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Subdomain\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Subdomain\"];\n+\t\t\"Subdomain\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Facet\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Facet\"];\n \t\t\"Facet\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Cylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Cylinder\"];\n-\t\t\"Cylinder\" -> \"Sphere\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Lin4NodeTetra_Lin4NodeTetra_InteractionElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Lin4NodeTetra_Lin4NodeTetra_InteractionElement\"];\n-\t\t\"Lin4NodeTetra_Lin4NodeTetra_InteractionElement\" -> \"DeformableCohesiveElement\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Sphere\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Sphere\"];\n+\t\t\"Sphere\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ChainedCylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ChainedCylinder\"];\n+\t\t\"ChainedCylinder\" -> \"Cylinder\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Box\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Box\"];\n \t\t\"Box\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"DeformableElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DeformableElement\"];\n-\t\t\"DeformableElement\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"LevelSet\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LevelSet\"];\n-\t\t\"LevelSet\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"PFacet\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PFacet\"];\n+\t\t\"PFacet\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"GridConnection\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GridConnection\"];\n+\t\t\"GridConnection\" -> \"Sphere\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"FluidDomainBbox\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FluidDomainBbox\"];\n+\t\t\"FluidDomainBbox\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Tetra\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Tetra\"];\n \t\t\"Tetra\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Cylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Cylinder\"];\n+\t\t\"Cylinder\" -> \"Sphere\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"DeformableCohesiveElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DeformableCohesiveElement\"];\n+\t\t\"DeformableCohesiveElement\" -> \"DeformableElement\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Wall\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Wall\"];\n+\t\t\"Wall\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"LevelSet\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LevelSet\"];\n+\t\t\"LevelSet\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Lin4NodeTetra\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Lin4NodeTetra\"];\n+\t\t\"Lin4NodeTetra\" -> \"DeformableElement\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Clump\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Clump\"];\n \t\t\"Clump\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Sphere\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Sphere\"];\n-\t\t\"Sphere\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"GridNode\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GridNode\"];\n+\t\t\"GridNode\" -> \"Sphere\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Lin4NodeTetra_Lin4NodeTetra_InteractionElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Lin4NodeTetra_Lin4NodeTetra_InteractionElement\"];\n+\t\t\"Lin4NodeTetra_Lin4NodeTetra_InteractionElement\" -> \"DeformableCohesiveElement\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"PotentialParticle\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PotentialParticle\"];\n \t\t\"PotentialParticle\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Subdomain\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Subdomain\"];\n-\t\t\"Subdomain\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"DeformableCohesiveElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DeformableCohesiveElement\"];\n-\t\t\"DeformableCohesiveElement\" -> \"DeformableElement\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"PFacet\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PFacet\"];\n-\t\t\"PFacet\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"ChainedCylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ChainedCylinder\"];\n-\t\t\"ChainedCylinder\" -> \"Cylinder\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"FluidDomainBbox\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FluidDomainBbox\"];\n-\t\t\"FluidDomainBbox\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Node\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Node\"];\n-\t\t\"Node\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: Shape\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -195,22 +195,22 @@\n .. graphviz::\n \t:caption: Inheritance graph of State.\n \n \tdigraph State {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"State\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.State\"];\n-\t\t\"ChainedState\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ChainedState\"];\n-\t\t\"ChainedState\" -> \"State\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"ThermalState\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ThermalState\"];\n-\t\t\"ThermalState\" -> \"State\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"CpmState\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CpmState\"];\n \t\t\"CpmState\" -> \"State\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ChainedState\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ChainedState\"];\n+\t\t\"ChainedState\" -> \"State\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"JCFpmState\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.JCFpmState\"];\n \t\t\"JCFpmState\" -> \"ThermalState\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ThermalState\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ThermalState\"];\n+\t\t\"ThermalState\" -> \"State\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"WireState\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.WireState\"];\n \t\t\"WireState\" -> \"State\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: State\n \t:members:\n \t:undoc-members:\n@@ -251,54 +251,54 @@\n .. graphviz::\n \t:caption: Inheritance graph of Material.\n \n \tdigraph Material {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"Material\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Material\"];\n-\t\t\"LinIsoElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinIsoElastMat\"];\n-\t\t\"LinIsoElastMat\" -> \"DeformableElementMaterial\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"ElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ElastMat\"];\n-\t\t\"ElastMat\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"ViscElMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscElMat\"];\n-\t\t\"ViscElMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"WireMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.WireMat\"];\n-\t\t\"WireMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"InelastCohFrictMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InelastCohFrictMat\"];\n-\t\t\"InelastCohFrictMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"ViscElCapMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscElCapMat\"];\n-\t\t\"ViscElCapMat\" -> \"ViscElMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"JCFpmMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.JCFpmMat\"];\n \t\t\"JCFpmMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"CohFrictMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohFrictMat\"];\n-\t\t\"CohFrictMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ViscElCapMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscElCapMat\"];\n+\t\t\"ViscElCapMat\" -> \"ViscElMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"CpmMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CpmMat\"];\n \t\t\"CpmMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"LudingMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LudingMat\"];\n-\t\t\"LudingMat\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ViscElMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscElMat\"];\n+\t\t\"ViscElMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"LinCohesiveElasticMaterial\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinCohesiveElasticMaterial\"];\n+\t\t\"LinCohesiveElasticMaterial\" -> \"CohesiveDeformableElementMaterial\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"BubbleMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BubbleMat\"];\n \t\t\"BubbleMat\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"FrictViscoMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictViscoMat\"];\n-\t\t\"FrictViscoMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"WireMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.WireMat\"];\n+\t\t\"WireMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"CohFrictMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohFrictMat\"];\n+\t\t\"CohFrictMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"DeformableElementMaterial\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DeformableElementMaterial\"];\n+\t\t\"DeformableElementMaterial\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"LinIsoElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinIsoElastMat\"];\n+\t\t\"LinIsoElastMat\" -> \"DeformableElementMaterial\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"FrictMatCDM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictMatCDM\"];\n+\t\t\"FrictMatCDM\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"LinIsoRayleighDampElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinIsoRayleighDampElastMat\"];\n+\t\t\"LinIsoRayleighDampElastMat\" -> \"LinIsoElastMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"LinCohesiveStiffPropDampElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinCohesiveStiffPropDampElastMat\"];\n+\t\t\"LinCohesiveStiffPropDampElastMat\" -> \"LinCohesiveElasticMaterial\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ElastMat\"];\n+\t\t\"ElastMat\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"CohesiveDeformableElementMaterial\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohesiveDeformableElementMaterial\"];\n \t\t\"CohesiveDeformableElementMaterial\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"MortarMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MortarMat\"];\n \t\t\"MortarMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"LinCohesiveElasticMaterial\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinCohesiveElasticMaterial\"];\n-\t\t\"LinCohesiveElasticMaterial\" -> \"CohesiveDeformableElementMaterial\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"LinCohesiveStiffPropDampElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinCohesiveStiffPropDampElastMat\"];\n-\t\t\"LinCohesiveStiffPropDampElastMat\" -> \"LinCohesiveElasticMaterial\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"FrictMatCDM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictMatCDM\"];\n-\t\t\"FrictMatCDM\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"DeformableElementMaterial\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DeformableElementMaterial\"];\n-\t\t\"DeformableElementMaterial\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"FrictViscoMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictViscoMat\"];\n+\t\t\"FrictViscoMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"LudingMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LudingMat\"];\n+\t\t\"LudingMat\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"InelastCohFrictMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InelastCohFrictMat\"];\n+\t\t\"InelastCohFrictMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"FrictMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictMat\"];\n \t\t\"FrictMat\" -> \"ElastMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"LinIsoRayleighDampElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinIsoRayleighDampElastMat\"];\n-\t\t\"LinIsoRayleighDampElastMat\" -> \"LinIsoElastMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: Material\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -456,40 +456,40 @@\n .. graphviz::\n \t:caption: Inheritance graph of IGeom.\n \n \tdigraph IGeom {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"IGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IGeom\"];\n-\t\t\"ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ScGeom\"];\n-\t\t\"ScGeom\" -> \"GenericSpheresContact\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"TTetraSimpleGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TTetraSimpleGeom\"];\n-\t\t\"TTetraSimpleGeom\" -> \"IGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"ChCylGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ChCylGeom6D\"];\n-\t\t\"ChCylGeom6D\" -> \"ScGeom6D\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"GenericSpheresContact\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GenericSpheresContact\"];\n-\t\t\"GenericSpheresContact\" -> \"IGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"CylScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CylScGeom6D\"];\n \t\t\"CylScGeom6D\" -> \"ScGeom6D\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"TTetraGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TTetraGeom\"];\n-\t\t\"TTetraGeom\" -> \"IGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"CylScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CylScGeom\"];\n-\t\t\"CylScGeom\" -> \"ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ScGridCoGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ScGridCoGeom\"];\n+\t\t\"ScGridCoGeom\" -> \"ScGeom6D\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.L3Geom\"];\n \t\t\"L3Geom\" -> \"GenericSpheresContact\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"CylScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CylScGeom\"];\n+\t\t\"CylScGeom\" -> \"ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"L6Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.L6Geom\"];\n \t\t\"L6Geom\" -> \"L3Geom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ScGeom\"];\n+\t\t\"ScGeom\" -> \"GenericSpheresContact\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"GridCoGridCoGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GridCoGridCoGeom\"];\n \t\t\"GridCoGridCoGeom\" -> \"ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ChCylGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ChCylGeom6D\"];\n+\t\t\"ChCylGeom6D\" -> \"ScGeom6D\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"TTetraGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TTetraGeom\"];\n+\t\t\"TTetraGeom\" -> \"IGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"ScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ScGeom6D\"];\n \t\t\"ScGeom6D\" -> \"ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"TTetraSimpleGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TTetraSimpleGeom\"];\n+\t\t\"TTetraSimpleGeom\" -> \"IGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"GridNodeGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GridNodeGeom6D\"];\n \t\t\"GridNodeGeom6D\" -> \"ScGeom6D\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"ScGridCoGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ScGridCoGeom\"];\n-\t\t\"ScGridCoGeom\" -> \"ScGeom6D\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"GenericSpheresContact\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GenericSpheresContact\"];\n+\t\t\"GenericSpheresContact\" -> \"IGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: IGeom\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -568,58 +568,58 @@\n .. graphviz::\n \t:caption: Inheritance graph of IPhys.\n \n \tdigraph IPhys {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"IPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IPhys\"];\n+\t\t\"KnKsPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KnKsPhys\"];\n+\t\t\"KnKsPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ViscoFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscoFrictPhys\"];\n+\t\t\"ViscoFrictPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"CapillaryPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CapillaryPhys\"];\n+\t\t\"CapillaryPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"FrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictPhys\"];\n \t\t\"FrictPhys\" -> \"NormShearPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"WirePhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.WirePhys\"];\n-\t\t\"WirePhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"LubricationPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LubricationPhys\"];\n-\t\t\"LubricationPhys\" -> \"ViscElPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"MindlinPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MindlinPhys\"];\n-\t\t\"MindlinPhys\" -> \"RotStiffFrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"InelastCohFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InelastCohFrictPhys\"];\n-\t\t\"InelastCohFrictPhys\" -> \"RotStiffFrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"NormPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.NormPhys\"];\n \t\t\"NormPhys\" -> \"IPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"RotStiffFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RotStiffFrictPhys\"];\n-\t\t\"RotStiffFrictPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"ViscElCapPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscElCapPhys\"];\n \t\t\"ViscElCapPhys\" -> \"ViscElPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"CapillaryPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CapillaryPhys\"];\n-\t\t\"CapillaryPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"NormShearPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.NormShearPhys\"];\n-\t\t\"NormShearPhys\" -> \"NormPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"CpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CpmPhys\"];\n-\t\t\"CpmPhys\" -> \"NormShearPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"MindlinPhysCDM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MindlinPhysCDM\"];\n-\t\t\"MindlinPhysCDM\" -> \"MindlinPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"JCFpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.JCFpmPhys\"];\n+\t\t\"JCFpmPhys\" -> \"NormShearPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"CohFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohFrictPhys\"];\n \t\t\"CohFrictPhys\" -> \"RotStiffFrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"FrictViscoPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictViscoPhys\"];\n+\t\t\"FrictViscoPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"MortarPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MortarPhys\"];\n \t\t\"MortarPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"KnKsPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KnKsPhys\"];\n-\t\t\"KnKsPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"BubblePhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BubblePhys\"];\n-\t\t\"BubblePhys\" -> \"IPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"WirePhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.WirePhys\"];\n+\t\t\"WirePhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"MindlinPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MindlinPhys\"];\n+\t\t\"MindlinPhys\" -> \"RotStiffFrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"ViscElPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscElPhys\"];\n \t\t\"ViscElPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"JCFpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.JCFpmPhys\"];\n-\t\t\"JCFpmPhys\" -> \"NormShearPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"MindlinCapillaryPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MindlinCapillaryPhys\"];\n-\t\t\"MindlinCapillaryPhys\" -> \"MindlinPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"ViscoFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscoFrictPhys\"];\n-\t\t\"ViscoFrictPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"FrictViscoPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictViscoPhys\"];\n-\t\t\"FrictViscoPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"LubricationPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LubricationPhys\"];\n+\t\t\"LubricationPhys\" -> \"ViscElPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"RotStiffFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RotStiffFrictPhys\"];\n+\t\t\"RotStiffFrictPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"BubblePhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BubblePhys\"];\n+\t\t\"BubblePhys\" -> \"IPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"NormShearPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.NormShearPhys\"];\n+\t\t\"NormShearPhys\" -> \"NormPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"InelastCohFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InelastCohFrictPhys\"];\n+\t\t\"InelastCohFrictPhys\" -> \"RotStiffFrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"LudingPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LudingPhys\"];\n \t\t\"LudingPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"CpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CpmPhys\"];\n+\t\t\"CpmPhys\" -> \"NormShearPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"MindlinCapillaryPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MindlinCapillaryPhys\"];\n+\t\t\"MindlinCapillaryPhys\" -> \"MindlinPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"MindlinPhysCDM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MindlinPhysCDM\"];\n+\t\t\"MindlinPhysCDM\" -> \"MindlinPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: IPhys\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -741,64 +741,64 @@\n \n GlobalEngine\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n \n .. _inheritanceGraphGlobalEngine:\n \n .. graphviz::\n-\t:caption: Inheritance graph of GlobalEngine, gray dashed classes are discussed in their own sections: :ref:`Collider`, :ref:`BoundaryController`, :ref:`PeriodicEngine`, :ref:`FieldApplier`.\n+\t:caption: Inheritance graph of GlobalEngine, gray dashed classes are discussed in their own sections: :ref:`PeriodicEngine`, :ref:`FieldApplier`, :ref:`BoundaryController`, :ref:`Collider`.\n \n \tdigraph GlobalEngine {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"GlobalEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlobalEngine\"];\n+\t\t\"PeriodicEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphperiodicengine\"];\n+\t\t\"PeriodicEngine\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"CircularFactory\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CircularFactory\"];\n+\t\t\"CircularFactory\" -> \"SpheresFactory\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"SpheresFactory\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SpheresFactory\"];\n+\t\t\"SpheresFactory\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"GlobalStiffnessTimeStepper\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlobalStiffnessTimeStepper\"];\n+\t\t\"GlobalStiffnessTimeStepper\" -> \"TimeStepper\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom_CapillaryPhys_Capillarity\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_CapillaryPhys_Capillarity\"];\n+\t\t\"Law2_ScGeom_CapillaryPhys_Capillarity\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Integrator\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Integrator\"];\n+\t\t\"Integrator\" -> \"TimeStepper\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"FEInternalForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FEInternalForceEngine\"];\n+\t\t\"FEInternalForceEngine\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"BoxFactory\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BoxFactory\"];\n+\t\t\"BoxFactory\" -> \"SpheresFactory\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"HydrodynamicsLawLBM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HydrodynamicsLawLBM\"];\n \t\t\"HydrodynamicsLawLBM\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"TetraVolumetricLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TetraVolumetricLaw\"];\n+\t\t\"TetraVolumetricLaw\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"TimeStepper\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TimeStepper\"];\n+\t\t\"TimeStepper\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"InteractionLoop\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InteractionLoop\"];\n \t\t\"InteractionLoop\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"CohesiveFrictionalContactLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohesiveFrictionalContactLaw\"];\n-\t\t\"CohesiveFrictionalContactLaw\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"FieldApplier\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphfieldapplier\"];\n+\t\t\"FieldApplier\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"BoundaryController\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphboundarycontroller\"];\n+\t\t\"BoundaryController\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"NewtonIntegrator\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.NewtonIntegrator\"];\n \t\t\"NewtonIntegrator\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Collider\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphcollider\"];\n-\t\t\"Collider\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"TimeStepper\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TimeStepper\"];\n-\t\t\"TimeStepper\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"FacetTopologyAnalyzer\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FacetTopologyAnalyzer\"];\n \t\t\"FacetTopologyAnalyzer\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"FEInternalForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FEInternalForceEngine\"];\n-\t\t\"FEInternalForceEngine\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"ElasticContactLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ElasticContactLaw\"];\n-\t\t\"ElasticContactLaw\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"FoamCoupling\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FoamCoupling\"];\n+\t\t\"FoamCoupling\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"CohesiveFrictionalContactLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohesiveFrictionalContactLaw\"];\n+\t\t\"CohesiveFrictionalContactLaw\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"ForceResetter\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ForceResetter\"];\n \t\t\"ForceResetter\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"GlobalStiffnessTimeStepper\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlobalStiffnessTimeStepper\"];\n-\t\t\"GlobalStiffnessTimeStepper\" -> \"TimeStepper\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"SpheresFactory\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SpheresFactory\"];\n-\t\t\"SpheresFactory\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ElasticContactLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ElasticContactLaw\"];\n+\t\t\"ElasticContactLaw\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"RungeKuttaCashKarp54Integrator\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RungeKuttaCashKarp54Integrator\"];\n \t\t\"RungeKuttaCashKarp54Integrator\" -> \"Integrator\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGeom_CapillaryPhys_Capillarity\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_CapillaryPhys_Capillarity\"];\n-\t\t\"Law2_ScGeom_CapillaryPhys_Capillarity\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"BoundaryController\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphboundarycontroller\"];\n-\t\t\"BoundaryController\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"PeriodicEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphperiodicengine\"];\n-\t\t\"PeriodicEngine\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"CircularFactory\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CircularFactory\"];\n-\t\t\"CircularFactory\" -> \"SpheresFactory\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"BoxFactory\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BoxFactory\"];\n-\t\t\"BoxFactory\" -> \"SpheresFactory\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"TetraVolumetricLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TetraVolumetricLaw\"];\n-\t\t\"TetraVolumetricLaw\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"FoamCoupling\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FoamCoupling\"];\n-\t\t\"FoamCoupling\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Integrator\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Integrator\"];\n-\t\t\"Integrator\" -> \"TimeStepper\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"FieldApplier\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphfieldapplier\"];\n-\t\t\"FieldApplier\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Collider\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphcollider\"];\n+\t\t\"Collider\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: GlobalEngine\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -902,44 +902,44 @@\n .. graphviz::\n \t:caption: Inheritance graph of PeriodicEngine.\n \n \tdigraph PeriodicEngine {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"PeriodicEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PeriodicEngine\"];\n-\t\t\"CpmStateUpdater\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CpmStateUpdater\"];\n-\t\t\"CpmStateUpdater\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"TorqueRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TorqueRecorder\"];\n-\t\t\"TorqueRecorder\" -> \"Recorder\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"VTKRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.VTKRecorder\"];\n-\t\t\"VTKRecorder\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"MeasureCapStress\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MeasureCapStress\"];\n-\t\t\"MeasureCapStress\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"DomainLimiter\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DomainLimiter\"];\n-\t\t\"DomainLimiter\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"PotentialParticleVTKRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PotentialParticleVTKRecorder\"];\n \t\t\"PotentialParticleVTKRecorder\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"SnapshotEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SnapshotEngine\"];\n+\t\t\"SnapshotEngine\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"PyRunner\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PyRunner\"];\n+\t\t\"PyRunner\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"LubricationPDFEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LubricationPDFEngine\"];\n+\t\t\"LubricationPDFEngine\" -> \"PDFEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"PDFEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PDFEngine\"];\n \t\t\"PDFEngine\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Recorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Recorder\"];\n \t\t\"Recorder\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"TorqueRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TorqueRecorder\"];\n+\t\t\"TorqueRecorder\" -> \"Recorder\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ResetRandomPosition\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ResetRandomPosition\"];\n+\t\t\"ResetRandomPosition\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ForceRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ForceRecorder\"];\n+\t\t\"ForceRecorder\" -> \"Recorder\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"VTKRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.VTKRecorder\"];\n+\t\t\"VTKRecorder\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"CapillaryStressRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CapillaryStressRecorder\"];\n \t\t\"CapillaryStressRecorder\" -> \"Recorder\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"TriaxialStateRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TriaxialStateRecorder\"];\n \t\t\"TriaxialStateRecorder\" -> \"Recorder\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"SnapshotEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SnapshotEngine\"];\n-\t\t\"SnapshotEngine\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"ForceRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ForceRecorder\"];\n-\t\t\"ForceRecorder\" -> \"Recorder\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"ResetRandomPosition\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ResetRandomPosition\"];\n-\t\t\"ResetRandomPosition\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"PyRunner\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PyRunner\"];\n-\t\t\"PyRunner\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"LubricationPDFEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LubricationPDFEngine\"];\n-\t\t\"LubricationPDFEngine\" -> \"PDFEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"CpmStateUpdater\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CpmStateUpdater\"];\n+\t\t\"CpmStateUpdater\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"MeasureCapStress\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MeasureCapStress\"];\n+\t\t\"MeasureCapStress\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"DomainLimiter\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DomainLimiter\"];\n+\t\t\"DomainLimiter\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: PeriodicEngine\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -1028,42 +1028,42 @@\n .. graphviz::\n \t:caption: Inheritance graph of BoundaryController.\n \n \tdigraph BoundaryController {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"BoundaryController\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BoundaryController\"];\n-\t\t\"Disp2DPropLoadEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Disp2DPropLoadEngine\"];\n-\t\t\"Disp2DPropLoadEngine\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"KinemCTDEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemCTDEngine\"];\n-\t\t\"KinemCTDEngine\" -> \"KinemSimpleShearBox\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"TriaxialCompressionEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TriaxialCompressionEngine\"];\n+\t\t\"TriaxialCompressionEngine\" -> \"TriaxialStressController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"KinemCNLEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemCNLEngine\"];\n \t\t\"KinemCNLEngine\" -> \"KinemSimpleShearBox\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"KinemCNSEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemCNSEngine\"];\n-\t\t\"KinemCNSEngine\" -> \"KinemSimpleShearBox\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Peri3dController\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Peri3dController\"];\n-\t\t\"Peri3dController\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"VESupportEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.VESupportEngine\"];\n \t\t\"VESupportEngine\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"TriaxialCompressionEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TriaxialCompressionEngine\"];\n-\t\t\"TriaxialCompressionEngine\" -> \"TriaxialStressController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"KinemCTDEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemCTDEngine\"];\n+\t\t\"KinemCTDEngine\" -> \"KinemSimpleShearBox\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"PeriIsoCompressor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PeriIsoCompressor\"];\n+\t\t\"PeriIsoCompressor\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"KinemCNDEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemCNDEngine\"];\n \t\t\"KinemCNDEngine\" -> \"KinemSimpleShearBox\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"KinemSimpleShearBox\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemSimpleShearBox\"];\n-\t\t\"KinemSimpleShearBox\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"PeriTriaxController\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PeriTriaxController\"];\n-\t\t\"PeriTriaxController\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Disp2DPropLoadEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Disp2DPropLoadEngine\"];\n+\t\t\"Disp2DPropLoadEngine\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"TriaxialStressController\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TriaxialStressController\"];\n \t\t\"TriaxialStressController\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"PeriIsoCompressor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PeriIsoCompressor\"];\n-\t\t\"PeriIsoCompressor\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"ThreeDTriaxialEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ThreeDTriaxialEngine\"];\n \t\t\"ThreeDTriaxialEngine\" -> \"TriaxialStressController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Peri3dController\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Peri3dController\"];\n+\t\t\"Peri3dController\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"KinemCNSEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemCNSEngine\"];\n+\t\t\"KinemCNSEngine\" -> \"KinemSimpleShearBox\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"UniaxialStrainer\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.UniaxialStrainer\"];\n \t\t\"UniaxialStrainer\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"KinemSimpleShearBox\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemSimpleShearBox\"];\n+\t\t\"KinemSimpleShearBox\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"PeriTriaxController\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PeriTriaxController\"];\n+\t\t\"PeriTriaxController\" -> \"BoundaryController\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: BoundaryController\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -1147,20 +1147,20 @@\n .. graphviz::\n \t:caption: Inheritance graph of Collider.\n \n \tdigraph Collider {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"Collider\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Collider\"];\n+\t\t\"InsertionSortCollider\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InsertionSortCollider\"];\n+\t\t\"InsertionSortCollider\" -> \"Collider\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"GeneralIntegratorInsertionSortCollider\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GeneralIntegratorInsertionSortCollider\"];\n \t\t\"GeneralIntegratorInsertionSortCollider\" -> \"InsertionSortCollider\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"SpatialQuickSortCollider\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SpatialQuickSortCollider\"];\n \t\t\"SpatialQuickSortCollider\" -> \"Collider\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"InsertionSortCollider\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InsertionSortCollider\"];\n-\t\t\"InsertionSortCollider\" -> \"Collider\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"FlatGridCollider\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FlatGridCollider\"];\n \t\t\"FlatGridCollider\" -> \"Collider\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: Collider\n \t:members:\n \t:undoc-members:\n@@ -1198,20 +1198,20 @@\n \n \tdigraph FieldApplier {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"FieldApplier\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FieldApplier\"];\n \t\t\"CentralConstantAccelerationEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CentralConstantAccelerationEngine\"];\n \t\t\"CentralConstantAccelerationEngine\" -> \"FieldApplier\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"AxialGravityEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.AxialGravityEngine\"];\n-\t\t\"AxialGravityEngine\" -> \"FieldApplier\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"HdapsGravityEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HdapsGravityEngine\"];\n-\t\t\"HdapsGravityEngine\" -> \"GravityEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"GravityEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GravityEngine\"];\n \t\t\"GravityEngine\" -> \"FieldApplier\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"HdapsGravityEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HdapsGravityEngine\"];\n+\t\t\"HdapsGravityEngine\" -> \"GravityEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"AxialGravityEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.AxialGravityEngine\"];\n+\t\t\"AxialGravityEngine\" -> \"FieldApplier\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: FieldApplier\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -1246,54 +1246,54 @@\n .. graphviz::\n \t:caption: Inheritance graph of PartialEngine.\n \n \tdigraph PartialEngine {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"PartialEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PartialEngine\"];\n-\t\t\"ForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ForceEngine\"];\n-\t\t\"ForceEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"DragEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DragEngine\"];\n-\t\t\"DragEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"InterpolatingHelixEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InterpolatingHelixEngine\"];\n-\t\t\"InterpolatingHelixEngine\" -> \"HelixEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"HelixEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HelixEngine\"];\n-\t\t\"HelixEngine\" -> \"RotationEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"HarmonicMotionEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HarmonicMotionEngine\"];\n-\t\t\"HarmonicMotionEngine\" -> \"KinematicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"HarmonicRotationEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HarmonicRotationEngine\"];\n-\t\t\"HarmonicRotationEngine\" -> \"RotationEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"RadialForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RadialForceEngine\"];\n-\t\t\"RadialForceEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"TorqueEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TorqueEngine\"];\n \t\t\"TorqueEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"RadialForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RadialForceEngine\"];\n+\t\t\"RadialForceEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ServoPIDController\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ServoPIDController\"];\n+\t\t\"ServoPIDController\" -> \"TranslationEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"HelixEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HelixEngine\"];\n+\t\t\"HelixEngine\" -> \"RotationEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"DragEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DragEngine\"];\n+\t\t\"DragEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"BicyclePedalEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BicyclePedalEngine\"];\n \t\t\"BicyclePedalEngine\" -> \"KinematicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"HydroForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HydroForceEngine\"];\n+\t\t\"HydroForceEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"KinematicEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinematicEngine\"];\n \t\t\"KinematicEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"InterpolatingDirectedForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InterpolatingDirectedForceEngine\"];\n+\t\t\"InterpolatingDirectedForceEngine\" -> \"ForceEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"CombinedKinematicEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CombinedKinematicEngine\"];\n+\t\t\"CombinedKinematicEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"HarmonicMotionEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HarmonicMotionEngine\"];\n+\t\t\"HarmonicMotionEngine\" -> \"KinematicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"ForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ForceEngine\"];\n+\t\t\"ForceEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"LawTester\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LawTester\"];\n \t\t\"LawTester\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"TranslationEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TranslationEngine\"];\n-\t\t\"TranslationEngine\" -> \"KinematicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"LinearDragEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinearDragEngine\"];\n-\t\t\"LinearDragEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"ServoPIDController\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ServoPIDController\"];\n-\t\t\"ServoPIDController\" -> \"TranslationEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"StepDisplacer\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.StepDisplacer\"];\n \t\t\"StepDisplacer\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"HydroForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HydroForceEngine\"];\n-\t\t\"HydroForceEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"HarmonicForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HarmonicForceEngine\"];\n-\t\t\"HarmonicForceEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"CombinedKinematicEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CombinedKinematicEngine\"];\n-\t\t\"CombinedKinematicEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"InterpolatingDirectedForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InterpolatingDirectedForceEngine\"];\n-\t\t\"InterpolatingDirectedForceEngine\" -> \"ForceEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"RotationEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RotationEngine\"];\n \t\t\"RotationEngine\" -> \"KinematicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"LinearDragEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinearDragEngine\"];\n+\t\t\"LinearDragEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"InterpolatingHelixEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InterpolatingHelixEngine\"];\n+\t\t\"InterpolatingHelixEngine\" -> \"HelixEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"HarmonicRotationEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HarmonicRotationEngine\"];\n+\t\t\"HarmonicRotationEngine\" -> \"RotationEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"TranslationEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TranslationEngine\"];\n+\t\t\"TranslationEngine\" -> \"KinematicEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"HarmonicForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HarmonicForceEngine\"];\n+\t\t\"HarmonicForceEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: PartialEngine\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -1402,38 +1402,38 @@\n ----------------------------------------------------------------------------------------------------\n \n \n \n .. _inheritanceGraphDispatcher:\n \n .. graphviz::\n-\t:caption: Inheritance graph of Dispatcher, gray dashed classes are discussed in their own sections: :yref:`IGeomDispatcher`, :yref:`InternalForceDispatcher`, :yref:`LawDispatcher`, :yref:`IPhysDispatcher`, :yref:`BoundDispatcher`.\n+\t:caption: Inheritance graph of Dispatcher, gray dashed classes are discussed in their own sections: :yref:`IPhysDispatcher`, :yref:`InternalForceDispatcher`, :yref:`IGeomDispatcher`, :yref:`LawDispatcher`, :yref:`BoundDispatcher`.\n \n \tdigraph Dispatcher {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"Dispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Dispatcher\"];\n-\t\t\"IGeomDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IGeomDispatcher\"];\n-\t\t\"IGeomDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"InternalForceDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InternalForceDispatcher\"];\n-\t\t\"InternalForceDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"LawDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LawDispatcher\"];\n-\t\t\"LawDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"GlShapeDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlShapeDispatcher\"];\n-\t\t\"GlShapeDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"GlIGeomDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlIGeomDispatcher\"];\n \t\t\"GlIGeomDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"GlStateDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlStateDispatcher\"];\n-\t\t\"GlStateDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"GlShapeDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlShapeDispatcher\"];\n+\t\t\"GlShapeDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"GlIPhysDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlIPhysDispatcher\"];\n \t\t\"GlIPhysDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"GlBoundDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlBoundDispatcher\"];\n-\t\t\"GlBoundDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"IPhysDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IPhysDispatcher\"];\n \t\t\"IPhysDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"GlBoundDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlBoundDispatcher\"];\n+\t\t\"GlBoundDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"InternalForceDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InternalForceDispatcher\"];\n+\t\t\"InternalForceDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"GlStateDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlStateDispatcher\"];\n+\t\t\"GlStateDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"IGeomDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IGeomDispatcher\"];\n+\t\t\"IGeomDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"LawDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LawDispatcher\"];\n+\t\t\"LawDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"BoundDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BoundDispatcher\"];\n \t\t\"BoundDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: Dispatcher\n \t:members:\n \t:undoc-members:\n@@ -1469,40 +1469,40 @@\n ----------------------------------------------------------------------------------------------------\n \n \n \n .. _inheritanceGraphFunctor:\n \n .. graphviz::\n-\t:caption: Inheritance graph of Functor, gray dashed classes are discussed in their own sections: :ref:`IPhysFunctor`, :ref:`IGeomFunctor`, :ref:`GlIPhysFunctor`, :ref:`GlIGeomFunctor`, :ref:`InternalForceFunctor`, :ref:`BoundFunctor`, :yref:`GlStateFunctor`, :ref:`GlBoundFunctor`, :ref:`GlShapeFunctor`, :ref:`LawFunctor`.\n+\t:caption: Inheritance graph of Functor, gray dashed classes are discussed in their own sections: :ref:`GlIGeomFunctor`, :ref:`InternalForceFunctor`, :ref:`IGeomFunctor`, :ref:`GlBoundFunctor`, :ref:`IPhysFunctor`, :yref:`GlStateFunctor`, :ref:`LawFunctor`, :ref:`BoundFunctor`, :ref:`GlIPhysFunctor`, :ref:`GlShapeFunctor`.\n \n \tdigraph Functor {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"Functor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Functor\"];\n-\t\t\"IPhysFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphiphysfunctor\"];\n-\t\t\"IPhysFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"IGeomFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphigeomfunctor\"];\n-\t\t\"IGeomFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"GlIPhysFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphgliphysfunctor\"];\n-\t\t\"GlIPhysFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"GlIGeomFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphgligeomfunctor\"];\n \t\t\"GlIGeomFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"InternalForceFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphinternalforcefunctor\"];\n \t\t\"InternalForceFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"BoundFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphboundfunctor\"];\n-\t\t\"BoundFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"GlStateFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlStateFunctor\"];\n-\t\t\"GlStateFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"IGeomFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphigeomfunctor\"];\n+\t\t\"IGeomFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"GlBoundFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphglboundfunctor\"];\n \t\t\"GlBoundFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"GlShapeFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphglshapefunctor\"];\n-\t\t\"GlShapeFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"IPhysFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphiphysfunctor\"];\n+\t\t\"IPhysFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"GlStateFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlStateFunctor\"];\n+\t\t\"GlStateFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"LawFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphlawfunctor\"];\n \t\t\"LawFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"BoundFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphboundfunctor\"];\n+\t\t\"BoundFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"GlIPhysFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphgliphysfunctor\"];\n+\t\t\"GlIPhysFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"GlShapeFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphglshapefunctor\"];\n+\t\t\"GlShapeFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: Functor\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -1522,42 +1522,42 @@\n \n \tdigraph BoundFunctor {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"BoundFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BoundFunctor\"];\n \t\t\"Bo1_Box_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Box_Aabb\"];\n \t\t\"Bo1_Box_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Bo1_GridConnection_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_GridConnection_Aabb\"];\n-\t\t\"Bo1_GridConnection_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Bo1_Wall_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Wall_Aabb\"];\n-\t\t\"Bo1_Wall_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Bo1_LevelSet_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_LevelSet_Aabb\"];\n-\t\t\"Bo1_LevelSet_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Bo1_PFacet_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_PFacet_Aabb\"];\n-\t\t\"Bo1_PFacet_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Bo1_FluidDomainBbox_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_FluidDomainBbox_Aabb\"];\n-\t\t\"Bo1_FluidDomainBbox_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Bo1_Node_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Node_Aabb\"];\n \t\t\"Bo1_Node_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"PotentialParticle2AABB\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PotentialParticle2AABB\"];\n \t\t\"PotentialParticle2AABB\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Bo1_Facet_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Facet_Aabb\"];\n-\t\t\"Bo1_Facet_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Bo1_Cylinder_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Cylinder_Aabb\"];\n+\t\t\"Bo1_Cylinder_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Bo1_PFacet_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_PFacet_Aabb\"];\n+\t\t\"Bo1_PFacet_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Bo1_Subdomain_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Subdomain_Aabb\"];\n \t\t\"Bo1_Subdomain_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Bo1_DeformableElement_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_DeformableElement_Aabb\"];\n-\t\t\"Bo1_DeformableElement_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Bo1_ChainedCylinder_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_ChainedCylinder_Aabb\"];\n-\t\t\"Bo1_ChainedCylinder_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Bo1_Tetra_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Tetra_Aabb\"];\n \t\t\"Bo1_Tetra_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Bo1_Facet_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Facet_Aabb\"];\n+\t\t\"Bo1_Facet_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Bo1_Sphere_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Sphere_Aabb\"];\n \t\t\"Bo1_Sphere_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Bo1_Cylinder_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Cylinder_Aabb\"];\n-\t\t\"Bo1_Cylinder_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Bo1_Wall_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Wall_Aabb\"];\n+\t\t\"Bo1_Wall_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Bo1_ChainedCylinder_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_ChainedCylinder_Aabb\"];\n+\t\t\"Bo1_ChainedCylinder_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Bo1_DeformableElement_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_DeformableElement_Aabb\"];\n+\t\t\"Bo1_DeformableElement_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Bo1_FluidDomainBbox_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_FluidDomainBbox_Aabb\"];\n+\t\t\"Bo1_FluidDomainBbox_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Bo1_GridConnection_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_GridConnection_Aabb\"];\n+\t\t\"Bo1_GridConnection_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Bo1_LevelSet_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_LevelSet_Aabb\"];\n+\t\t\"Bo1_LevelSet_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: BoundFunctor\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -1662,66 +1662,66 @@\n .. graphviz::\n \t:caption: Inheritance graph of IGeomFunctor.\n \n \tdigraph IGeomFunctor {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"IGeomFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IGeomFunctor\"];\n-\t\t\"Ig2_LevelSet_LevelSet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_LevelSet_LevelSet_ScGeom\"];\n-\t\t\"Ig2_LevelSet_LevelSet_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Sphere_Sphere_L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_L3Geom\"];\n-\t\t\"Ig2_Sphere_Sphere_L3Geom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Box_Sphere_ScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Box_Sphere_ScGeom6D\"];\n-\t\t\"Ig2_Box_Sphere_ScGeom6D\" -> \"Ig2_Box_Sphere_ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ig2_Sphere_PFacet_ScGridCoGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_PFacet_ScGridCoGeom\"];\n \t\t\"Ig2_Sphere_PFacet_ScGridCoGeom\" -> \"Ig2_Sphere_GridConnection_ScGridCoGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Wall_PFacet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_PFacet_ScGeom\"];\n-\t\t\"Ig2_Wall_PFacet_ScGeom\" -> \"Ig2_Wall_Sphere_ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_PFacet_PFacet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_PFacet_PFacet_ScGeom\"];\n-\t\t\"Ig2_PFacet_PFacet_ScGeom\" -> \"Ig2_Sphere_PFacet_ScGridCoGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Tetra_Tetra_TTetraGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Tetra_Tetra_TTetraGeom\"];\n-\t\t\"Ig2_Tetra_Tetra_TTetraGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Wall_LevelSet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_LevelSet_ScGeom\"];\n-\t\t\"Ig2_Wall_LevelSet_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_GridConnection_GridConnection_GridCoGridCoGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_GridConnection_GridConnection_GridCoGridCoGeom\"];\n+\t\t\"Ig2_GridConnection_GridConnection_GridCoGridCoGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Box_LevelSet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Box_LevelSet_ScGeom\"];\n+\t\t\"Ig2_Box_LevelSet_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_GridNode_GridNode_GridNodeGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_GridNode_GridNode_GridNodeGeom6D\"];\n+\t\t\"Ig2_GridNode_GridNode_GridNodeGeom6D\" -> \"Ig2_Sphere_Sphere_ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ig2_Sphere_Sphere_ScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_ScGeom6D\"];\n \t\t\"Ig2_Sphere_Sphere_ScGeom6D\" -> \"Ig2_Sphere_Sphere_ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Facet_Sphere_L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_L3Geom\"];\n+\t\t\"Ig2_Facet_Sphere_L3Geom\" -> \"Ig2_Sphere_Sphere_L3Geom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Facet_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_ScGeom\"];\n+\t\t\"Ig2_Facet_Sphere_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Tetra_Tetra_TTetraGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Tetra_Tetra_TTetraGeom\"];\n+\t\t\"Ig2_Tetra_Tetra_TTetraGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Sphere_ChainedCylinder_CylScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_ChainedCylinder_CylScGeom\"];\n+\t\t\"Ig2_Sphere_ChainedCylinder_CylScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ig2_Sphere_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_ScGeom\"];\n \t\t\"Ig2_Sphere_Sphere_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Wall_LevelSet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_LevelSet_ScGeom\"];\n+\t\t\"Ig2_Wall_LevelSet_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Wall_Sphere_L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_Sphere_L3Geom\"];\n+\t\t\"Ig2_Wall_Sphere_L3Geom\" -> \"Ig2_Sphere_Sphere_L3Geom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Sphere_ChainedCylinder_CylScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_ChainedCylinder_CylScGeom6D\"];\n+\t\t\"Ig2_Sphere_ChainedCylinder_CylScGeom6D\" -> \"Ig2_Sphere_ChainedCylinder_CylScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Sphere_GridConnection_ScGridCoGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_GridConnection_ScGridCoGeom\"];\n+\t\t\"Ig2_Sphere_GridConnection_ScGridCoGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_PFacet_PFacet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_PFacet_PFacet_ScGeom\"];\n+\t\t\"Ig2_PFacet_PFacet_ScGeom\" -> \"Ig2_Sphere_PFacet_ScGridCoGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Box_Sphere_ScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Box_Sphere_ScGeom6D\"];\n+\t\t\"Ig2_Box_Sphere_ScGeom6D\" -> \"Ig2_Box_Sphere_ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Facet_Sphere_ScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_ScGeom6D\"];\n+\t\t\"Ig2_Facet_Sphere_ScGeom6D\" -> \"Ig2_Facet_Sphere_ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_LevelSet_LevelSet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_LevelSet_LevelSet_ScGeom\"];\n+\t\t\"Ig2_LevelSet_LevelSet_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ig2_Wall_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_Sphere_ScGeom\"];\n \t\t\"Ig2_Wall_Sphere_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_GridConnection_PFacet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_GridConnection_PFacet_ScGeom\"];\n-\t\t\"Ig2_GridConnection_PFacet_ScGeom\" -> \"Ig2_Sphere_GridConnection_ScGridCoGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Wall_PFacet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_PFacet_ScGeom\"];\n+\t\t\"Ig2_Wall_PFacet_ScGeom\" -> \"Ig2_Wall_Sphere_ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D\"];\n \t\t\"Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Sphere_Sphere_L6Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_L6Geom\"];\n+\t\t\"Ig2_Sphere_Sphere_L6Geom\" -> \"Ig2_Sphere_Sphere_L3Geom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_Sphere_Sphere_L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_L3Geom\"];\n+\t\t\"Ig2_Sphere_Sphere_L3Geom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ig2_Box_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Box_Sphere_ScGeom\"];\n \t\t\"Ig2_Box_Sphere_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Sphere_ChainedCylinder_CylScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_ChainedCylinder_CylScGeom\"];\n-\t\t\"Ig2_Sphere_ChainedCylinder_CylScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Facet_Sphere_ScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_ScGeom6D\"];\n-\t\t\"Ig2_Facet_Sphere_ScGeom6D\" -> \"Ig2_Facet_Sphere_ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Sphere_GridConnection_ScGridCoGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_GridConnection_ScGridCoGeom\"];\n-\t\t\"Ig2_Sphere_GridConnection_ScGridCoGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_GridNode_GridNode_GridNodeGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_GridNode_GridNode_GridNodeGeom6D\"];\n-\t\t\"Ig2_GridNode_GridNode_GridNodeGeom6D\" -> \"Ig2_Sphere_Sphere_ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Box_LevelSet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Box_LevelSet_ScGeom\"];\n-\t\t\"Ig2_Box_LevelSet_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Facet_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_ScGeom\"];\n-\t\t\"Ig2_Facet_Sphere_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ig2_PP_PP_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_PP_PP_ScGeom\"];\n \t\t\"Ig2_PP_PP_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Wall_Sphere_L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_Sphere_L3Geom\"];\n-\t\t\"Ig2_Wall_Sphere_L3Geom\" -> \"Ig2_Sphere_Sphere_L3Geom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Facet_Sphere_L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_L3Geom\"];\n-\t\t\"Ig2_Facet_Sphere_L3Geom\" -> \"Ig2_Sphere_Sphere_L3Geom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Sphere_Sphere_L6Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_L6Geom\"];\n-\t\t\"Ig2_Sphere_Sphere_L6Geom\" -> \"Ig2_Sphere_Sphere_L3Geom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_GridConnection_GridConnection_GridCoGridCoGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_GridConnection_GridConnection_GridCoGridCoGeom\"];\n-\t\t\"Ig2_GridConnection_GridConnection_GridCoGridCoGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ig2_Sphere_ChainedCylinder_CylScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_ChainedCylinder_CylScGeom6D\"];\n-\t\t\"Ig2_Sphere_ChainedCylinder_CylScGeom6D\" -> \"Ig2_Sphere_ChainedCylinder_CylScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ig2_GridConnection_PFacet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_GridConnection_PFacet_ScGeom\"];\n+\t\t\"Ig2_GridConnection_PFacet_ScGeom\" -> \"Ig2_Sphere_GridConnection_ScGridCoGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: IGeomFunctor\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -1881,62 +1881,62 @@\n .. graphviz::\n \t:caption: Inheritance graph of IPhysFunctor.\n \n \tdigraph IPhysFunctor {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"IPhysFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IPhysFunctor\"];\n-\t\t\"Ip2_WireMat_WireMat_WirePhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_WireMat_WireMat_WirePhys\"];\n-\t\t\"Ip2_WireMat_WireMat_WirePhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_MortarMat_MortarMat_MortarPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_MortarMat_MortarMat_MortarPhys\"];\n+\t\t\"Ip2_MortarMat_MortarMat_MortarPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_FrictMat_CpmMat_FrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_CpmMat_FrictPhys\"];\n+\t\t\"Ip2_FrictMat_CpmMat_FrictPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_FrictMat_FrictViscoMat_FrictViscoPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictViscoMat_FrictViscoPhys\"];\n+\t\t\"Ip2_FrictMat_FrictViscoMat_FrictViscoPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys\"];\n+\t\t\"Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_JCFpmMat_JCFpmMat_JCFpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_JCFpmMat_JCFpmMat_JCFpmPhys\"];\n+\t\t\"Ip2_JCFpmMat_JCFpmMat_JCFpmPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ip2_ElastMat_ElastMat_NormPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ElastMat_ElastMat_NormPhys\"];\n \t\t\"Ip2_ElastMat_ElastMat_NormPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_FrictMat_FrictMat_CapillaryPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_CapillaryPhys\"];\n-\t\t\"Ip2_FrictMat_FrictMat_CapillaryPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_FrictMat_FrictMat_ViscoFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_ViscoFrictPhys\"];\n-\t\t\"Ip2_FrictMat_FrictMat_ViscoFrictPhys\" -> \"Ip2_FrictMat_FrictMat_FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ip2_FrictMat_FrictMatCDM_MindlinPhysCDM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMatCDM_MindlinPhysCDM\"];\n \t\t\"Ip2_FrictMat_FrictMatCDM_MindlinPhysCDM\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_FrictMat_FrictMat_FrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_FrictPhys\"];\n-\t\t\"Ip2_FrictMat_FrictMat_FrictPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_FrictMat_FrictMat_MindlinCapillaryPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinCapillaryPhys\"];\n-\t\t\"Ip2_FrictMat_FrictMat_MindlinCapillaryPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_ViscElCapMat_ViscElCapMat_ViscElCapPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ViscElCapMat_ViscElCapMat_ViscElCapPhys\"];\n-\t\t\"Ip2_ViscElCapMat_ViscElCapMat_ViscElCapPhys\" -> \"Ip2_ViscElMat_ViscElMat_ViscElPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_JCFpmMat_JCFpmMat_JCFpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_JCFpmMat_JCFpmMat_JCFpmPhys\"];\n-\t\t\"Ip2_JCFpmMat_JCFpmMat_JCFpmPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_CpmMat_CpmMat_CpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_CpmMat_CpmMat_CpmPhys\"];\n+\t\t\"Ip2_CpmMat_CpmMat_CpmPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ip2_FrictMat_FrictMat_KnKsPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_KnKsPhys\"];\n \t\t\"Ip2_FrictMat_FrictMat_KnKsPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_CohFrictMat_CohFrictMat_CohFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_CohFrictMat_CohFrictMat_CohFrictPhys\"];\n-\t\t\"Ip2_CohFrictMat_CohFrictMat_CohFrictPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_ViscElCapMat_ViscElCapMat_ViscElCapPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ViscElCapMat_ViscElCapMat_ViscElCapPhys\"];\n+\t\t\"Ip2_ViscElCapMat_ViscElCapMat_ViscElCapPhys\" -> \"Ip2_ViscElMat_ViscElMat_ViscElPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_WireMat_WireMat_WirePhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_WireMat_WireMat_WirePhys\"];\n+\t\t\"Ip2_WireMat_WireMat_WirePhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_ElastMat_ElastMat_NormShearPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ElastMat_ElastMat_NormShearPhys\"];\n+\t\t\"Ip2_ElastMat_ElastMat_NormShearPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ip2_FrictMat_FrictMat_LubricationPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_LubricationPhys\"];\n \t\t\"Ip2_FrictMat_FrictMat_LubricationPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_LudingMat_LudingMat_LudingPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_LudingMat_LudingMat_LudingPhys\"];\n-\t\t\"Ip2_LudingMat_LudingMat_LudingPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_FrictMat_CpmMat_FrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_CpmMat_FrictPhys\"];\n-\t\t\"Ip2_FrictMat_CpmMat_FrictPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys\"];\n-\t\t\"Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_CpmMat_CpmMat_CpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_CpmMat_CpmMat_CpmPhys\"];\n-\t\t\"Ip2_CpmMat_CpmMat_CpmPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_FrictMat_FrictViscoMat_FrictViscoPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictViscoMat_FrictViscoPhys\"];\n-\t\t\"Ip2_FrictMat_FrictViscoMat_FrictViscoPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_FrictMat_FrictMat_MindlinPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinPhys\"];\n-\t\t\"Ip2_FrictMat_FrictMat_MindlinPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM\"];\n-\t\t\"Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_MortarMat_MortarMat_MortarPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_MortarMat_MortarMat_MortarPhys\"];\n-\t\t\"Ip2_MortarMat_MortarMat_MortarPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_2xInelastCohFrictMat_InelastCohFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_2xInelastCohFrictMat_InelastCohFrictPhys\"];\n-\t\t\"Ip2_2xInelastCohFrictMat_InelastCohFrictPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ip2_ViscElMat_ViscElMat_ViscElPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ViscElMat_ViscElMat_ViscElPhys\"];\n \t\t\"Ip2_ViscElMat_ViscElMat_ViscElPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM\"];\n+\t\t\"Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_CohFrictMat_CohFrictMat_CohFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_CohFrictMat_CohFrictMat_CohFrictPhys\"];\n+\t\t\"Ip2_CohFrictMat_CohFrictMat_CohFrictPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_FrictMat_FrictMat_FrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_FrictPhys\"];\n+\t\t\"Ip2_FrictMat_FrictMat_FrictPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Ip2_BubbleMat_BubbleMat_BubblePhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_BubbleMat_BubbleMat_BubblePhys\"];\n \t\t\"Ip2_BubbleMat_BubbleMat_BubblePhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Ip2_ElastMat_ElastMat_NormShearPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ElastMat_ElastMat_NormShearPhys\"];\n-\t\t\"Ip2_ElastMat_ElastMat_NormShearPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_FrictMat_FrictMat_CapillaryPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_CapillaryPhys\"];\n+\t\t\"Ip2_FrictMat_FrictMat_CapillaryPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_LudingMat_LudingMat_LudingPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_LudingMat_LudingMat_LudingPhys\"];\n+\t\t\"Ip2_LudingMat_LudingMat_LudingPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_FrictMat_FrictMat_ViscoFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_ViscoFrictPhys\"];\n+\t\t\"Ip2_FrictMat_FrictMat_ViscoFrictPhys\" -> \"Ip2_FrictMat_FrictMat_FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_FrictMat_FrictMat_MindlinCapillaryPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinCapillaryPhys\"];\n+\t\t\"Ip2_FrictMat_FrictMat_MindlinCapillaryPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_2xInelastCohFrictMat_InelastCohFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_2xInelastCohFrictMat_InelastCohFrictPhys\"];\n+\t\t\"Ip2_2xInelastCohFrictMat_InelastCohFrictPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Ip2_FrictMat_FrictMat_MindlinPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinPhys\"];\n+\t\t\"Ip2_FrictMat_FrictMat_MindlinPhys\" -> \"IPhysFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: IPhysFunctor\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -2086,72 +2086,72 @@\n .. graphviz::\n \t:caption: Inheritance graph of LawFunctor.\n \n \tdigraph LawFunctor {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"LawFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LawFunctor\"];\n-\t\t\"Law2_ScGeom_BubblePhys_Bubble\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_BubblePhys_Bubble\"];\n-\t\t\"Law2_ScGeom_BubblePhys_Bubble\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGeom_ViscElPhys_Basic\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscElPhys_Basic\"];\n-\t\t\"Law2_ScGeom_ViscElPhys_Basic\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGeom_MindlinPhys_MindlinDeresiewitz\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_MindlinDeresiewitz\"];\n-\t\t\"Law2_ScGeom_MindlinPhys_MindlinDeresiewitz\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGeom_ImplicitLubricationPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ImplicitLubricationPhys\"];\n-\t\t\"Law2_ScGeom_ImplicitLubricationPhys\" -> \"Law2_ScGeom_VirtualLubricationPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom_FrictPhys_CundallStrack\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_FrictPhys_CundallStrack\"];\n+\t\t\"Law2_ScGeom_FrictPhys_CundallStrack\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_GridCoGridCoGeom_FrictPhys_CundallStrack\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_GridCoGridCoGeom_FrictPhys_CundallStrack\"];\n+\t\t\"Law2_GridCoGridCoGeom_FrictPhys_CundallStrack\" -> \"Law2_ScGeom_FrictPhys_CundallStrack\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_L3Geom_FrictPhys_ElPerfPl\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_L3Geom_FrictPhys_ElPerfPl\"];\n+\t\t\"Law2_L3Geom_FrictPhys_ElPerfPl\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGridCoGeom_CohFrictPhys_CundallStrack\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGridCoGeom_CohFrictPhys_CundallStrack\"];\n+\t\t\"Law2_ScGridCoGeom_CohFrictPhys_CundallStrack\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Law2_ScGeom_ViscElCapPhys_Basic\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscElCapPhys_Basic\"];\n \t\t\"Law2_ScGeom_ViscElCapPhys_Basic\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM\"];\n-\t\t\"Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment\"];\n-\t\t\"Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Law2_ScGeom_CpmPhys_Cpm\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_CpmPhys_Cpm\"];\n \t\t\"Law2_ScGeom_CpmPhys_Cpm\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGeom_WirePhys_WirePM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_WirePhys_WirePM\"];\n-\t\t\"Law2_ScGeom_WirePhys_WirePM\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGeom_MindlinPhys_HertzWithLinearShear\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_HertzWithLinearShear\"];\n-\t\t\"Law2_ScGeom_MindlinPhys_HertzWithLinearShear\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_L3Geom_FrictPhys_ElPerfPl\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_L3Geom_FrictPhys_ElPerfPl\"];\n-\t\t\"Law2_L3Geom_FrictPhys_ElPerfPl\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom_ViscElPhys_Basic\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscElPhys_Basic\"];\n+\t\t\"Law2_ScGeom_ViscElPhys_Basic\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM\"];\n+\t\t\"Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Law2_ScGeom_PotentialLubricationPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_PotentialLubricationPhys\"];\n \t\t\"Law2_ScGeom_PotentialLubricationPhys\" -> \"Law2_ScGeom_ImplicitLubricationPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_CylScGeom_FrictPhys_CundallStrack\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_CylScGeom_FrictPhys_CundallStrack\"];\n-\t\t\"Law2_CylScGeom_FrictPhys_CundallStrack\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_GridCoGridCoGeom_FrictPhys_CundallStrack\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_GridCoGridCoGeom_FrictPhys_CundallStrack\"];\n-\t\t\"Law2_GridCoGridCoGeom_FrictPhys_CundallStrack\" -> \"Law2_ScGeom_FrictPhys_CundallStrack\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGeom_MindlinPhys_Mindlin\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_Mindlin\"];\n-\t\t\"Law2_ScGeom_MindlinPhys_Mindlin\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Law2_ScGridCoGeom_FrictPhys_CundallStrack\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGridCoGeom_FrictPhys_CundallStrack\"];\n \t\t\"Law2_ScGridCoGeom_FrictPhys_CundallStrack\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom_ViscoFrictPhys_CundallStrack\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscoFrictPhys_CundallStrack\"];\n+\t\t\"Law2_ScGeom_ViscoFrictPhys_CundallStrack\" -> \"Law2_ScGeom_FrictPhys_CundallStrack\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Law2_ScGeom_MindlinPhysCDM_HertzMindlinCDM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhysCDM_HertzMindlinCDM\"];\n \t\t\"Law2_ScGeom_MindlinPhysCDM_HertzMindlinCDM\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_L6Geom_FrictPhys_Linear\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_L6Geom_FrictPhys_Linear\"];\n-\t\t\"Law2_L6Geom_FrictPhys_Linear\" -> \"Law2_L3Geom_FrictPhys_ElPerfPl\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_CylScGeom_FrictPhys_CundallStrack\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_CylScGeom_FrictPhys_CundallStrack\"];\n+\t\t\"Law2_CylScGeom_FrictPhys_CundallStrack\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_SCG_KnKsPhys_KnKsLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_SCG_KnKsPhys_KnKsLaw\"];\n+\t\t\"Law2_SCG_KnKsPhys_KnKsLaw\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Law2_ScGeom_FrictViscoPhys_CundallStrackVisco\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_FrictViscoPhys_CundallStrackVisco\"];\n \t\t\"Law2_ScGeom_FrictViscoPhys_CundallStrackVisco\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom_WirePhys_WirePM\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_WirePhys_WirePM\"];\n+\t\t\"Law2_ScGeom_WirePhys_WirePM\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Law2_ScGeom6D_CohFrictPhys_CohesionMoment\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom6D_CohFrictPhys_CohesionMoment\"];\n \t\t\"Law2_ScGeom6D_CohFrictPhys_CohesionMoment\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom_BubblePhys_Bubble\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_BubblePhys_Bubble\"];\n+\t\t\"Law2_ScGeom_BubblePhys_Bubble\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Law2_ScGeom_MortarPhys_Lourenco\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MortarPhys_Lourenco\"];\n \t\t\"Law2_ScGeom_MortarPhys_Lourenco\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_L6Geom_FrictPhys_Linear\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_L6Geom_FrictPhys_Linear\"];\n+\t\t\"Law2_L6Geom_FrictPhys_Linear\" -> \"Law2_L3Geom_FrictPhys_ElPerfPl\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Law2_ScGeom_VirtualLubricationPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_VirtualLubricationPhys\"];\n \t\t\"Law2_ScGeom_VirtualLubricationPhys\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGeom_ViscoFrictPhys_CundallStrack\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscoFrictPhys_CundallStrack\"];\n-\t\t\"Law2_ScGeom_ViscoFrictPhys_CundallStrack\" -> \"Law2_ScGeom_FrictPhys_CundallStrack\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGeom_LudingPhys_Basic\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_LudingPhys_Basic\"];\n-\t\t\"Law2_ScGeom_LudingPhys_Basic\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGridCoGeom_CohFrictPhys_CundallStrack\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGridCoGeom_CohFrictPhys_CundallStrack\"];\n-\t\t\"Law2_ScGridCoGeom_CohFrictPhys_CundallStrack\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Law2_CylScGeom6D_CohFrictPhys_CohesionMoment\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_CylScGeom6D_CohFrictPhys_CohesionMoment\"];\n \t\t\"Law2_CylScGeom6D_CohFrictPhys_CohesionMoment\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_ScGeom_FrictPhys_CundallStrack\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_FrictPhys_CundallStrack\"];\n-\t\t\"Law2_ScGeom_FrictPhys_CundallStrack\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Law2_SCG_KnKsPhys_KnKsLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_SCG_KnKsPhys_KnKsLaw\"];\n-\t\t\"Law2_SCG_KnKsPhys_KnKsLaw\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom_MindlinPhys_Mindlin\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_Mindlin\"];\n+\t\t\"Law2_ScGeom_MindlinPhys_Mindlin\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom_MindlinPhys_MindlinDeresiewitz\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_MindlinDeresiewitz\"];\n+\t\t\"Law2_ScGeom_MindlinPhys_MindlinDeresiewitz\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom_ImplicitLubricationPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ImplicitLubricationPhys\"];\n+\t\t\"Law2_ScGeom_ImplicitLubricationPhys\" -> \"Law2_ScGeom_VirtualLubricationPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom_MindlinPhys_HertzWithLinearShear\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_HertzWithLinearShear\"];\n+\t\t\"Law2_ScGeom_MindlinPhys_HertzWithLinearShear\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment\"];\n \t\t\"Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment\"];\n+\t\t\"Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Law2_ScGeom_LudingPhys_Basic\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_LudingPhys_Basic\"];\n+\t\t\"Law2_ScGeom_LudingPhys_Basic\" -> \"LawFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: LawFunctor\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -2326,18 +2326,18 @@\n .. graphviz::\n \t:caption: Inheritance graph of InternalForceFunctor.\n \n \tdigraph InternalForceFunctor {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"InternalForceFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InternalForceFunctor\"];\n-\t\t\"If2_Lin4NodeTetra_LinIsoRayleighDampElast\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.If2_Lin4NodeTetra_LinIsoRayleighDampElast\"];\n-\t\t\"If2_Lin4NodeTetra_LinIsoRayleighDampElast\" -> \"InternalForceFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"If2_2xLin4NodeTetra_LinCohesiveStiffPropDampElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.If2_2xLin4NodeTetra_LinCohesiveStiffPropDampElastMat\"];\n \t\t\"If2_2xLin4NodeTetra_LinCohesiveStiffPropDampElastMat\" -> \"InternalForceFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"If2_Lin4NodeTetra_LinIsoRayleighDampElast\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.If2_Lin4NodeTetra_LinIsoRayleighDampElast\"];\n+\t\t\"If2_Lin4NodeTetra_LinIsoRayleighDampElast\" -> \"InternalForceFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: InternalForceFunctor\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -2403,18 +2403,18 @@\n .. graphviz::\n \t:caption: Inheritance graph of FileGenerator.\n \n \tdigraph FileGenerator {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"FileGenerator\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FileGenerator\"];\n-\t\t\"SimpleShear\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SimpleShear\"];\n-\t\t\"SimpleShear\" -> \"FileGenerator\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"TriaxialTest\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TriaxialTest\"];\n \t\t\"TriaxialTest\" -> \"FileGenerator\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"SimpleShear\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SimpleShear\"];\n+\t\t\"SimpleShear\" -> \"FileGenerator\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: FileGenerator\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -2454,40 +2454,40 @@\n .. graphviz::\n \t:caption: Inheritance graph of GlShapeFunctor.\n \n \tdigraph GlShapeFunctor {\n \t\trankdir=RL;\n \t\tmargin=\"0.2,0.05\";\n \t\t\"GlShapeFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlShapeFunctor\"];\n-\t\t\"Gl1_Sphere\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Sphere\"];\n-\t\t\"Gl1_Sphere\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Gl1_PotentialParticle\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_PotentialParticle\"];\n-\t\t\"Gl1_PotentialParticle\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Gl1_LevelSet\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_LevelSet\"];\n-\t\t\"Gl1_LevelSet\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Gl1_Node\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Node\"];\n \t\t\"Gl1_Node\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Gl1_Cylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Cylinder\"];\n-\t\t\"Gl1_Cylinder\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Gl1_PFacet\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_PFacet\"];\n-\t\t\"Gl1_PFacet\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Gl1_DeformableElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_DeformableElement\"];\n-\t\t\"Gl1_DeformableElement\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Gl1_ChainedCylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_ChainedCylinder\"];\n-\t\t\"Gl1_ChainedCylinder\" -> \"Gl1_Cylinder\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Gl1_Wall\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Wall\"];\n-\t\t\"Gl1_Wall\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Gl1_Facet\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Facet\"];\n+\t\t\"Gl1_Facet\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Gl1_Tetra\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Tetra\"];\n \t\t\"Gl1_Tetra\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Gl1_Box\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Box\"];\n-\t\t\"Gl1_Box\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t\t\"Gl1_GridConnection\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_GridConnection\"];\n \t\t\"Gl1_GridConnection\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n-\t\t\"Gl1_Facet\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Facet\"];\n-\t\t\"Gl1_Facet\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Gl1_Wall\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Wall\"];\n+\t\t\"Gl1_Wall\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Gl1_DeformableElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_DeformableElement\"];\n+\t\t\"Gl1_DeformableElement\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Gl1_PotentialParticle\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_PotentialParticle\"];\n+\t\t\"Gl1_PotentialParticle\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Gl1_Box\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Box\"];\n+\t\t\"Gl1_Box\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Gl1_LevelSet\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_LevelSet\"];\n+\t\t\"Gl1_LevelSet\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Gl1_ChainedCylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_ChainedCylinder\"];\n+\t\t\"Gl1_ChainedCylinder\" -> \"Gl1_Cylinder\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Gl1_PFacet\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_PFacet\"];\n+\t\t\"Gl1_PFacet\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Gl1_Sphere\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Sphere\"];\n+\t\t\"Gl1_Sphere\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+\t\t\"Gl1_Cylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Cylinder\"];\n+\t\t\"Gl1_Cylinder\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \t}\n \n .. autoclass:: GlShapeFunctor\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n@@ -2755,107 +2755,107 @@\n \t:inherited-members:\n \n \n \n Other classes\n ---------------\n \n-.. autoclass:: GenericPotential\n+.. autoclass:: MPIBodyContainer\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: FastMarchingMethod\n+.. autoclass:: TimingDeltas\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: CundallStrackAdhesivePotential\n+.. autoclass:: Engine\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: MatchMaker\n+.. autoclass:: RegularGrid\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: RegularGrid\n+.. autoclass:: EnergyTracker\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: LBMnode\n+.. autoclass:: ParallelEngine\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: LinExponentialPotential\n+.. autoclass:: LBMnode\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: GlExtra_LawTester\n+.. autoclass:: FastMarchingMethod\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: EnergyTracker\n+.. autoclass:: LBMlink\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: LBMlink\n+.. autoclass:: LBMbody\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: Engine\n+.. autoclass:: GenericPotential\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: Serializable\n+.. autoclass:: GlExtra_OctreeCubes\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: MPIBodyContainer\n+.. autoclass:: CundallStrackAdhesivePotential\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: CundallStrackPotential\n+.. autoclass:: MatchMaker\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: GlExtraDrawer\n+.. autoclass:: GlExtra_LawTester\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: TimingDeltas\n+.. autoclass:: Serializable\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: ParallelEngine\n+.. autoclass:: Cell\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: Cell\n+.. autoclass:: GlExtraDrawer\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: LBMbody\n+.. autoclass:: LinExponentialPotential\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n-.. autoclass:: GlExtra_OctreeCubes\n+.. autoclass:: CundallStrackPotential\n \t:members:\n \t:undoc-members:\n \t:inherited-members:\n \n"}, {"source1": "./usr/share/doc/yade/html/introduction.html", "source2": "./usr/share/doc/yade/html/introduction.html", "unified_diff": "@@ -356,20 +356,20 @@\n \n

Normal simulations, however, are run continuously. Starting/stopping the loop is done by O.run() and O.pause(); note that O.run() returns control to Python and the simulation runs in background; if you want to wait for it to finish, use O.wait(). Fixed number of steps can be run with O.run(1000), O.run(1000,True) will run and wait. To stop at absolute step number, O.stopAtIter can be set and O.run() called normally.

\n
Yade [12]: O.run()\n \n Yade [13]: O.pause()\n \n Yade [14]: O.iter\n-Out[14]: 33656\n+Out[14]: 2362\n \n Yade [15]: O.run(100000,True)\n \n Yade [16]: O.iter\n-Out[16]: 133656\n+Out[16]: 102362\n \n Yade [17]: O.stopAtIter=500000\n \n Yade [18]: O.run()\n \n Yade [19]: O.wait()\n \n@@ -433,15 +433,15 @@\n 

Architecture overview\u00b6

\n

In the following, a high-level overview of Yade architecture will be given. As many of the features are directly represented in simulation scripts, which are written in Python, being familiar with this language will help you follow the examples. For the rest, this knowledge is not strictly necessary and you can ignore code examples.

\n
\n

Data and functions\u00b6

\n

To assure flexibility of software design, yade makes clear distinction of 2 families of classes: data components and functional components. The former only store data without providing functionality, while the latter define functions operating on the data. In programming, this is known as visitor pattern (as functional components \u201cvisit\u201d the data, without being bound to them explicitly).

\n

Entire simulation, i.e. both data and functions, are stored in a single Scene object. It is accessible through the Omega class in python (a singleton), which is by default stored in the O global variable:

\n
Yade [28]: O.bodies       # some data components\n-Out[28]: <yade.wrapper.BodyContainer at 0x7f7a264ff5a0>\n+Out[28]: <yade.wrapper.BodyContainer at 0x7f9e0fbff4c0>\n \n Yade [29]: len(O.bodies)  # there are no bodies as of yet\n Out[29]: 0\n \n Yade [30]: O.engines      # functional components, empty at the moment\n Out[30]: []\n 
\n@@ -471,17 +471,17 @@\n \n

All these four properties can be of different types, derived from their respective base types. Yade frequently makes decisions about computation based on those types: Sphere + Sphere collision has to be treated differently than Facet + Sphere collision. Objects making those decisions are called Dispatchers and are essential to understand Yade\u2019s functioning; they are discussed below.

\n

Explicitly assigning all 4 properties to each particle by hand would be not practical; there are utility functions defined to create them with all necessary ingredients. For example, we can create sphere particle using utils.sphere:

\n
Yade [31]: s=utils.sphere(center=[0,0,0],radius=1)\n \n Yade [32]: s.shape, s.state, s.mat, s.bound\n Out[32]: \n-(<Sphere instance at 0x3679b10>,\n- <State instance at 0x12d89c0>,\n- <FrictMat instance at 0x35df1a0>,\n+(<Sphere instance at 0x44b2720>,\n+ <State instance at 0x44cb610>,\n+ <FrictMat instance at 0x45ca310>,\n  None)\n \n Yade [33]: s.state.pos\n Out[33]: Vector3(0,0,0)\n \n Yade [34]: s.shape.radius\n Out[34]: 1.0\n@@ -542,29 +542,29 @@\n \"_images/interaction-classes.png\"\n 
\n

Examples of concrete classes that might be used to describe an Interaction: IGeom, GenericSpheresContact, PolyhedraGeom, CylScGeom, IPhys, NormPhys, NormShearPhys, FrictPhys.\u00b6

\n
\n \n

Suppose now interactions have been already created. We can access them by the id pair:

\n
Yade [41]: O.interactions[0,1]\n-Out[41]: <Interaction instance at 0x359aa20>\n+Out[41]: <Interaction instance at 0x44da4a0>\n \n Yade [42]: O.interactions[1,0]     # order of ids is not important\n-Out[42]: <Interaction instance at 0x359aa20>\n+Out[42]: <Interaction instance at 0x44da4a0>\n \n Yade [43]: i=O.interactions[0,1]\n \n Yade [44]: i.id1,i.id2\n Out[44]: (0, 1)\n \n Yade [45]: i.geom\n-Out[45]: <ScGeom instance at 0x359e6e0>\n+Out[45]: <ScGeom instance at 0x45aed40>\n \n Yade [46]: i.phys\n-Out[46]: <FrictPhys instance at 0x362f6c0>\n+Out[46]: <FrictPhys instance at 0x45a2aa0>\n \n Yade [47]: O.interactions[100,10111]     # asking for non existing interaction throws exception\n \u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n \u001b[0;31mIndexError\u001b[0m                                Traceback (most recent call last)\n Cell \u001b[0;32mIn[47], line 1\u001b[0m\n \u001b[0;32m----> 1\u001b[0m \u001b[43mO\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minteractions\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m100\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m10111\u001b[39;49m\u001b[43m]\u001b[49m     \u001b[38;5;66;03m# asking for non existing interaction throws exception\u001b[39;00m\n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -242,20 +242,20 @@\n (1000,True) will run and wait. To stop at absolute step number, O.stopAtIter\n can be set and O.run() called normally.\n Yade [12]: O.run()\n \n Yade [13]: O.pause()\n \n Yade [14]: O.iter\n-Out[14]: 33656\n+Out[14]: 2362\n \n Yade [15]: O.run(100000,True)\n \n Yade [16]: O.iter\n-Out[16]: 133656\n+Out[16]: 102362\n \n Yade [17]: O.stopAtIter=500000\n \n Yade [18]: O.run()\n \n Yade [19]: O.wait()\n \n@@ -334,15 +334,15 @@\n operating on the data. In programming, this is known as v\bvi\bis\bsi\bit\bto\bor\br pattern (as\n functional components \u201cvisit\u201d the data, without being bound to them\n explicitly).\n Entire simulation, i.e. both data and functions, are stored in a single Scene\n object. It is accessible through the _\bO_\bm_\be_\bg_\ba class in python (a singleton), which\n is by default stored in the O global variable:\n Yade [28]: O.bodies       # some data components\n-Out[28]: \n+Out[28]: \n \n Yade [29]: len(O.bodies)  # there are no bodies as of yet\n Out[29]: 0\n \n Yade [30]: O.engines      # functional components, empty at the moment\n Out[30]: []\n *\b**\b**\b* D\bDa\bat\bta\ba c\bco\bom\bmp\bpo\bon\bne\ben\bnt\bts\bs_\b?\b\u00b6 *\b**\b**\b*\n@@ -385,17 +385,17 @@\n practical; there are utility functions defined to create them with all\n necessary ingredients. For example, we can create sphere particle using\n _\bu_\bt_\bi_\bl_\bs_\b._\bs_\bp_\bh_\be_\br_\be:\n Yade [31]: s=utils.sphere(center=[0,0,0],radius=1)\n \n Yade [32]: s.shape, s.state, s.mat, s.bound\n Out[32]:\n-(,\n- ,\n- ,\n+(,\n+ ,\n+ ,\n  None)\n \n Yade [33]: s.state.pos\n Out[33]: Vector3(0,0,0)\n \n Yade [34]: s.shape.radius\n Out[34]: 1.0\n@@ -471,29 +471,29 @@\n _\b[_\b__\bi_\bm_\ba_\bg_\be_\bs_\b/_\bi_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bo_\bn_\b-_\bc_\bl_\ba_\bs_\bs_\be_\bs_\b._\bp_\bn_\bg_\b]\n Examples of concrete classes that might be used to describe an _\bI_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bo_\bn:\n _\bI_\bG_\be_\bo_\bm, _\bG_\be_\bn_\be_\br_\bi_\bc_\bS_\bp_\bh_\be_\br_\be_\bs_\bC_\bo_\bn_\bt_\ba_\bc_\bt, _\bP_\bo_\bl_\by_\bh_\be_\bd_\br_\ba_\bG_\be_\bo_\bm, _\bC_\by_\bl_\bS_\bc_\bG_\be_\bo_\bm, _\bI_\bP_\bh_\by_\bs, _\bN_\bo_\br_\bm_\bP_\bh_\by_\bs,\n _\bN_\bo_\br_\bm_\bS_\bh_\be_\ba_\br_\bP_\bh_\by_\bs, _\bF_\br_\bi_\bc_\bt_\bP_\bh_\by_\bs._\b\u00b6\n Suppose now interactions have been already created. We can access them by the\n id pair:\n Yade [41]: O.interactions[0,1]\n-Out[41]: \n+Out[41]: \n \n Yade [42]: O.interactions[1,0]     # order of ids is not important\n-Out[42]: \n+Out[42]: \n \n Yade [43]: i=O.interactions[0,1]\n \n Yade [44]: i.id1,i.id2\n Out[44]: (0, 1)\n \n Yade [45]: i.geom\n-Out[45]: \n+Out[45]: \n \n Yade [46]: i.phys\n-Out[46]: \n+Out[46]: \n \n Yade [47]: O.interactions[100,10111]     # asking for non existing interaction\n throws exception\n [0;31m-------------------------------------------------------------------------\n --\u001b[0m\n [0;31mIndexError\u001b[0m                                Traceback (most recent call\n last)\n"}]}, {"source1": "./usr/share/doc/yade/html/objects.inv", "source2": "./usr/share/doc/yade/html/objects.inv", "unified_diff": null, "details": [{"source1": "Sphinx inventory", "source2": "Sphinx inventory", "unified_diff": "@@ -307,40 +307,38 @@\n ^(\u0007:@\u001e\ua68fy*f\fR\u0011\u037dJr(\u0013M\u04c1fg=a\u000bFt'\u029e,\u0010x6)pX*^\u000e\u001d568\u745fr7s\u0018-\u001f*\u0017})^le\u007f^\u0014\u000bE%{\u0005IGc)27~6'_k>hEK\u00103k^\u0013\u0014)4ts]\u0012[f}B\u0001jm\u07fc\u0011ZuIRL~o\u030c\rE\u0014\u025f\u00193kM\u0007\u007f;d.\u001eM\u0003<_\"\n \u001f\tN>\u0717%\u0015\u03a5v^\u007f_h\n \n oNn[m2\u074f\u007fq\u001aCK(Q|[\\Y\u000fxH\u0012G\\+8nCvb=\u001d6_\u00cct1\u001d\fbO\u0011eaX#4MdK\u04fcni41Fv\u0006Kg@nd;lZ \u001bkeF;5sh=f\u069a\u0013H`;\u0618\u05760#G6Di`\u02ffk\u007f<.t`\u03cd?\t3\u000b_V{f\u0001^ii%\u0017\u0003\u026d\tN\u0000e\u001aq\u001eG':[\u0017:\u056dZ}fd\fn;\\ISZHAjgNk1s\u0003\u0013\u001e3Xi[\u0002\u0016\u0305\u0005\u03dfe\u024dMdyXZn\u000b)\u0018{+@.~\u04bb>gA\u07d7Lo\u06f5\u000fS\u000fj\u0016\n \u000fJ-(*k=b\u047f`FhB3DLL\u052eam)*o)&+]\fE\u05af\u0197\u0001||G\u0016?#/\"f\u6edfeY]R\u023a9\u0006\u0234\u0014ur{[\u000e\u000fK\u000fm\u001aS\u000f\u0015b3\u047anHu\u001dw-k\u001fTY\u0007E\u02f6nU0\"%\u00053OL\u001dZ>b\n \u000e`\rhn|s/\u015dn0\u000bo\u0019G!:\u0016\t\u0708@q\u0013_nL\u001bW\u0011qkdh6o/\u0003\u0014R-aP'q\u000f&\u053a\u0012UXea77fE~\u000b'\u07f9\u00116\u000eg\u048cmMq\r.(9\u04464yo%JF\u000fy\n scft\u0019vb<)\u2c39\u0329\u3625[3NnI~;v:\u007f<_g\u007f\u007fa&7+O]2Nv\u00195GR\u007fd_\u001e\u007fzl\u000bMX\u0005\u0000Nr\u04c9\u0005|\u007f\u075fDA\u0017Cx\u001bll2y\\\u001fH<\"7<\u00d2tiBk\u001c?\u001cc\u07a7\r}6cRxT7c\u011f\u001fqz6{\u000frr\u0014OtjM\u0007''_h\u007f|\u0284l~\u0011JC\u04fb\u00f6ly}\u0630=nyL\u000f\u0003\u0013C,Bh\u0725\u001fol\u05efL[0\u0006\u001c*\u0013\u000e8\u047a\u0019w\u00c5o\u0006\u000eL\u0003ajC6i8Bm.L/\u000e;kn^A\u001e?m2\u01d4vW\rn^ze+3z;zj\u0019Ej\u00f2ETy}\u0017\u056d\u00037,\u001a\u0018/H\u0665\u001efA\u06b2th\u001b$Z\u035f\u001e<,H%>9\u045fM6K26(&[.M\u0019v\u0015Nl\r\u000f\u0236\u0016\u001a,yyE\u0013d)Wwn\u000f\u0018;0\u0682Ys]Zrf\u01de_eb\u001fy;anUo'W\r7\u03f7\u0013'\u0018\u03bd\u001fo'+\u07fa=o4\uca036\u001e\u0006ah]\u067c[BRnk]'\u0015N\u0002|c$%v(\u001dOkIkog\u0006{f!f\u0786ZmS$f&ki\u05bc^kWR\u0742fmn\bs=\u001f\u02ec%\u017db$v\u007f\u001b0R\"[x;_NO\u06b3j\u001f#\u001eV-Fb;M}\u001f\u007fW(RM+L\u01be\u0763y\u001f\u0017s>|g3}y:yvk\u01be:E*cQ\u02bdOR\fNO6i\u001a?y!6\u0006~ ?q\u0017\u0004\u9e5d\u000bVkvi9\u0015>M7Zl(U\u02233_6\u0015\u0015Ro_6BN{o[7V\u007f\u0018f\u066c\b\u067edVl(\rK-\u04f2\u001bsIq\u0001in?\u062bwj\u0001t[E\uf322=5x,\u000bxs{U\u0015C\u0697{jih\f\u0006c6(H-c\u000e\u012eqe?\\\u0014{Nd\u0323\u0013wab4\u0533he\u0003q\u001c\u001e\u0327\u000b\u0005\u0003\u0006!dgz\u001e\u000b;i\u001e1S\u0016?\u0607M7\u0014aD_&\u0015ChE'8\u0013\u075b*\"\u001am\u00035~\u0017\u00068_pZhIeDoW\\\u0217n<0\u0013Br[=/b_\u07c7eOkV+/[$\u02f2O{o&7*\u06dbVm\n-$\u0019z8\u0104\u001fG~\u0001\u0004H \u000f8\u000f@\u0010\u001f\rt\u001b_/R-i\n-\rX\n-o\u0016b;\ubdbd\u000b[t\u0019\\q_OU.\\\u0004?\n-\u03ddj\"P;vV\n-t\u001aq\u21c2\u0019\u001a~TV5:_)\u001f\u001a\u0007zC\u0637\u000b\u0007R9}\u06f9Z\u0015\u0005\u001b5\u0019PQ\u000fyynLz\u0003Z\u0403[>\u001ao(/t\u000e\u0001f.\u07e5k\u0013\u001f/)62\u0005\u0015*\u0011@GO9^\u0001\u0364t\f\u5d4a\u001aw\u001a\\fTUc`c=\u001cX0~\u0580#'xdy!}+\u0019UMtKvj\"\u00043\u00005ZO\u001a\u058fT^<`-Ai8>t\u06a2(\u01c4lD&Z&D\tc\u0001\u0001',y?\u000bn-\u001f8\u0013Cj\u001f\u000bU\ue54f\u06fd3\r\u0681c\u0005\u0015\u0017w\u075f\\7B\u001c7\"m2aT~P?ya\u063dz\u0003\u001d[l:\u061f,\u0570d2\u000el&N.\r0\u00cbK\u07a9\u0004\u0018sy\u001eX?\u0012F0\u0006`WN6B\u0013PD$7Q\t\u03fd\u03a4or\u0007r0Lf>\u00041._\u0006H#@sS<\u0004@\u000b\u0007=LaCMm\u0003jUi\u001d\u0773\u0015\u0015w\u04b2QO+^N!J\u001b|x2V=n3\u0013:\u0014ruU(n&\u0010=I%wx%+A\u0003y,\u001c*\u0003\u00c3\u001b?\u0224V\u0014\u001f\u0014k\u0017>p\u0014EPa\\/\u001f\u07ff+mnu9PF\u001a\u007fO~G-{\u0628O{[`WUHyh!fK9\u000b-pp!q\u0015NL.\u06c2G\u0011H\f\u0010!8V7\u045d1\u0715<\u0726\ud705`%\u00172\u001d\u0672\u0017<\u07f9)V\u0017=> \u001e4zj3t`TM0MX\fu\u0005U\u001f5\u0000{2X\u0017e`;\u03c8aj\b\u0004a[Z\u073ax+#y$2\u0012<\u0002T\u0013uE[N\u061d\u0416i\u0011z\u0001\n-+Z\u0166\u021bk\u001a@]PYW)9L20)\u001bu|Zb4\u0010OI\u0396vbyD\tv Cs\f'Px#B E\u0006\u0758'T\u02ccN,&K\f\u07b1j\u039f{\u001fg$@\u0016{_\u0003W\u0007\u001c3YGV\u001ep@i:b\u000eR\udbce\udcb8\f~e{P(:'{\u02ab'7\u0013\u001f81H\u0000A\u001a\t\u0402\u0014\u0615\u0010Bl\u007fm--{\u049e\u0015b+q\u0014m!\u0219\n-R*+T\u0747ix4u;QWQl'\u001es\u000fo+o\u007f7!|F4\u0001z_\u0013Ogyg}y\u01b3>7O\u0007?{?\u0017)=/W~~w~\u001b?__;q\u0268Y\u0000\u0006v\u000b\u0014H<\u0005h\u07f6\u0015-\u0002o%\u007f1\u00022kU\"\u0005\u0004JX\n-vLGz\u00027E<>\n-}\u0242Z_t:\u001a\r\\\u0017\r*\u0000\u0000^\u0003\u000b]\u007f\u0015[u\u079c\u0000\u0000<#\u000e\u000b~\u11662\u0003\bL@>-M*tq{sCA\u000f\u0006qPX}\"\u00195\u0012\u001c\u07feg\u0014 DV#\u001fzE@\u0001J\u00033^&/\u00a65ME{ \u000f\u0003\u0000\u05e3\u0409\u001f\u02fc\u0004j\u000f}\u000f[:m|\u0006x\u0010;4\n-\u0017!6|d\u0018\u0011\f)g2l\u0006\u0011~_\u0003UEnl\u000ei`1\u06ac\u0007\u0007!-\u02c0.cf\u06427T\u001b\u0004*mL\u001d\u0019\u0011\u0014+\u0019\u0015K{\u0000b\u001b\f^+`@B\u0014p\u0004K9\u0007u\u0682)\u0007\u52e5\u001f\u0019\u000el\u001d V\ud395\u0017\t\u0640\u0011\u0094\\\u5de7MU\u0003\u000fO\u000ba\u07e1b\\\u001e\u001f\u000fl\u001c\u001e?FX\u001f#F`Q1drEWO\u000etN7'n]\u0007Gh\u0003cm`.\u001b1\u0014~A^p\u0019\u0006\u0644\u0419\u001d|Sn\u0013\u0007K\u0018\u0929SK>\u000b/W=.}c\u001eUk\u001ag84q\u2356,\u02495\u0007\r\r\u0019U\u0017:A_3/WMhG\u0005u\u0013\u000f\u0645\u0398J`|.Zb#Xu6?rxQ\u007f$]I \u001f>\bqMeJ\u0019Z{)f\u0003\u007f\u0014'\u0010\u0011\u0001L+-lZE*\u000ey}fA8\u007f\u001faP|!Y\u00003iM7t\u0007X\u0000\u007f\u0018u[~}uAK\n-iiuT\u01a0C\u001e\u5b57WY:2\u001er*l\u0017#8YH\u0015>\n-oc26'\u0005X1\u000fw\u001byFK\u001b?G\u0006m\u0003\rA['m\u02b2ehc\u0007L\u000eEw;%N\\8NTxXu\"%X\u000f0`\n-r\u001e\u00f3(=>WrE]82\u0005\u0005Y0<09n{-\u0011]\tQy1\u0016\u0005$<\n--vbS$}Dq]\u05e3GJ`S$/\u0015\u0012~bW\u04e6g\f6d\u0003\u0000p\\H1S\fI\u0018n[0\u001a!c&\u02f7d\u0017(0$C\u0002\u0014K\u0012XIp\u0010|EVqvw\u000b\u0010$Yy\u0018)Ve`CZ\u007f_[\u03f1zk$\"j?G\u0017R9\u0006?/\u001cYl\b\f\u070c-[K_\b\u001d`!\u0001?F`\u00161'g\u0012\u04a9)x}6+\f/8h\\u\u00181pG\u000e\u0015;\u000e[FDH0\tx\u0007\u0013m1WSa\u001e`\u000ekT\u03c5/\u0744Lf\u001d?1(\n-/v+\"*m\u001d`dtx z\u000b\u000e\u0005Cg\b1C\b\u0003+tFm\u0000z\u0007\fh\u0010^\u0012w\u04a1x1-\u000b\u0005E{\u0445(;#^\u0000\u0007\u001aPp\u0006\u0014\u0002$zh@N 0\u0080\u001c\u0560l\b[/^rml\r_QB\u0019=SO$D\u001e\u00bf\u0007bD/V\u0013*A\u0006\u0005?\u0014/\u001dVuZ@\\1n;j'6!+Q?\u0015\u001a_\u07a9TY\u0333\u04e1\u0707\u0005g5k/dy4ON\u0018-\u0010Z\u00128}\u0538|J4J\u0003\u000f?2\u0663`7P\t`J\fE50T\u0003DY\u02d4ZPO8(\u0001P\u0014A 3\u000e\u0016^\u0011`q-K\u0007\u0006>_U2\u0017\u050bqI^\n-RJ\u0013\u0011;=j-\u07f7MRV:^\ro]X8l\u0015\\/~\u0012\u0007MQm\u0002;\u001dq\n-\u0019`\u0019:^h\u0010W\u007f\u0019PZ@T\u0007\u5a6e\u067c,Z!Z4L\r\u056a\u000bSP^\u001ax\u0014nx)cL(FA!OBn_\"l\u07d6A_L\u01e8\u0016\u0007r V~y\rs\u0016jiG\u0004r/0]LI:\u001fd\u001aU\u0019`Gz'm9\f+R%m\u000eNH\u0004X9n@m\u0016.N\u0005\u001a\\> \u0004\u0010\u000f\u060cA\u0006\u001f^1yw,\u0010\u0388h1Ye\u00d9P34k,6\u0016\u001aCM\u001ebYc8\u0019a\\ld\u02ec\u001a<\n-K<\u0019\u0330\u02aerr9eLaEEW\u0019O\\\u0014/u3Tb\u000bX\u0014\f#c\n-\u007f{2\u0019dBq1bu\u0622,O\u019cAc\u02cea3/\u0712dcTlz&f\u0003vY+\f\u0011#yyUW*#d\\\u001cn6NXL^6\t[\u00141@L\f\u000fVw[y\u0007u!|\u05e7\u001e)\u0015b\\&EAcDE\u0018\u0003\u001esX\u06ccU\u0019-EH\u0012Q\fCWY-\u028b\u0014q\u0000M\n-\u000b3VGrnU\ud052u@G\u0013;E\u0017QcZ:gj\u0187Wn#\u000e$jNG\u001e\u0019F\u0010|\u054c^}\u05db\tJkVS\u0000v\u00138\u05aca{~q\u0010f'3z=4tw<\u0017\u0128\u00178V\u0279\f\u0002o\t%\u0002\u0000\u0013EL7\u0017Wh\r'\n-_\u0000Ol+!PF\u0019g8z\u0006}V\u0001\u0006b^\u0011f\u0012by}9b\u007f\u00029N\u0006L3P\u011f8ngb\u000ej\u0015\u000f\u0524U\")\u000b\u001cV+IG\u0014\u0002-stOXek>\u0254LYJ5^+^\f=kLf\u001970Xp*9&Y>r\"uJh\u001b/\u065f%\u001e]';%^.r\u000e~8%\u000b!st+t\"i\u001d&z*\u001f\n-\u0003{K\u000ez,Eq6^lj\fl,2Z:8Q\"U\u03e7g\u05ad\u012eq\u000b'\u0013\u0006~x~e\u0000M_\u0012I\u0007mj\u00169#r\u00031rw|\u001d\u0012\u03dar\u001b[&vff\u0003\t,F\u001d\u0004\u001e#0+YF\u0507eI`tS=W3\\\u00055yB=.*|\u0014QSJ'\"5$\u001a}2\u00078<;E\u0014\u000b\u007fafM3OJ\u0004LA.}\r_X_Y\u0003\u001ap\u0011\u001b9<^k5\u0011\u001f:Q\u001f$\u001c _GU;*aAM\u001e3d\u001a9\u0002m,\u03354\u001dOAg\u0013O\u000b_o\u0001vo\tW%\\yz\n-[*\u04b5o}D[PZ-Vl]E^\u0015\u001d\u0001'\u001e\u001b:@),%\u04a3 \u00fc\u000ff&\u0019\u001f>w]r\r-\uda7d\ude1aw~\u001bOxOo\b|,#+\u001d\u0409\u0017Nw\u0007VR\u0006\u0019\u0019/\u001eT\u03ff\u0012-\u0011$\u0012j\u0017\u0017\u0006M\r\u0004&\u001d\u001a}\u0014C&\u0018I@\rw\u772e6ascj_F\u0842\u0576SQF4\u0004mdE\u0005c\u001bC<\u0193&\u001eK\u001f\u0017q\u0003\u0013GaRJ^\u0007\u0000^1F4qKM^5\u0013&HGB`{\u0016 +\u0005b\u0001yC*^0Zg}G0s?\u0004\u000e\u0019&d\u0014t\u0762!uR%1\u071a\u0002R\ud429\f5\u0001Hc-4\u03ac!j!^D#g~H`\u0012VzQ\u0000V\u0007Yrz{N\u0013r]2t\u0016Zl)9`\u0017>\u0013#\u001f\u007f 'K\u0012\u07a3o^~{\u073dOj8AUP~\u001a\u007f>_?||?\u000e,D\u000eyq%\u0018|}\u0000?\u001a`7+O]2Nv\u00195GR\u007fd_\u001e\u007fzl\u000bMX\u0005\u0000Nr\u04c9\u0005|\u007f\u075fDA\u0017Cx\u001bll2y\\\u001fH<\"7<\u00d2tiBk\u001c?\u001cc\u07a7\r}6cRxT7c\u011f\u001fqz6{\u000frr\u0014OtjM\u0007''_h\u007f|\u0284l~\u0011JC\u04fb\u00f6ly}\u0630=nyL\u000f\u0003\u0013C,Bh\u0725\u001fol\u05efL[0\u0006\u001c*\u0013\u000e8\u047a\u0019w\u00c5o\u0006\u000eL\u0003ajC6i8Bm.L/\u000e;kn^A\u001e?m2\u01d4vW\rn^ze+3z;zj\u0019Ej\u00f2ETy}\u0017\u056d\u00037,\u001a\u0018/H\u0665\u001efA\u06b2th\u001b$Z\u035f\u001e<,H%>9\u045fM6K26(&[.M\u0019v\u0015Nl\r\u000f\u0236\u0016\u001a,yyE\u0013d)Wwn\u000f\u0018;0\u0682Ys]Zrf\u01de_eb\u001fy;anUo'W\r7\u03f7\u0013'\u0018\u03bd\u001fo'+\u07fa=o4\uca036\u001e\u0006ah]\u067c[BRnk]'\u0015N\u0002|c$%v(\u001dOkIkog\u0006{f!f\u0786ZmS$f&ki\u05bc^kWR\u0742fmn\bs=\u001f\u02ec%\u017db$v\u007f\u001b0R\"[x;_NO\u06b3j\u001f#\u001eV-Fb;M}\u001f\u007fW(RM+L\u01be\u0763y\u001f\u0017s>|g3}y:yvk\u01be:E*cQ\u02bdOR\fNO6i\u001a?y!6\u0006~ ?q\u0017\u0004\u9e5d\u000bVkvi9\u0015>M7Zl(U\u02233_6\u0015\u0015Ro_6BN{o[7V\u007f\u0018f\u066c\b\u067edVl(\rK-\u04f2\u001bsIq\u0001in?\u062bwj\u0001t[E\uf322=5x,\u000bxs{U\u0015C\u0697{jih\f\u0006c6(H-c\u000e\u012eqe?\\\u0014{Nd\u0323\u0013wab4\u0533he\u0003q\u001c\u001e\u0327\u000b\u0005\u0003\u0006!dgz\u001e\u000b;i\u001e1S\u0016?\u0607M7\u0014aD_&\u0015ChE'8\u0013\u075b*\"\u001am\u00035~\u0017\u00068_pZhIeDoW\\\u0217n<0\u0013Br[=/b_\u07c7eO\u001bW+/d\u0011\rv\u001c\u06f3Odfn&w$;\u0005\u00160(VZ-va\ubdca$R!@>uHQ(UJ}zlISh\u0006\n+\u0017Vx\u007fs\u0010Y^rrraLl,G\"Qxn=4\u001eW\u0013F\u06b9T\u0013?\u0014OrJ) =\u0006\u001f\u00be]>g\\\u03a1\u04ac(_\b}-z\u000btd\u0013\u001d@\u050a\u001exCyswx5zI.]\u007faNQeM-P\u024eP\u0005}\u0014\u001cwl&=c\u0000t6/U\u0538\u04f8jQU\u0142\u028evc\u0551\t\u0006\u001a>\u0003\u000b[\rj\u007f^/\u0655\u0012\u0018\u0003h=\u0001KX?Ry\ud8c3\udd60\u0007)\u0000\u042dO\"k\u001c\u0013\u0011\u04ebj\u07ab(\u0013%{\u00062`\u7d6b,\u0018:|\u0014D\u000f\u00179=\u0016\u0010)\u001f;[g\u001a\u0003\n+\u001c+\u0007w\u075f\\WB\u001c7\"m2aT~P\u057fya\u063dz\u0003\u001d[l:\u061f,\u0570\u067e7FD;V]P\u0013'\u0006%oUx\u0002T@F9QK_9o~\u0015rPX\u00125Q.ab+*$G<\u0010\u015c\u00168\u0010\\\u0013\u02f6Q\u0004R(\u0003DH/w;&sr*LBnSCTWB#['7e\f}x6K7\u0007\u036b\f\u001dd&U`9&Wg\u0013V;CwyA;M(\u0000\u77a5$E\u00193`a5\u0004\rKv]\u0245\u0011-1\u001ex\u0175haFSq(Hp\u0119\u02cfl\u001f\u001au_\u04e4\u007fhgK;fo-6\u00021\u0005\u0012O\u0001\u06b7m7\u0005--aKg \u0000[\u025fs@!c\u06b6?j\\ 7]\tP)\u007fHoQF\bQGA/Y]NGQCG\u0005\u0000 \u064b\u001et u}\u05cfbn\u05eb\n+\u0000]9\u0088\u0000Og^hZ+>\u0010\t\u0528M\u000fg7WW\u0014$`\u0010\u0007E%'Q#157;!\u001c|\u000b\n+u\u0005<;\f0V\u0007\u001fz6y\u00116\u0005.i\u0002u-\u001dy\u0018\u0006\u0018\u001e}NM%\u000fWk?\u001dl\u00046H\u0103\u0104H\u07a1Wh\f\t\u0003\u00e8.\u007f'8M9g4\u0014\u000b\u001aE*ucKK\u0006\u00ccf>8\biY\u00064'w\u001c3\u0016j P\t7o/e2\u0208X\u0268XR\u0003\u0010[a\b\u05dc\\\u0001\u0003|\u0005\u0012#X\u0010w?\u0003O\"k\u000b\u00e6\u001f/~d8u\u0013X\u001bV\\\u00134\u0001M#)\u001foO\u0006\u001f\u0016d\u0013C\u0160<>t\u017f8.Gb\u0017\u001cLO0\u0007\u001e#F\u000fy\u0185v\u000eA\u043b5Xe\u0001\u012b1=\f\u000f\ud600g\"\u0005>~\u0003O\u001ca]!\u0016NW\u000b=rf({uGe\r:(\b\u07e04\u0015Vi\u0019J\n+\u001e\r(q+wNS.\u0006Gh\u0003cm`.\u001b1\u0014~E^p\u0019\u0006\u0644\u0419\u001d|U\u0003\u0007K\u0018\u0929SK>3/W=}c\u001eUK\u001ag84\u06dcq\u2356,\u02495\u0007\u0015\rl\u0019U\u0017:A_2/WMhG\u0005u\u0013\u000f\u0645\u0398J`|*Zb%Xu2?r?xQ\u007f$]I \u015fo?\\\tqMeJ\u0019Z?{)f\u0005\u007f\u0014\u0007\u0010\u0011\u0001L+5lZE*vy}fA8\u001faP|!Y\u00003iM3t\u0007X\u0000\u007f\u0018u[~}uAK\n+iieT\u01a0C\u5b57\u0017Y|22\u001er*l\u0017#8XH\u0015>\n+oc2:'\u0005X1\u000fO+yFK\u001b?{\u0006m\u0001\rA['m\u02b2ehco\u03f7;D\u000eE;%N\\8NTxXu\"%X\u000f0`\n+r\u001e\u00f3(\u07e7\u0017rA]2\u0019\u0005Y0<09n{\r\u0011]\tSu\u001bm\\\u017bP\u000eb\\\u0018\u061aT7\\b9n.\u001dU#aS\u000f\u0010O\u70ea\u001b,'\u000e`\u02d9}\u000ec-\f\u000bIy\u0014[^\u0126Hx7Xu]\u001e\u001f)U\u0152DW0JeXN*1\u0010\r\u0000q#\u001dbN}\u000e3$\u0001K*Vc\u0005o,k\u0018\u001f%{\u0002C2I+@{K\u000f+$%d\b'\tWd\u001cgx3\u0000Ab[\u0001f=t\u00110bO9a%10x\u0002Iq\u0017\n+63\u000b e(XXTye0c\u0003qw\u0014UP\u000b\u0011WB4u8J\u000e#g\t\u0019h,@=\u0012\u0019p\r6\u00c4\n+\u000b2\u0011?(b?FC\fXf`[O\u0146\u0011W:'\u000f\u001aLc\u0016\u000bvh\u02b3`yeZ!`]2\u0017N\u0728T\u0013U$X>X0\u0007\t'2qLxTk?K\u0019npkKuF=R\u00125\n+\u02091\u0734E)\u0245\u0014s\u0011/o }6\u0018\u001c\u0016\u0012\u05b2L>\f\"=wk\ub9a3jsd\u0015xO\u0017#SgX\u0016i3\\>j\f=C\u89c0\u001f#\tTj1e1gjG(B\u0019q\u001cFO\"st\u0001:,%Y\u065fck3\f\u0011}0\u02d2\rq%;\u00037#}RQ\u000e\u0340\u001f#yW0C\u02183\tT\u0014\u0015\u0006\u0717BU4:f\u001f#\u001d-Y#X$I\u0018Y\u0004w6\u0003Y\u0748Z\u0018)0\u000f05\u0097nB&z3\u0006\u001f\u0018H\u0017\u0017;zU\u0015_A\u06ce~U^NQ]^J:Q\u0013L;^o.\u07f2L\u02d8!A\u0004\u0015:#w6\u0000=\u0003\u0006t\b^.^tcP\\<\u001bQ\u0716`Y\u0402B\u0011/\u0003^\r(X8\u0003L\n+\u0001j\\=BY G^J^l\u0010e\u0018aljE6gHyml\t_QB\u0019=SO$D\u001e\u00bf\u0007lDV\u0013*A\u0006\u0005?\u0014/VuZ@\\1n;j'6!+^?\u0015\u001a_\u07a9TY\u0333\u000f\u04e1\u0707\u0005g5kdy4O\u000e\u0018-\u0010Z\u00128}\u0538|J4J\u0003\u000f?2\u0643`7P\t`J\fE50T\u0003DY\u02d4ZPO8(\u0001P\u0014A 3\u000e\u0016\u0011`q)K{\u0006>U2\u0017\u0533qI\n+RJ\u0013\u0011;=j5\u07f6MRVo_\u000eo]X8l\u0005\\~\u0012\u0007MQm\u0002;\u001dq\n+\u0019`\u0019:^h\u0010W\u007f\u0019PZ@T;\u5a6eMZE!P\u039eIq\u001b,P\u00124L\u0007ULT*X\u001f$~H\u0019^h]Cvd6q\u0003z\r7B*}\u0014+'Rfx^uS-Ow/WA\u0011H\u001a(\u001b5Nr|\u00058&z\u0011IswW\u03c2\"\u0004lla\u07c1\u001a\u0002\u0018\u0013aT$:,\rH\u0454\u0018\u0294\u0007a.\u001b\u01e9RGYm6h\u05db\u0019\u0015\u0006\u007f/d p\u001aFJv\u0000-(M|~u*\u0017X:VDTC=74RT]\u001c\u0018_o\t\u066aR-U\u0013\u001eN/RoYt(kzfz+*L\u001a`\\\u001ex=a\u0010\u0013+\u0003|\u0005hHr.?\u0000m;V9-\u001fQ\u001b\u0018\u0346\u02c5,\u0003M\u0002#\"jQ?*9,#\u001aqQ\u58ec\rRj\u0004&>\u0017Q\u032ea'a$/\u0015?!z!X\u000b3ky\u0002LV\n+O'`}\trK\n+mgJ0XP5RX4\u0607\u0787\u0579~o'\u000092!V\t\f\"v&\u0017iU7<'gap{ \u000f:\u0003x\n+}\u000be3\u0005|K-\u00bbSo^Vo.}t[%\u0682nz5=e{n*\n+o\u000f8\u0000_\u0471\u0005Ja-\u001e\u0005\u0019}03q\u0013s`o\u007ftDM_y\u0013O|\ua1ff\u04fe!4+Syj\u00fft@'^+\":XI]\n+\u001a\ffXex`Rq>J$DH2\u0017\u0017^^K\"*\u001b45\u0010\u0012th?\u007fAS\f%\u0006`$\u00015\u079ds\u4ec9\u03cd~\u001a\n+g\u0687W[SOE\u0001+\u001b\u0010x\t\u0016\u0015m\f[\u0018O\u001ax}^\u0129\u000f8\u0000_x`iV\u001f0Agp,{@_%v\u007f:pb\u0017Q4=<\u0503$2FuP\u0005i&/%\u0554\u00176!g;+\u0002\u03fbsv\u90dd+\u0441a\u001d\u06b8h\u001f\u0015Ww3\b;e{v\u001f3\u0735]y#7eX*K YI/3]NN;\u0006\u001f\f\u001e3\u0006,\u001c]\n+\u06a3M\u001e;\u213eH)\u001a`\u078b7z\u0012\rtp\u0004\u0007M\u0019{3Y@iDs:P\u0014\u001b\u0012?8'vN)x7uNoV\u0011LLy\u01ab<\\\u001f\u059fvSO^c-\u04bbL\\\u001eXI)iz\u001d\u0002x\u0168\u0017\u001ax\u001dsnjd\u02b509DR<\u0012\u0004\u06f3\u0000)^)\u0017\u000b\u001b\u0007VQb<\u001bA&p0'\u0016\ri\f\u007fBf\u001bW\\`\u0016F\u000eMtW~lG\u0004\u001d+GKmdQ\r\u00112\u001cM\u0005p)A{\u0004\u0285\u0017f?#Kd,%#V(L\u0017E\tlJ4u\u007fF\u000b6M:\u0001)(G\u0016}g|[nJ1)G:\u0692\n+20uVj\u070c]7CXI#{lf\rQ8{1UD\u0010Tyf9\u007f2k0\u040cjc\u0013:\r\u0012\u01c8<\u000bqoF\rM\u0011\u04c3dq\u0325*i\u029c \u001f\"e[\rVe-\u0013*OHZ['\u000b\u0012Z\bs\"%10G b;l&C@q\n+EbL!\u0000\u001a\u0017\u001f\u0087:\u0018\u0012N\u02c8?\u00153d\u000fi/\u0128\u001a*\u001e0N>Y\u001e>4\n+\u0018]d/\u0294\u0019U*<4KEShTj'KE\f]&/w.#S\u001a:xue_b%K(n3GUa\u0011\u001dW\u0017j%Dz2\u06ccVlSzNy\n+_f/}7\u0005u\u001bau1R4nF.\u0010Vek\u001c#?\u0374>\u00f8&wnsU\u0001vT\u001a\u0000$sjg\u0016\u001ag\u0010\u0010V/3D$0+t=;Q\u0000V\u0007Yrz{N\u0013r]2t\u0016Zl)9`Wn\u07a2\u0013\u0003\u001f\u007f 'K\u0012\u07a3oN~;\u073dMj8AUP~\u001a\u007f\u07be\u01f7_ow|w\u001f\u044e./\u000e\u0004\u00db\u000f;\u0003Gm\u0017xmx_W\u07f8\u0539\u0799~\u04a0-!\u07d1i%*\u001aCd\u001fCK?N7\u001e+\u001fl\u0001\\6\u001eO\u001d\b&5\u0003{C\u01de1\u001fp\u0001>\u0012[M|\u000f\u0005/)%\u0228?\n"}]}, {"source1": "./usr/share/doc/yade/html/prog.html", "source2": "./usr/share/doc/yade/html/prog.html", "unified_diff": "@@ -1207,19 +1207,19 @@\n \t\t\t\t<wire>0</wire>\n \t\t\t\t<highlight>0</highlight>\n \t\t\t</px>\n \t\t</subD>\n \t\t<tags class_id="6" tracking_level="0" version="0">\n \t\t\t<count>5</count>\n \t\t\t<item_version>0</item_version>\n-\t\t\t<item>author=~(pbuilder1@ionos1-amd64)</item>\n-\t\t\t<item>isoTime=20240629T004157</item>\n-\t\t\t<item>id=20240629T004157p2264848</item>\n-\t\t\t<item>d.id=20240629T004157p2264848</item>\n-\t\t\t<item>id.d=20240629T004157p2264848</item>\n+\t\t\t<item>author=second~user~(pbuilder2@i-capture-the-hostname)</item>\n+\t\t\t<item>isoTime=20250802T195759</item>\n+\t\t\t<item>id=20250802T195759p3687441</item>\n+\t\t\t<item>d.id=20250802T195759p3687441</item>\n+\t\t\t<item>id.d=20250802T195759p3687441</item>\n \t\t</tags>\n \t\t<engines class_id="7" tracking_level="0" version="0">\n \t\t\t<count>1</count>\n \t\t\t<item_version>1</item_version>\n \t\t\t<item class_id="8" tracking_level="0" version="1">\n \t\t\t\t<px class_id="10" class_name="yade::GravityEngine" tracking_level="1" version="0" object_id="_4">\n \t\t\t\t\t<FieldApplier class_id="11" tracking_level="1" version="0" object_id="_5">\n@@ -1888,15 +1888,15 @@\n 
Yade [42]: ld=LawDispatcher([Law2_ScGeom_CpmPhys_Cpm()])\n \n Yade [43]: ld.dispMatrix()\n Out[43]: {('GenericSpheresContact', 'CpmPhys'): 'Law2_ScGeom_CpmPhys_Cpm'}\n \n # see how the entry for ScGridCoGeom will be filled after this request\n Yade [44]: ld.dispFunctor(ScGridCoGeom(),CpmPhys())\n-Out[44]: <Law2_ScGeom_CpmPhys_Cpm instance at 0x364ef30>\n+Out[44]: <Law2_ScGeom_CpmPhys_Cpm instance at 0x44a44d0>\n \n Yade [45]: ld.dispMatrix()\n Out[45]: \n {('GenericSpheresContact', 'CpmPhys'): 'Law2_ScGeom_CpmPhys_Cpm',\n  ('ScGridCoGeom', 'CpmPhys'): 'Law2_ScGeom_CpmPhys_Cpm'}\n 
\n
\n@@ -2016,27 +2016,27 @@\n Yade [51]: yade.timing.reset() ## not necessary if used for the first time\n \n Yade [52]: O.run(50); O.wait()\n \n Yade [53]: yade.timing.stats()\n Name Count Time Rel. time\n -------------------------------------------------------------------------------------------------------\n-"firstEngine" 50 155.841us 0.77% \n-InsertionSortCollider 25 4677.21us 23.09% \n-InteractionLoop 50 10031.727us 49.52% \n-GlobalStiffnessTimeStepper 2 68.144us 0.34% \n-TriaxialCompressionEngine 50 1225.732us 6.05% \n-TriaxialStateRecorder 3 2299.367us 11.35% \n-NewtonIntegrator 50 1798.078us 8.88% \n- forces sync 50 45.046us 2.51% \n- motion integration 50 1554.644us 86.46% \n- sync max vel 50 48.354us 2.69% \n- terminate 50 29.966us 1.67% \n- TOTAL 200 1678.01us 93.32% \n-TOTAL 20256.099us 100.00% \n+"firstEngine" 50 50.904us 0.70% \n+InsertionSortCollider 25 2084.8us 28.67% \n+InteractionLoop 50 3408.971us 46.88% \n+GlobalStiffnessTimeStepper 2 24.69us 0.34% \n+TriaxialCompressionEngine 50 587.35us 8.08% \n+TriaxialStateRecorder 3 275.354us 3.79% \n+NewtonIntegrator 50 840.267us 11.55% \n+ forces sync 50 11.219us 1.34% \n+ motion integration 50 807.579us 96.11% \n+ sync max vel 50 5.041us 0.60% \n+ terminate 50 2.639us 0.31% \n+ TOTAL 200 826.478us 98.36% \n+TOTAL 7272.336us 100.00% \n
\n
\n

Exec count and time can be accessed and manipulated through Engine::timingInfo from c++ or Engine().execCount and Engine().execTime properties in Python.

\n
\n
\n

In-engine and in-functor timing\u00b6

\n

Timing within engines (and functors) is based on TimingDeltas class which is by default instantiated in engines and functors as Engine::timingDeltas and Functor::timingDeltas (Engine.timingDeltas and Functor.timingDeltas in Python). It is made for timing loops (functors\u2019 loop is in their respective dispatcher) and stores cummulatively time differences between checkpoints.

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1061,19 +1061,19 @@\n 0\n 0\n \n \n \n 5\n 0\n-author=~(pbuilder1@ionos1-amd64)\n-isoTime=20240629T004157\n-id=20240629T004157p2264848\n-d.id=20240629T004157p2264848\n-id.d=20240629T004157p2264848\n+author=second~user~(pbuilder2@i-capture-the-hostname)\n+isoTime=20250802T195759\n+id=20250802T195759p3687441\n+d.id=20250802T195759p3687441\n+id.d=20250802T195759p3687441\n \n \n 1\n 1\n \n \n@@ -1792,15 +1792,15 @@\n Yade [42]: ld=LawDispatcher([Law2_ScGeom_CpmPhys_Cpm()])\n \n Yade [43]: ld.dispMatrix()\n Out[43]: {('GenericSpheresContact', 'CpmPhys'): 'Law2_ScGeom_CpmPhys_Cpm'}\n \n # see how the entry for ScGridCoGeom will be filled after this request\n Yade [44]: ld.dispFunctor(ScGridCoGeom(),CpmPhys())\n-Out[44]: \n+Out[44]: \n \n Yade [45]: ld.dispMatrix()\n Out[45]:\n {('GenericSpheresContact', 'CpmPhys'): 'Law2_ScGeom_CpmPhys_Cpm',\n ('ScGridCoGeom', 'CpmPhys'): 'Law2_ScGeom_CpmPhys_Cpm'}\n *\b**\b**\b* O\bOp\bpe\ben\bnG\bGL\bL f\bfu\bun\bnc\bct\bto\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b*\n OpenGL rendering is being done also by 1D functors (dispatched for the type to\n@@ -1932,39 +1932,39 @@\n Yade [52]: O.run(50); O.wait()\n \n Yade [53]: yade.timing.stats()\n Name Count\n Time Rel. time\n -------------------------------------------------------------------------------\n ------------------------\n-\"firstEngine\" 50 155.841us\n-0.77%\n-InsertionSortCollider 25 4677.21us\n-23.09%\n-InteractionLoop 50 10031.727us\n-49.52%\n-GlobalStiffnessTimeStepper 2 68.144us\n+\"firstEngine\" 50 50.904us\n+0.70%\n+InsertionSortCollider 25 2084.8us\n+28.67%\n+InteractionLoop 50 3408.971us\n+46.88%\n+GlobalStiffnessTimeStepper 2 24.69us\n 0.34%\n-TriaxialCompressionEngine 50 1225.732us\n-6.05%\n-TriaxialStateRecorder 3 2299.367us\n-11.35%\n-NewtonIntegrator 50 1798.078us\n-8.88%\n- forces sync 50 45.046us\n-2.51%\n- motion integration 50 1554.644us\n-86.46%\n- sync max vel 50 48.354us\n-2.69%\n- terminate 50 29.966us\n-1.67%\n- TOTAL 200 1678.01us\n-93.32%\n-TOTAL 20256.099us\n+TriaxialCompressionEngine 50 587.35us\n+8.08%\n+TriaxialStateRecorder 3 275.354us\n+3.79%\n+NewtonIntegrator 50 840.267us\n+11.55%\n+ forces sync 50 11.219us\n+1.34%\n+ motion integration 50 807.579us\n+96.11%\n+ sync max vel 50 5.041us\n+0.60%\n+ terminate 50 2.639us\n+0.31%\n+ TOTAL 200 826.478us\n+98.36%\n+TOTAL 7272.336us\n 100.00%\n Exec count and time can be accessed and manipulated through Engine::timingInfo\n from c++ or Engine().execCount and Engine().execTime properties in Python.\n *\b**\b**\b* I\bIn\bn-\b-e\ben\bng\bgi\bin\bne\be a\ban\bnd\bd i\bin\bn-\b-f\bfu\bun\bnc\bct\bto\bor\br t\bti\bim\bmi\bin\bng\bg_\b?\b\u00b6 *\b**\b**\b*\n Timing within engines (and functors) is based on _\bT_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs class which is by\n default instantiated in engines and functors as Engine::timingDeltas and\n Functor::timingDeltas (_\bE_\bn_\bg_\bi_\bn_\be_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs and _\bF_\bu_\bn_\bc_\bt_\bo_\br_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs in Python).\n"}]}, {"source1": "./usr/share/doc/yade/html/searchindex.js", "source2": "./usr/share/doc/yade/html/searchindex.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -61914,15 +61914,14 @@\n \"014\": [28, 29],\n \"015\": 28,\n \"016\": [28, 29],\n \"017\": [28, 33],\n \"018\": 28,\n \"019\": 28,\n \"01a\": [35, 43],\n- \"01u\": 27,\n \"02\": [13, 22, 27, 28, 33, 44, 60, 65, 67],\n \"020\": 28,\n \"0207\": 29,\n \"021\": 28,\n \"021302\": 29,\n \"022\": 28,\n \"022904\": 28,\n@@ -61946,18 +61945,18 @@\n \"03m\": [23, 35, 43],\n \"04\": [0, 3, 6, 22, 28, 33, 42, 47, 59],\n \"040\": 28,\n \"0402\": 28,\n \"04022023\": 28,\n \"041\": 28,\n \"041301\": 28,\n+ \"041u\": 27,\n \"0423\": 28,\n- \"046u\": 27,\n \"0471975511965976\": 47,\n- \"05\": [27, 28, 29, 31, 32, 33, 34, 46, 47, 60, 67],\n+ \"05\": [28, 29, 31, 32, 33, 34, 46, 47, 60, 67],\n \"0500\": 28,\n \"051\": 28,\n \"052\": 28,\n \"0527\": 28,\n \"052905\": 28,\n \"0530\": 60,\n \"0558\": 28,\n@@ -61967,31 +61966,30 @@\n \"0579\": 28,\n \"05d\": 66,\n \"06\": [27, 28, 29, 33, 44, 57, 60, 66],\n \"06016042\": 28,\n \"062203\": 28,\n \"0627\": 28,\n \"064302\": [28, 29],\n+ \"06695464744252444\": 35,\n \"0687\": 28,\n \"0689\": 28,\n \"07\": [28, 29, 66],\n \"0714\": 28,\n \"0731\": 28,\n \"0733\": 29,\n \"0740\": 28,\n \"0785\": 28,\n- \"078u\": 27,\n \"08\": [27, 28, 29, 47, 59, 65],\n \"0815\": 28,\n \"08927029208022474\": 29,\n \"08927029908022097\": 29,\n- \"09\": [27, 28, 29, 65],\n+ \"09\": [28, 29, 65],\n \"090192\": 29,\n \"09057\": 28,\n- \"099u\": 27,\n \"0b000011\": [60, 67],\n \"0b011\": 34,\n \"0b100101\": 60,\n \"0b1101\": 60,\n \"0e\": 46,\n \"0e9\": [40, 44],\n \"0i\": 1,\n@@ -62003,52 +62001,52 @@\n \"0x00000000004a7c5\": 47,\n \"0x000000000051336d\": 47,\n \"0x00007f0fcd0b4b23\": 47,\n \"0x00007f0fcd87ed57\": 47,\n \"0x00007f0fcd88c7e9\": 47,\n \"0x00007f0fcd88cb20\": 47,\n \"0x00007f0fcd8f4f7d\": 47,\n- \"0x1176790\": 35,\n- \"0x12d76d0\": [60, 67],\n- \"0x12d89c0\": 23,\n \"0x1c54620\": 47,\n- \"0x1fd21b0\": 66,\n- \"0x22ccea0\": 43,\n+ \"0x2032b20\": 35,\n+ \"0x21a9a10\": [60, 67],\n \"0x2d06770\": 27,\n- \"0x357f8a0\": 35,\n- \"0x359aa20\": 23,\n- \"0x359e6e0\": 23,\n- \"0x35a9d60\": 43,\n- \"0x35df1a0\": 23,\n- \"0x362f6c0\": 23,\n- \"0x364ef30\": 27,\n- \"0x3679b10\": 23,\n- \"0x3688490\": 35,\n- \"0x385d300\": 35,\n- \"0x3866120\": 35,\n- \"0x38af4e0\": 43,\n- \"0x38c9010\": 43,\n- \"0x3a69440\": 47,\n- \"0x3a73f60\": 43,\n- \"0x3a83dd0\": 47,\n- \"0x3aa5a30\": 47,\n+ \"0x2d34000\": 66,\n+ \"0x328a920\": 43,\n+ \"0x44a44d0\": 27,\n+ \"0x44b2720\": 23,\n+ \"0x44cb610\": 23,\n+ \"0x44da4a0\": 23,\n+ \"0x4507950\": 47,\n+ \"0x4548900\": 35,\n+ \"0x45a2aa0\": 23,\n+ \"0x45aed40\": 23,\n+ \"0x45ca310\": 23,\n+ \"0x4652e70\": 43,\n+ \"0x475f820\": 35,\n+ \"0x4793710\": 43,\n+ \"0x47993a0\": 35,\n+ \"0x479d800\": 35,\n+ \"0x4963dd0\": 43,\n+ \"0x49652a0\": 47,\n+ \"0x49653b0\": 47,\n+ \"0x4967170\": 43,\n \"0x7f0fb1268710\": 47,\n \"0x7f0fb29f2710\": 47,\n \"0x7f0fb31f3710\": 47,\n \"0x7f0fcee53700\": 47,\n \"0x7f1e4231e440\": 25,\n \"0x7f20086a1490\": 25,\n \"0x7f21a8c8d3a0\": 25,\n \"0x7f3142e43440\": 25,\n \"0x7f5b61ae9440\": 25,\n \"0x7f622b47f490\": 25,\n- \"0x7f7a264ff5a0\": 23,\n \"0x7f8dc7b73440\": 25,\n \"0x7f9231213490\": 25,\n \"0x7f9c0a399490\": 25,\n+ \"0x7f9e0fbff4c0\": 23,\n \"0x7fb699b1a440\": 25,\n \"0x7fdd466b8440\": 25,\n \"0x7feb979403a0\": 25,\n \"1\": [0, 1, 2, 3, 4, 5, 6, 13, 14, 16, 22, 23, 25, 26, 27, 28, 29, 32, 33, 34, 35, 39, 43, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 65, 66, 67, 68, 69],\n \"10\": [0, 1, 2, 3, 4, 5, 7, 13, 22, 23, 25, 26, 27, 28, 29, 33, 34, 35, 41, 43, 45, 46, 47, 50, 51, 56, 59, 60, 63, 66, 67, 69],\n \"100\": [6, 23, 25, 27, 32, 33, 34, 35, 41, 45, 46, 47, 65],\n \"1000\": [1, 23, 26, 32, 33, 34, 41, 44, 45, 46, 47, 56, 60, 66, 67],\n@@ -62057,15 +62055,14 @@\n \"1000000\": 3,\n \"1000000000\": 27,\n \"100068\": 28,\n \"10011101011100001010001111010111000010100011110101110\": 3,\n \"10011101011100001010001111010111000010100011110101110000000000000000000000000000000000000000000000000000000000000\": 3,\n \"10011101011100001010001111010111000010100011110101110000101000111101011100001010001111010111000010100011110101110\": 3,\n \"1002\": [28, 29, 60, 67],\n- \"10031\": 27,\n \"1006\": 29,\n \"1007\": [28, 29],\n \"10070737\": 28,\n \"1009\": 28,\n \"100sphere\": 27,\n \"101090\": 28,\n \"10111\": 23,\n@@ -62073,14 +62070,15 @@\n \"101272\": 28,\n \"1013\": 29,\n \"1016\": [28, 29],\n \"1017\": [28, 29],\n \"102\": [26, 28, 65, 66],\n \"102077490\\u03bc\": 27,\n \"1021\": 29,\n+ \"102362\": 23,\n \"1024\": [29, 56],\n \"102489\": 28,\n \"1029\": [28, 29],\n \"103\": 28,\n \"103481\": 28,\n \"10351\": 28,\n \"103642\": 28,\n@@ -62187,15 +62185,14 @@\n \"120\": 53,\n \"1202039\": [5, 28, 69],\n \"1205\": 29,\n \"1209\": 28,\n \"121\": [28, 29],\n \"122\": 29,\n \"1222186\": 65,\n- \"1225\": 27,\n \"122745\": 28,\n \"123\": [28, 29],\n \"124\": 28,\n \"124432\": 28,\n \"125\": [28, 29],\n \"126477\": 28,\n \"12691\": 28,\n@@ -62210,15 +62207,14 @@\n \"130\": 29,\n \"1303\": 29,\n \"1304\": 28,\n \"131\": [28, 29],\n \"1313\": [28, 29],\n \"13274\": 60,\n \"1329\": 29,\n- \"133656\": 23,\n \"134\": 28,\n \"135\": [28, 29],\n \"13506\": 28,\n \"136\": [28, 29],\n \"1364\": 29,\n \"1365\": 28,\n \"136u\": 65,\n@@ -62229,15 +62225,14 @@\n \"13th\": 28,\n \"14\": [0, 6, 13, 22, 23, 27, 28, 29, 34, 35, 43, 47, 59, 60],\n \"142\": 28,\n \"1423738u\": 65,\n \"143\": [28, 29],\n \"14311\": 28,\n \"144\": [28, 35],\n- \"144u\": 27,\n \"146\": 28,\n \"14680629\": 28,\n \"147\": 28,\n \"148\": 28,\n \"1484\": 29,\n \"149\": [28, 29, 47],\n \"15\": [1, 3, 13, 22, 23, 25, 27, 28, 29, 34, 35, 43, 47, 53, 56, 59, 60],\n@@ -62245,16 +62240,15 @@\n \"15177607\\u03bc\": 27,\n \"152\": 28,\n \"1521\": 29,\n \"153\": [28, 29],\n \"1532\": 28,\n \"1538\": 29,\n \"154\": 28,\n- \"155\": [27, 28],\n- \"1554\": 27,\n+ \"155\": 28,\n \"156\": 28,\n \"15632\": 28,\n \"157\": [28, 29],\n \"158\": 28,\n \"159\": 29,\n \"1594300u\": 65,\n \"15re\": 1,\n@@ -62272,28 +62266,26 @@\n \"16470\": 47,\n \"16471\": 47,\n \"16497\": 47,\n \"165\": [28, 29],\n \"166\": 29,\n \"1675\": [35, 43],\n \"1676942\": 29,\n- \"1678\": 27,\n \"1680\": [28, 29],\n \"169\": [28, 35],\n \"16th\": 28,\n \"17\": [13, 23, 27, 28, 34, 35, 43, 47, 59],\n \"170\": 28,\n \"171\": 28,\n \"1723168u\": 65,\n \"173\": 28,\n \"17486025\": 28,\n \"175\": 28,\n \"178\": [28, 29],\n \"179\": 29,\n- \"1798\": 27,\n \"18\": [1, 3, 22, 23, 27, 28, 34, 35, 43, 47, 59, 60, 67],\n \"180\": 25,\n \"1801250u\": 65,\n \"183\": 28,\n \"185\": 28,\n \"186\": 28,\n \"18663\": 28,\n@@ -62363,15 +62355,14 @@\n \"2003\": [28, 29],\n \"2004\": [28, 29],\n \"2005\": [28, 29],\n \"2006\": [28, 29],\n \"2006jf000536\": 29,\n \"2007\": [28, 29],\n \"2008\": [28, 29],\n- \"200895873625540622\": 35,\n \"2009\": [26, 28, 29],\n \"200k\": 2,\n \"2010\": [28, 29, 47],\n \"20100413t144723p7625\": 47,\n \"2011\": [22, 28, 29, 30, 36, 60, 67],\n \"2012\": [26, 28, 29, 60, 67, 68],\n \"2012032\": 28,\n@@ -62386,134 +62377,134 @@\n \"2019\": [28, 29, 35, 36, 47, 69],\n \"2020\": [5, 22, 28, 29],\n \"2021\": [7, 28],\n \"2021gl093222\": 28,\n \"2022\": [10, 28, 39, 43, 48, 53],\n \"20220530\": 53,\n \"2023\": 28,\n- \"202354703771146616\": 43,\n \"2024\": [28, 53],\n- \"20240629t004157\": 27,\n- \"20240629t004157p2264848\": 27,\n- \"20240629t004205\": 47,\n- \"20240629t004205p2264848\": 47,\n- \"20256\": 27,\n+ \"20250802t195759\": 27,\n+ \"20250802t195759p3687441\": 27,\n+ \"20250802t195803\": 47,\n+ \"20250802t195803p3687441\": 47,\n+ \"202933546091098815\": 35,\n \"203\": 28,\n- \"205875612227253368\": 43,\n+ \"203225172973583668\": 35,\n \"206\": 23,\n \"2064553\": 28,\n \"207\": 28,\n+ \"2084\": 27,\n \"209\": 22,\n \"21\": [23, 27, 28, 29, 34, 35, 43, 47, 60, 67],\n \"210\": 29,\n \"21000\": [23, 47],\n \"21002\": [35, 43],\n \"210e9\": [44, 47],\n \"211\": 28,\n \"212\": 28,\n+ \"212690059857327363\": 43,\n \"213\": 29,\n \"2136\": 28,\n \"214\": [28, 29],\n \"215\": 28,\n \"2150u\": 65,\n- \"215515236926492992\": 43,\n \"21589\\u03bc\": 27,\n \"2175\": 28,\n \"219\": [28, 29],\n \"2198\": 28,\n- \"21u\": 27,\n+ \"219u\": 27,\n \"22\": [3, 13, 22, 23, 27, 28, 29, 34, 35, 43, 47, 60, 66, 67],\n \"220\": 28,\n \"221\": [28, 29],\n \"2210\": 29,\n \"223\": 28,\n+ \"223287575260714855\": 43,\n \"2235\": 29,\n \"225\": 29,\n \"226\": [28, 29],\n \"2264\": 29,\n \"228\": 29,\n+ \"228102645388749581\": 43,\n \"2285\": 28,\n \"228779\": 28,\n \"2297\": 28,\n- \"2299\": 27,\n \"229974\": 28,\n- \"23\": [3, 23, 27, 28, 29, 34, 35, 43, 47, 60, 67],\n+ \"23\": [3, 23, 27, 28, 29, 35, 43, 47, 60, 67],\n \"2308\": 28,\n \"231731\": 29,\n \"231732\": 29,\n \"232\": 28,\n+ \"232052241022582262\": 35,\n \"23216292\\u03bc\": 27,\n \"233\": 29,\n \"234\": 28,\n \"234567890123456789012345678901234567890\": 56,\n \"235\": [28, 29],\n \"23574660633484162\": 13,\n \"23574660633484165\": 13,\n+ \"2362\": 23,\n \"238\": 29,\n \"23rd\": 10,\n \"24\": [0, 1, 4, 23, 27, 28, 29, 35, 43, 47, 66],\n \"240\": 28,\n \"2400\": [47, 66],\n \"241\": [23, 27, 28, 35, 43],\n \"2412\": 47,\n \"241m\": [35, 43],\n \"241m4\": 35,\n \"242\": 29,\n- \"242767599871246187\": 43,\n \"243100\": [60, 67],\n \"244\": 29,\n \"246\": 29,\n \"246x\": 28,\n \"247\": [28, 29],\n \"248\": [26, 28],\n+ \"249812716241304855\": 35,\n \"24th\": 10,\n \"25\": [3, 6, 13, 23, 27, 28, 35, 43, 46, 47, 60, 65, 67],\n \"2500\": [40, 44],\n \"2509\": 29,\n \"2516\": 28,\n \"252\": 28,\n \"2524\": 29,\n- \"254191566754383924\": 43,\n \"255\": 28,\n- \"255252427716882391\": 43,\n+ \"255255932391222906\": 43,\n \"256\": [22, 35],\n \"25619141423166986\": 47,\n- \"256958822064891734\": 35,\n \"257\": 29,\n- \"258314925968938347\": 35,\n \"259\": [28, 29],\n \"25e\": 28,\n \"26\": [23, 25, 27, 28, 29, 35, 43, 47],\n \"260\": 28,\n \"2600\": [25, 41, 45],\n \"2600e10\": 46,\n \"26015u\": 65,\n+ \"26088365323742968\": 43,\n \"261\": 29,\n \"264\": 28,\n \"2650\": 26,\n- \"267796117292300018\": 35,\n+ \"267u\": 27,\n \"268\": 29,\n- \"268057039020888954\": 35,\n \"269\": 29,\n \"27\": [23, 27, 28, 29, 35, 43, 47, 53],\n \"270\": 28,\n \"2700\": 46,\n- \"271861695597710007\": 35,\n \"272\": [60, 67],\n+ \"273114658334072669\": 43,\n+ \"275\": 27,\n \"276\": [28, 29],\n \"2774\": 28,\n \"28\": [23, 27, 35, 43, 47],\n \"2800\": [60, 67],\n- \"282582122621738874\": 43,\n+ \"283358275660709147\": 35,\n \"288\": 28,\n \"29\": [23, 26, 27, 28, 29, 35, 43, 47, 53, 65],\n \"291u\": 65,\n \"294\": 28,\n \"297\": 28,\n- \"297212283874070504\": 35,\n \"2_\": [60, 67],\n \"2_2\": 13,\n \"2_3\": 13,\n \"2_4\": 13,\n \"2c\": 66,\n \"2cr\": 28,\n \"2d\": [0, 13, 26, 27, 28, 29, 32, 47, 56, 57, 59, 60, 62, 66, 67],\n@@ -62538,26 +62529,25 @@\n \"2\\u00b9\\u03c0\": 28,\n \"3\": [0, 1, 2, 3, 4, 5, 13, 16, 22, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 39, 41, 43, 47, 48, 50, 51, 52, 53, 55, 56, 57, 59, 60, 62, 63, 66, 67],\n \"30\": [23, 25, 26, 27, 28, 29, 35, 41, 43, 46, 47, 53, 60, 65],\n \"300\": [3, 53, 60, 67],\n \"3000\": [60, 67],\n \"3000000000\": 2,\n \"3010299\": 3,\n- \"30323031057844041\": 35,\n \"305\": 28,\n- \"308071790037659943\": 35,\n \"30e9\": [47, 66],\n \"30gb\": 42,\n \"30k\": 2,\n \"31\": [23, 27, 28, 33, 35, 43, 47, 57, 60],\n \"310\": 28,\n \"312\": [60, 67],\n+ \"312337290316700766\": 35,\n \"3157\": 29,\n- \"316110013104652143\": 43,\n \"3163\": 29,\n+ \"316594303164593693\": 35,\n \"3166\": 29,\n \"318\": 28,\n \"3180002\": 28,\n \"3180083\": 28,\n \"3184\": 29,\n \"319\": [28, 29],\n \"31m\": [23, 27, 35, 43],\n@@ -62566,65 +62556,71 @@\n \"31mtype\": 23,\n \"31mtypeerror\": 35,\n \"32\": [0, 3, 22, 23, 25, 27, 28, 29, 35, 47, 51, 60],\n \"3219\": 3,\n \"323\": 28,\n \"324\": [28, 35],\n \"327\": 28,\n+ \"327127829959693806\": 35,\n \"3272\\u03bc\": 27,\n \"328\": 29,\n \"329\": 28,\n \"32m\": [23, 27, 35, 43],\n \"32min\": [23, 27, 35, 43],\n \"33\": [3, 13, 23, 27, 28, 35, 47, 53, 65],\n \"333\": [28, 46],\n \"3333\": 41,\n \"3357\": 28,\n \"336\": 28,\n \"3364\": 28,\n- \"33656\": 23,\n+ \"336u\": 27,\n \"338\": 28,\n \"3390\": 28,\n \"34\": [23, 27, 28, 32, 35, 47, 66],\n+ \"3408\": 27,\n \"342\": 28,\n \"343\": 28,\n \"344\": 28,\n \"345\": [28, 47],\n+ \"346882600392281137\": 35,\n \"34901\": 28,\n \"35\": [23, 27, 35, 47],\n \"351\": 28,\n \"352\": 28,\n \"352x\": 29,\n \"35466\": 47,\n \"354u\": 27,\n \"355\": 28,\n \"356k\": 2,\n \"3583872\": 65,\n+ \"358932739128685618\": 35,\n \"35th\": 28,\n+ \"35u\": 27,\n \"36\": [23, 26, 27, 28, 29, 35, 47],\n \"360\": [25, 60, 67],\n \"363\": 28,\n \"364\": 28,\n \"3641\": 28,\n \"365\": 28,\n \"36798199999999998\": 66,\n- \"367u\": 27,\n \"369\": 28,\n \"37\": [3, 23, 27, 28, 29, 35, 47, 60, 65],\n \"370\": 28,\n \"372\": [28, 29],\n \"375\": 28,\n \"3750\": 47,\n \"378\": 28,\n \"38\": [23, 27, 28, 29, 35, 43, 47, 65],\n \"381\": 28,\n \"383\": 28,\n \"384\": 28,\n \"39\": [3, 13, 23, 27, 28, 35, 43, 47],\n+ \"392649635381842721\": 43,\n \"397\": 28,\n+ \"397463613784902581\": 43,\n \"398\": 28,\n \"399\": 28,\n \"39m\": 35,\n \"39mpo\": 43,\n \"39mradiu\": 43,\n \"39mshape\": 43,\n \"39mstate\": 43,\n@@ -62657,14 +62653,15 @@\n \"421\": 28,\n \"4213\": 28,\n \"422\": 28,\n \"425\": 28,\n \"43\": [23, 27, 28, 29, 35, 47],\n \"435\": 28,\n \"4371\": 29,\n+ \"438862162949205104\": 43,\n \"43m\": [23, 27, 35, 43],\n \"43m0\": 35,\n \"43m10\": 43,\n \"43m100\": [23, 27],\n \"43m10111\": 23,\n \"43m12\": 43,\n \"43m3\": 35,\n@@ -62692,268 +62689,280 @@\n \"454\": 29,\n \"4563\": 29,\n \"457\": 28,\n \"458\": 28,\n \"46\": [23, 27, 28, 29, 35, 47, 53],\n \"465\": [28, 29],\n \"467\": 28,\n- \"4677\": 27,\n \"468\": 28,\n \"469\": 29,\n \"47\": [22, 23, 27, 28, 29, 35, 47, 60, 67],\n \"470\": 28,\n \"4702\": 28,\n \"471\": 28,\n- \"471717476706755789\": 35,\n \"473\": 28,\n \"476\": 29,\n \"477\": 28,\n+ \"478u\": 27,\n \"48\": [23, 27, 28, 29, 35, 47],\n \"480\": 28,\n \"4800\": [60, 67],\n \"481\": 28,\n \"4811900\": 28,\n \"4811976\": 28,\n \"4811999\": 28,\n \"4812063\": 28,\n \"4812118\": 28,\n \"4812158\": 28,\n+ \"481862066641215669\": 35,\n \"4819289u\": 65,\n \"483\": 29,\n- \"484936176324154644\": 35,\n \"489\": 28,\n \"4895\": 28,\n \"48al\": 28,\n \"49\": [23, 27, 28, 35, 47, 65],\n \"490\": 28,\n \"492\": 28,\n \"4926145\": 27,\n \"493\": 28,\n \"4935703\": 28,\n \"495\": 28,\n \"496\": 29,\n- \"499427550458366509\": 35,\n \"49m\": [23, 27, 35, 43],\n \"4_1\": 13,\n \"4gb\": [42, 66],\n \"4th\": [27, 60, 66, 67],\n \"5\": [0, 2, 3, 4, 5, 6, 13, 22, 23, 25, 26, 27, 28, 29, 33, 34, 35, 40, 41, 43, 45, 46, 47, 48, 51, 53, 55, 58, 59, 60, 62, 65, 66, 67],\n \"50\": [23, 27, 29, 35, 59, 62, 66],\n \"500\": [25, 27, 28, 33, 45, 46],\n \"5000\": [25, 33, 47],\n \"500000\": 23,\n \"50004\": 29,\n \"500m\": 27,\n \"500mb\": 66,\n \"50161117\\u03bc\": 27,\n+ \"508290232473085357\": 43,\n \"51\": [27, 28, 35, 47],\n \"510\": 28,\n+ \"510562385260563634\": 43,\n \"511\": 28,\n \"512\": 28,\n \"516081914556253\": [35, 43],\n \"52\": [27, 28, 29, 35, 47],\n \"520\": 28,\n \"5281\": [5, 7, 28, 69],\n \"53\": [3, 27, 28, 29, 35, 47, 53, 56],\n- \"533752390814815181\": 43,\n \"53553\": 59,\n \"536\": 29,\n \"5382\": 29,\n \"539\": 28,\n \"5398\": 60,\n \"54\": [27, 28, 29, 35, 47, 65],\n \"540\": 29,\n \"54005\": 28,\n \"543\": 29,\n- \"543777640340308732\": 43,\n+ \"54781752782922144\": 35,\n \"55\": [27, 28, 35, 47, 60, 67],\n- \"551960508761500934\": 43,\n \"5520\": 28,\n \"553\": 29,\n \"5534\": 28,\n \"56\": [27, 35, 47],\n \"5622\": 28,\n \"564\": 29,\n+ \"56528153155693639\": 43,\n \"57\": [27, 28, 35, 47],\n \"570\": 29,\n \"5705394\": [7, 28],\n \"570796326794896558\": 27,\n \"574\": 29,\n \"577\": [28, 29],\n \"5776\": 29,\n+ \"579u\": 27,\n \"58\": [27, 28, 29, 35, 47],\n \"580\": 29,\n \"5802\": [5, 28],\n+ \"587\": 27,\n \"59\": [27, 28, 35, 47, 65],\n \"5910\": 29,\n \"596\": 28,\n- \"599078597190785933\": 43,\n \"5_0\": 13,\n \"5bsource_branch\": 15,\n \"5d\": 15,\n \"5dt\": [60, 67],\n \"5e\": [33, 47],\n \"5e5\": 33,\n \"5e6\": [5, 25, 46],\n \"5gb\": 2,\n \"5th\": [27, 28],\n \"6\": [0, 2, 3, 4, 13, 22, 23, 25, 26, 27, 28, 29, 33, 34, 35, 41, 42, 43, 45, 47, 53, 55, 56, 57, 59, 60, 63, 66, 67],\n \"60\": [27, 35, 47, 53, 60, 65],\n \"600\": [28, 29],\n \"6000\": [47, 66],\n+ \"602005255761377533\": 35,\n+ \"602091868429407207\": 43,\n \"603\": 28,\n \"61\": [27, 28, 35, 47],\n \"610\": [28, 29],\n+ \"611823916656478284\": 35,\n \"616\": 28,\n+ \"617376667928174472\": 43,\n \"619\": 29,\n \"61th\": 28,\n \"62\": [3, 27, 28, 35, 47, 60, 67],\n- \"624245617288021304\": 35,\n- \"625470669781688304\": 35,\n+ \"626746334567175989\": 43,\n \"627\": 28,\n \"63\": [27, 28, 35, 47, 48, 51],\n \"632\": 28,\n \"634\": 29,\n \"638\": 28,\n+ \"639842442235056819\": 35,\n+ \"639u\": 27,\n \"64\": [0, 2, 3, 22, 27, 28, 35, 42, 47, 66],\n \"64200u\": 65,\n \"64284\\u03bc\": 27,\n- \"644u\": 27,\n+ \"644698492192295358\": 35,\n \"64810867\\u03bc\": 27,\n \"64k\": 25,\n \"65\": [1, 26, 27, 28, 29, 35, 47, 59, 60, 67],\n \"650\": 46,\n- \"65425585092045635\": 35,\n \"66\": [23, 27, 29, 35, 43, 47],\n- \"668563490379483039\": 35,\n \"67\": [27, 28, 35, 47],\n- \"671334800939194176\": 43,\n+ \"674824332124889459\": 43,\n \"68\": [27, 28, 47, 65],\n \"687\": 1,\n \"689\": 29,\n- \"69\": [27, 47],\n+ \"69\": 47,\n \"694160\": 28,\n- \"697256923292062902\": 35,\n \"698\": 29,\n+ \"69u\": 27,\n \"6_3\": 29,\n \"6e\": 45,\n \"6e097e95\": 22,\n \"6gb\": 2,\n \"6th\": 28,\n \"6x6\": [57, 60],\n \"6xvector6\": [57, 60],\n \"7\": [1, 2, 3, 13, 23, 25, 26, 27, 28, 29, 33, 34, 35, 41, 43, 46, 47, 51, 53, 59, 60, 66, 67],\n+ \"70\": 27,\n \"7030\": 47,\n+ \"70726041933348327\": 35,\n \"709\": 29,\n \"71\": [3, 22, 28, 29],\n \"710\": [45, 46],\n- \"71301083969698853\": 43,\n \"719\": 29,\n \"7200\": 44,\n- \"7232352523336818\": 35,\n- \"727u\": 27,\n+ \"721337363052881431\": 35,\n+ \"7272\": 27,\n \"73\": [26, 28],\n- \"731599039238917337\": 43,\n \"73166u\": 65,\n- \"732u\": 27,\n \"7341\": 29,\n \"7354\": 29,\n \"74\": [28, 29],\n \"75\": [2, 28],\n- \"751049849687323468\": 35,\n \"752\": 46,\n \"753\": 65,\n+ \"757544601999486256\": 43,\n \"76\": 28,\n+ \"76128990671180663\": 43,\n+ \"763914505245050002\": 35,\n \"7649131\\u03bc\": 27,\n+ \"765808679260428171\": 35,\n \"767\": [28, 29],\n- \"76943844026629904\": 43,\n- \"77\": [27, 29],\n- \"775078712755857824\": 43,\n+ \"77\": 29,\n \"775ae7436\": 27,\n- \"780348420160337453\": 35,\n \"786\": 28,\n- \"786101075640776026\": 35,\n+ \"786648325753775302\": 43,\n \"7889\": 28,\n \"789\": [28, 29],\n+ \"79\": 27,\n \"790\": 29,\n+ \"790188857854590809\": 35,\n \"790204786391\": [35, 43],\n- \"791481303227134614\": 43,\n+ \"791653572967926378\": 43,\n+ \"796392796134786973\": 35,\n \"798\": 28,\n+ \"798140265662449666\": 43,\n \"7m\": 3,\n \"7th\": 28,\n \"8\": [1, 2, 3, 6, 13, 23, 25, 27, 28, 29, 31, 32, 33, 34, 35, 41, 43, 44, 45, 47, 51, 53, 59, 60, 66, 67],\n \"80\": [0, 3, 25],\n \"800\": [28, 60, 66, 67],\n \"80178\": 29,\n \"802\": 29,\n \"804\": 28,\n \"805\": 28,\n \"806\": 29,\n+ \"807\": 27,\n \"81\": [3, 23, 26, 27, 28, 33, 35, 40, 43, 44, 47, 56],\n \"81000000000000050e\": 27,\n \"816\": 28,\n \"818\": 28,\n \"82\": [26, 28, 29, 47],\n \"820\": 28,\n+ \"821434821395253589\": 35,\n+ \"826\": 27,\n \"8284271247461903e\": 66,\n \"83\": [27, 28, 29, 53],\n \"8362u\": 65,\n \"839\": 28,\n \"84\": [13, 29],\n- \"841u\": 27,\n+ \"840\": 27,\n \"842735439305961756982896186698285363977e\": [57, 60],\n \"85\": 28,\n \"8595686\\u03bc\": 27,\n- \"86\": [27, 28],\n+ \"86\": 28,\n \"867\": 29,\n \"87\": [27, 28],\n \"872\": 29,\n \"877\": 68,\n \"88\": [27, 28],\n \"89\": 13,\n \"8_1\": 13,\n \"8gb\": 42,\n \"8ghz\": 6,\n \"8k\": 25,\n \"8th\": 28,\n+ \"8u\": 27,\n \"9\": [1, 3, 13, 22, 23, 25, 26, 27, 28, 29, 33, 34, 35, 40, 43, 44, 47, 50, 53, 56, 59, 60, 67],\n \"90\": [25, 29, 60, 67],\n \"9000\": 47,\n \"9001\": 23,\n \"9002\": [35, 43],\n \"903\": 28,\n+ \"904u\": 27,\n \"9080\": [33, 34, 47],\n \"91\": [28, 29],\n \"92\": 28,\n \"9274\": 29,\n- \"93\": [27, 28],\n+ \"93\": 28,\n \"9396\": 29,\n \"9399\": 29,\n \"94\": [26, 28, 29],\n \"9405\": 29,\n \"9433093\\u03bc\": 27,\n \"9449\\u03bc\": 27,\n \"95\": [28, 41],\n \"9518738\\u03bc\": 27,\n \"953\": [26, 28],\n \"959\": [26, 28],\n+ \"96\": 27,\n \"9605u\": 65,\n \"961\": 28,\n \"964\": 28,\n- \"966u\": 27,\n \"967\": 28,\n \"97\": 29,\n+ \"971u\": 27,\n \"974\": 28,\n \"977\": 28,\n \"978\": [28, 29],\n \"9780784412190\": 28,\n \"9780784480779\": 28,\n \"9781119476757\": 28,\n \"9781849735032\": 28,\n- \"98\": [29, 65],\n+ \"98\": [27, 29, 65],\n \"982\": 28,\n \"985\": 28,\n \"99\": [28, 29],\n \"9915\": 28,\n \"9_18\": 28,\n \"A\": [0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 15, 23, 25, 26, 27, 28, 29, 34, 35, 37, 38, 43, 47, 48, 55, 56, 59, 60, 65, 66, 67, 69],\n \"AND\": [27, 28, 60, 67],\n@@ -63340,15 +63349,15 @@\n \"amar\": 28,\n \"amazon\": [16, 22],\n \"amazonaw\": 6,\n \"ambient\": 1,\n \"ambigu\": [3, 60, 67],\n \"amcm\": 28,\n \"amd\": 2,\n- \"amd64\": [22, 27, 47, 53],\n+ \"amd64\": [22, 53],\n \"american\": 28,\n \"ami\": 6,\n \"amini\": 28,\n \"amir\": 28,\n \"among\": [13, 25, 26, 28, 32, 47, 60, 66, 67],\n \"amongst\": [23, 60, 67],\n \"amount\": [3, 15, 22, 25, 33, 47, 56, 60, 67],\n@@ -66940,14 +66949,15 @@\n \"horst\": 28,\n \"horv\": 28,\n \"horvath2022\": 28,\n \"hosn\": 28,\n \"hosseinkhani\": 28,\n \"hosseinkhani2023\": 28,\n \"host\": [15, 28, 47, 60],\n+ \"hostnam\": [27, 47],\n \"hot\": 28,\n \"houlsbi\": [26, 28],\n \"houlsby2009\": [26, 28],\n \"hour\": [0, 6],\n \"hourglass\": 30,\n \"hous\": 26,\n \"houtput\": 51,\n@@ -67412,15 +67422,14 @@\n \"invoc\": [3, 27, 56, 59, 66],\n \"invok\": [3, 13, 23, 26, 27, 47, 66],\n \"involv\": [0, 1, 13, 23, 25, 28, 47],\n \"in\\ufb01ltrat\": 28,\n \"io\": 59,\n \"ioanni\": 28,\n \"iofn\": 66,\n- \"ionos1\": [27, 47],\n \"iopyfn\": 66,\n \"ip\": [23, 60, 67],\n \"ip2\": [13, 23, 27, 60, 67],\n \"ip2_\": 33,\n \"ip2_2xinelastcohfrictmat_inelastcohfrictphi\": [24, 60, 67],\n \"ip2_bubblemat_bubblemat_bubblephi\": [24, 60, 67],\n \"ip2_cohfrictmat_cohfrictmat_cohfrictphi\": [24, 60, 67],\n@@ -69647,15 +69656,15 @@\n \"pattern\": [3, 23, 27, 28, 29, 66],\n \"paul\": [28, 29],\n \"paus\": [23, 27, 32, 33, 34, 35, 44, 47, 60, 67],\n \"pavement\": 28,\n \"pawel\": 28,\n \"pb\": 16,\n \"pbinner\": 26,\n- \"pbuilder1\": [27, 47],\n+ \"pbuilder2\": [27, 47],\n \"pctmaxforc\": [60, 67],\n \"pdf\": [23, 27, 28, 60],\n \"pdfengin\": [24, 60, 67],\n \"pe\": [60, 67],\n \"peak\": 47,\n \"peat\": 28,\n \"peculiar\": 47,\n"}]}, {"source1": "./usr/share/doc/yade/html/tutorial-geo.html", "source2": "./usr/share/doc/yade/html/tutorial-geo.html", "unified_diff": "@@ -225,18 +225,18 @@\n

Periodic boundary is a \u201cboundary\u201d created by using periodic (rather than infinite) space. Such boundary is activated by O.periodic=True , and the space configuration is decribed by O.cell . It is well suited for studying bulk material behavior, as boundary effects are avoided, leading to smaller number of particles. On the other hand, it might not be suitable for studying localization, as any cell-level effects (such as shear bands) have to satisfy periodicity as well.

\n

The periodic cell is described by its reference size of box aligned with global axes, and current transformation, which can capture stretch, shear and rotation. Deformation is prescribed via velocity gradient, which updates the transformation before the next step. Homothetic deformation can smear velocity gradient accross the cell, making the boundary dissolve in the whole cell.

\n

Stress and strains can be controlled with PeriTriaxController; it is possible to prescribe mixed strain/stress goal state using PeriTriaxController.stressMask.

\n

The following creates periodic cloud of spheres and compresses to achieve \\(\\sigma_x\\)=-10 kPa, \\(\\sigma_y\\)=-10kPa and \\(\\eps_z\\)=-0.1. Since stress is specified for \\(y\\) and \\(z\\), stressMask is binary 0b011 (x\u21921, y\u21922, z\u21924, in decimal 1+2=3).

\n
Yade [1]: sp=pack.SpherePack()\n \n Yade [2]: sp.makeCloud((1,1,1),(2,2,2),rMean=.16,periodic=True)\n-Out[2]: 20\n+Out[2]: 19\n \n Yade [3]: sp.toSimulation()             # implicitly sets O.periodic=True, and O.cell.refSize to the packing period size\n-Out[3]: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]\n+Out[3]: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]\n \n Yade [4]: O.engines+=[PeriTriaxController(goal=(-1e4,-1e4,-.1),stressMask=0b011,maxUnbalanced=.2,doneHook='functionToRunWhenFinished()')]\n 
\n
\n

When the simulation runs, PeriTriaxController takes over the control and calls doneHook when goal is reached. A full simulation with PeriTriaxController might look like the following:

\n
from __future__ import print_function\n from yade import pack, plot\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -122,20 +122,19 @@\n The following creates periodic cloud of spheres and compresses to achieve \\\n (\\sigma_x\\)=-10 kPa, \\(\\sigma_y\\)=-10kPa and \\(\\eps_z\\)=-0.1. Since stress is\n specified for \\(y\\) and \\(z\\), _\bs_\bt_\br_\be_\bs_\bs_\bM_\ba_\bs_\bk is binary 0b011 (x\u21921, y\u21922, z\u21924, in\n decimal 1+2=3).\n Yade [1]: sp=pack.SpherePack()\n \n Yade [2]: sp.makeCloud((1,1,1),(2,2,2),rMean=.16,periodic=True)\n-Out[2]: 20\n+Out[2]: 19\n \n Yade [3]: sp.toSimulation()             # implicitly sets O.periodic=True, and\n O.cell.refSize to the packing period size\n-Out[3]: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,\n-23]\n+Out[3]: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]\n \n Yade [4]: O.engines+=[PeriTriaxController(goal=(-1e4,-\n 1e4,-.1),stressMask=0b011,maxUnbalanced=.2,doneHook='functionToRunWhenFinished\n ()')]\n When the simulation _\br_\bu_\bn_\bs, _\bP_\be_\br_\bi_\bT_\br_\bi_\ba_\bx_\bC_\bo_\bn_\bt_\br_\bo_\bl_\bl_\be_\br takes over the control and calls\n _\bd_\bo_\bn_\be_\bH_\bo_\bo_\bk when _\bg_\bo_\ba_\bl is reached. A full simulation with PeriTriaxController might\n look like the following:\n"}]}, {"source1": "./usr/share/doc/yade/html/tutorial-hands-on.html", "source2": "./usr/share/doc/yade/html/tutorial-hands-on.html", "unified_diff": "@@ -469,15 +469,15 @@\n 
  • Set Body.material (last-defined material is used, otherwise a default material is created)

  • \n
  • Set position and orientation in Body.state, compute mass and moment of inertia based on Material and Shape

  • \n \n

    In order to avoid such tasks, shorthand functions are defined in the utils module; to mention a few of them, they are utils.sphere, utils.facet, utils.wall.

    \n
    Yade [43]: s=utils.sphere((0,0,0),radius=1)    # create sphere particle centered at (0,0,0) with radius=1\n \n Yade [44]: s.shape                       # s.shape describes the geometry of the particle\n-Out[44]: <Sphere instance at 0x385d300>\n+Out[44]: <Sphere instance at 0x479d800>\n \n Yade [45]: s.shape.radius                # we already know the Sphere class\n Out[45]: 1.0\n \n Yade [46]: s.state.mass, s.state.inertia # inertia is computed from density and geometry\n Out[46]: \n (4188.790204786391,\n@@ -488,39 +488,40 @@\n \n Yade [48]: s2=utils.sphere((-2,0,0),radius=1,fixed=True)     # explanation below\n 
    \n
    \n

    In the last example, the particle was fixed in space by the fixed=True parameter to utils.sphere; such a particle will not move, creating a primitive boundary condition.

    \n

    A particle object is not yet part of the simulation; in order to do so, a special function O.bodies.append (also see Omega::bodies and Scene) is called:

    \n
    Yade [49]: O.bodies.append(s)            # adds particle s to the simulation; returns id of the particle(s) added\n-Out[49]: 24\n+Out[49]: 23\n 
    \n
    \n
    \n
    \n

    Packs\u00b6

    \n

    There are functions to generate a specific arrangement of particles in the pack module; for instance, cloud (random loose packing) of spheres can be generated with the pack.SpherePack class:

    \n
    Yade [50]: from yade import pack\n \n Yade [51]: sp=pack.SpherePack()                   # create an empty cloud; SpherePack contains only geometrical information\n \n Yade [52]: sp.makeCloud((1,1,1),(2,2,2),rMean=.2) # put spheres with defined radius inside box given by corners (1,1,1) and (2,2,2)\n-Out[52]: 6\n+Out[52]: 7\n \n Yade [53]: for c,r in sp: print(c,r)               # print center and radius of all particles (SpherePack is a sequence which can be iterated over)\n    ....: \n-Vector3(1.297212283874070504,1.258314925968938347,1.200895873625540622) 0.2\n-Vector3(1.484936176324154644,1.786101075640776026,1.256958822064891734) 0.2\n-Vector3(1.780348420160337453,1.499427550458366509,1.624245617288021304) 0.2\n-Vector3(1.697256923292062902,1.271861695597710007,1.267796117292300018) 0.2\n-Vector3(1.268057039020888954,1.308071790037659943,1.668563490379483039) 0.2\n-Vector3(1.30323031057844041,1.751049849687323468,1.7232352523336818) 0.2\n+Vector3(1.316594303164593693,1.611823916656478284,1.796392796134786973) 0.2\n+Vector3(1.644698492192295358,1.358932739128685618,1.481862066641215669) 0.2\n+Vector3(1.721337363052881431,1.639842442235056819,1.765808679260428171) 0.2\n+Vector3(1.327127829959693806,1.346882600392281137,1.202933546091098815) 0.2\n+Vector3(1.70726041933348327,1.763914505245050002,1.312337290316700766) 0.2\n+Vector3(1.232052241022582262,1.790188857854590809,1.283358275660709147) 0.2\n+Vector3(1.249812716241304855,1.203225172973583668,1.602005255761377533) 0.2\n \n Yade [54]: sp.toSimulation()                      # create particles and add them to the simulation\n-Out[54]: [25, 26, 27, 28, 29, 30]\n+Out[54]: [24, 25, 26, 27, 28, 29, 30]\n 
    \n
    \n
    \n
    \n

    Boundaries\u00b6

    \n

    utils.facet (triangle Facet) and utils.wall (infinite axes-aligned plane Wall) geometries are typically used to define boundaries. For instance, a \u201cfloor\u201d for the simulation can be created like this:

    \n
    Yade [55]: O.bodies.append(utils.wall(-1,axis=2))\n@@ -536,15 +537,15 @@\n 
    Yade [56]: len(O.bodies)\n Out[56]: 32\n \n Yade [57]: O.bodies[10].shape.radius   # radius of body #10 (will give error if not sphere, since only spheres have radius defined)\n Out[57]: 0.16\n \n Yade [58]: O.bodies[12].state.pos      # position of body #12\n-Out[58]: Vector3(1.65425585092045635,1.471717476706755789,1.625470669781688304)\n+Out[58]: Vector3(1.54781752782922144,1.06695464744252444,1.821434821395253589)\n 
    \n
    \n

    Besides that, Yade says this at startup (the line preceding the command-line):

    \n
    [[ ^L clears screen, ^U kills line. F12 controller, F11 3d view, F10 both, F9 generator, F8 plot. ]]\n 
    \n
    \n
    \n@@ -582,18 +583,18 @@\n ....: ),\n ....: NewtonIntegrator(damping=.2,label='newtonCustomLabel') # define a label newtonCustomLabel under which we can access this engine easily\n ....: ]\n ....: \n \n Yade [61]: O.engines\n Out[61]: \n-[<ForceResetter instance at 0x3688490>,\n- <InsertionSortCollider instance at 0x3866120>,\n- <InteractionLoop instance at 0x357f8a0>,\n- <NewtonIntegrator instance at 0x1176790>]\n+[<ForceResetter instance at 0x47993a0>,\n+ <InsertionSortCollider instance at 0x475f820>,\n+ <InteractionLoop instance at 0x4548900>,\n+ <NewtonIntegrator instance at 0x2032b20>]\n \n Yade [62]: O.engines[-1]==newtonCustomLabel # is it the same object?\n Out[62]: True\n \n Yade [63]: newtonCustomLabel.damping\n Out[63]: 0.2\n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -317,15 +317,15 @@\n module; to mention a few of them, they are _\bu_\bt_\bi_\bl_\bs_\b._\bs_\bp_\bh_\be_\br_\be, _\bu_\bt_\bi_\bl_\bs_\b._\bf_\ba_\bc_\be_\bt,\n _\bu_\bt_\bi_\bl_\bs_\b._\bw_\ba_\bl_\bl.\n Yade [43]: s=utils.sphere((0,0,0),radius=1) # create sphere particle\n centered at (0,0,0) with radius=1\n \n Yade [44]: s.shape # s.shape describes the geometry of\n the particle\n-Out[44]: \n+Out[44]: \n \n Yade [45]: s.shape.radius # we already know the Sphere class\n Out[45]: 1.0\n \n Yade [46]: s.state.mass, s.state.inertia # inertia is computed from density and\n geometry\n Out[46]:\n@@ -340,41 +340,42 @@\n In the last example, the particle was fixed in space by the fixed=True\n parameter to _\bu_\bt_\bi_\bl_\bs_\b._\bs_\bp_\bh_\be_\br_\be; such a particle will not move, creating a primitive\n boundary condition.\n A particle object is not yet part of the simulation; in order to do so, a\n special function _\bO_\b._\bb_\bo_\bd_\bi_\be_\bs_\b._\ba_\bp_\bp_\be_\bn_\bd (also see _\bO_\bm_\be_\bg_\ba_\b:_\b:_\bb_\bo_\bd_\bi_\be_\bs and _\bS_\bc_\be_\bn_\be) is called:\n Yade [49]: O.bodies.append(s) # adds particle s to the simulation;\n returns id of the particle(s) added\n-Out[49]: 24\n+Out[49]: 23\n *\b**\b**\b* P\bPa\bac\bck\bks\bs_\b?\b\u00b6 *\b**\b**\b*\n There are functions to generate a specific arrangement of particles in the _\bp_\ba_\bc_\bk\n module; for instance, cloud (random loose packing) of spheres can be generated\n with the _\bp_\ba_\bc_\bk_\b._\bS_\bp_\bh_\be_\br_\be_\bP_\ba_\bc_\bk class:\n Yade [50]: from yade import pack\n \n Yade [51]: sp=pack.SpherePack() # create an empty cloud;\n SpherePack contains only geometrical information\n \n Yade [52]: sp.makeCloud((1,1,1),(2,2,2),rMean=.2) # put spheres with defined\n radius inside box given by corners (1,1,1) and (2,2,2)\n-Out[52]: 6\n+Out[52]: 7\n \n Yade [53]: for c,r in sp: print(c,r) # print center and radius of\n all particles (SpherePack is a sequence which can be iterated over)\n ....:\n-Vector3(1.297212283874070504,1.258314925968938347,1.200895873625540622) 0.2\n-Vector3(1.484936176324154644,1.786101075640776026,1.256958822064891734) 0.2\n-Vector3(1.780348420160337453,1.499427550458366509,1.624245617288021304) 0.2\n-Vector3(1.697256923292062902,1.271861695597710007,1.267796117292300018) 0.2\n-Vector3(1.268057039020888954,1.308071790037659943,1.668563490379483039) 0.2\n-Vector3(1.30323031057844041,1.751049849687323468,1.7232352523336818) 0.2\n+Vector3(1.316594303164593693,1.611823916656478284,1.796392796134786973) 0.2\n+Vector3(1.644698492192295358,1.358932739128685618,1.481862066641215669) 0.2\n+Vector3(1.721337363052881431,1.639842442235056819,1.765808679260428171) 0.2\n+Vector3(1.327127829959693806,1.346882600392281137,1.202933546091098815) 0.2\n+Vector3(1.70726041933348327,1.763914505245050002,1.312337290316700766) 0.2\n+Vector3(1.232052241022582262,1.790188857854590809,1.283358275660709147) 0.2\n+Vector3(1.249812716241304855,1.203225172973583668,1.602005255761377533) 0.2\n \n Yade [54]: sp.toSimulation() # create particles and add\n them to the simulation\n-Out[54]: [25, 26, 27, 28, 29, 30]\n+Out[54]: [24, 25, 26, 27, 28, 29, 30]\n *\b**\b**\b* B\bBo\bou\bun\bnd\bda\bar\bri\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b*\n _\bu_\bt_\bi_\bl_\bs_\b._\bf_\ba_\bc_\be_\bt (triangle _\bF_\ba_\bc_\be_\bt) and _\bu_\bt_\bi_\bl_\bs_\b._\bw_\ba_\bl_\bl (infinite axes-aligned plane _\bW_\ba_\bl_\bl)\n geometries are typically used to define boundaries. For instance, a \u201cfloor\u201d for\n the simulation can be created like this:\n Yade [55]: O.bodies.append(utils.wall(-1,axis=2))\n Out[55]: 31\n There are other conveinence functions (like _\bu_\bt_\bi_\bl_\bs_\b._\bf_\ba_\bc_\be_\bt_\bB_\bo_\bx for creating closed\n@@ -386,15 +387,15 @@\n Out[56]: 32\n \n Yade [57]: O.bodies[10].shape.radius # radius of body #10 (will give error if\n not sphere, since only spheres have radius defined)\n Out[57]: 0.16\n \n Yade [58]: O.bodies[12].state.pos # position of body #12\n-Out[58]: Vector3(1.65425585092045635,1.471717476706755789,1.625470669781688304)\n+Out[58]: Vector3(1.54781752782922144,1.06695464744252444,1.821434821395253589)\n Besides that, Yade says this at startup (the line preceding the command-line):\n [[ ^L clears screen, ^U kills line. F12 controller, F11 3d view, F10 both, F9\n generator, F8 plot. ]]\n Controller\n Pressing F12 brings up a window for controlling the simulation. Although\n typically no human intervention is done in large simulations (which run\n \u201cheadless\u201d, without any graphical interaction), it can be handy in small\n@@ -442,18 +443,18 @@\n ....: NewtonIntegrator(damping=.2,label='newtonCustomLabel') #\n define a label newtonCustomLabel under which we can access this engine easily\n ....: ]\n ....:\n \n Yade [61]: O.engines\n Out[61]:\n-[,\n- ,\n- ,\n- ]\n+[,\n+ ,\n+ ,\n+ ]\n \n Yade [62]: O.engines[-1]==newtonCustomLabel # is it the same object?\n Out[62]: True\n \n Yade [63]: newtonCustomLabel.damping\n Out[63]: 0.2\n Instead of typing everything into the command-line, one can describe simulation\n"}]}, {"source1": "./usr/share/doc/yade/html/tutorial-short-course-intro.html", "source2": "./usr/share/doc/yade/html/tutorial-short-course-intro.html", "unified_diff": "@@ -269,15 +269,15 @@\n
  • Set Body.material (last-defined material is used, otherwise a default material is created)

  • \n
  • Set position and orientation in Body.state, compute mass and moment of inertia based on Material and Shape

  • \n \n

    In order to avoid such tasks, shorthand functions are defined in the utils module; to mention a few of them, they are utils.sphere, utils.facet, utils.wall.

    \n
    Yade [8]: s=utils.sphere((0,0,0),radius=1)    # create sphere particle centered at (0,0,0) with radius=1\n \n Yade [9]: s.shape                       # s.shape describes the geometry of the particle\n-Out[9]: <Sphere instance at 0x35a9d60>\n+Out[9]: <Sphere instance at 0x4652e70>\n \n Yade [10]: s.shape.radius                # we already know the Sphere class\n Out[10]: 1.0\n \n Yade [11]: s.state.mass, s.state.inertia # inertia is computed from density and geometry\n Out[11]: \n (4188.790204786391,\n@@ -300,44 +300,45 @@\n 

    Packs\u00b6

    \n

    There are functions to generate a specific arrangement of particles in the pack module; for instance, cloud (random loose packing) of spheres can be generated with the pack.SpherePack class:

    \n
    Yade [15]: from yade import pack\n \n Yade [16]: sp=pack.SpherePack()                   # create an empty cloud; SpherePack contains only geometrical information\n \n Yade [17]: sp.makeCloud((1,1,1),(2,2,2),rMean=.2) # put spheres with defined radius inside box given by corners (1,1,1) and (2,2,2)\n-Out[17]: 6\n+Out[17]: 7\n \n Yade [18]: for c,r in sp: print(c,r)               # print center and radius of all particles (SpherePack is a sequence which can be iterated over)\n    ....: \n-Vector3(1.533752390814815181,1.543777640340308732,1.282582122621738874) 0.2\n-Vector3(1.71301083969698853,1.671334800939194176,1.731599039238917337) 0.2\n-Vector3(1.202354703771146616,1.316110013104652143,1.775078712755857824) 0.2\n-Vector3(1.599078597190785933,1.215515236926492992,1.551960508761500934) 0.2\n-Vector3(1.254191566754383924,1.76943844026629904,1.791481303227134614) 0.2\n-Vector3(1.242767599871246187,1.205875612227253368,1.255252427716882391) 0.2\n+Vector3(1.392649635381842721,1.397463613784902581,1.617376667928174472) 0.2\n+Vector3(1.76128990671180663,1.626746334567175989,1.56528153155693639) 0.2\n+Vector3(1.438862162949205104,1.791653572967926378,1.757544601999486256) 0.2\n+Vector3(1.212690059857327363,1.510562385260563634,1.273114658334072669) 0.2\n+Vector3(1.602091868429407207,1.223287575260714855,1.26088365323742968) 0.2\n+Vector3(1.508290232473085357,1.798140265662449666,1.255255932391222906) 0.2\n+Vector3(1.786648325753775302,1.228102645388749581,1.674824332124889459) 0.2\n \n Yade [19]: sp.toSimulation()                      # create particles and add them to the simulation\n-Out[19]: [1, 2, 3, 4, 5, 6]\n+Out[19]: [1, 2, 3, 4, 5, 6, 7]\n 
    \n
    \n
    \n
    \n

    Boundaries\u00b6

    \n

    utils.facet (triangle Facet) and utils.wall (infinite axes-aligned plane Wall) geometries are typically used to define boundaries. For instance, a \u201cfloor\u201d for the simulation can be created like this:

    \n
    Yade [20]: O.bodies.append(utils.wall(-1,axis=2))\n-Out[20]: 7\n+Out[20]: 8\n 
    \n
    \n

    There are other conveinence functions (like utils.facetBox for creating closed or open rectangular box, or family of ymport functions)

    \n
    \n
    \n

    Look inside\u00b6

    \n

    The simulation can be inspected in several ways. All data can be accessed from python directly:

    \n
    Yade [21]: len(O.bodies)\n-Out[21]: 8\n+Out[21]: 9\n \n Yade [22]: O.bodies[10].shape.radius   # radius of body #10 (will give error if not sphere, since only spheres have radius defined)\n \u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n \u001b[0;31mIndexError\u001b[0m                                Traceback (most recent call last)\n Cell \u001b[0;32mIn[22], line 1\u001b[0m\n \u001b[0;32m----> 1\u001b[0m \u001b[43mO\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbodies\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m10\u001b[39;49m\u001b[43m]\u001b[49m\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;241m.\u001b[39mradius   \u001b[38;5;66;03m# radius of body #10 (will give error if not sphere, since only spheres have radius defined)\u001b[39;00m\n \n@@ -378,18 +379,18 @@\n    ....:    ),\n    ....:    NewtonIntegrator(damping=.2,label='newtonCustomLabel')      # define a label newtonCustomLabel under which we can access this engine easily\n    ....: ]\n    ....: \n \n Yade [25]: O.engines\n Out[25]: \n-[<ForceResetter instance at 0x3a73f60>,\n- <InsertionSortCollider instance at 0x38af4e0>,\n- <InteractionLoop instance at 0x38c9010>,\n- <NewtonIntegrator instance at 0x22ccea0>]\n+[<ForceResetter instance at 0x4967170>,\n+ <InsertionSortCollider instance at 0x4793710>,\n+ <InteractionLoop instance at 0x4963dd0>,\n+ <NewtonIntegrator instance at 0x328a920>]\n \n Yade [26]: O.engines[-1]==newtonCustomLabel    # is it the same object?\n Out[26]: True\n \n Yade [27]: newtonCustomLabel.damping\n Out[27]: 0.2\n 
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -132,15 +132,15 @@\n module; to mention a few of them, they are _\bu_\bt_\bi_\bl_\bs_\b._\bs_\bp_\bh_\be_\br_\be, _\bu_\bt_\bi_\bl_\bs_\b._\bf_\ba_\bc_\be_\bt,\n _\bu_\bt_\bi_\bl_\bs_\b._\bw_\ba_\bl_\bl.\n Yade [8]: s=utils.sphere((0,0,0),radius=1) # create sphere particle centered\n at (0,0,0) with radius=1\n \n Yade [9]: s.shape # s.shape describes the geometry of the\n particle\n-Out[9]: \n+Out[9]: \n \n Yade [10]: s.shape.radius # we already know the Sphere class\n Out[10]: 1.0\n \n Yade [11]: s.state.mass, s.state.inertia # inertia is computed from density and\n geometry\n Out[11]:\n@@ -167,42 +167,43 @@\n Yade [15]: from yade import pack\n \n Yade [16]: sp=pack.SpherePack() # create an empty cloud;\n SpherePack contains only geometrical information\n \n Yade [17]: sp.makeCloud((1,1,1),(2,2,2),rMean=.2) # put spheres with defined\n radius inside box given by corners (1,1,1) and (2,2,2)\n-Out[17]: 6\n+Out[17]: 7\n \n Yade [18]: for c,r in sp: print(c,r) # print center and radius of\n all particles (SpherePack is a sequence which can be iterated over)\n ....:\n-Vector3(1.533752390814815181,1.543777640340308732,1.282582122621738874) 0.2\n-Vector3(1.71301083969698853,1.671334800939194176,1.731599039238917337) 0.2\n-Vector3(1.202354703771146616,1.316110013104652143,1.775078712755857824) 0.2\n-Vector3(1.599078597190785933,1.215515236926492992,1.551960508761500934) 0.2\n-Vector3(1.254191566754383924,1.76943844026629904,1.791481303227134614) 0.2\n-Vector3(1.242767599871246187,1.205875612227253368,1.255252427716882391) 0.2\n+Vector3(1.392649635381842721,1.397463613784902581,1.617376667928174472) 0.2\n+Vector3(1.76128990671180663,1.626746334567175989,1.56528153155693639) 0.2\n+Vector3(1.438862162949205104,1.791653572967926378,1.757544601999486256) 0.2\n+Vector3(1.212690059857327363,1.510562385260563634,1.273114658334072669) 0.2\n+Vector3(1.602091868429407207,1.223287575260714855,1.26088365323742968) 0.2\n+Vector3(1.508290232473085357,1.798140265662449666,1.255255932391222906) 0.2\n+Vector3(1.786648325753775302,1.228102645388749581,1.674824332124889459) 0.2\n \n Yade [19]: sp.toSimulation() # create particles and add\n them to the simulation\n-Out[19]: [1, 2, 3, 4, 5, 6]\n+Out[19]: [1, 2, 3, 4, 5, 6, 7]\n *\b**\b**\b**\b**\b* B\bBo\bou\bun\bnd\bda\bar\bri\bie\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n _\bu_\bt_\bi_\bl_\bs_\b._\bf_\ba_\bc_\be_\bt (triangle _\bF_\ba_\bc_\be_\bt) and _\bu_\bt_\bi_\bl_\bs_\b._\bw_\ba_\bl_\bl (infinite axes-aligned plane _\bW_\ba_\bl_\bl)\n geometries are typically used to define boundaries. For instance, a \u201cfloor\u201d for\n the simulation can be created like this:\n Yade [20]: O.bodies.append(utils.wall(-1,axis=2))\n-Out[20]: 7\n+Out[20]: 8\n There are other conveinence functions (like _\bu_\bt_\bi_\bl_\bs_\b._\bf_\ba_\bc_\be_\bt_\bB_\bo_\bx for creating closed\n or open rectangular box, or family of _\by_\bm_\bp_\bo_\br_\bt functions)\n *\b**\b**\b**\b**\b* L\bLo\boo\bok\bk i\bin\bns\bsi\bid\bde\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n The simulation can be inspected in several ways. All data can be accessed from\n python directly:\n Yade [21]: len(O.bodies)\n-Out[21]: 8\n+Out[21]: 9\n \n Yade [22]: O.bodies[10].shape.radius # radius of body #10 (will give error if\n not sphere, since only spheres have radius defined)\n [0;31m-------------------------------------------------------------------------\n --\u001b[0m\n [0;31mIndexError\u001b[0m Traceback (most recent call\n last)\n@@ -262,18 +263,18 @@\n ....: NewtonIntegrator(damping=.2,label='newtonCustomLabel') #\n define a label newtonCustomLabel under which we can access this engine easily\n ....: ]\n ....:\n \n Yade [25]: O.engines\n Out[25]:\n-[,\n- ,\n- ,\n- ]\n+[,\n+ ,\n+ ,\n+ ]\n \n Yade [26]: O.engines[-1]==newtonCustomLabel # is it the same object?\n Out[26]: True\n \n Yade [27]: newtonCustomLabel.damping\n Out[27]: 0.2\n Instead of typing everything into the command-line, one can describe simulation\n"}]}, {"source1": "./usr/share/doc/yade/html/user.html", "source2": "./usr/share/doc/yade/html/user.html", "unified_diff": "@@ -170,15 +170,15 @@\n

    If no Material is specified when calling sphere, the last defined material is used; that is a convenient default. If no material is defined yet (hence there is no last material), a default material will be created: FrictMat(density=1e3,young=1e7,poisson=.3,frictionAngle=.5). This should not happen for serious simulations, but is handy in simple scripts, where exact material properties are more or less irrelevant.

    \n
    Yade [1]: len(O.materials)\n Out[1]: 0\n \n Yade [2]: idConcrete=O.materials.append(FrictMat(young=30e9,poisson=.2,frictionAngle=.6,label="concrete"))\n \n Yade [3]: O.materials[idConcrete]\n-Out[3]: <FrictMat instance at 0x3aa5a30>\n+Out[3]: <FrictMat instance at 0x49653b0>\n \n # uses the last defined material\n Yade [4]: O.bodies.append(sphere(center=(0,0,0),radius=1))\n Out[4]: 0\n \n # material given by id\n Yade [5]: O.bodies.append(sphere((0,0,2),1,material=idConcrete))\n@@ -601,15 +601,15 @@\n    ....: ]\n    ....: \n \n Yade [29]: i=createInteraction(0,1)\n \n # created by functors in InteractionLoop\n Yade [30]: i.geom, i.phys\n-Out[30]: (<ScGeom instance at 0x3a83dd0>, <FrictPhys instance at 0x3a69440>)\n+Out[30]: (<ScGeom instance at 0x4507950>, <FrictPhys instance at 0x49652a0>)\n 
    \n
    \n

    This method will be rather slow if many interactions are to be created (the functor lookup will be repeated for each of them). In such case, ask on yade-dev@lists.launchpad.net to have the createInteraction function accept list of pairs id\u2019s as well.

    \n
    \n \n
    \n

    Base engines\u00b6

    \n@@ -900,19 +900,19 @@\n
      \n
    • O.tags is saved and loaded with simulation;

    • \n
    • O.tags has some values pre-initialized.

    • \n
    \n

    After Yade startup, O.tags contains the following:

    \n
    Yade [45]: dict(O.tags) # convert to real dictionary\n Out[45]: \n-{'author': '~(pbuilder1@ionos1-amd64)',\n- 'isoTime': '20240629T004205',\n- 'id': '20240629T004205p2264848',\n- 'd.id': '20240629T004205p2264848',\n- 'id.d': '20240629T004205p2264848'}\n+{'author': 'second~user~(pbuilder2@i-capture-the-hostname)',\n+ 'isoTime': '20250802T195803',\n+ 'id': '20250802T195803p3687441',\n+ 'd.id': '20250802T195803p3687441',\n+ 'id.d': '20250802T195803p3687441'}\n 
    \n
    \n
    \n
    author

    Real name, username and machine as obtained from your system at simulation creation

    \n
    \n
    id

    Unique identifier of this Yade instance (or of the instance which created a loaded simulation). It is composed of date, time and process number. Useful if you run simulations in parallel and want to avoid overwriting each other\u2019s outputs; embed O.tags['id'] in output filenames (either as directory name, or as part of the file\u2019s name itself) to avoid it. This is explained in Separating output files from jobs in detail.

    \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -64,15 +64,15 @@\n Yade [1]: len(O.materials)\n Out[1]: 0\n \n Yade [2]: idConcrete=O.materials.append(FrictMat\n (young=30e9,poisson=.2,frictionAngle=.6,label=\"concrete\"))\n \n Yade [3]: O.materials[idConcrete]\n-Out[3]: \n+Out[3]: \n \n # uses the last defined material\n Yade [4]: O.bodies.append(sphere(center=(0,0,0),radius=1))\n Out[4]: 0\n \n # material given by id\n Yade [5]: O.bodies.append(sphere((0,0,2),1,material=idConcrete))\n@@ -567,15 +567,15 @@\n ....: ]\n ....:\n \n Yade [29]: i=createInteraction(0,1)\n \n # created by functors in InteractionLoop\n Yade [30]: i.geom, i.phys\n-Out[30]: (, )\n+Out[30]: (, )\n This method will be rather slow if many interactions are to be created (the\n functor lookup will be repeated for each of them). In such case, ask on _\by_\ba_\bd_\be_\b-\n _\bd_\be_\bv_\b@_\bl_\bi_\bs_\bt_\bs_\b._\bl_\ba_\bu_\bn_\bc_\bh_\bp_\ba_\bd_\b._\bn_\be_\bt to have the _\bc_\br_\be_\ba_\bt_\be_\bI_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bo_\bn function accept list of\n pairs id\u2019s as well.\n *\b**\b**\b**\b* B\bBa\bas\bse\be e\ben\bng\bgi\bin\bne\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n A typical DEM simulation in Yade does at least the following at each step (see\n _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b _\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs for details):\n@@ -884,19 +884,19 @@\n implementation in C++ is different) mapping keys to labels. Contrary to regular\n python dictionaries that you could create,\n * O.tags is s\bsa\bav\bve\bed\bd a\ban\bnd\bd l\blo\boa\bad\bde\bed\bd w\bwi\bit\bth\bh s\bsi\bim\bmu\bul\bla\bat\bti\bio\bon\bn;\n * O.tags has some values pre-initialized.\n After Yade startup, O.tags contains the following:\n Yade [45]: dict(O.tags) # convert to real dictionary\n Out[45]:\n-{'author': '~(pbuilder1@ionos1-amd64)',\n- 'isoTime': '20240629T004205',\n- 'id': '20240629T004205p2264848',\n- 'd.id': '20240629T004205p2264848',\n- 'id.d': '20240629T004205p2264848'}\n+{'author': 'second~user~(pbuilder2@i-capture-the-hostname)',\n+ 'isoTime': '20250802T195803',\n+ 'id': '20250802T195803p3687441',\n+ 'd.id': '20250802T195803p3687441',\n+ 'id.d': '20250802T195803p3687441'}\n author\n Real name, username and machine as obtained from your system at\n simulation creation\n id\n Unique identifier of this Yade instance (or of the instance which created\n a loaded simulation). It is composed of date, time and process number.\n Useful if you run simulations in parallel and want to avoid overwriting\n"}]}, {"source1": "./usr/share/doc/yade/html/yade.plot.html", "source2": "./usr/share/doc/yade/html/yade.plot.html", "unified_diff": "@@ -35822,15 +35822,15 @@\n
    \n completeSendBodies((Subdomain)arg1) None :\u00b6
    \n

    calls MPI_wait to complete the non blocking sends/recieves.

    \n
    \n \n
    \n
    \n-countIntsWith((Subdomain)arg1, (int)body, (int)someSubDomain[, (Scene)someSubDomain=<Scene instance at 0x12d76d0>]) int :\u00b6
    \n+countIntsWith((Subdomain)arg1, (int)body, (int)someSubDomain[, (Scene)someSubDomain=<Scene instance at 0x21a9a10>]) int :\u00b6\n

    returns for a body the count of interactions (real or virtual) with bodies from a certain subdomain, interactions with subdomains excluded. Third parameter (scene pointer) can be left to default (equivalent to O._sceneObj).

    \n
    \n \n
    \n
    \n dict((Serializable)arg1) dict :\u00b6
    \n

    Return dictionary of attributes.

    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -17088,15 +17088,15 @@\n p\bpr\bro\bop\bpe\ber\brt\bty\by color_\b\u00b6\n Color for rendering (normalized RGB).\n p\bpr\bro\bop\bpe\ber\brt\bty\by comm_\b\u00b6\n Communicator to be used for MPI (converts mpi4py comm <-> c++ comm)\n completeSendBodies((\b(S\bSu\bub\bbd\bdo\bom\bma\bai\bin\bn)\b)a\bar\brg\bg1\b1) \u2192 None :_\b\u00b6\n calls MPI_wait to complete the non blocking sends/recieves.\n countIntsWith((\b(S\bSu\bub\bbd\bdo\bom\bma\bai\bin\bn)\b)a\bar\brg\bg1\b1, (\b(i\bin\bnt\bt)\b)b\bbo\bod\bdy\by, (\b(i\bin\bnt\bt)\b)s\bso\bom\bme\beS\bSu\bub\bbD\bDo\bom\bma\bai\bin\bn[,\n- (\b(S\bSc\bce\ben\bne\be)\b)s\bso\bom\bme\beS\bSu\bub\bbD\bDo\bom\bma\bai\bin\bn=\b=<\b\b>]) \u2192 int :_\b\u00b6\n+ (\b(S\bSc\bce\ben\bne\be)\b)s\bso\bom\bme\beS\bSu\bub\bbD\bDo\bom\bma\bai\bin\bn=\b=<\b\b>]) \u2192 int :_\b\u00b6\n returns for a body the count of interactions (real or virtual) with\n bodies from a certain subdomain, interactions with subdomains\n excluded. Third parameter (scene pointer) can be left to default\n (equivalent to O._sceneObj).\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n dispHierarchy((\b(S\bSh\bha\bap\bpe\be)\b)a\bar\brg\bg1\b1[, (\b(b\bbo\boo\bol\bl)\b)n\bna\bam\bme\bes\bs=\b=T\bTr\bru\bue\be]) \u2192 list :_\b\u00b6\n"}]}, {"source1": "./usr/share/doc/yade/html/yade.utils.html", "source2": "./usr/share/doc/yade/html/yade.utils.html", "unified_diff": "@@ -1198,15 +1198,15 @@\n
    \n \\[\\sum\\frac{1}{2}\\left(m_i\\vec{v}_i^2+\\vec{\\omega}(\\mat{I}\\vec{\\omega}^T)\\right).\\]
    \n

    For aspherical bodies, necessary frame transformations are applied to the inertia tensor \\(\\mat{I}\\) as stored in state.inertia.

    \n
    \n \n
    \n
    \n-yade._utils.lsSimpleShape((int)shape, (AlignedBox3)aabb[, (float)step=0.1[, (float)smearCoeff=1.5[, (Vector2)epsilons=Vector2(0, 0)[, (Clump)clump=<Clump instance at 0x1fd21b0>]]]]) LevelSet\u00b6
    \n+yade._utils.lsSimpleShape((int)shape, (AlignedBox3)aabb[, (float)step=0.1[, (float)smearCoeff=1.5[, (Vector2)epsilons=Vector2(0, 0)[, (Clump)clump=<Clump instance at 0x2d34000>]]]]) LevelSet\u00b6\n

    Creates a LevelSet shape among pre-defined ones. Not intended to be used directly, see levelSetBody() instead.

    \n
    \n
    Parameters:
    \n
      \n
    • shape (int) \u2013 a shape index among supported choices

    • \n
    • aabb (AlignedBox3) \u2013 the axis-aligned surrounding box of the body

    • \n
    • step (Real) \u2013 the LevelSet grid step size

    • \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -835,15 +835,15 @@\n Compute overall kinetic energy of the simulation as\n \\[\\sum\\frac{1}{2}\\left(m_i\\vec{v}_i^2+\\vec{\\omega}(\\mat{I}\\vec\n {\\omega}^T)\\right).\\]\n For _\ba_\bs_\bp_\bh_\be_\br_\bi_\bc_\ba_\bl bodies, necessary frame transformations are applied to the\n inertia tensor \\(\\mat{I}\\) as stored in _\bs_\bt_\ba_\bt_\be_\b._\bi_\bn_\be_\br_\bt_\bi_\ba.\n yade._utils.lsSimpleShape((\b(i\bin\bnt\bt)\b)s\bsh\bha\bap\bpe\be, (\b(A\bAl\bli\big\bgn\bne\bed\bdB\bBo\box\bx3\b3)\b)a\baa\bab\bbb\bb[, (\b(f\bfl\blo\boa\bat\bt)\b)s\bst\bte\bep\bp=\b=0\b0.\b.1\b1[,\n (\b(f\bfl\blo\boa\bat\bt)\b)s\bsm\bme\bea\bar\brC\bCo\boe\bef\bff\bf=\b=1\b1.\b.5\b5[, (\b(V\bVe\bec\bct\bto\bor\br2\b2)\b)e\bep\bps\bsi\bil\blo\bon\bns\bs=\b=V\bVe\bec\bct\bto\bor\br2\b2(\b(0\b0, 0\b0)\b)[, (\b(C\bCl\blu\bum\bmp\bp)\b)c\bcl\blu\bum\bmp\bp=\b=<\b\b>]]]]) \u2192 _\bL_\be_\bv_\be_\bl_\bS_\be_\bt_\b\u00b6\n+ i\bin\bns\bst\bta\ban\bnc\bce\be a\bat\bt 0\b0x\bx2\b2d\bd3\b34\b40\b00\b00\b0>\b>]]]]) \u2192 _\bL_\be_\bv_\be_\bl_\bS_\be_\bt_\b\u00b6\n Creates a LevelSet shape among pre-defined ones. Not intended to be used\n directly, see levelSetBody() instead.\n Parameters:\n * s\bsh\bha\bap\bpe\be (i\bin\bnt\bt) \u2013 a shape index among supported choices\n * a\baa\bab\bbb\bb (_\bA\bA_\bl\bl_\bi\bi_\bg\bg_\bn\bn_\be\be_\bd\bd_\bB\bB_\bo\bo_\bx\bx_\b3\b3) \u2013 the axis-aligned surrounding box of the\n body\n * s\bst\bte\bep\bp (R\bRe\bea\bal\bl) \u2013 the LevelSet grid step size\n"}]}, {"source1": "./usr/share/doc/yade/html/yade.wrapper.html", "source2": "./usr/share/doc/yade/html/yade.wrapper.html", "unified_diff": "@@ -311,81 +311,81 @@\n \n
    \n \n
    \n
    \n

    Shape\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of Shape.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.Shape(inherits Serializable)\u00b6
    \n@@ -2078,15 +2078,15 @@\n
    \n completeSendBodies((Subdomain)arg1) None :\u00b6
    \n

    calls MPI_wait to complete the non blocking sends/recieves.

    \n
    \n \n
    \n
    \n-countIntsWith((Subdomain)arg1, (int)body, (int)someSubDomain[, (Scene)someSubDomain=<Scene instance at 0x12d76d0>]) int :\u00b6
    \n+countIntsWith((Subdomain)arg1, (int)body, (int)someSubDomain[, (Scene)someSubDomain=<Scene instance at 0x21a9a10>]) int :\u00b6\n

    returns for a body the count of interactions (real or virtual) with bodies from a certain subdomain, interactions with subdomains excluded. Third parameter (scene pointer) can be left to default (equivalent to O._sceneObj).

    \n
    \n \n
    \n
    \n dict((Serializable)arg1) dict :\u00b6
    \n

    Return dictionary of attributes.

    \n@@ -2418,35 +2418,35 @@\n \n
    \n \n
    \n
    \n

    State\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \"\"\n
    \n

    Inheritance graph of State.\u00b6

    \n
    \n
    \n
    \n
    \n@@ -3421,81 +3421,81 @@\n \n
    \n \n
    \n
    \n

    Material\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of Material.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.Material(inherits Serializable)\u00b6
    \n@@ -5819,60 +5819,60 @@\n \n
    \n \n
    \n
    \n

    IGeom\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of IGeom.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.IGeom(inherits Serializable)\u00b6
    \n@@ -7199,87 +7199,87 @@\n \n
    \n \n
    \n
    \n

    IPhys\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of IPhys.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.IPhys(inherits Serializable)\u00b6
    \n@@ -10627,89 +10627,89 @@\n
    \n \n
    \n

    Global engines\u00b6

    \n
    \n

    GlobalEngine\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n-

    Inheritance graph of GlobalEngine, gray dashed classes are discussed in their own sections: Collider, BoundaryController, PeriodicEngine, FieldApplier.\u00b6

    \n+

    Inheritance graph of GlobalEngine, gray dashed classes are discussed in their own sections: PeriodicEngine, FieldApplier, BoundaryController, Collider.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.GlobalEngine(inherits Engine \u2192 Serializable)\u00b6
    \n

    Engine that will generally affect the whole simulation (contrary to PartialEngine).

    \n
    \n@@ -13158,66 +13158,66 @@\n \n
    \n \n
    \n
    \n

    PeriodicEngine\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of PeriodicEngine.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.PeriodicEngine(inherits GlobalEngine \u2192 Engine \u2192 Serializable)\u00b6
    \n@@ -15686,63 +15686,63 @@\n \n
    \n \n
    \n
    \n

    BoundaryController\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of BoundaryController.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.BoundaryController(inherits GlobalEngine \u2192 Engine \u2192 Serializable)\u00b6
    \n@@ -18866,31 +18866,31 @@\n \n
    \n \n
    \n
    \n

    Collider\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n \"\"\n \"\"\n
    \n

    Inheritance graph of Collider.\u00b6

    \n
    \n
    \n
    \n@@ -19517,33 +19517,33 @@\n \n
    \n \n
    \n
    \n

    FieldApplier\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n \"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of FieldApplier.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.FieldApplier(inherits GlobalEngine \u2192 Engine \u2192 Serializable)\u00b6
    \n@@ -19941,81 +19941,81 @@\n
    \n \n
    \n
    \n
    \n

    Partial engines\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of PartialEngine.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.PartialEngine(inherits Engine \u2192 Serializable)\u00b6
    \n@@ -22340,53 +22340,53 @@\n \n
    \n \n
    \n
    \n

    Dispatchers\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \"\"\n
    \n-

    Inheritance graph of Dispatcher, gray dashed classes are discussed in their own sections: IGeomDispatcher, InternalForceDispatcher, LawDispatcher, IPhysDispatcher, BoundDispatcher.\u00b6

    \n+

    Inheritance graph of Dispatcher, gray dashed classes are discussed in their own sections: IPhysDispatcher, InternalForceDispatcher, IGeomDispatcher, LawDispatcher, BoundDispatcher.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.Dispatcher(inherits Engine \u2192 Serializable)\u00b6
    \n

    Engine dispatching control to its associated functors, based on types of argument it receives. This abstract base class provides no functionality in itself.

    \n
    \n@@ -22799,53 +22799,53 @@\n \n
    \n \n
    \n
    \n

    Functors\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n-

    Inheritance graph of Functor, gray dashed classes are discussed in their own sections: IPhysFunctor, IGeomFunctor, GlIPhysFunctor, GlIGeomFunctor, InternalForceFunctor, BoundFunctor, GlStateFunctor, GlBoundFunctor, GlShapeFunctor, LawFunctor.\u00b6

    \n+

    Inheritance graph of Functor, gray dashed classes are discussed in their own sections: GlIGeomFunctor, InternalForceFunctor, IGeomFunctor, GlBoundFunctor, IPhysFunctor, GlStateFunctor, LawFunctor, BoundFunctor, GlIPhysFunctor, GlShapeFunctor.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.Functor(inherits Serializable)\u00b6
    \n

    Function-like object that is called by Dispatcher, if types of arguments match those the Functor declares to accept.

    \n
    \n@@ -22882,66 +22882,66 @@\n \n
    \n
    \n

    Bounding volume creation\u00b6

    \n
    \n

    BoundFunctor\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n \"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of BoundFunctor.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.BoundFunctor(inherits Functor \u2192 Serializable)\u00b6
    \n@@ -23694,99 +23694,99 @@\n
    \n
    \n
    \n

    Interaction Geometry creation\u00b6

    \n
    \n

    IGeomFunctor\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of IGeomFunctor.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.IGeomFunctor(inherits Functor \u2192 Serializable)\u00b6
    \n@@ -25382,93 +25382,93 @@\n
    \n
    \n
    \n

    Interaction Physics creation\u00b6

    \n
    \n

    IPhysFunctor\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of IPhysFunctor.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.IPhysFunctor(inherits Functor \u2192 Serializable)\u00b6
    \n@@ -26928,108 +26928,108 @@\n
    \n
    \n
    \n

    Constitutive laws\u00b6

    \n
    \n

    LawFunctor\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of LawFunctor.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.LawFunctor(inherits Functor \u2192 Serializable)\u00b6
    \n@@ -29160,27 +29160,27 @@\n
    \n
    \n
    \n

    Internal forces\u00b6

    \n
    \n

    InternalForceFunctor\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of InternalForceFunctor.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.InternalForceFunctor(inherits Functor \u2192 Serializable)\u00b6
    \n@@ -29424,27 +29424,27 @@\n \n
    \n \n
    \n
    \n

    Preprocessors\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of FileGenerator.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.FileGenerator(inherits Serializable)\u00b6
    \n@@ -30119,60 +30119,60 @@\n \n
    \n \n
    \n
    \n

    GlShapeFunctor\u00b6

    \n
    \n-
    \"digraph
    \"digraph
    \n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n
    \n

    Inheritance graph of GlShapeFunctor.\u00b6

    \n
    \n
    \n
    \n
    \n class yade.wrapper.GlShapeFunctor(inherits Functor \u2192 Serializable)\u00b6
    \n@@ -32833,167 +32833,136 @@\n
    \n \n
    \n
    \n
    \n

    Other classes\u00b6

    \n
    \n-
    \n-class yade.wrapper.GenericPotential(inherits Serializable)\u00b6
    \n-

    Generic class for potential representation in PotentialLubrication law. Don\u2019t do anything. If set as potential, the result will be a lubrication-only simulation.

    \n-
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n-

    Return dictionary of attributes.

    \n+
    \n+class yade.wrapper.MPIBodyContainer(inherits Serializable)\u00b6
    \n+

    a dummy container to serialize and send.

    \n+
    \n+
    \n+property bContainer\u00b6
    \n+

    a dummy body container to serialize

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n-

    Update object attributes from given dictionary

    \n-
    \n-\n+
    \n+clearContainer((MPIBodyContainer)arg1) None :\u00b6
    \n+

    clear bodies in the container

    \n
    \n \n-
    \n-
    \n-class yade.wrapper.FastMarchingMethod(inherits Serializable)\u00b6
    \n-

    Executes a Fast Marching Method (FMM) to solve \\(||\\vec \\nabla \\phi|| = c\\) for a discrete field \\(\\phi\\) defined on grid, with phiIni serving as boundary condition. Typically, \\(c=1\\) (see speed) and \\(\\phi\\) is a distance field. Note that the minimum search inherent to the FMM is not yet optimal in terms of execution speed and faster implementations of the FMM may be found elsewhere. See [Duriez2021b] for more details, where the class was coined DistFMM.

    \n
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n

    Return dictionary of attributes.

    \n
    \n \n-
    \n-
    \n-property grid\u00b6
    \n-

    The underlying regular grid.

    \n-
    \n-\n-
    \n-
    \n-property known\u00b6
    \n-

    Gridpoints (indices) with distance known for good: they have been at some point the shortest gp to the surface while executing the FMM.

    \n+
    \n+
    \n+getCount((MPIBodyContainer)arg1) int :\u00b6
    \n+

    get container count

    \n
    \n \n
    \n-
    \n-phi((FastMarchingMethod)arg1) object :\u00b6
    \n-

    Executes the FMM and returns its solution as a list of list of list, with the [i][j][k] element corresponding to grid.gridPoint(i,j,k)

    \n+
    \n+insertBody((MPIBodyContainer)arg1, (int)bodyId) None :\u00b6
    \n+

    insert a body (by id) in this container

    \n
    \n \n-
    \n-
    \n-property phiIni\u00b6
    \n-

    Initial discrete field defined on the grid that will serve as a boundary condition for the FMM. Field values have to be - inf (resp. inf) for points being far inside (resp. outside) and correct (finite) on each side of the interface. Built-in functions distIniSE (for superellipsoids), phiIniCppPy (for a Python user function, through a mixed C++-Py internal implementation) or phiIniPy (for a Python user function through a pure Py internal implementation) may be used for such a purpose.

    \n+
    \n+
    \n+insertBodyListPy((MPIBodyContainer)arg1, (list)listOfIds) None :\u00b6
    \n+

    inset a list of bodies (by ids)

    \n
    \n \n
    \n-
    \n-property speed\u00b6
    \n-

    Keep to 1 for a true distance, 2 for the flake-like rose verification of [Duriez2021b].

    \n+
    \n+property subdomainRank\u00b6
    \n+

    origin rank of this container

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n

    Update object attributes from given dictionary

    \n
    \n \n
    \n \n
    \n-
    \n-class yade.wrapper.CundallStrackAdhesivePotential(inherits CundallStrackPotential \u2192 GenericPotential \u2192 Serializable)\u00b6
    \n-

    CundallStrack model with adhesive part. Contact is created when \\(u/a-\\varepsilon < 0\\) and released when \\(u/a-\\varepsilon > l_{adh}\\), where \\(l_{adh} = f_{adh}/k_n\\). This lead to an hysteretic attractive part.

    \n-
    \n-
    \n-property alpha\u00b6
    \n-

    Bulk-to-roughness stiffness ratio

    \n+
    \n+class yade.wrapper.TimingDeltas\u00b6
    \n+
    \n+
    \n+property data\u00b6
    \n+

    Get timing data as list of tuples (label, execTime[nsec], execCount) (one tuple per checkpoint)

    \n
    \n \n
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n-

    Return dictionary of attributes.

    \n+
    \n+reset((TimingDeltas)arg1) None :\u00b6
    \n+

    Reset timing information

    \n+
    \n+\n
    \n \n+
    \n+
    \n+class yade.wrapper.Engine(inherits Serializable)\u00b6
    \n+

    Basic execution unit of simulation, called from the simulation loop (O.engines)

    \n
    \n-
    \n-property fadh\u00b6
    \n-

    Adhesion force.

    \n+
    \n+property dead\u00b6
    \n+

    If true, this engine will not run at all; can be used for making an engine temporarily deactivated and only resurrect it at a later point.

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n-

    Update object attributes from given dictionary

    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n+

    Return dictionary of attributes.

    \n
    \n \n+
    \n+
    \n+property execCount\u00b6
    \n+

    Cumulative count this engine was run (only used if O.timingEnabled==True).

    \n
    \n \n-
    \n-
    \n-class yade.wrapper.MatchMaker(inherits Serializable)\u00b6
    \n-

    Class matching pair of ids to return pre-defined (for a pair of ids defined in matches) or derived value (computed using algo) of a scalar parameter. It can be called (id1, id2, val1=NaN, val2=NaN) in both python and c++.

    \n-
    \n-

    Note

    \n-

    There is a converter from python number defined for this class, which creates a new MatchMaker returning the value of that number; instead of giving the object instance therefore, you can only pass the number value and it will be converted automatically.

    \n-
    \n
    \n-
    \n-property algo\u00b6
    \n-

    Algorithm used to compute value when no match for ids is found. Possible values are

    \n-
      \n-
    • \u2018avg\u2019 (arithmetic average)

    • \n-
    • \u2018min\u2019 (minimum value)

    • \n-
    • \u2018max\u2019 (maximum value)

    • \n-
    • \u2018harmAvg\u2019 (harmonic average)

    • \n-
    \n-

    The following algo algorithms do not require meaningful input values in order to work:

    \n-
      \n-
    • \u2018val\u2019 (return value specified by val)

    • \n-
    • \u2018zero\u2019 (always return 0.)

    • \n-
    \n-
    \n-

    \n-
    \n+
    \n+property execTime\u00b6
    \n+

    Cumulative time in nanoseconds this Engine took to run (only used if O.timingEnabled==True).

    \n
    \n \n-
    \n-
    \n-computeFallback((MatchMaker)arg1, (float)val1, (float)val2) float :\u00b6
    \n-

    Compute algo value for val1 and val2, using algorithm specified by algo.

    \n+
    \n+
    \n+property label\u00b6
    \n+

    Textual label for this object; must be valid python identifier, you can refer to it directly from python.

    \n
    \n \n-
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n-

    Return dictionary of attributes.

    \n+
    \n+
    \n+property ompThreads\u00b6
    \n+

    Number of threads to be used in the engine. If ompThreads<0 (default), the number will be typically OMP_NUM_THREADS or the number N defined by \u2018yade -jN\u2019 (this behavior can depend on the engine though). This attribute will only affect engines whose code includes openMP parallel regions (e.g. InteractionLoop). This attribute is mostly useful for experiments or when combining ParallelEngine with engines that run parallel regions, resulting in nested OMP loops with different number of threads at each level.

    \n
    \n \n
    \n-
    \n-property matches\u00b6
    \n-

    Array of (id1,id2,value) items; queries matching id1 + id2 or id2 + id1 will return value

    \n+
    \n+property timingDeltas\u00b6
    \n+

    Detailed information about timing inside the Engine itself. Empty unless enabled in the source code and O.timingEnabled==True.

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n

    Update object attributes from given dictionary

    \n
    \n \n-
    \n-
    \n-property val\u00b6
    \n-

    Constant value returned if there is no match and algo is val

    \n-
    \n-\n
    \n \n
    \n
    \n class yade.wrapper.RegularGrid(inherits Serializable)\u00b6
    \n

    A rectilinear (aka uniform or regular) grid, for LevelSet shapes or other purposes. A cubic regular grid extending from a min = (m,m,m) to a max at (M,M,M), with nGP = (n,n,n) ie a spacing = (M-m)/(n-1), can be conveniently obtained from RegularGrid(m,M,n). For more general cases, minimum point min, spacing and nGP have to be passed as such at instantiation.

    \n
    \n@@ -33049,182 +33018,192 @@\n updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6\n

    Update object attributes from given dictionary

    \n
    \n \n
    \n \n
    \n-
    \n-class yade.wrapper.LBMnode(inherits Serializable)\u00b6
    \n-

    Node class for Lattice Boltzmann Method

    \n+
    \n+class yade.wrapper.EnergyTracker(inherits Serializable)\u00b6
    \n+

    Storage for tracing energies. Only to be used if O.trackEnergy is True.

    \n
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n-

    Return dictionary of attributes.

    \n+
    \n+clear((EnergyTracker)arg1) None :\u00b6
    \n+

    Clear all stored values.

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n-

    Update object attributes from given dictionary

    \n-
    \n-\n-
    \n-\n-
    \n-
    \n-class yade.wrapper.LinExponentialPotential(inherits CundallStrackPotential \u2192 GenericPotential \u2192 Serializable)\u00b6
    \n-

    LinExponential Potential with only Cundall-and-Strack-like contact. The LinExponential potential formula is \\(F(u) = \\frac{k*(x_e-x_0)}{x_e}(u/a-x_0)\\exp\\left(\\frac{-(u/a)}{x_e-x_0}\\right)\\). Where \\(k\\) is the slope at the origin, \\(x_0\\) is the position where the potential cross \\(0\\) and \\(x_e\\) is the position of the extremum.

    \n-
    \n-
    \n-property F0\u00b6
    \n-

    Force at contact. Force when \\(F_0 = F(u=0)\\) (LinExponential)

    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n+

    Return dictionary of attributes.

    \n
    \n \n
    \n-
    \n-property Fe\u00b6
    \n-

    Extremum force. Value of force at extremum. (LinExponential)

    \n+
    \n+property energies\u00b6
    \n+

    Energy values, in linear array

    \n
    \n \n-
    \n-
    \n-property alpha\u00b6
    \n-

    Bulk-to-roughness stiffness ratio

    \n+
    \n+
    \n+items((EnergyTracker)arg1) list :\u00b6
    \n+

    Return contents as list of (name,value) tuples.

    \n
    \n \n
    \n-
    \n-computeParametersFromF0((LinExponentialPotential)arg1, (float)F0, (float)xe, (float)k) None :\u00b6
    \n-

    Set parameters of the potential, with \\(k\\) computed from \\(F_0\\)

    \n+
    \n+keys((EnergyTracker)arg1) list :\u00b6
    \n+

    Return defined energies.

    \n
    \n \n
    \n-
    \n-computeParametersFromF0Fe((LinExponentialPotential)arg1, (float)xe, (float)Fe, (float)F0) None :\u00b6
    \n-

    Set parameters of the potential, with \\(k\\) and \\(x_0\\) computed from \\(F_0\\) and \\(F_e\\)

    \n+
    \n+total((EnergyTracker)arg1) float :\u00b6
    \n+

    Return sum of all energies.

    \n
    \n \n
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n-

    Return dictionary of attributes.

    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+

    Update object attributes from given dictionary

    \n
    \n \n-
    \n-
    \n-property k\u00b6
    \n-

    Slope at the origin (stiffness). (LinExponential)

    \n
    \n \n+
    \n+
    \n+class yade.wrapper.ParallelEngine(inherits Engine \u2192 Serializable)\u00b6
    \n+

    Engine for running other Engine in parallel.

    \n
    \n-
    \n-potential((LinExponentialPotential)arg1, (float)u) float :\u00b6
    \n-

    Get potential value at any point.

    \n+
    \n+__init__((object)arg1) None\u00b6
    \n+

    object __init__(tuple args, dict kwds)

    \n+
    \n+
    __init__( (object)arg1, (list)arg2) -> object :

    Construct from (possibly nested) list of slaves.

    \n+
    \n+
    \n
    \n \n-
    \n-
    \n-setParameters((LinExponentialPotential)arg1, (float)x0, (float)xe, (float)k) None :\u00b6
    \n-

    Set parameters of the potential

    \n+
    \n+
    \n+property dead\u00b6
    \n+

    If true, this engine will not run at all; can be used for making an engine temporarily deactivated and only resurrect it at a later point.

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n-

    Update object attributes from given dictionary

    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n+

    Return dictionary of attributes.

    \n
    \n \n
    \n-
    \n-property x0\u00b6
    \n-

    Equilibrium distance. Potential force is 0 at \\(x_0\\) (LinExponential)

    \n+
    \n+property execCount\u00b6
    \n+

    Cumulative count this engine was run (only used if O.timingEnabled==True).

    \n
    \n \n
    \n-
    \n-property xe\u00b6
    \n-

    Extremum position. Position of local max/min of force. (LinExponential)

    \n+
    \n+property execTime\u00b6
    \n+

    Cumulative time in nanoseconds this Engine took to run (only used if O.timingEnabled==True).

    \n
    \n \n+
    \n+
    \n+property label\u00b6
    \n+

    Textual label for this object; must be valid python identifier, you can refer to it directly from python.

    \n
    \n \n-
    \n-
    \n-class yade.wrapper.GlExtra_LawTester(inherits GlExtraDrawer \u2192 Serializable)\u00b6
    \n-

    Find an instance of LawTester and show visually its data.

    \n
    \n-
    \n-property dead\u00b6
    \n-

    Deactivate the object (on error/exception).

    \n+
    \n+property ompThreads\u00b6
    \n+

    Number of threads to be used in the engine. If ompThreads<0 (default), the number will be typically OMP_NUM_THREADS or the number N defined by \u2018yade -jN\u2019 (this behavior can depend on the engine though). This attribute will only affect engines whose code includes openMP parallel regions (e.g. InteractionLoop). This attribute is mostly useful for experiments or when combining ParallelEngine with engines that run parallel regions, resulting in nested OMP loops with different number of threads at each level.

    \n
    \n \n-
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n-

    Return dictionary of attributes.

    \n+
    \n+
    \n+property slaves\u00b6
    \n+

    List of lists of Engines; each top-level group will be run in parallel with other groups, while Engines inside each group will be run sequentially, in given order.

    \n
    \n \n
    \n-
    \n-property tester\u00b6
    \n-

    Associated LawTester object.

    \n+
    \n+property timingDeltas\u00b6
    \n+

    Detailed information about timing inside the Engine itself. Empty unless enabled in the source code and O.timingEnabled==True.

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n

    Update object attributes from given dictionary

    \n
    \n \n
    \n \n
    \n-
    \n-class yade.wrapper.EnergyTracker(inherits Serializable)\u00b6
    \n-

    Storage for tracing energies. Only to be used if O.trackEnergy is True.

    \n+
    \n+class yade.wrapper.LBMnode(inherits Serializable)\u00b6
    \n+

    Node class for Lattice Boltzmann Method

    \n
    \n-
    \n-clear((EnergyTracker)arg1) None :\u00b6
    \n-

    Clear all stored values.

    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n+

    Return dictionary of attributes.

    \n
    \n \n
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+

    Update object attributes from given dictionary

    \n+
    \n+\n+
    \n+\n+
    \n+
    \n+class yade.wrapper.FastMarchingMethod(inherits Serializable)\u00b6
    \n+

    Executes a Fast Marching Method (FMM) to solve \\(||\\vec \\nabla \\phi|| = c\\) for a discrete field \\(\\phi\\) defined on grid, with phiIni serving as boundary condition. Typically, \\(c=1\\) (see speed) and \\(\\phi\\) is a distance field. Note that the minimum search inherent to the FMM is not yet optimal in terms of execution speed and faster implementations of the FMM may be found elsewhere. See [Duriez2021b] for more details, where the class was coined DistFMM.

    \n+
    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n

    Return dictionary of attributes.

    \n
    \n \n
    \n-
    \n-property energies\u00b6
    \n-

    Energy values, in linear array

    \n+
    \n+property grid\u00b6
    \n+

    The underlying regular grid.

    \n
    \n \n-
    \n-
    \n-items((EnergyTracker)arg1) list :\u00b6
    \n-

    Return contents as list of (name,value) tuples.

    \n+
    \n+
    \n+property known\u00b6
    \n+

    Gridpoints (indices) with distance known for good: they have been at some point the shortest gp to the surface while executing the FMM.

    \n
    \n \n
    \n-
    \n-keys((EnergyTracker)arg1) list :\u00b6
    \n-

    Return defined energies.

    \n+
    \n+phi((FastMarchingMethod)arg1) object :\u00b6
    \n+

    Executes the FMM and returns its solution as a list of list of list, with the [i][j][k] element corresponding to grid.gridPoint(i,j,k)

    \n
    \n \n-
    \n-
    \n-total((EnergyTracker)arg1) float :\u00b6
    \n-

    Return sum of all energies.

    \n+
    \n+
    \n+property phiIni\u00b6
    \n+

    Initial discrete field defined on the grid that will serve as a boundary condition for the FMM. Field values have to be - inf (resp. inf) for points being far inside (resp. outside) and correct (finite) on each side of the interface. Built-in functions distIniSE (for superellipsoids), phiIniCppPy (for a Python user function, through a mixed C++-Py internal implementation) or phiIniPy (for a Python user function through a pure Py internal implementation) may be used for such a purpose.

    \n+
    \n+\n+
    \n+
    \n+property speed\u00b6
    \n+

    Keep to 1 for a true distance, 2 for the flake-like rose verification of [Duriez2021b].

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n

    Update object attributes from given dictionary

    \n
    \n \n
    \n \n
    \n
    \n@@ -33307,269 +33286,325 @@\n updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n

    Update object attributes from given dictionary

    \n
    \n \n
    \n \n
    \n-
    \n-class yade.wrapper.Engine(inherits Serializable)\u00b6
    \n-

    Basic execution unit of simulation, called from the simulation loop (O.engines)

    \n+
    \n+class yade.wrapper.LBMbody(inherits Serializable)\u00b6
    \n+

    Body class for Lattice Boltzmann Method

    \n
    \n-
    \n-property dead\u00b6
    \n-

    If true, this engine will not run at all; can be used for making an engine temporarily deactivated and only resurrect it at a later point.

    \n+
    \n+property AVel\u00b6
    \n+

    Angular velocity of body

    \n+
    \n+\n+
    \n+
    \n+property Fh\u00b6
    \n+

    Hydrodynamical force on body

    \n+
    \n+\n+
    \n+
    \n+property Mh\u00b6
    \n+

    Hydrodynamical momentum on body

    \n
    \n \n
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n

    Return dictionary of attributes.

    \n
    \n \n
    \n-
    \n-property execCount\u00b6
    \n-

    Cumulative count this engine was run (only used if O.timingEnabled==True).

    \n+
    \n+property fm\u00b6
    \n+

    Hydrodynamic force (LB unit) at t-0.5dt

    \n
    \n \n
    \n-
    \n-property execTime\u00b6
    \n-

    Cumulative time in nanoseconds this Engine took to run (only used if O.timingEnabled==True).

    \n+
    \n+property force\u00b6
    \n+

    Hydrodynamic force, need to be reinitialized (LB unit)

    \n
    \n \n
    \n-
    \n-property label\u00b6
    \n-

    Textual label for this object; must be valid python identifier, you can refer to it directly from python.

    \n+
    \n+property fp\u00b6
    \n+

    Hydrodynamic force (LB unit) at t+0.5dt

    \n
    \n \n
    \n-
    \n-property ompThreads\u00b6
    \n-

    Number of threads to be used in the engine. If ompThreads<0 (default), the number will be typically OMP_NUM_THREADS or the number N defined by \u2018yade -jN\u2019 (this behavior can depend on the engine though). This attribute will only affect engines whose code includes openMP parallel regions (e.g. InteractionLoop). This attribute is mostly useful for experiments or when combining ParallelEngine with engines that run parallel regions, resulting in nested OMP loops with different number of threads at each level.

    \n+
    \n+property isEroded\u00b6
    \n+

    Hydrodynamical force on body

    \n
    \n \n
    \n-
    \n-property timingDeltas\u00b6
    \n-

    Detailed information about timing inside the Engine itself. Empty unless enabled in the source code and O.timingEnabled==True.

    \n+
    \n+property mm\u00b6
    \n+

    Hydrodynamic momentum (LB unit) at t-0.5dt

    \n+
    \n+\n+
    \n+
    \n+property momentum\u00b6
    \n+

    Hydrodynamic momentum,need to be reinitialized (LB unit)

    \n+
    \n+\n+
    \n+
    \n+property mp\u00b6
    \n+

    Hydrodynamic momentum (LB unit) at t+0.5dt

    \n+
    \n+\n+
    \n+
    \n+property pos\u00b6
    \n+

    Position of body

    \n+
    \n+\n+
    \n+
    \n+property radius\u00b6
    \n+

    Radius of body (for sphere)

    \n+
    \n+\n+
    \n+
    \n+property saveProperties\u00b6
    \n+

    To save properties of the body

    \n+
    \n+\n+
    \n+
    \n+property type\u00b6
    \n+

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n

    Update object attributes from given dictionary

    \n
    \n \n+
    \n+
    \n+property vel\u00b6
    \n+

    Velocity of body

    \n+
    \n+\n
    \n \n
    \n-
    \n-class yade.wrapper.Serializable\u00b6
    \n-
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n+
    \n+class yade.wrapper.GenericPotential(inherits Serializable)\u00b6
    \n+

    Generic class for potential representation in PotentialLubrication law. Don\u2019t do anything. If set as potential, the result will be a lubrication-only simulation.

    \n+
    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n

    Return dictionary of attributes.

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n

    Update object attributes from given dictionary

    \n
    \n \n
    \n \n
    \n-
    \n-class yade.wrapper.MPIBodyContainer(inherits Serializable)\u00b6
    \n-

    a dummy container to serialize and send.

    \n+
    \n+class yade.wrapper.GlExtra_OctreeCubes(inherits GlExtraDrawer \u2192 Serializable)\u00b6
    \n+

    Render boxed read from file

    \n
    \n-
    \n-property bContainer\u00b6
    \n-

    a dummy body container to serialize

    \n+
    \n+property boxesFile\u00b6
    \n+

    File to read boxes from; ascii files with x0 y0 z0 x1 y1 z1 c records, where c is an integer specifying fill (0 for wire, 1 for filled).

    \n
    \n \n-
    \n-
    \n-clearContainer((MPIBodyContainer)arg1) None :\u00b6
    \n-

    clear bodies in the container

    \n+
    \n+
    \n+property dead\u00b6
    \n+

    Deactivate the object (on error/exception).

    \n
    \n \n
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n

    Return dictionary of attributes.

    \n
    \n \n-
    \n-
    \n-getCount((MPIBodyContainer)arg1) int :\u00b6
    \n-

    get container count

    \n+
    \n+
    \n+property fillRangeDraw\u00b6
    \n+

    Range of fill indices that will be rendered.

    \n
    \n \n-
    \n-
    \n-insertBody((MPIBodyContainer)arg1, (int)bodyId) None :\u00b6
    \n-

    insert a body (by id) in this container

    \n+
    \n+
    \n+property fillRangeFill\u00b6
    \n+

    Range of fill indices that will be filled.

    \n
    \n \n-
    \n-
    \n-insertBodyListPy((MPIBodyContainer)arg1, (list)listOfIds) None :\u00b6
    \n-

    inset a list of bodies (by ids)

    \n+
    \n+
    \n+property levelRangeDraw\u00b6
    \n+

    Range of levels that will be rendered.

    \n
    \n \n
    \n-
    \n-property subdomainRank\u00b6
    \n-

    origin rank of this container

    \n+
    \n+property noFillZero\u00b6
    \n+

    Do not fill 0-fill boxed (those that are further subdivided)

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n

    Update object attributes from given dictionary

    \n
    \n \n
    \n \n
    \n-
    \n-class yade.wrapper.CundallStrackPotential(inherits GenericPotential \u2192 Serializable)\u00b6
    \n-

    Potential with only Cundall-and-Strack-like contact.

    \n+
    \n+class yade.wrapper.CundallStrackAdhesivePotential(inherits CundallStrackPotential \u2192 GenericPotential \u2192 Serializable)\u00b6
    \n+

    CundallStrack model with adhesive part. Contact is created when \\(u/a-\\varepsilon < 0\\) and released when \\(u/a-\\varepsilon > l_{adh}\\), where \\(l_{adh} = f_{adh}/k_n\\). This lead to an hysteretic attractive part.

    \n
    \n-
    \n-property alpha\u00b6
    \n+
    \n+property alpha\u00b6
    \n

    Bulk-to-roughness stiffness ratio

    \n
    \n \n
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n

    Return dictionary of attributes.

    \n
    \n \n+
    \n+
    \n+property fadh\u00b6
    \n+

    Adhesion force.

    \n+
    \n+\n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n

    Update object attributes from given dictionary

    \n
    \n \n
    \n \n
    \n-
    \n-class yade.wrapper.GlExtraDrawer(inherits Serializable)\u00b6
    \n-

    Performing arbitrary OpenGL drawing commands; called from OpenGLRenderer (see OpenGLRenderer.extraDrawers) once regular rendering routines will have finished.

    \n-

    This class itself does not render anything, derived classes should override the render method.

    \n+
    \n+class yade.wrapper.MatchMaker(inherits Serializable)\u00b6
    \n+

    Class matching pair of ids to return pre-defined (for a pair of ids defined in matches) or derived value (computed using algo) of a scalar parameter. It can be called (id1, id2, val1=NaN, val2=NaN) in both python and c++.

    \n+
    \n+

    Note

    \n+

    There is a converter from python number defined for this class, which creates a new MatchMaker returning the value of that number; instead of giving the object instance therefore, you can only pass the number value and it will be converted automatically.

    \n+
    \n
    \n-
    \n-property dead\u00b6
    \n-

    Deactivate the object (on error/exception).

    \n+
    \n+property algo\u00b6
    \n+

    Algorithm used to compute value when no match for ids is found. Possible values are

    \n+
      \n+
    • \u2018avg\u2019 (arithmetic average)

    • \n+
    • \u2018min\u2019 (minimum value)

    • \n+
    • \u2018max\u2019 (maximum value)

    • \n+
    • \u2018harmAvg\u2019 (harmonic average)

    • \n+
    \n+

    The following algo algorithms do not require meaningful input values in order to work:

    \n+
      \n+
    • \u2018val\u2019 (return value specified by val)

    • \n+
    • \u2018zero\u2019 (always return 0.)

    • \n+
    \n+
    \n+

    \n+
    \n
    \n \n
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n-

    Return dictionary of attributes.

    \n+
    \n+computeFallback((MatchMaker)arg1, (float)val1, (float)val2) float :\u00b6
    \n+

    Compute algo value for val1 and val2, using algorithm specified by algo.

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n-

    Update object attributes from given dictionary

    \n-
    \n-\n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n+

    Return dictionary of attributes.

    \n
    \n \n-
    \n-
    \n-class yade.wrapper.TimingDeltas\u00b6
    \n-
    \n-
    \n-property data\u00b6
    \n-

    Get timing data as list of tuples (label, execTime[nsec], execCount) (one tuple per checkpoint)

    \n+
    \n+
    \n+property matches\u00b6
    \n+

    Array of (id1,id2,value) items; queries matching id1 + id2 or id2 + id1 will return value

    \n
    \n \n
    \n-
    \n-reset((TimingDeltas)arg1) None :\u00b6
    \n-

    Reset timing information

    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+

    Update object attributes from given dictionary

    \n
    \n \n+
    \n+
    \n+property val\u00b6
    \n+

    Constant value returned if there is no match and algo is val

    \n
    \n \n-
    \n-
    \n-class yade.wrapper.ParallelEngine(inherits Engine \u2192 Serializable)\u00b6
    \n-

    Engine for running other Engine in parallel.

    \n-
    \n-
    \n-__init__((object)arg1) None\u00b6
    \n-

    object __init__(tuple args, dict kwds)

    \n-
    \n-
    __init__( (object)arg1, (list)arg2) -> object :

    Construct from (possibly nested) list of slaves.

    \n-
    \n-
    \n
    \n \n+
    \n+
    \n+class yade.wrapper.GlExtra_LawTester(inherits GlExtraDrawer \u2192 Serializable)\u00b6
    \n+

    Find an instance of LawTester and show visually its data.

    \n
    \n-
    \n-property dead\u00b6
    \n-

    If true, this engine will not run at all; can be used for making an engine temporarily deactivated and only resurrect it at a later point.

    \n+
    \n+property dead\u00b6
    \n+

    Deactivate the object (on error/exception).

    \n
    \n \n
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n

    Return dictionary of attributes.

    \n
    \n \n
    \n-
    \n-property execCount\u00b6
    \n-

    Cumulative count this engine was run (only used if O.timingEnabled==True).

    \n-
    \n-\n-
    \n-
    \n-property execTime\u00b6
    \n-

    Cumulative time in nanoseconds this Engine took to run (only used if O.timingEnabled==True).

    \n-
    \n-\n-
    \n-
    \n-property label\u00b6
    \n-

    Textual label for this object; must be valid python identifier, you can refer to it directly from python.

    \n+
    \n+property tester\u00b6
    \n+

    Associated LawTester object.

    \n
    \n \n-
    \n-
    \n-property ompThreads\u00b6
    \n-

    Number of threads to be used in the engine. If ompThreads<0 (default), the number will be typically OMP_NUM_THREADS or the number N defined by \u2018yade -jN\u2019 (this behavior can depend on the engine though). This attribute will only affect engines whose code includes openMP parallel regions (e.g. InteractionLoop). This attribute is mostly useful for experiments or when combining ParallelEngine with engines that run parallel regions, resulting in nested OMP loops with different number of threads at each level.

    \n+
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+

    Update object attributes from given dictionary

    \n
    \n \n-
    \n-
    \n-property slaves\u00b6
    \n-

    List of lists of Engines; each top-level group will be run in parallel with other groups, while Engines inside each group will be run sequentially, in given order.

    \n
    \n \n-
    \n-
    \n-property timingDeltas\u00b6
    \n-

    Detailed information about timing inside the Engine itself. Empty unless enabled in the source code and O.timingEnabled==True.

    \n+
    \n+
    \n+class yade.wrapper.Serializable\u00b6
    \n+
    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n+

    Return dictionary of attributes.

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n

    Update object attributes from given dictionary

    \n
    \n \n
    \n \n
    \n
    \n@@ -33799,170 +33834,135 @@\n wrapPt((Cell)arg1, (Vector3)arg2) Vector3 :\u00b6
    \n

    Wrap point inside the reference cell, assuming the cell has no skew+rot.

    \n
    \n \n
    \n \n
    \n-
    \n-class yade.wrapper.LBMbody(inherits Serializable)\u00b6
    \n-

    Body class for Lattice Boltzmann Method

    \n-
    \n-
    \n-property AVel\u00b6
    \n-

    Angular velocity of body

    \n-
    \n-\n-
    \n-
    \n-property Fh\u00b6
    \n-

    Hydrodynamical force on body

    \n-
    \n-\n+
    \n+class yade.wrapper.GlExtraDrawer(inherits Serializable)\u00b6
    \n+

    Performing arbitrary OpenGL drawing commands; called from OpenGLRenderer (see OpenGLRenderer.extraDrawers) once regular rendering routines will have finished.

    \n+

    This class itself does not render anything, derived classes should override the render method.

    \n
    \n-
    \n-property Mh\u00b6
    \n-

    Hydrodynamical momentum on body

    \n+
    \n+property dead\u00b6
    \n+

    Deactivate the object (on error/exception).

    \n
    \n \n
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n

    Return dictionary of attributes.

    \n
    \n \n-
    \n-
    \n-property fm\u00b6
    \n-

    Hydrodynamic force (LB unit) at t-0.5dt

    \n+
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+

    Update object attributes from given dictionary

    \n
    \n \n-
    \n-
    \n-property force\u00b6
    \n-

    Hydrodynamic force, need to be reinitialized (LB unit)

    \n
    \n \n+
    \n+
    \n+class yade.wrapper.LinExponentialPotential(inherits CundallStrackPotential \u2192 GenericPotential \u2192 Serializable)\u00b6
    \n+

    LinExponential Potential with only Cundall-and-Strack-like contact. The LinExponential potential formula is \\(F(u) = \\frac{k*(x_e-x_0)}{x_e}(u/a-x_0)\\exp\\left(\\frac{-(u/a)}{x_e-x_0}\\right)\\). Where \\(k\\) is the slope at the origin, \\(x_0\\) is the position where the potential cross \\(0\\) and \\(x_e\\) is the position of the extremum.

    \n
    \n-
    \n-property fp\u00b6
    \n-

    Hydrodynamic force (LB unit) at t+0.5dt

    \n+
    \n+property F0\u00b6
    \n+

    Force at contact. Force when \\(F_0 = F(u=0)\\) (LinExponential)

    \n
    \n \n
    \n-
    \n-property isEroded\u00b6
    \n-

    Hydrodynamical force on body

    \n+
    \n+property Fe\u00b6
    \n+

    Extremum force. Value of force at extremum. (LinExponential)

    \n
    \n \n
    \n-
    \n-property mm\u00b6
    \n-

    Hydrodynamic momentum (LB unit) at t-0.5dt

    \n+
    \n+property alpha\u00b6
    \n+

    Bulk-to-roughness stiffness ratio

    \n
    \n \n-
    \n-
    \n-property momentum\u00b6
    \n-

    Hydrodynamic momentum,need to be reinitialized (LB unit)

    \n+
    \n+
    \n+computeParametersFromF0((LinExponentialPotential)arg1, (float)F0, (float)xe, (float)k) None :\u00b6
    \n+

    Set parameters of the potential, with \\(k\\) computed from \\(F_0\\)

    \n
    \n \n-
    \n-
    \n-property mp\u00b6
    \n-

    Hydrodynamic momentum (LB unit) at t+0.5dt

    \n+
    \n+
    \n+computeParametersFromF0Fe((LinExponentialPotential)arg1, (float)xe, (float)Fe, (float)F0) None :\u00b6
    \n+

    Set parameters of the potential, with \\(k\\) and \\(x_0\\) computed from \\(F_0\\) and \\(F_e\\)

    \n
    \n \n-
    \n-
    \n-property pos\u00b6
    \n-

    Position of body

    \n+
    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n+

    Return dictionary of attributes.

    \n
    \n \n
    \n-
    \n-property radius\u00b6
    \n-

    Radius of body (for sphere)

    \n+
    \n+property k\u00b6
    \n+

    Slope at the origin (stiffness). (LinExponential)

    \n
    \n \n-
    \n-
    \n-property saveProperties\u00b6
    \n-

    To save properties of the body

    \n+
    \n+
    \n+potential((LinExponentialPotential)arg1, (float)u) float :\u00b6
    \n+

    Get potential value at any point.

    \n
    \n \n-
    \n-
    \n-property type\u00b6
    \n-

    \n+
    \n+
    \n+setParameters((LinExponentialPotential)arg1, (float)x0, (float)xe, (float)k) None :\u00b6
    \n+

    Set parameters of the potential

    \n
    \n \n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n

    Update object attributes from given dictionary

    \n
    \n \n
    \n-
    \n-property vel\u00b6
    \n-

    Velocity of body

    \n+
    \n+property x0\u00b6
    \n+

    Equilibrium distance. Potential force is 0 at \\(x_0\\) (LinExponential)

    \n
    \n \n+
    \n+
    \n+property xe\u00b6
    \n+

    Extremum position. Position of local max/min of force. (LinExponential)

    \n
    \n \n-
    \n-
    \n-class yade.wrapper.GlExtra_OctreeCubes(inherits GlExtraDrawer \u2192 Serializable)\u00b6
    \n-

    Render boxed read from file

    \n-
    \n-
    \n-property boxesFile\u00b6
    \n-

    File to read boxes from; ascii files with x0 y0 z0 x1 y1 z1 c records, where c is an integer specifying fill (0 for wire, 1 for filled).

    \n
    \n \n+
    \n+
    \n+class yade.wrapper.CundallStrackPotential(inherits GenericPotential \u2192 Serializable)\u00b6
    \n+

    Potential with only Cundall-and-Strack-like contact.

    \n
    \n-
    \n-property dead\u00b6
    \n-

    Deactivate the object (on error/exception).

    \n+
    \n+property alpha\u00b6
    \n+

    Bulk-to-roughness stiffness ratio

    \n
    \n \n
    \n-
    \n-dict((Serializable)arg1) dict :\u00b6
    \n+
    \n+dict((Serializable)arg1) dict :\u00b6
    \n

    Return dictionary of attributes.

    \n
    \n \n-
    \n-
    \n-property fillRangeDraw\u00b6
    \n-

    Range of fill indices that will be rendered.

    \n-
    \n-\n-
    \n-
    \n-property fillRangeFill\u00b6
    \n-

    Range of fill indices that will be filled.

    \n-
    \n-\n-
    \n-
    \n-property levelRangeDraw\u00b6
    \n-

    Range of levels that will be rendered.

    \n-
    \n-\n-
    \n-
    \n-property noFillZero\u00b6
    \n-

    Do not fill 0-fill boxed (those that are further subdivided)

    \n-
    \n-\n
    \n-
    \n-updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n+
    \n+updateAttrs((Serializable)arg1, (dict)arg2) None :\u00b6
    \n

    Update object attributes from given dictionary

    \n
    \n \n
    \n \n
    \n \n@@ -39795,94 +39795,91 @@\n \n \n \n \n \n \n
  • Other classes
      \n-
    • GenericPotential\n-
    • \n-
    • FastMarchingMethod
        \n-
      • FastMarchingMethod.dict()
      • \n-
      • FastMarchingMethod.grid
      • \n-
      • FastMarchingMethod.known
      • \n-
      • FastMarchingMethod.phi()
      • \n-
      • FastMarchingMethod.phiIni
      • \n-
      • FastMarchingMethod.speed
      • \n-
      • FastMarchingMethod.updateAttrs()
      • \n+
      • MPIBodyContainer\n
      • \n-
      • CundallStrackAdhesivePotential
          \n-
        • CundallStrackAdhesivePotential.alpha
        • \n-
        • CundallStrackAdhesivePotential.dict()
        • \n-
        • CundallStrackAdhesivePotential.fadh
        • \n-
        • CundallStrackAdhesivePotential.updateAttrs()
        • \n+
        • TimingDeltas\n
        • \n-
        • MatchMaker
            \n-
          • MatchMaker.algo
          • \n-
          • MatchMaker.computeFallback()
          • \n-
          • MatchMaker.dict()
          • \n-
          • MatchMaker.matches
          • \n-
          • MatchMaker.updateAttrs()
          • \n-
          • MatchMaker.val
          • \n+
          • Engine\n
          • \n
          • RegularGrid\n
          • \n-
          • LBMnode\n-
          • \n-
          • LinExponentialPotential\n-
          • \n-
          • GlExtra_LawTester\n-
          • \n
          • EnergyTracker\n
          • \n+
          • ParallelEngine\n+
          • \n+
          • LBMnode\n+
          • \n+
          • FastMarchingMethod\n+
          • \n
          • LBMlink\n
          • \n-
          • Engine
              \n-
            • Engine.dead
            • \n-
            • Engine.dict()
            • \n-
            • Engine.execCount
            • \n-
            • Engine.execTime
            • \n-
            • Engine.label
            • \n-
            • Engine.ompThreads
            • \n-
            • Engine.timingDeltas
            • \n-
            • Engine.updateAttrs()
            • \n+
            • LBMbody\n
            • \n-
            • Serializable
                \n-
              • Serializable.dict()
              • \n-
              • Serializable.updateAttrs()
              • \n+
              • GenericPotential\n
              • \n-
              • MPIBodyContainer
                  \n-
                • MPIBodyContainer.bContainer
                • \n-
                • MPIBodyContainer.clearContainer()
                • \n-
                • MPIBodyContainer.dict()
                • \n-
                • MPIBodyContainer.getCount()
                • \n-
                • MPIBodyContainer.insertBody()
                • \n-
                • MPIBodyContainer.insertBodyListPy()
                • \n-
                • MPIBodyContainer.subdomainRank
                • \n-
                • MPIBodyContainer.updateAttrs()
                • \n+
                • GlExtra_OctreeCubes\n
                • \n-
                • CundallStrackPotential
                    \n-
                  • CundallStrackPotential.alpha
                  • \n-
                  • CundallStrackPotential.dict()
                  • \n-
                  • CundallStrackPotential.updateAttrs()
                  • \n+
                  • CundallStrackAdhesivePotential\n
                  • \n-
                  • GlExtraDrawer
                      \n-
                    • GlExtraDrawer.dead
                    • \n-
                    • GlExtraDrawer.dict()
                    • \n-
                    • GlExtraDrawer.updateAttrs()
                    • \n+
                    • MatchMaker\n
                    • \n-
                    • TimingDeltas
                        \n-
                      • TimingDeltas.data
                      • \n-
                      • TimingDeltas.reset()
                      • \n+
                      • GlExtra_LawTester\n
                      • \n-
                      • ParallelEngine\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -113,81 +113,81 @@\n Update object attributes from given dictionary\n *\b**\b**\b**\b* S\bSh\bha\bap\bpe\be_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph Shape {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"Shape\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Shape\"];\n- \"Wall\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Wall\"];\n- \"Wall\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"GridConnection\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GridConnection\"];\n- \"GridConnection\" -> \"Sphere\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"GridNode\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GridNode\"];\n- \"GridNode\" -> \"Sphere\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Lin4NodeTetra\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Lin4NodeTetra\"];\n- \"Lin4NodeTetra\" -> \"DeformableElement\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"DeformableElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DeformableElement\"];\n+ \"DeformableElement\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"Node\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Node\"];\n+ \"Node\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Subdomain\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Subdomain\"];\n+ \"Subdomain\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Facet\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Facet\"];\n \"Facet\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Cylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Cylinder\"];\n- \"Cylinder\" -> \"Sphere\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Lin4NodeTetra_Lin4NodeTetra_InteractionElement\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Lin4NodeTetra_Lin4NodeTetra_InteractionElement\"];\n- \"Lin4NodeTetra_Lin4NodeTetra_InteractionElement\" -\n-> \"DeformableCohesiveElement\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Sphere\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Sphere\"];\n+ \"Sphere\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"ChainedCylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ChainedCylinder\"];\n+ \"ChainedCylinder\" -> \"Cylinder\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"Box\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Box\"];\n \"Box\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"DeformableElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DeformableElement\"];\n- \"DeformableElement\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"LevelSet\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LevelSet\"];\n- \"LevelSet\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"PFacet\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PFacet\"];\n+ \"PFacet\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"GridConnection\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GridConnection\"];\n+ \"GridConnection\" -> \"Sphere\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"FluidDomainBbox\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FluidDomainBbox\"];\n+ \"FluidDomainBbox\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Tetra\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Tetra\"];\n \"Tetra\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Cylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Cylinder\"];\n+ \"Cylinder\" -> \"Sphere\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"DeformableCohesiveElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DeformableCohesiveElement\"];\n+ \"DeformableCohesiveElement\" -> \"DeformableElement\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Wall\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Wall\"];\n+ \"Wall\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"LevelSet\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LevelSet\"];\n+ \"LevelSet\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Lin4NodeTetra\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Lin4NodeTetra\"];\n+ \"Lin4NodeTetra\" -> \"DeformableElement\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Clump\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Clump\"];\n \"Clump\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Sphere\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Sphere\"];\n- \"Sphere\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"GridNode\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GridNode\"];\n+ \"GridNode\" -> \"Sphere\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Lin4NodeTetra_Lin4NodeTetra_InteractionElement\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Lin4NodeTetra_Lin4NodeTetra_InteractionElement\"];\n+ \"Lin4NodeTetra_Lin4NodeTetra_InteractionElement\" -\n+> \"DeformableCohesiveElement\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"PotentialParticle\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PotentialParticle\"];\n \"PotentialParticle\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"Subdomain\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Subdomain\"];\n- \"Subdomain\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"DeformableCohesiveElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DeformableCohesiveElement\"];\n- \"DeformableCohesiveElement\" -> \"DeformableElement\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"PFacet\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PFacet\"];\n- \"PFacet\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"ChainedCylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ChainedCylinder\"];\n- \"ChainedCylinder\" -> \"Cylinder\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"FluidDomainBbox\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FluidDomainBbox\"];\n- \"FluidDomainBbox\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Node\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Node\"];\n- \"Node\" -> \"Shape\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n }]\n Inheritance graph of Shape._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.Shape(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Geometry of a body\n p\bpr\bro\bop\bpe\ber\brt\bty\by color_\b\u00b6\n Color for rendering (normalized RGB).\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n@@ -919,15 +919,15 @@\n p\bpr\bro\bop\bpe\ber\brt\bty\by color_\b\u00b6\n Color for rendering (normalized RGB).\n p\bpr\bro\bop\bpe\ber\brt\bty\by comm_\b\u00b6\n Communicator to be used for MPI (converts mpi4py comm <-> c++ comm)\n completeSendBodies((\b(S\bSu\bub\bbd\bdo\bom\bma\bai\bin\bn)\b)a\bar\brg\bg1\b1) \u2192 None :_\b\u00b6\n calls MPI_wait to complete the non blocking sends/recieves.\n countIntsWith((\b(S\bSu\bub\bbd\bdo\bom\bma\bai\bin\bn)\b)a\bar\brg\bg1\b1, (\b(i\bin\bnt\bt)\b)b\bbo\bod\bdy\by, (\b(i\bin\bnt\bt)\b)s\bso\bom\bme\beS\bSu\bub\bbD\bDo\bom\bma\bai\bin\bn[,\n- (\b(S\bSc\bce\ben\bne\be)\b)s\bso\bom\bme\beS\bSu\bub\bbD\bDo\bom\bma\bai\bin\bn=\b=<\b\b>]) \u2192 int :_\b\u00b6\n+ (\b(S\bSc\bce\ben\bne\be)\b)s\bso\bom\bme\beS\bSu\bub\bbD\bDo\bom\bma\bai\bin\bn=\b=<\b\b>]) \u2192 int :_\b\u00b6\n returns for a body the count of interactions (real or virtual) with\n bodies from a certain subdomain, interactions with subdomains\n excluded. Third parameter (scene pointer) can be left to default\n (equivalent to O._sceneObj).\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n dispHierarchy((\b(S\bSh\bha\bap\bpe\be)\b)a\bar\brg\bg1\b1[, (\b(b\bbo\boo\bol\bl)\b)n\bna\bam\bme\bes\bs=\b=T\bTr\bru\bue\be]) \u2192 list :_\b\u00b6\n@@ -1077,27 +1077,27 @@\n renderer).\n *\b**\b**\b**\b* S\bSt\bta\bat\bte\be_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph State {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"State\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.State\"];\n- \"ChainedState\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ChainedState\"];\n- \"ChainedState\" -> \"State\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"ThermalState\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ThermalState\"];\n- \"ThermalState\" -> \"State\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"CpmState\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CpmState\"];\n \"CpmState\" -> \"State\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"ChainedState\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ChainedState\"];\n+ \"ChainedState\" -> \"State\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"JCFpmState\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.JCFpmState\"];\n \"JCFpmState\" -> \"ThermalState\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n+ \"ThermalState\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ThermalState\"];\n+ \"ThermalState\" -> \"State\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"WireState\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.WireState\"];\n \"WireState\" -> \"State\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n }]\n Inheritance graph of State._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.State(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n State of a body (spatial configuration, internal variables).\n@@ -1501,87 +1501,87 @@\n Current linear velocity.\n *\b**\b**\b**\b* M\bMa\bat\bte\ber\bri\bia\bal\bl_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph Material {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"Material\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Material\"];\n- \"LinIsoElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinIsoElastMat\"];\n- \"LinIsoElastMat\" -> \"DeformableElementMaterial\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"ElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ElastMat\"];\n- \"ElastMat\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"ViscElMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscElMat\"];\n- \"ViscElMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"WireMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.WireMat\"];\n- \"WireMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"InelastCohFrictMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InelastCohFrictMat\"];\n- \"InelastCohFrictMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n+ \"JCFpmMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.JCFpmMat\"];\n+ \"JCFpmMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"ViscElCapMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscElCapMat\"];\n \"ViscElCapMat\" -> \"ViscElMat\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"JCFpmMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.JCFpmMat\"];\n- \"JCFpmMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"CohFrictMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohFrictMat\"];\n- \"CohFrictMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"CpmMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CpmMat\"];\n \"CpmMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"LudingMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LudingMat\"];\n- \"LudingMat\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"ViscElMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscElMat\"];\n+ \"ViscElMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"LinCohesiveElasticMaterial\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinCohesiveElasticMaterial\"];\n+ \"LinCohesiveElasticMaterial\" -> \"CohesiveDeformableElementMaterial\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"BubbleMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BubbleMat\"];\n \"BubbleMat\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"FrictViscoMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictViscoMat\"];\n- \"FrictViscoMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"CohesiveDeformableElementMaterial\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohesiveDeformableElementMaterial\"];\n- \"CohesiveDeformableElementMaterial\" -> \"Material\"\n+ \"WireMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.WireMat\"];\n+ \"WireMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"CohFrictMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohFrictMat\"];\n+ \"CohFrictMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"DeformableElementMaterial\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DeformableElementMaterial\"];\n+ \"DeformableElementMaterial\" -> \"Material\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"MortarMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MortarMat\"];\n- \"MortarMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"LinCohesiveElasticMaterial\"\n+ \"LinIsoElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinIsoElastMat\"];\n+ \"LinIsoElastMat\" -> \"DeformableElementMaterial\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"FrictMatCDM\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictMatCDM\"];\n+ \"FrictMatCDM\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"LinIsoRayleighDampElastMat\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinCohesiveElasticMaterial\"];\n- \"LinCohesiveElasticMaterial\" -> \"CohesiveDeformableElementMaterial\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinIsoRayleighDampElastMat\"];\n+ \"LinIsoRayleighDampElastMat\" -> \"LinIsoElastMat\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"LinCohesiveStiffPropDampElastMat\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinCohesiveStiffPropDampElastMat\"];\n \"LinCohesiveStiffPropDampElastMat\" -> \"LinCohesiveElasticMaterial\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"FrictMatCDM\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictMatCDM\"];\n- \"FrictMatCDM\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"DeformableElementMaterial\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DeformableElementMaterial\"];\n- \"DeformableElementMaterial\" -> \"Material\"\n+ \"ElastMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ElastMat\"];\n+ \"ElastMat\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"CohesiveDeformableElementMaterial\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohesiveDeformableElementMaterial\"];\n+ \"CohesiveDeformableElementMaterial\" -> \"Material\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"MortarMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MortarMat\"];\n+ \"MortarMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"FrictViscoMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictViscoMat\"];\n+ \"FrictViscoMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"LudingMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LudingMat\"];\n+ \"LudingMat\" -> \"Material\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"InelastCohFrictMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InelastCohFrictMat\"];\n+ \"InelastCohFrictMat\" -> \"FrictMat\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"FrictMat\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictMat\"];\n \"FrictMat\" -> \"ElastMat\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"LinIsoRayleighDampElastMat\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinIsoRayleighDampElastMat\"];\n- \"LinIsoRayleighDampElastMat\" -> \"LinIsoElastMat\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n }]\n Inheritance graph of Material._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.Material(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Material properties of a _\bb_\bo_\bd_\by.\n p\bpr\bro\bop\bpe\ber\brt\bty\by density_\b\u00b6\n Density of the material [kg/m\u00b3]\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n@@ -2795,59 +2795,59 @@\n Update object attributes from given dictionary\n *\b**\b**\b**\b* I\bIG\bGe\beo\bom\bm_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph IGeom {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"IGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IGeom\"];\n- \"ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ScGeom\"];\n- \"ScGeom\" -> \"GenericSpheresContact\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"TTetraSimpleGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TTetraSimpleGeom\"];\n- \"TTetraSimpleGeom\" -> \"IGeom\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"ChCylGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ChCylGeom6D\"];\n- \"ChCylGeom6D\" -> \"ScGeom6D\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"GenericSpheresContact\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GenericSpheresContact\"];\n- \"GenericSpheresContact\" -> \"IGeom\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n \"CylScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CylScGeom6D\"];\n \"CylScGeom6D\" -> \"ScGeom6D\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"TTetraGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TTetraGeom\"];\n- \"TTetraGeom\" -> \"IGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"CylScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CylScGeom\"];\n- \"CylScGeom\" -> \"ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"ScGridCoGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ScGridCoGeom\"];\n+ \"ScGridCoGeom\" -> \"ScGeom6D\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.L3Geom\"];\n \"L3Geom\" -> \"GenericSpheresContact\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n+ \"CylScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CylScGeom\"];\n+ \"CylScGeom\" -> \"ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"L6Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.L6Geom\"];\n \"L6Geom\" -> \"L3Geom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ScGeom\"];\n+ \"ScGeom\" -> \"GenericSpheresContact\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"GridCoGridCoGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GridCoGridCoGeom\"];\n \"GridCoGridCoGeom\" -> \"ScGeom\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n+ \"ChCylGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ChCylGeom6D\"];\n+ \"ChCylGeom6D\" -> \"ScGeom6D\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"TTetraGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TTetraGeom\"];\n+ \"TTetraGeom\" -> \"IGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"ScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ScGeom6D\"];\n \"ScGeom6D\" -> \"ScGeom\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"TTetraSimpleGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TTetraSimpleGeom\"];\n+ \"TTetraSimpleGeom\" -> \"IGeom\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"GridNodeGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GridNodeGeom6D\"];\n \"GridNodeGeom6D\" -> \"ScGeom6D\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"ScGridCoGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ScGridCoGeom\"];\n- \"ScGridCoGeom\" -> \"ScGeom6D\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"GenericSpheresContact\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GenericSpheresContact\"];\n+ \"GenericSpheresContact\" -> \"IGeom\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n }]\n Inheritance graph of IGeom._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.IGeom(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Geometrical configuration of interaction\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n dispHierarchy((\b(I\bIG\bGe\beo\bom\bm)\b)a\bar\brg\bg1\b1[, (\b(b\bbo\boo\bol\bl)\b)n\bna\bam\bme\bes\bs=\b=T\bTr\bru\bue\be]) \u2192 list :_\b\u00b6\n@@ -3465,94 +3465,94 @@\n Update object attributes from given dictionary\n *\b**\b**\b**\b* I\bIP\bPh\bhy\bys\bs_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph IPhys {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"IPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IPhys\"];\n+ \"KnKsPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KnKsPhys\"];\n+ \"KnKsPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"ViscoFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscoFrictPhys\"];\n+ \"ViscoFrictPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"CapillaryPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CapillaryPhys\"];\n+ \"CapillaryPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"FrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictPhys\"];\n \"FrictPhys\" -> \"NormShearPhys\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"WirePhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.WirePhys\"];\n- \"WirePhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"LubricationPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LubricationPhys\"];\n- \"LubricationPhys\" -> \"ViscElPhys\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"MindlinPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MindlinPhys\"];\n- \"MindlinPhys\" -> \"RotStiffFrictPhys\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"InelastCohFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InelastCohFrictPhys\"];\n- \"InelastCohFrictPhys\" -> \"RotStiffFrictPhys\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"NormPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.NormPhys\"];\n \"NormPhys\" -> \"IPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"RotStiffFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RotStiffFrictPhys\"];\n- \"RotStiffFrictPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n \"ViscElCapPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscElCapPhys\"];\n \"ViscElCapPhys\" -> \"ViscElPhys\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"CapillaryPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CapillaryPhys\"];\n- \"CapillaryPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"NormShearPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.NormShearPhys\"];\n- \"NormShearPhys\" -> \"NormPhys\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"CpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CpmPhys\"];\n- \"CpmPhys\" -> \"NormShearPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"MindlinPhysCDM\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MindlinPhysCDM\"];\n- \"MindlinPhysCDM\" -> \"MindlinPhys\" [arrowsize=0.5,style=\"setlinewidth\n+ \"JCFpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.JCFpmPhys\"];\n+ \"JCFpmPhys\" -> \"NormShearPhys\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n \"CohFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohFrictPhys\"];\n \"CohFrictPhys\" -> \"RotStiffFrictPhys\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"FrictViscoPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictViscoPhys\"];\n+ \"FrictViscoPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"MortarPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MortarPhys\"];\n \"MortarPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"KnKsPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KnKsPhys\"];\n- \"KnKsPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"BubblePhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BubblePhys\"];\n- \"BubblePhys\" -> \"IPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"WirePhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.WirePhys\"];\n+ \"WirePhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"MindlinPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MindlinPhys\"];\n+ \"MindlinPhys\" -> \"RotStiffFrictPhys\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"ViscElPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscElPhys\"];\n \"ViscElPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"JCFpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.JCFpmPhys\"];\n- \"JCFpmPhys\" -> \"NormShearPhys\" [arrowsize=0.5,style=\"setlinewidth\n+ \"LubricationPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LubricationPhys\"];\n+ \"LubricationPhys\" -> \"ViscElPhys\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"MindlinCapillaryPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MindlinCapillaryPhys\"];\n- \"MindlinCapillaryPhys\" -> \"MindlinPhys\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"ViscoFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ViscoFrictPhys\"];\n- \"ViscoFrictPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth\n+ \"RotStiffFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RotStiffFrictPhys\"];\n+ \"RotStiffFrictPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"FrictViscoPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FrictViscoPhys\"];\n- \"FrictViscoPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth\n+ \"BubblePhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BubblePhys\"];\n+ \"BubblePhys\" -> \"IPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"NormShearPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.NormShearPhys\"];\n+ \"NormShearPhys\" -> \"NormPhys\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n+ \"InelastCohFrictPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InelastCohFrictPhys\"];\n+ \"InelastCohFrictPhys\" -> \"RotStiffFrictPhys\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"LudingPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LudingPhys\"];\n \"LudingPhys\" -> \"FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"CpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CpmPhys\"];\n+ \"CpmPhys\" -> \"NormShearPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"MindlinCapillaryPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MindlinCapillaryPhys\"];\n+ \"MindlinCapillaryPhys\" -> \"MindlinPhys\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"MindlinPhysCDM\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MindlinPhysCDM\"];\n+ \"MindlinPhysCDM\" -> \"MindlinPhys\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n }]\n Inheritance graph of IPhys._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.IPhys(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Physical (material) properties of _\bi_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bo_\bn.\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n dispHierarchy((\b(I\bIP\bPh\bhy\bys\bs)\b)a\bar\brg\bg1\b1[, (\b(b\bbo\boo\bol\bl)\b)n\bna\bam\bme\bes\bs=\b=T\bTr\bru\bue\be]) \u2192 list :_\b\u00b6\n@@ -4938,108 +4938,108 @@\n *\b**\b**\b**\b**\b* G\bGl\blo\bob\bba\bal\bl e\ben\bng\bgi\bin\bne\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* G\bGl\blo\bob\bba\bal\blE\bEn\bng\bgi\bin\bne\be_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph GlobalEngine {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"GlobalEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlobalEngine\"];\n- \"HydrodynamicsLawLBM\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HydrodynamicsLawLBM\"];\n- \"HydrodynamicsLawLBM\" -> \"GlobalEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"InteractionLoop\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InteractionLoop\"];\n- \"InteractionLoop\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"CohesiveFrictionalContactLaw\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohesiveFrictionalContactLaw\"];\n- \"CohesiveFrictionalContactLaw\" -> \"GlobalEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"NewtonIntegrator\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.NewtonIntegrator\"];\n- \"NewtonIntegrator\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"Collider\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphcollider\"];\n- \"Collider\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"TimeStepper\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TimeStepper\"];\n- \"TimeStepper\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"FacetTopologyAnalyzer\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FacetTopologyAnalyzer\"];\n- \"FacetTopologyAnalyzer\" -> \"GlobalEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"FEInternalForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FEInternalForceEngine\"];\n- \"FEInternalForceEngine\" -> \"GlobalEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"ElasticContactLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ElasticContactLaw\"];\n- \"ElasticContactLaw\" -> \"GlobalEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"ForceResetter\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ForceResetter\"];\n- \"ForceResetter\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n+ \"PeriodicEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphperiodicengine\"];\n+ \"PeriodicEngine\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"GlobalStiffnessTimeStepper\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlobalStiffnessTimeStepper\"];\n- \"GlobalStiffnessTimeStepper\" -> \"TimeStepper\"\n+ \"CircularFactory\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CircularFactory\"];\n+ \"CircularFactory\" -> \"SpheresFactory\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"SpheresFactory\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SpheresFactory\"];\n \"SpheresFactory\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"RungeKuttaCashKarp54Integrator\"\n+ \"GlobalStiffnessTimeStepper\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RungeKuttaCashKarp54Integrator\"];\n- \"RungeKuttaCashKarp54Integrator\" -> \"Integrator\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlobalStiffnessTimeStepper\"];\n+ \"GlobalStiffnessTimeStepper\" -> \"TimeStepper\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Law2_ScGeom_CapillaryPhys_Capillarity\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_CapillaryPhys_Capillarity\"];\n \"Law2_ScGeom_CapillaryPhys_Capillarity\" -> \"GlobalEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"BoundaryController\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphboundarycontroller\"];\n- \"BoundaryController\" -> \"GlobalEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"PeriodicEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphperiodicengine\"];\n- \"PeriodicEngine\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n+ \"Integrator\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Integrator\"];\n+ \"Integrator\" -> \"TimeStepper\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"CircularFactory\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CircularFactory\"];\n- \"CircularFactory\" -> \"SpheresFactory\"\n+ \"FEInternalForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FEInternalForceEngine\"];\n+ \"FEInternalForceEngine\" -> \"GlobalEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"BoxFactory\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BoxFactory\"];\n \"BoxFactory\" -> \"SpheresFactory\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n+ \"HydrodynamicsLawLBM\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HydrodynamicsLawLBM\"];\n+ \"HydrodynamicsLawLBM\" -> \"GlobalEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"TetraVolumetricLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TetraVolumetricLaw\"];\n \"TetraVolumetricLaw\" -> \"GlobalEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"FoamCoupling\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FoamCoupling\"];\n- \"FoamCoupling\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n+ \"TimeStepper\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TimeStepper\"];\n+ \"TimeStepper\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"Integrator\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Integrator\"];\n- \"Integrator\" -> \"TimeStepper\" [arrowsize=0.5,style=\"setlinewidth\n+ \"InteractionLoop\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InteractionLoop\"];\n+ \"InteractionLoop\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n \"FieldApplier\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphfieldapplier\"];\n \"FieldApplier\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n+ \"BoundaryController\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphboundarycontroller\"];\n+ \"BoundaryController\" -> \"GlobalEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"NewtonIntegrator\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.NewtonIntegrator\"];\n+ \"NewtonIntegrator\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"FacetTopologyAnalyzer\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FacetTopologyAnalyzer\"];\n+ \"FacetTopologyAnalyzer\" -> \"GlobalEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"FoamCoupling\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FoamCoupling\"];\n+ \"FoamCoupling\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"CohesiveFrictionalContactLaw\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CohesiveFrictionalContactLaw\"];\n+ \"CohesiveFrictionalContactLaw\" -> \"GlobalEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"ForceResetter\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ForceResetter\"];\n+ \"ForceResetter\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"ElasticContactLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ElasticContactLaw\"];\n+ \"ElasticContactLaw\" -> \"GlobalEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"RungeKuttaCashKarp54Integrator\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RungeKuttaCashKarp54Integrator\"];\n+ \"RungeKuttaCashKarp54Integrator\" -> \"Integrator\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Collider\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphcollider\"];\n+ \"Collider\" -> \"GlobalEngine\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n }]\n Inheritance graph of GlobalEngine, gray dashed classes are discussed in their\n-own sections: _\bC_\bo_\bl_\bl_\bi_\bd_\be_\br, _\bB_\bo_\bu_\bn_\bd_\ba_\br_\by_\bC_\bo_\bn_\bt_\br_\bo_\bl_\bl_\be_\br, _\bP_\be_\br_\bi_\bo_\bd_\bi_\bc_\bE_\bn_\bg_\bi_\bn_\be, _\bF_\bi_\be_\bl_\bd_\bA_\bp_\bp_\bl_\bi_\be_\br._\b\u00b6\n+own sections: _\bP_\be_\br_\bi_\bo_\bd_\bi_\bc_\bE_\bn_\bg_\bi_\bn_\be, _\bF_\bi_\be_\bl_\bd_\bA_\bp_\bp_\bl_\bi_\be_\br, _\bB_\bo_\bu_\bn_\bd_\ba_\br_\by_\bC_\bo_\bn_\bt_\br_\bo_\bl_\bl_\be_\br, _\bC_\bo_\bl_\bl_\bi_\bd_\be_\br._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.GlobalEngine(i\bin\bnh\bhe\ber\bri\bit\bts\bs E\bEn\bng\bgi\bin\bne\be ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Engine that will generally affect the whole simulation (contrary to\n _\bP_\ba_\br_\bt_\bi_\ba_\bl_\bE_\bn_\bg_\bi_\bn_\be).\n p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n If true, this engine will not run at all; can be used for making an\n engine temporarily deactivated and only resurrect it at a later\n point.\n@@ -6337,75 +6337,75 @@\n Update object attributes from given dictionary\n *\b**\b**\b**\b* P\bPe\ber\bri\bio\bod\bdi\bic\bcE\bEn\bng\bgi\bin\bne\be_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph PeriodicEngine {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"PeriodicEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PeriodicEngine\"];\n- \"CpmStateUpdater\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CpmStateUpdater\"];\n- \"CpmStateUpdater\" -> \"PeriodicEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"TorqueRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TorqueRecorder\"];\n- \"TorqueRecorder\" -> \"Recorder\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"VTKRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.VTKRecorder\"];\n- \"VTKRecorder\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"MeasureCapStress\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MeasureCapStress\"];\n- \"MeasureCapStress\" -> \"PeriodicEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"DomainLimiter\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DomainLimiter\"];\n- \"DomainLimiter\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n \"PotentialParticleVTKRecorder\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PotentialParticleVTKRecorder\"];\n \"PotentialParticleVTKRecorder\" -> \"PeriodicEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"SnapshotEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SnapshotEngine\"];\n+ \"SnapshotEngine\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"PyRunner\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PyRunner\"];\n+ \"PyRunner\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"LubricationPDFEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LubricationPDFEngine\"];\n+ \"LubricationPDFEngine\" -> \"PDFEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"PDFEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PDFEngine\"];\n \"PDFEngine\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n \"Recorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Recorder\"];\n \"Recorder\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n+ \"TorqueRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TorqueRecorder\"];\n+ \"TorqueRecorder\" -> \"Recorder\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"ResetRandomPosition\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ResetRandomPosition\"];\n+ \"ResetRandomPosition\" -> \"PeriodicEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"ForceRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ForceRecorder\"];\n+ \"ForceRecorder\" -> \"Recorder\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"VTKRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.VTKRecorder\"];\n+ \"VTKRecorder\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"CapillaryStressRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CapillaryStressRecorder\"];\n \"CapillaryStressRecorder\" -> \"Recorder\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"TriaxialStateRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TriaxialStateRecorder\"];\n \"TriaxialStateRecorder\" -> \"Recorder\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"SnapshotEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SnapshotEngine\"];\n- \"SnapshotEngine\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"ForceRecorder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ForceRecorder\"];\n- \"ForceRecorder\" -> \"Recorder\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"ResetRandomPosition\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ResetRandomPosition\"];\n- \"ResetRandomPosition\" -> \"PeriodicEngine\"\n+ \"CpmStateUpdater\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CpmStateUpdater\"];\n+ \"CpmStateUpdater\" -> \"PeriodicEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"PyRunner\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PyRunner\"];\n- \"PyRunner\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"LubricationPDFEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LubricationPDFEngine\"];\n- \"LubricationPDFEngine\" -> \"PDFEngine\"\n+ \"MeasureCapStress\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.MeasureCapStress\"];\n+ \"MeasureCapStress\" -> \"PeriodicEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"DomainLimiter\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DomainLimiter\"];\n+ \"DomainLimiter\" -> \"PeriodicEngine\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n }]\n Inheritance graph of PeriodicEngine._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.PeriodicEngine(i\bin\bnh\bhe\ber\bri\bit\bts\bs G\bGl\blo\bob\bba\bal\blE\bEn\bng\bgi\bin\bne\be ?\b\u2192 E\bEn\bng\bgi\bin\bne\be ?\b\u2192\n S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Run Engine::action with given fixed periodicity real time (=wall clock\n time, computation time), virtual time (simulation time), iteration\n number), by setting any of those criteria (virtPeriod, realPeriod,\n@@ -7758,70 +7758,70 @@\n if <= 0)\n *\b**\b**\b**\b* B\bBo\bou\bun\bnd\bda\bar\bry\byC\bCo\bon\bnt\btr\bro\bol\bll\ble\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph BoundaryController {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"BoundaryController\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BoundaryController\"];\n- \"Disp2DPropLoadEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Disp2DPropLoadEngine\"];\n- \"Disp2DPropLoadEngine\" -> \"BoundaryController\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"KinemCTDEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemCTDEngine\"];\n- \"KinemCTDEngine\" -> \"KinemSimpleShearBox\"\n+ \"TriaxialCompressionEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TriaxialCompressionEngine\"];\n+ \"TriaxialCompressionEngine\" -> \"TriaxialStressController\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"KinemCNLEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemCNLEngine\"];\n \"KinemCNLEngine\" -> \"KinemSimpleShearBox\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"KinemCNSEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemCNSEngine\"];\n- \"KinemCNSEngine\" -> \"KinemSimpleShearBox\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Peri3dController\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Peri3dController\"];\n- \"Peri3dController\" -> \"BoundaryController\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"VESupportEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.VESupportEngine\"];\n \"VESupportEngine\" -> \"BoundaryController\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"TriaxialCompressionEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TriaxialCompressionEngine\"];\n- \"TriaxialCompressionEngine\" -> \"TriaxialStressController\"\n+ \"KinemCTDEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemCTDEngine\"];\n+ \"KinemCTDEngine\" -> \"KinemSimpleShearBox\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"PeriIsoCompressor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PeriIsoCompressor\"];\n+ \"PeriIsoCompressor\" -> \"BoundaryController\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"KinemCNDEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemCNDEngine\"];\n \"KinemCNDEngine\" -> \"KinemSimpleShearBox\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"KinemSimpleShearBox\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemSimpleShearBox\"];\n- \"KinemSimpleShearBox\" -> \"BoundaryController\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"PeriTriaxController\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PeriTriaxController\"];\n- \"PeriTriaxController\" -> \"BoundaryController\"\n+ \"Disp2DPropLoadEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Disp2DPropLoadEngine\"];\n+ \"Disp2DPropLoadEngine\" -> \"BoundaryController\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"TriaxialStressController\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TriaxialStressController\"];\n \"TriaxialStressController\" -> \"BoundaryController\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"PeriIsoCompressor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PeriIsoCompressor\"];\n- \"PeriIsoCompressor\" -> \"BoundaryController\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"ThreeDTriaxialEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ThreeDTriaxialEngine\"];\n \"ThreeDTriaxialEngine\" -> \"TriaxialStressController\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Peri3dController\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Peri3dController\"];\n+ \"Peri3dController\" -> \"BoundaryController\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"KinemCNSEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemCNSEngine\"];\n+ \"KinemCNSEngine\" -> \"KinemSimpleShearBox\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"UniaxialStrainer\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.UniaxialStrainer\"];\n \"UniaxialStrainer\" -> \"BoundaryController\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"KinemSimpleShearBox\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinemSimpleShearBox\"];\n+ \"KinemSimpleShearBox\" -> \"BoundaryController\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"PeriTriaxController\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PeriTriaxController\"];\n+ \"PeriTriaxController\" -> \"BoundaryController\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n }]\n Inheritance graph of BoundaryController._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.BoundaryController(i\bin\bnh\bhe\ber\bri\bit\bts\bs G\bGl\blo\bob\bba\bal\blE\bEn\bng\bgi\bin\bne\be ?\b\u2192 E\bEn\bng\bgi\bin\bne\be ?\b\u2192\n S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Base for engines controlling boundary conditions of simulations. Not to\n be used directly.\n p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n@@ -9567,27 +9567,27 @@\n Update object attributes from given dictionary\n *\b**\b**\b**\b* C\bCo\bol\bll\bli\bid\bde\ber\br_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph Collider {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"Collider\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Collider\"];\n+ \"InsertionSortCollider\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InsertionSortCollider\"];\n+ \"InsertionSortCollider\" -> \"Collider\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"GeneralIntegratorInsertionSortCollider\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GeneralIntegratorInsertionSortCollider\"];\n \"GeneralIntegratorInsertionSortCollider\" -> \"InsertionSortCollider\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"SpatialQuickSortCollider\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SpatialQuickSortCollider\"];\n \"SpatialQuickSortCollider\" -> \"Collider\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"InsertionSortCollider\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InsertionSortCollider\"];\n- \"InsertionSortCollider\" -> \"Collider\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"FlatGridCollider\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FlatGridCollider\"];\n \"FlatGridCollider\" -> \"Collider\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n }]\n Inheritance graph of Collider._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.Collider(i\bin\bnh\bhe\ber\bri\bit\bts\bs G\bGl\blo\bob\bba\bal\blE\bEn\bng\bgi\bin\bne\be ?\b\u2192 E\bEn\bng\bgi\bin\bne\be ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n@@ -10038,26 +10038,26 @@\n \"FieldApplier\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FieldApplier\"];\n \"CentralConstantAccelerationEngine\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CentralConstantAccelerationEngine\"];\n \"CentralConstantAccelerationEngine\" -> \"FieldApplier\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"AxialGravityEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.AxialGravityEngine\"];\n- \"AxialGravityEngine\" -> \"FieldApplier\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"HdapsGravityEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HdapsGravityEngine\"];\n- \"HdapsGravityEngine\" -> \"GravityEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"GravityEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GravityEngine\"];\n \"GravityEngine\" -> \"FieldApplier\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n+ \"HdapsGravityEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HdapsGravityEngine\"];\n+ \"HdapsGravityEngine\" -> \"GravityEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"AxialGravityEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.AxialGravityEngine\"];\n+ \"AxialGravityEngine\" -> \"FieldApplier\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n }]\n Inheritance graph of FieldApplier._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.FieldApplier(i\bin\bnh\bhe\ber\bri\bit\bts\bs G\bGl\blo\bob\bba\bal\blE\bEn\bng\bgi\bin\bne\be ?\b\u2192 E\bEn\bng\bgi\bin\bne\be ?\b\u2192\n S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Base for engines applying force files on particles. Not to be used\n directly.\n p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n@@ -10273,95 +10273,95 @@\n Gravity if the accelerometer is in flat (zero) position.\n *\b**\b**\b**\b**\b* P\bPa\bar\brt\bti\bia\bal\bl e\ben\bng\bgi\bin\bne\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n [digraph PartialEngine {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"PartialEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PartialEngine\"];\n- \"ForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ForceEngine\"];\n- \"ForceEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"DragEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DragEngine\"];\n- \"DragEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth\n+ \"TorqueEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TorqueEngine\"];\n+ \"TorqueEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"InterpolatingHelixEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InterpolatingHelixEngine\"];\n- \"InterpolatingHelixEngine\" -> \"HelixEngine\"\n+ \"RadialForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RadialForceEngine\"];\n+ \"RadialForceEngine\" -> \"PartialEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"ServoPIDController\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ServoPIDController\"];\n+ \"ServoPIDController\" -> \"TranslationEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"HelixEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HelixEngine\"];\n \"HelixEngine\" -> \"RotationEngine\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"HarmonicMotionEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HarmonicMotionEngine\"];\n- \"HarmonicMotionEngine\" -> \"KinematicEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"HarmonicRotationEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HarmonicRotationEngine\"];\n- \"HarmonicRotationEngine\" -> \"RotationEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"RadialForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RadialForceEngine\"];\n- \"RadialForceEngine\" -> \"PartialEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"TorqueEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TorqueEngine\"];\n- \"TorqueEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth\n+ \"DragEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.DragEngine\"];\n+ \"DragEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n \"BicyclePedalEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BicyclePedalEngine\"];\n \"BicyclePedalEngine\" -> \"KinematicEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"HydroForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HydroForceEngine\"];\n+ \"HydroForceEngine\" -> \"PartialEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"KinematicEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.KinematicEngine\"];\n \"KinematicEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n+ \"InterpolatingDirectedForceEngine\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InterpolatingDirectedForceEngine\"];\n+ \"InterpolatingDirectedForceEngine\" -> \"ForceEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"CombinedKinematicEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CombinedKinematicEngine\"];\n+ \"CombinedKinematicEngine\" -> \"PartialEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"HarmonicMotionEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HarmonicMotionEngine\"];\n+ \"HarmonicMotionEngine\" -> \"KinematicEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"ForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ForceEngine\"];\n+ \"ForceEngine\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"LawTester\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LawTester\"];\n \"LawTester\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"TranslationEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TranslationEngine\"];\n- \"TranslationEngine\" -> \"KinematicEngine\"\n+ \"StepDisplacer\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.StepDisplacer\"];\n+ \"StepDisplacer\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"RotationEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RotationEngine\"];\n+ \"RotationEngine\" -> \"KinematicEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"LinearDragEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LinearDragEngine\"];\n \"LinearDragEngine\" -> \"PartialEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"ServoPIDController\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.ServoPIDController\"];\n- \"ServoPIDController\" -> \"TranslationEngine\"\n+ \"InterpolatingHelixEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InterpolatingHelixEngine\"];\n+ \"InterpolatingHelixEngine\" -> \"HelixEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"StepDisplacer\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.StepDisplacer\"];\n- \"StepDisplacer\" -> \"PartialEngine\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"HydroForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HydroForceEngine\"];\n- \"HydroForceEngine\" -> \"PartialEngine\"\n+ \"HarmonicRotationEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HarmonicRotationEngine\"];\n+ \"HarmonicRotationEngine\" -> \"RotationEngine\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"TranslationEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TranslationEngine\"];\n+ \"TranslationEngine\" -> \"KinematicEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"HarmonicForceEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.HarmonicForceEngine\"];\n \"HarmonicForceEngine\" -> \"PartialEngine\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"CombinedKinematicEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.CombinedKinematicEngine\"];\n- \"CombinedKinematicEngine\" -> \"PartialEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"InterpolatingDirectedForceEngine\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InterpolatingDirectedForceEngine\"];\n- \"InterpolatingDirectedForceEngine\" -> \"ForceEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"RotationEngine\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.RotationEngine\"];\n- \"RotationEngine\" -> \"KinematicEngine\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n }]\n Inheritance graph of PartialEngine._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.PartialEngine(i\bin\bnh\bhe\ber\bri\bit\bts\bs E\bEn\bng\bgi\bin\bne\be ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Engine affecting only particular bodies in the simulation, namely those\n defined in _\bi_\bd_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be. See also _\bG_\bl_\bo_\bb_\ba_\bl_\bE_\bn_\bg_\bi_\bn_\be.\n p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n If true, this engine will not run at all; can be used for making an\n@@ -11759,58 +11759,58 @@\n is _\bv_\be_\bl_\bo_\bc_\bi_\bt_\by * _\ba_\bx_\bi_\bs\n *\b**\b**\b**\b**\b* D\bDi\bis\bsp\bpa\bat\btc\bch\bhe\ber\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n [digraph Dispatcher {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"Dispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Dispatcher\"];\n- \"IGeomDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IGeomDispatcher\"];\n- \"IGeomDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"InternalForceDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InternalForceDispatcher\"];\n- \"InternalForceDispatcher\" -> \"Dispatcher\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"LawDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LawDispatcher\"];\n- \"LawDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"GlShapeDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlShapeDispatcher\"];\n- \"GlShapeDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n \"GlIGeomDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlIGeomDispatcher\"];\n \"GlIGeomDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"GlStateDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlStateDispatcher\"];\n- \"GlStateDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n+ \"GlShapeDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlShapeDispatcher\"];\n+ \"GlShapeDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n \"GlIPhysDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlIPhysDispatcher\"];\n \"GlIPhysDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n+ \"IPhysDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IPhysDispatcher\"];\n+ \"IPhysDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"GlBoundDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlBoundDispatcher\"];\n \"GlBoundDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"IPhysDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IPhysDispatcher\"];\n- \"IPhysDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n+ \"InternalForceDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InternalForceDispatcher\"];\n+ \"InternalForceDispatcher\" -> \"Dispatcher\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"GlStateDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlStateDispatcher\"];\n+ \"GlStateDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"IGeomDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IGeomDispatcher\"];\n+ \"IGeomDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"LawDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LawDispatcher\"];\n+ \"LawDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n \"BoundDispatcher\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BoundDispatcher\"];\n \"BoundDispatcher\" -> \"Dispatcher\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n }]\n Inheritance graph of Dispatcher, gray dashed classes are discussed in their own\n-sections: _\bI_\bG_\be_\bo_\bm_\bD_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br, _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl_\bF_\bo_\br_\bc_\be_\bD_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br, _\bL_\ba_\bw_\bD_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br,\n-_\bI_\bP_\bh_\by_\bs_\bD_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br, _\bB_\bo_\bu_\bn_\bd_\bD_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br._\b\u00b6\n+sections: _\bI_\bP_\bh_\by_\bs_\bD_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br, _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl_\bF_\bo_\br_\bc_\be_\bD_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br, _\bI_\bG_\be_\bo_\bm_\bD_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br,\n+_\bL_\ba_\bw_\bD_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br, _\bB_\bo_\bu_\bn_\bd_\bD_\bi_\bs_\bp_\ba_\bt_\bc_\bh_\be_\br._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.Dispatcher(i\bin\bnh\bhe\ber\bri\bit\bts\bs E\bEn\bng\bgi\bin\bne\be ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Engine dispatching control to its associated functors, based on types of\n argument it receives. This abstract base class provides no functionality\n in itself.\n p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n If true, this engine will not run at all; can be used for making an\n engine temporarily deactivated and only resurrect it at a later\n@@ -12037,55 +12037,55 @@\n Update object attributes from given dictionary\n *\b**\b**\b**\b**\b* F\bFu\bun\bnc\bct\bto\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n [digraph Functor {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"Functor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Functor\"];\n- \"IPhysFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphiphysfunctor\"];\n- \"IPhysFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"IGeomFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphigeomfunctor\"];\n- \"IGeomFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"GlIPhysFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphgliphysfunctor\"];\n- \"GlIPhysFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n \"GlIGeomFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphgligeomfunctor\"];\n \"GlIGeomFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n \"InternalForceFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphinternalforcefunctor\"];\n \"InternalForceFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"BoundFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphboundfunctor\"];\n- \"BoundFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"IGeomFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphigeomfunctor\"];\n+ \"IGeomFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"GlBoundFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphglboundfunctor\"];\n+ \"GlBoundFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"IPhysFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphiphysfunctor\"];\n+ \"IPhysFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"GlStateFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlStateFunctor\"];\n \"GlStateFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"GlBoundFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphglboundfunctor\"];\n- \"GlBoundFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth\n+ \"LawFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphlawfunctor\"];\n+ \"LawFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"BoundFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphboundfunctor\"];\n+ \"BoundFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"GlIPhysFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphgliphysfunctor\"];\n+ \"GlIPhysFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n \"GlShapeFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphglshapefunctor\"];\n \"GlShapeFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"LawFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),filled,dashed\",fillcolor=grey,height=0.2,URL=\"yade.wrapper.html#inheritancegraphlawfunctor\"];\n- \"LawFunctor\" -> \"Functor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n }]\n Inheritance graph of Functor, gray dashed classes are discussed in their own\n-sections: _\bI_\bP_\bh_\by_\bs_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bI_\bG_\be_\bo_\bm_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bG_\bl_\bI_\bP_\bh_\by_\bs_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bG_\bl_\bI_\bG_\be_\bo_\bm_\bF_\bu_\bn_\bc_\bt_\bo_\br,\n-_\bI_\bn_\bt_\be_\br_\bn_\ba_\bl_\bF_\bo_\br_\bc_\be_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bB_\bo_\bu_\bn_\bd_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bG_\bl_\bS_\bt_\ba_\bt_\be_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bG_\bl_\bB_\bo_\bu_\bn_\bd_\bF_\bu_\bn_\bc_\bt_\bo_\br,\n-_\bG_\bl_\bS_\bh_\ba_\bp_\be_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bL_\ba_\bw_\bF_\bu_\bn_\bc_\bt_\bo_\br._\b\u00b6\n+sections: _\bG_\bl_\bI_\bG_\be_\bo_\bm_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl_\bF_\bo_\br_\bc_\be_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bI_\bG_\be_\bo_\bm_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bG_\bl_\bB_\bo_\bu_\bn_\bd_\bF_\bu_\bn_\bc_\bt_\bo_\br,\n+_\bI_\bP_\bh_\by_\bs_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bG_\bl_\bS_\bt_\ba_\bt_\be_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bL_\ba_\bw_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bB_\bo_\bu_\bn_\bd_\bF_\bu_\bn_\bc_\bt_\bo_\br, _\bG_\bl_\bI_\bP_\bh_\by_\bs_\bF_\bu_\bn_\bc_\bt_\bo_\br,\n+_\bG_\bl_\bS_\bh_\ba_\bp_\be_\bF_\bu_\bn_\bc_\bt_\bo_\br._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.Functor(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Function-like object that is called by Dispatcher, if types of arguments\n match those the Functor declares to accept.\n p\bpr\bro\bop\bpe\ber\brt\bty\by bases_\b\u00b6\n Ordered list of types (as strings) this functor accepts.\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n@@ -12104,70 +12104,70 @@\n margin=\"0.2,0.05\";\n \"BoundFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.BoundFunctor\"];\n \"Bo1_Box_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Box_Aabb\"];\n \"Bo1_Box_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"Bo1_GridConnection_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_GridConnection_Aabb\"];\n- \"Bo1_GridConnection_Aabb\" -> \"BoundFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Bo1_Wall_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Wall_Aabb\"];\n- \"Bo1_Wall_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"Bo1_LevelSet_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_LevelSet_Aabb\"];\n- \"Bo1_LevelSet_Aabb\" -> \"BoundFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Bo1_PFacet_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_PFacet_Aabb\"];\n- \"Bo1_PFacet_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"Bo1_FluidDomainBbox_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_FluidDomainBbox_Aabb\"];\n- \"Bo1_FluidDomainBbox_Aabb\" -> \"BoundFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Bo1_Node_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Node_Aabb\"];\n \"Bo1_Node_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n \"PotentialParticle2AABB\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.PotentialParticle2AABB\"];\n \"PotentialParticle2AABB\" -> \"BoundFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Bo1_Facet_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Facet_Aabb\"];\n- \"Bo1_Facet_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth\n+ \"Bo1_Cylinder_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Cylinder_Aabb\"];\n+ \"Bo1_Cylinder_Aabb\" -> \"BoundFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Bo1_PFacet_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_PFacet_Aabb\"];\n+ \"Bo1_PFacet_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n \"Bo1_Subdomain_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Subdomain_Aabb\"];\n \"Bo1_Subdomain_Aabb\" -> \"BoundFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Bo1_DeformableElement_Aabb\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_DeformableElement_Aabb\"];\n- \"Bo1_DeformableElement_Aabb\" -> \"BoundFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Bo1_ChainedCylinder_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_ChainedCylinder_Aabb\"];\n- \"Bo1_ChainedCylinder_Aabb\" -> \"BoundFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Bo1_Tetra_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Tetra_Aabb\"];\n \"Bo1_Tetra_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n+ \"Bo1_Facet_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Facet_Aabb\"];\n+ \"Bo1_Facet_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"Bo1_Sphere_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Sphere_Aabb\"];\n \"Bo1_Sphere_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"Bo1_Cylinder_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Cylinder_Aabb\"];\n- \"Bo1_Cylinder_Aabb\" -> \"BoundFunctor\"\n+ \"Bo1_Wall_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_Wall_Aabb\"];\n+ \"Bo1_Wall_Aabb\" -> \"BoundFunctor\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"Bo1_ChainedCylinder_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_ChainedCylinder_Aabb\"];\n+ \"Bo1_ChainedCylinder_Aabb\" -> \"BoundFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Bo1_DeformableElement_Aabb\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_DeformableElement_Aabb\"];\n+ \"Bo1_DeformableElement_Aabb\" -> \"BoundFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Bo1_FluidDomainBbox_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_FluidDomainBbox_Aabb\"];\n+ \"Bo1_FluidDomainBbox_Aabb\" -> \"BoundFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Bo1_GridConnection_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_GridConnection_Aabb\"];\n+ \"Bo1_GridConnection_Aabb\" -> \"BoundFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Bo1_LevelSet_Aabb\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Bo1_LevelSet_Aabb\"];\n+ \"Bo1_LevelSet_Aabb\" -> \"BoundFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n }]\n Inheritance graph of BoundFunctor._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.BoundFunctor(i\bin\bnh\bhe\ber\bri\bit\bts\bs F\bFu\bun\bnc\bct\bto\bor\br ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Functor for creating/updating _\bB_\bo_\bd_\by_\b:_\b:_\bb_\bo_\bu_\bn_\bd.\n p\bpr\bro\bop\bpe\ber\brt\bty\by bases_\b\u00b6\n Ordered list of types (as strings) this functor accepts.\n@@ -12507,131 +12507,131 @@\n *\b**\b**\b**\b**\b* I\bIn\bnt\bte\ber\bra\bac\bct\bti\bio\bon\bn G\bGe\beo\bom\bme\bet\btr\bry\by c\bcr\bre\bea\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* I\bIG\bGe\beo\bom\bmF\bFu\bun\bnc\bct\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph IGeomFunctor {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"IGeomFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IGeomFunctor\"];\n- \"Ig2_LevelSet_LevelSet_ScGeom\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_LevelSet_LevelSet_ScGeom\"];\n- \"Ig2_LevelSet_LevelSet_ScGeom\" -> \"IGeomFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_Sphere_Sphere_L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_L3Geom\"];\n- \"Ig2_Sphere_Sphere_L3Geom\" -> \"IGeomFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_Box_Sphere_ScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Box_Sphere_ScGeom6D\"];\n- \"Ig2_Box_Sphere_ScGeom6D\" -> \"Ig2_Box_Sphere_ScGeom\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Ig2_Sphere_PFacet_ScGridCoGeom\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_PFacet_ScGridCoGeom\"];\n \"Ig2_Sphere_PFacet_ScGridCoGeom\" -\n > \"Ig2_Sphere_GridConnection_ScGridCoGeom\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"Ig2_Wall_PFacet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_PFacet_ScGeom\"];\n- \"Ig2_Wall_PFacet_ScGeom\" -> \"Ig2_Wall_Sphere_ScGeom\"\n+ \"Ig2_GridConnection_GridConnection_GridCoGridCoGeom\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_GridConnection_GridConnection_GridCoGridCoGeom\"];\n+ \"Ig2_GridConnection_GridConnection_GridCoGridCoGeom\" -> \"IGeomFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_PFacet_PFacet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_PFacet_PFacet_ScGeom\"];\n- \"Ig2_PFacet_PFacet_ScGeom\" -> \"Ig2_Sphere_PFacet_ScGridCoGeom\"\n+ \"Ig2_Box_LevelSet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Box_LevelSet_ScGeom\"];\n+ \"Ig2_Box_LevelSet_ScGeom\" -> \"IGeomFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_Tetra_Tetra_TTetraGeom\"\n+ \"Ig2_GridNode_GridNode_GridNodeGeom6D\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Tetra_Tetra_TTetraGeom\"];\n- \"Ig2_Tetra_Tetra_TTetraGeom\" -> \"IGeomFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_Wall_LevelSet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_LevelSet_ScGeom\"];\n- \"Ig2_Wall_LevelSet_ScGeom\" -> \"IGeomFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_GridNode_GridNode_GridNodeGeom6D\"];\n+ \"Ig2_GridNode_GridNode_GridNodeGeom6D\" -> \"Ig2_Sphere_Sphere_ScGeom\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Ig2_Sphere_Sphere_ScGeom6D\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_ScGeom6D\"];\n \"Ig2_Sphere_Sphere_ScGeom6D\" -> \"Ig2_Sphere_Sphere_ScGeom\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_Sphere_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_ScGeom\"];\n- \"Ig2_Sphere_Sphere_ScGeom\" -> \"IGeomFunctor\"\n+ \"Ig2_Facet_Sphere_L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_L3Geom\"];\n+ \"Ig2_Facet_Sphere_L3Geom\" -> \"Ig2_Sphere_Sphere_L3Geom\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_Wall_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_Sphere_ScGeom\"];\n- \"Ig2_Wall_Sphere_ScGeom\" -> \"IGeomFunctor\"\n+ \"Ig2_Facet_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_ScGeom\"];\n+ \"Ig2_Facet_Sphere_ScGeom\" -> \"IGeomFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_GridConnection_PFacet_ScGeom\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_GridConnection_PFacet_ScGeom\"];\n- \"Ig2_GridConnection_PFacet_ScGeom\" -\n-> \"Ig2_Sphere_GridConnection_ScGridCoGeom\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D\"\n+ \"Ig2_Tetra_Tetra_TTetraGeom\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D\"];\n- \"Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D\" -> \"IGeomFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_Box_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Box_Sphere_ScGeom\"];\n- \"Ig2_Box_Sphere_ScGeom\" -> \"IGeomFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Tetra_Tetra_TTetraGeom\"];\n+ \"Ig2_Tetra_Tetra_TTetraGeom\" -> \"IGeomFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Ig2_Sphere_ChainedCylinder_CylScGeom\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_ChainedCylinder_CylScGeom\"];\n \"Ig2_Sphere_ChainedCylinder_CylScGeom\" -> \"IGeomFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_Facet_Sphere_ScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_ScGeom6D\"];\n- \"Ig2_Facet_Sphere_ScGeom6D\" -> \"Ig2_Facet_Sphere_ScGeom\"\n+ \"Ig2_Sphere_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_ScGeom\"];\n+ \"Ig2_Sphere_Sphere_ScGeom\" -> \"IGeomFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Ig2_Wall_LevelSet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_LevelSet_ScGeom\"];\n+ \"Ig2_Wall_LevelSet_ScGeom\" -> \"IGeomFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Ig2_Wall_Sphere_L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_Sphere_L3Geom\"];\n+ \"Ig2_Wall_Sphere_L3Geom\" -> \"Ig2_Sphere_Sphere_L3Geom\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Ig2_Sphere_ChainedCylinder_CylScGeom6D\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_ChainedCylinder_CylScGeom6D\"];\n+ \"Ig2_Sphere_ChainedCylinder_CylScGeom6D\" -\n+> \"Ig2_Sphere_ChainedCylinder_CylScGeom\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"Ig2_Sphere_GridConnection_ScGridCoGeom\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_GridConnection_ScGridCoGeom\"];\n \"Ig2_Sphere_GridConnection_ScGridCoGeom\" -> \"IGeomFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_GridNode_GridNode_GridNodeGeom6D\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_GridNode_GridNode_GridNodeGeom6D\"];\n- \"Ig2_GridNode_GridNode_GridNodeGeom6D\" -> \"Ig2_Sphere_Sphere_ScGeom\"\n+ \"Ig2_PFacet_PFacet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_PFacet_PFacet_ScGeom\"];\n+ \"Ig2_PFacet_PFacet_ScGeom\" -> \"Ig2_Sphere_PFacet_ScGridCoGeom\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_Box_LevelSet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Box_LevelSet_ScGeom\"];\n- \"Ig2_Box_LevelSet_ScGeom\" -> \"IGeomFunctor\"\n+ \"Ig2_Box_Sphere_ScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Box_Sphere_ScGeom6D\"];\n+ \"Ig2_Box_Sphere_ScGeom6D\" -> \"Ig2_Box_Sphere_ScGeom\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_Facet_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_ScGeom\"];\n- \"Ig2_Facet_Sphere_ScGeom\" -> \"IGeomFunctor\"\n+ \"Ig2_Facet_Sphere_ScGeom6D\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_ScGeom6D\"];\n+ \"Ig2_Facet_Sphere_ScGeom6D\" -> \"Ig2_Facet_Sphere_ScGeom\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_PP_PP_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_PP_PP_ScGeom\"];\n- \"Ig2_PP_PP_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"Ig2_Wall_Sphere_L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_Sphere_L3Geom\"];\n- \"Ig2_Wall_Sphere_L3Geom\" -> \"Ig2_Sphere_Sphere_L3Geom\"\n+ \"Ig2_LevelSet_LevelSet_ScGeom\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_LevelSet_LevelSet_ScGeom\"];\n+ \"Ig2_LevelSet_LevelSet_ScGeom\" -> \"IGeomFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_Facet_Sphere_L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Facet_Sphere_L3Geom\"];\n- \"Ig2_Facet_Sphere_L3Geom\" -> \"Ig2_Sphere_Sphere_L3Geom\"\n+ \"Ig2_Wall_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_Sphere_ScGeom\"];\n+ \"Ig2_Wall_Sphere_ScGeom\" -> \"IGeomFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Ig2_Wall_PFacet_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Wall_PFacet_ScGeom\"];\n+ \"Ig2_Wall_PFacet_ScGeom\" -> \"Ig2_Wall_Sphere_ScGeom\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D\"];\n+ \"Ig2_ChainedCylinder_ChainedCylinder_ScGeom6D\" -> \"IGeomFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Ig2_Sphere_Sphere_L6Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_L6Geom\"];\n \"Ig2_Sphere_Sphere_L6Geom\" -> \"Ig2_Sphere_Sphere_L3Geom\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_GridConnection_GridConnection_GridCoGridCoGeom\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_GridConnection_GridConnection_GridCoGridCoGeom\"];\n- \"Ig2_GridConnection_GridConnection_GridCoGridCoGeom\" -> \"IGeomFunctor\"\n+ \"Ig2_Sphere_Sphere_L3Geom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_L3Geom\"];\n+ \"Ig2_Sphere_Sphere_L3Geom\" -> \"IGeomFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ig2_Sphere_ChainedCylinder_CylScGeom6D\"\n+ \"Ig2_Box_Sphere_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Box_Sphere_ScGeom\"];\n+ \"Ig2_Box_Sphere_ScGeom\" -> \"IGeomFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Ig2_PP_PP_ScGeom\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_PP_PP_ScGeom\"];\n+ \"Ig2_PP_PP_ScGeom\" -> \"IGeomFunctor\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"Ig2_GridConnection_PFacet_ScGeom\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_Sphere_ChainedCylinder_CylScGeom6D\"];\n- \"Ig2_Sphere_ChainedCylinder_CylScGeom6D\" -\n-> \"Ig2_Sphere_ChainedCylinder_CylScGeom\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ig2_GridConnection_PFacet_ScGeom\"];\n+ \"Ig2_GridConnection_PFacet_ScGeom\" -\n+> \"Ig2_Sphere_GridConnection_ScGridCoGeom\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n }]\n Inheritance graph of IGeomFunctor._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.IGeomFunctor(i\bin\bnh\bhe\ber\bri\bit\bts\bs F\bFu\bun\bnc\bct\bto\bor\br ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Functor for creating/updating _\bI_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bo_\bn_\b:_\b:_\bg_\be_\bo_\bm objects.\n p\bpr\bro\bop\bpe\ber\brt\bty\by bases_\b\u00b6\n Ordered list of types (as strings) this functor accepts.\n@@ -13606,133 +13606,133 @@\n *\b**\b**\b**\b**\b* I\bIn\bnt\bte\ber\bra\bac\bct\bti\bio\bon\bn P\bPh\bhy\bys\bsi\bic\bcs\bs c\bcr\bre\bea\bat\bti\bio\bon\bn_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* I\bIP\bPh\bhy\bys\bsF\bFu\bun\bnc\bct\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph IPhysFunctor {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"IPhysFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.IPhysFunctor\"];\n- \"Ip2_WireMat_WireMat_WirePhys\"\n+ \"Ip2_MortarMat_MortarMat_MortarPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_WireMat_WireMat_WirePhys\"];\n- \"Ip2_WireMat_WireMat_WirePhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_MortarMat_MortarMat_MortarPhys\"];\n+ \"Ip2_MortarMat_MortarMat_MortarPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_ElastMat_ElastMat_NormPhys\"\n+ \"Ip2_FrictMat_CpmMat_FrictPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ElastMat_ElastMat_NormPhys\"];\n- \"Ip2_ElastMat_ElastMat_NormPhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_CpmMat_FrictPhys\"];\n+ \"Ip2_FrictMat_CpmMat_FrictPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_FrictMat_FrictMat_CapillaryPhys\"\n+ \"Ip2_FrictMat_FrictViscoMat_FrictViscoPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_CapillaryPhys\"];\n- \"Ip2_FrictMat_FrictMat_CapillaryPhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictViscoMat_FrictViscoPhys\"];\n+ \"Ip2_FrictMat_FrictViscoMat_FrictViscoPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_FrictMat_FrictMat_ViscoFrictPhys\"\n+ \"Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_ViscoFrictPhys\"];\n- \"Ip2_FrictMat_FrictMat_ViscoFrictPhys\" -\n-> \"Ip2_FrictMat_FrictMat_FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys\"];\n+ \"Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys\" -> \"IPhysFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Ip2_JCFpmMat_JCFpmMat_JCFpmPhys\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_JCFpmMat_JCFpmMat_JCFpmPhys\"];\n+ \"Ip2_JCFpmMat_JCFpmMat_JCFpmPhys\" -> \"IPhysFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Ip2_ElastMat_ElastMat_NormPhys\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ElastMat_ElastMat_NormPhys\"];\n+ \"Ip2_ElastMat_ElastMat_NormPhys\" -> \"IPhysFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Ip2_FrictMat_FrictMatCDM_MindlinPhysCDM\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMatCDM_MindlinPhysCDM\"];\n \"Ip2_FrictMat_FrictMatCDM_MindlinPhysCDM\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_FrictMat_FrictMat_FrictPhys\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_FrictPhys\"];\n- \"Ip2_FrictMat_FrictMat_FrictPhys\" -> \"IPhysFunctor\"\n+ \"Ip2_CpmMat_CpmMat_CpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_CpmMat_CpmMat_CpmPhys\"];\n+ \"Ip2_CpmMat_CpmMat_CpmPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_FrictMat_FrictMat_MindlinCapillaryPhys\"\n+ \"Ip2_FrictMat_FrictMat_KnKsPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinCapillaryPhys\"];\n- \"Ip2_FrictMat_FrictMat_MindlinCapillaryPhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_KnKsPhys\"];\n+ \"Ip2_FrictMat_FrictMat_KnKsPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Ip2_ViscElCapMat_ViscElCapMat_ViscElCapPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ViscElCapMat_ViscElCapMat_ViscElCapPhys\"];\n \"Ip2_ViscElCapMat_ViscElCapMat_ViscElCapPhys\" -\n > \"Ip2_ViscElMat_ViscElMat_ViscElPhys\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"Ip2_JCFpmMat_JCFpmMat_JCFpmPhys\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_JCFpmMat_JCFpmMat_JCFpmPhys\"];\n- \"Ip2_JCFpmMat_JCFpmMat_JCFpmPhys\" -> \"IPhysFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_FrictMat_FrictMat_KnKsPhys\"\n+ \"Ip2_WireMat_WireMat_WirePhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_KnKsPhys\"];\n- \"Ip2_FrictMat_FrictMat_KnKsPhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_WireMat_WireMat_WirePhys\"];\n+ \"Ip2_WireMat_WireMat_WirePhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_CohFrictMat_CohFrictMat_CohFrictPhys\"\n+ \"Ip2_ElastMat_ElastMat_NormShearPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_CohFrictMat_CohFrictMat_CohFrictPhys\"];\n- \"Ip2_CohFrictMat_CohFrictMat_CohFrictPhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ElastMat_ElastMat_NormShearPhys\"];\n+ \"Ip2_ElastMat_ElastMat_NormShearPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Ip2_FrictMat_FrictMat_LubricationPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_LubricationPhys\"];\n \"Ip2_FrictMat_FrictMat_LubricationPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_LudingMat_LudingMat_LudingPhys\"\n+ \"Ip2_ViscElMat_ViscElMat_ViscElPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_LudingMat_LudingMat_LudingPhys\"];\n- \"Ip2_LudingMat_LudingMat_LudingPhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ViscElMat_ViscElMat_ViscElPhys\"];\n+ \"Ip2_ViscElMat_ViscElMat_ViscElPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_FrictMat_CpmMat_FrictPhys\"\n+ \"Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_CpmMat_FrictPhys\"];\n- \"Ip2_FrictMat_CpmMat_FrictPhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM\"];\n+ \"Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys\"\n+ \"Ip2_CohFrictMat_CohFrictMat_CohFrictPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys\"];\n- \"Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_CohFrictMat_CohFrictMat_CohFrictPhys\"];\n+ \"Ip2_CohFrictMat_CohFrictMat_CohFrictPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_CpmMat_CpmMat_CpmPhys\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_CpmMat_CpmMat_CpmPhys\"];\n- \"Ip2_CpmMat_CpmMat_CpmPhys\" -> \"IPhysFunctor\"\n+ \"Ip2_FrictMat_FrictMat_FrictPhys\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_FrictPhys\"];\n+ \"Ip2_FrictMat_FrictMat_FrictPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_FrictMat_FrictViscoMat_FrictViscoPhys\"\n+ \"Ip2_BubbleMat_BubbleMat_BubblePhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictViscoMat_FrictViscoPhys\"];\n- \"Ip2_FrictMat_FrictViscoMat_FrictViscoPhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_BubbleMat_BubbleMat_BubblePhys\"];\n+ \"Ip2_BubbleMat_BubbleMat_BubblePhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_FrictMat_FrictMat_MindlinPhys\"\n+ \"Ip2_FrictMat_FrictMat_CapillaryPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinPhys\"];\n- \"Ip2_FrictMat_FrictMat_MindlinPhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_CapillaryPhys\"];\n+ \"Ip2_FrictMat_FrictMat_CapillaryPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM\"\n+ \"Ip2_LudingMat_LudingMat_LudingPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM\"];\n- \"Ip2_FrictMatCDM_FrictMatCDM_MindlinPhysCDM\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_LudingMat_LudingMat_LudingPhys\"];\n+ \"Ip2_LudingMat_LudingMat_LudingPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_MortarMat_MortarMat_MortarPhys\"\n+ \"Ip2_FrictMat_FrictMat_ViscoFrictPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_MortarMat_MortarMat_MortarPhys\"];\n- \"Ip2_MortarMat_MortarMat_MortarPhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_ViscoFrictPhys\"];\n+ \"Ip2_FrictMat_FrictMat_ViscoFrictPhys\" -\n+> \"Ip2_FrictMat_FrictMat_FrictPhys\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Ip2_FrictMat_FrictMat_MindlinCapillaryPhys\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinCapillaryPhys\"];\n+ \"Ip2_FrictMat_FrictMat_MindlinCapillaryPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Ip2_2xInelastCohFrictMat_InelastCohFrictPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_2xInelastCohFrictMat_InelastCohFrictPhys\"];\n \"Ip2_2xInelastCohFrictMat_InelastCohFrictPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_ViscElMat_ViscElMat_ViscElPhys\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ViscElMat_ViscElMat_ViscElPhys\"];\n- \"Ip2_ViscElMat_ViscElMat_ViscElPhys\" -> \"IPhysFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_BubbleMat_BubbleMat_BubblePhys\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_BubbleMat_BubbleMat_BubblePhys\"];\n- \"Ip2_BubbleMat_BubbleMat_BubblePhys\" -> \"IPhysFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Ip2_ElastMat_ElastMat_NormShearPhys\"\n+ \"Ip2_FrictMat_FrictMat_MindlinPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_ElastMat_ElastMat_NormShearPhys\"];\n- \"Ip2_ElastMat_ElastMat_NormShearPhys\" -> \"IPhysFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinPhys\"];\n+ \"Ip2_FrictMat_FrictMat_MindlinPhys\" -> \"IPhysFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n }]\n Inheritance graph of IPhysFunctor._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.IPhysFunctor(i\bin\bnh\bhe\ber\bri\bit\bts\bs F\bFu\bun\bnc\bct\bto\bor\br ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Functor for creating/updating _\bI_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bo_\bn_\b:_\b:_\bp_\bh_\by_\bs objects from _\bb_\bo_\bd_\bi_\be_\bs_\b\u2019\n _\bm_\ba_\bt_\be_\br_\bi_\ba_\bl properties.\n p\bpr\bro\bop\bpe\ber\brt\bty\by bases_\b\u00b6\n@@ -14499,161 +14499,161 @@\n *\b**\b**\b**\b**\b* C\bCo\bon\bns\bst\bti\bit\btu\but\bti\biv\bve\be l\bla\baw\bws\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* L\bLa\baw\bwF\bFu\bun\bnc\bct\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph LawFunctor {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"LawFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.LawFunctor\"];\n- \"Law2_ScGeom_BubblePhys_Bubble\"\n+ \"Law2_ScGeom_FrictPhys_CundallStrack\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_BubblePhys_Bubble\"];\n- \"Law2_ScGeom_BubblePhys_Bubble\" -> \"LawFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_FrictPhys_CundallStrack\"];\n+ \"Law2_ScGeom_FrictPhys_CundallStrack\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_ScGeom_ViscElPhys_Basic\"\n+ \"Law2_GridCoGridCoGeom_FrictPhys_CundallStrack\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscElPhys_Basic\"];\n- \"Law2_ScGeom_ViscElPhys_Basic\" -> \"LawFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_ScGeom_MindlinPhys_MindlinDeresiewitz\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_GridCoGridCoGeom_FrictPhys_CundallStrack\"];\n+ \"Law2_GridCoGridCoGeom_FrictPhys_CundallStrack\" -\n+> \"Law2_ScGeom_FrictPhys_CundallStrack\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"Law2_L3Geom_FrictPhys_ElPerfPl\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_MindlinDeresiewitz\"];\n- \"Law2_ScGeom_MindlinPhys_MindlinDeresiewitz\" -> \"LawFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_L3Geom_FrictPhys_ElPerfPl\"];\n+ \"Law2_L3Geom_FrictPhys_ElPerfPl\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_ScGeom_ImplicitLubricationPhys\"\n+ \"Law2_ScGridCoGeom_CohFrictPhys_CundallStrack\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ImplicitLubricationPhys\"];\n- \"Law2_ScGeom_ImplicitLubricationPhys\" -\n-> \"Law2_ScGeom_VirtualLubricationPhys\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGridCoGeom_CohFrictPhys_CundallStrack\"];\n+ \"Law2_ScGridCoGeom_CohFrictPhys_CundallStrack\" -> \"LawFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Law2_ScGeom_ViscElCapPhys_Basic\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscElCapPhys_Basic\"];\n \"Law2_ScGeom_ViscElCapPhys_Basic\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM\"];\n- \"Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM\" -> \"LawFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment\"];\n- \"Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment\" -> \"LawFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Law2_ScGeom_CpmPhys_Cpm\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_CpmPhys_Cpm\"];\n \"Law2_ScGeom_CpmPhys_Cpm\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_ScGeom_WirePhys_WirePM\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_WirePhys_WirePM\"];\n- \"Law2_ScGeom_WirePhys_WirePM\" -> \"LawFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_ScGeom_MindlinPhys_HertzWithLinearShear\"\n+ \"Law2_ScGeom_ViscElPhys_Basic\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_HertzWithLinearShear\"];\n- \"Law2_ScGeom_MindlinPhys_HertzWithLinearShear\" -> \"LawFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscElPhys_Basic\"];\n+ \"Law2_ScGeom_ViscElPhys_Basic\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_L3Geom_FrictPhys_ElPerfPl\"\n+ \"Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_L3Geom_FrictPhys_ElPerfPl\"];\n- \"Law2_L3Geom_FrictPhys_ElPerfPl\" -> \"LawFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM\"];\n+ \"Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Law2_ScGeom_PotentialLubricationPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_PotentialLubricationPhys\"];\n \"Law2_ScGeom_PotentialLubricationPhys\" -\n > \"Law2_ScGeom_ImplicitLubricationPhys\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"Law2_CylScGeom_FrictPhys_CundallStrack\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_CylScGeom_FrictPhys_CundallStrack\"];\n- \"Law2_CylScGeom_FrictPhys_CundallStrack\" -> \"LawFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_GridCoGridCoGeom_FrictPhys_CundallStrack\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_GridCoGridCoGeom_FrictPhys_CundallStrack\"];\n- \"Law2_GridCoGridCoGeom_FrictPhys_CundallStrack\" -\n-> \"Law2_ScGeom_FrictPhys_CundallStrack\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"Law2_ScGeom_MindlinPhys_Mindlin\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_Mindlin\"];\n- \"Law2_ScGeom_MindlinPhys_Mindlin\" -> \"LawFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Law2_ScGridCoGeom_FrictPhys_CundallStrack\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGridCoGeom_FrictPhys_CundallStrack\"];\n \"Law2_ScGridCoGeom_FrictPhys_CundallStrack\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Law2_ScGeom_ViscoFrictPhys_CundallStrack\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscoFrictPhys_CundallStrack\"];\n+ \"Law2_ScGeom_ViscoFrictPhys_CundallStrack\" -\n+> \"Law2_ScGeom_FrictPhys_CundallStrack\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n \"Law2_ScGeom_MindlinPhysCDM_HertzMindlinCDM\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhysCDM_HertzMindlinCDM\"];\n \"Law2_ScGeom_MindlinPhysCDM_HertzMindlinCDM\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_L6Geom_FrictPhys_Linear\"\n+ \"Law2_CylScGeom_FrictPhys_CundallStrack\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_L6Geom_FrictPhys_Linear\"];\n- \"Law2_L6Geom_FrictPhys_Linear\" -> \"Law2_L3Geom_FrictPhys_ElPerfPl\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_CylScGeom_FrictPhys_CundallStrack\"];\n+ \"Law2_CylScGeom_FrictPhys_CundallStrack\" -> \"LawFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Law2_SCG_KnKsPhys_KnKsLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_SCG_KnKsPhys_KnKsLaw\"];\n+ \"Law2_SCG_KnKsPhys_KnKsLaw\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Law2_ScGeom_FrictViscoPhys_CundallStrackVisco\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_FrictViscoPhys_CundallStrackVisco\"];\n \"Law2_ScGeom_FrictViscoPhys_CundallStrackVisco\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Law2_ScGeom_WirePhys_WirePM\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_WirePhys_WirePM\"];\n+ \"Law2_ScGeom_WirePhys_WirePM\" -> \"LawFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Law2_ScGeom6D_CohFrictPhys_CohesionMoment\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom6D_CohFrictPhys_CohesionMoment\"];\n \"Law2_ScGeom6D_CohFrictPhys_CohesionMoment\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Law2_ScGeom_BubblePhys_Bubble\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_BubblePhys_Bubble\"];\n+ \"Law2_ScGeom_BubblePhys_Bubble\" -> \"LawFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Law2_ScGeom_MortarPhys_Lourenco\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MortarPhys_Lourenco\"];\n \"Law2_ScGeom_MortarPhys_Lourenco\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Law2_L6Geom_FrictPhys_Linear\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_L6Geom_FrictPhys_Linear\"];\n+ \"Law2_L6Geom_FrictPhys_Linear\" -> \"Law2_L3Geom_FrictPhys_ElPerfPl\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Law2_ScGeom_VirtualLubricationPhys\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_VirtualLubricationPhys\"];\n \"Law2_ScGeom_VirtualLubricationPhys\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_ScGeom_ViscoFrictPhys_CundallStrack\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscoFrictPhys_CundallStrack\"];\n- \"Law2_ScGeom_ViscoFrictPhys_CundallStrack\" -\n-> \"Law2_ScGeom_FrictPhys_CundallStrack\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"Law2_ScGeom_LudingPhys_Basic\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_LudingPhys_Basic\"];\n- \"Law2_ScGeom_LudingPhys_Basic\" -> \"LawFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_ScGridCoGeom_CohFrictPhys_CundallStrack\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGridCoGeom_CohFrictPhys_CundallStrack\"];\n- \"Law2_ScGridCoGeom_CohFrictPhys_CundallStrack\" -> \"LawFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Law2_CylScGeom6D_CohFrictPhys_CohesionMoment\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_CylScGeom6D_CohFrictPhys_CohesionMoment\"];\n \"Law2_CylScGeom6D_CohFrictPhys_CohesionMoment\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_ScGeom_FrictPhys_CundallStrack\"\n+ \"Law2_ScGeom_MindlinPhys_Mindlin\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_FrictPhys_CundallStrack\"];\n- \"Law2_ScGeom_FrictPhys_CundallStrack\" -> \"LawFunctor\"\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_Mindlin\"];\n+ \"Law2_ScGeom_MindlinPhys_Mindlin\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Law2_SCG_KnKsPhys_KnKsLaw\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_SCG_KnKsPhys_KnKsLaw\"];\n- \"Law2_SCG_KnKsPhys_KnKsLaw\" -> \"LawFunctor\"\n+ \"Law2_ScGeom_MindlinPhys_MindlinDeresiewitz\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_MindlinDeresiewitz\"];\n+ \"Law2_ScGeom_MindlinPhys_MindlinDeresiewitz\" -> \"LawFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Law2_ScGeom_ImplicitLubricationPhys\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_ImplicitLubricationPhys\"];\n+ \"Law2_ScGeom_ImplicitLubricationPhys\" -\n+> \"Law2_ScGeom_VirtualLubricationPhys\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"Law2_ScGeom_MindlinPhys_HertzWithLinearShear\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_MindlinPhys_HertzWithLinearShear\"];\n+ \"Law2_ScGeom_MindlinPhys_HertzWithLinearShear\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment\"];\n \"Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment\" -> \"LawFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment\"];\n+ \"Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment\" -> \"LawFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Law2_ScGeom_LudingPhys_Basic\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Law2_ScGeom_LudingPhys_Basic\"];\n+ \"Law2_ScGeom_LudingPhys_Basic\" -> \"LawFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n }]\n Inheritance graph of LawFunctor._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.LawFunctor(i\bin\bnh\bhe\ber\bri\bit\bts\bs F\bFu\bun\bnc\bct\bto\bor\br ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Functor for applying constitutive laws on _\bi_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bo_\bn_\bs.\n p\bpr\bro\bop\bpe\ber\brt\bty\by bases_\b\u00b6\n Ordered list of types (as strings) this functor accepts.\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n@@ -15866,24 +15866,24 @@\n *\b**\b**\b**\b**\b* I\bIn\bnt\bte\ber\brn\bna\bal\bl f\bfo\bor\brc\bce\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b* I\bIn\bnt\bte\ber\brn\bna\bal\blF\bFo\bor\brc\bce\beF\bFu\bun\bnc\bct\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph InternalForceFunctor {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"InternalForceFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.InternalForceFunctor\"];\n- \"If2_Lin4NodeTetra_LinIsoRayleighDampElast\"\n-[shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.If2_Lin4NodeTetra_LinIsoRayleighDampElast\"];\n- \"If2_Lin4NodeTetra_LinIsoRayleighDampElast\" -> \"InternalForceFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"If2_2xLin4NodeTetra_LinCohesiveStiffPropDampElastMat\"\n [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.If2_2xLin4NodeTetra_LinCohesiveStiffPropDampElastMat\"];\n \"If2_2xLin4NodeTetra_LinCohesiveStiffPropDampElastMat\" -\n > \"InternalForceFunctor\" [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"If2_Lin4NodeTetra_LinIsoRayleighDampElast\"\n+[shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.If2_Lin4NodeTetra_LinIsoRayleighDampElast\"];\n+ \"If2_Lin4NodeTetra_LinIsoRayleighDampElast\" -> \"InternalForceFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n }]\n Inheritance graph of InternalForceFunctor._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.InternalForceFunctor(i\bin\bnh\bhe\ber\bri\bit\bts\bs F\bFu\bun\bnc\bct\bto\bor\br ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Functor for creating/updating _\bB_\bo_\bd_\by_\b:_\b:_\bb_\bo_\bu_\bn_\bd.\n p\bpr\bro\bop\bpe\ber\brt\bty\by bases_\b\u00b6\n Ordered list of types (as strings) this functor accepts.\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n@@ -16004,22 +16004,22 @@\n Update object attributes from given dictionary\n *\b**\b**\b**\b**\b* P\bPr\bre\bep\bpr\bro\boc\bce\bes\bss\bso\bor\brs\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n [digraph FileGenerator {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"FileGenerator\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.FileGenerator\"];\n- \"SimpleShear\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SimpleShear\"];\n- \"SimpleShear\" -> \"FileGenerator\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n \"TriaxialTest\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.TriaxialTest\"];\n \"TriaxialTest\" -> \"FileGenerator\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n+ \"SimpleShear\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.SimpleShear\"];\n+ \"SimpleShear\" -> \"FileGenerator\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n }]\n Inheritance graph of FileGenerator._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.FileGenerator(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Base class for scene generators, preprocessors.\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n generate((\b(F\bFi\bil\ble\beG\bGe\ben\bne\ber\bra\bat\bto\bor\br)\b)a\bar\brg\bg1\b1, (\b(s\bst\btr\br)\b)o\bou\but\bt) \u2192 None :_\b\u00b6\n@@ -16400,65 +16400,65 @@\n Render all bodies with wire only (faster)\n *\b**\b**\b**\b* G\bGl\blS\bSh\bha\bap\bpe\beF\bFu\bun\bnc\bct\bto\bor\br_\b?\b\u00b6 *\b**\b**\b**\b*\n [digraph GlShapeFunctor {\n rankdir=RL;\n margin=\"0.2,0.05\";\n \"GlShapeFunctor\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.GlShapeFunctor\"];\n- \"Gl1_Sphere\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Sphere\"];\n- \"Gl1_Sphere\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n- \"Gl1_PotentialParticle\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_PotentialParticle\"];\n- \"Gl1_PotentialParticle\" -> \"GlShapeFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Gl1_LevelSet\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_LevelSet\"];\n- \"Gl1_LevelSet\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n \"Gl1_Node\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Node\"];\n \"Gl1_Node\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"Gl1_Cylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Cylinder\"];\n- \"Gl1_Cylinder\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n+ \"Gl1_Facet\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Facet\"];\n+ \"Gl1_Facet\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"Gl1_PFacet\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_PFacet\"];\n- \"Gl1_PFacet\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n+ \"Gl1_Tetra\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Tetra\"];\n+ \"Gl1_Tetra\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"Gl1_DeformableElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_DeformableElement\"];\n- \"Gl1_DeformableElement\" -> \"GlShapeFunctor\"\n-[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Gl1_ChainedCylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_ChainedCylinder\"];\n- \"Gl1_ChainedCylinder\" -> \"Gl1_Cylinder\"\n+ \"Gl1_GridConnection\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_GridConnection\"];\n+ \"Gl1_GridConnection\" -> \"GlShapeFunctor\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Gl1_Wall\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Wall\"];\n \"Gl1_Wall\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"Gl1_Tetra\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Tetra\"];\n- \"Gl1_Tetra\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n-(0.5)\"];\n+ \"Gl1_DeformableElement\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_DeformableElement\"];\n+ \"Gl1_DeformableElement\" -> \"GlShapeFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n+ \"Gl1_PotentialParticle\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_PotentialParticle\"];\n+ \"Gl1_PotentialParticle\" -> \"GlShapeFunctor\"\n+[arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n \"Gl1_Box\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n (0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Box\"];\n \"Gl1_Box\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n- \"Gl1_GridConnection\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_GridConnection\"];\n- \"Gl1_GridConnection\" -> \"GlShapeFunctor\"\n+ \"Gl1_LevelSet\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_LevelSet\"];\n+ \"Gl1_LevelSet\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"Gl1_ChainedCylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_ChainedCylinder\"];\n+ \"Gl1_ChainedCylinder\" -> \"Gl1_Cylinder\"\n [arrowsize=0.5,style=\"setlinewidth(0.5)\"];\n- \"Gl1_Facet\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n-(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Facet\"];\n- \"Gl1_Facet\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n+ \"Gl1_PFacet\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_PFacet\"];\n+ \"Gl1_PFacet\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"Gl1_Sphere\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Sphere\"];\n+ \"Gl1_Sphere\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n+(0.5)\"];\n+ \"Gl1_Cylinder\" [shape=\"box\",fontsize=8,style=\"setlinewidth\n+(0.5),solid\",height=0.2,URL=\"yade.wrapper.html#yade.wrapper.Gl1_Cylinder\"];\n+ \"Gl1_Cylinder\" -> \"GlShapeFunctor\" [arrowsize=0.5,style=\"setlinewidth\n (0.5)\"];\n }]\n Inheritance graph of GlShapeFunctor._\b\u00b6\n c\bcl\bla\bas\bss\bs yade.wrapper.GlShapeFunctor(i\bin\bnh\bhe\ber\bri\bit\bts\bs F\bFu\bun\bnc\bct\bto\bor\br ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Abstract functor for rendering _\bS_\bh_\ba_\bp_\be objects.\n p\bpr\bro\bop\bpe\ber\brt\bty\by bases_\b\u00b6\n Ordered list of types (as strings) this functor accepts.\n@@ -17653,102 +17653,70 @@\n Current volume of the cell.\n wrap((\b(C\bCe\bel\bll\bl)\b)a\bar\brg\bg1\b1, (\b(V\bVe\bec\bct\bto\bor\br3\b3)\b)a\bar\brg\bg2\b2) \u2192 Vector3 :_\b\u00b6\n Transform an arbitrary point into a point in the reference cell\n wrapPt((\b(C\bCe\bel\bll\bl)\b)a\bar\brg\bg1\b1, (\b(V\bVe\bec\bct\bto\bor\br3\b3)\b)a\bar\brg\bg2\b2) \u2192 Vector3 :_\b\u00b6\n Wrap point inside the reference cell, assuming the cell has no\n skew+rot.\n *\b**\b**\b**\b**\b* O\bOt\bth\bhe\ber\br c\bcl\bla\bas\bss\bse\bes\bs_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n- c\bcl\bla\bas\bss\bs yade.wrapper.GenericPotential(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- Generic class for potential representation in PotentialLubrication law.\n- Don\u2019t do anything. If set as potential, the result will be a lubrication-\n- only simulation.\n- dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n- Return dictionary of attributes.\n- updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n- Update object attributes from given dictionary\n- c\bcl\bla\bas\bss\bs yade.wrapper.FastMarchingMethod(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- Executes a Fast Marching Method (FMM) to solve \\(||\\vec \\nabla \\phi|| =\n- c\\) for a discrete field \\(\\phi\\) defined on _\bg_\br_\bi_\bd, with _\bp_\bh_\bi_\bI_\bn_\bi serving as\n- boundary condition. Typically, \\(c=1\\) (see _\bs_\bp_\be_\be_\bd) and \\(\\phi\\) is a\n- distance field. Note that the minimum search inherent to the FMM is not\n- yet optimal in terms of execution speed and faster implementations of the\n- FMM may be found elsewhere. See _\b[_\bD_\bu_\br_\bi_\be_\bz_\b2_\b0_\b2_\b1_\bb_\b] for more details, where the\n- class was coined DistFMM.\n- dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n- Return dictionary of attributes.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by grid_\b\u00b6\n- The underlying _\br_\be_\bg_\bu_\bl_\ba_\br_\b _\bg_\br_\bi_\bd.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by known_\b\u00b6\n- Gridpoints (indices) with distance known for good: they have been\n- at some point the shortest gp to the surface while executing the\n- FMM.\n- phi((\b(F\bFa\bas\bst\btM\bMa\bar\brc\bch\bhi\bin\bng\bgM\bMe\bet\bth\bho\bod\bd)\b)a\bar\brg\bg1\b1) \u2192 object :_\b\u00b6\n- Executes the FMM and returns its solution as a list of list of\n- list, with the [i][j][k] element corresponding to grid.gridPoint\n- (i,j,k)\n- p\bpr\bro\bop\bpe\ber\brt\bty\by phiIni_\b\u00b6\n- Initial discrete field defined on the _\bg_\br_\bi_\bd that will serve as a\n- boundary condition for the FMM. Field values have to be - inf\n- (resp. inf) for points being far inside (resp. outside) and correct\n- (finite) on each side of the interface. Built-in functions\n- d\bdi\bis\bst\btI\bIn\bni\biS\bSE\bE (for superellipsoids), p\bph\bhi\biI\bIn\bni\biC\bCp\bpp\bpP\bPy\by (for a Python user\n- function, through a mixed C++-Py internal implementation) or\n- p\bph\bhi\biI\bIn\bni\biP\bPy\by (for a Python user function through a pure Py internal\n- implementation) may be used for such a purpose.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by speed_\b\u00b6\n- Keep to 1 for a true distance, 2 for the flake-like rose\n- verification of _\b[_\bD_\bu_\br_\bi_\be_\bz_\b2_\b0_\b2_\b1_\bb_\b].\n- updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n- Update object attributes from given dictionary\n- c\bcl\bla\bas\bss\bs yade.wrapper.CundallStrackAdhesivePotential(i\bin\bnh\bhe\ber\bri\bit\bts\bs\n- C\bCu\bun\bnd\bda\bal\bll\blS\bSt\btr\bra\bac\bck\bkP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl ?\b\u2192 G\bGe\ben\bne\ber\bri\bic\bcP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- CundallStrack model with adhesive part. Contact is created when \\(u/a-\n- \\varepsilon < 0\\) and released when \\(u/a-\\varepsilon > l_{adh}\\), where\n- \\(l_{adh} = f_{adh}/k_n\\). This lead to an hysteretic attractive part.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by alpha_\b\u00b6\n- Bulk-to-roughness stiffness ratio\n+ c\bcl\bla\bas\bss\bs yade.wrapper.MPIBodyContainer(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ a dummy container to serialize and send.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by bContainer_\b\u00b6\n+ a dummy body container to serialize\n+ clearContainer((\b(M\bMP\bPI\bIB\bBo\bod\bdy\byC\bCo\bon\bnt\bta\bai\bin\bne\ber\br)\b)a\bar\brg\bg1\b1) \u2192 None :_\b\u00b6\n+ clear bodies in the container\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by fadh_\b\u00b6\n- Adhesion force.\n+ getCount((\b(M\bMP\bPI\bIB\bBo\bod\bdy\byC\bCo\bon\bnt\bta\bai\bin\bne\ber\br)\b)a\bar\brg\bg1\b1) \u2192 int :_\b\u00b6\n+ get container count\n+ insertBody((\b(M\bMP\bPI\bIB\bBo\bod\bdy\byC\bCo\bon\bnt\bta\bai\bin\bne\ber\br)\b)a\bar\brg\bg1\b1, (\b(i\bin\bnt\bt)\b)b\bbo\bod\bdy\byI\bId\bd) \u2192 None :_\b\u00b6\n+ insert a body (by id) in this container\n+ insertBodyListPy((\b(M\bMP\bPI\bIB\bBo\bod\bdy\byC\bCo\bon\bnt\bta\bai\bin\bne\ber\br)\b)a\bar\brg\bg1\b1, (\b(l\bli\bis\bst\bt)\b)l\bli\bis\bst\btO\bOf\bfI\bId\bds\bs) \u2192 None :_\b\u00b6\n+ inset a list of bodies (by ids)\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by subdomainRank_\b\u00b6\n+ origin rank of this container\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n- c\bcl\bla\bas\bss\bs yade.wrapper.MatchMaker(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- Class matching pair of ids to return pre-defined (for a pair of ids\n- defined in _\bm_\ba_\bt_\bc_\bh_\be_\bs) or derived value (computed using _\ba_\bl_\bg_\bo) of a scalar\n- parameter. It can be called (id1, id2, val1=NaN, val2=NaN) in both python\n- and c++.\n- Note\n- There is a _\bc_\bo_\bn_\bv_\be_\br_\bt_\be_\br from python number defined for this class, which\n- creates a new _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br returning the value of that number; instead of\n- giving the object instance therefore, you can only pass the number value\n- and it will be converted automatically.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by algo_\b\u00b6\n- Algorithm used to compute value when no match for ids is found.\n- Possible values are\n- * \u2018avg\u2019 (arithmetic average)\n- * \u2018min\u2019 (minimum value)\n- * \u2018max\u2019 (maximum value)\n- * \u2018harmAvg\u2019 (harmonic average)\n- The following algo algorithms do n\bno\bot\bt require meaningful input\n- values in order to work:\n- * \u2018val\u2019 (return value specified by _\bv_\ba_\bl)\n- * \u2018zero\u2019 (always return 0.)\n- computeFallback((\b(M\bMa\bat\btc\bch\bhM\bMa\bak\bke\ber\br)\b)a\bar\brg\bg1\b1, (\b(f\bfl\blo\boa\bat\bt)\b)v\bva\bal\bl1\b1, (\b(f\bfl\blo\boa\bat\bt)\b)v\bva\bal\bl2\b2) \u2192 float :_\b\u00b6\n- Compute algo value for v\bva\bal\bl1\b1 and v\bva\bal\bl2\b2, using algorithm specified by\n- _\ba_\bl_\bg_\bo.\n+ c\bcl\bla\bas\bss\bs yade.wrapper.TimingDeltas_\b\u00b6\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by data_\b\u00b6\n+ Get timing data as list of tuples (label, execTime[nsec],\n+ execCount) (one tuple per checkpoint)\n+ reset((\b(T\bTi\bim\bmi\bin\bng\bgD\bDe\bel\blt\bta\bas\bs)\b)a\bar\brg\bg1\b1) \u2192 None :_\b\u00b6\n+ Reset timing information\n+ c\bcl\bla\bas\bss\bs yade.wrapper.Engine(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ Basic execution unit of simulation, called from the simulation loop\n+ (O.engines)\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n+ If true, this engine will not run at all; can be used for making an\n+ engine temporarily deactivated and only resurrect it at a later\n+ point.\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by matches_\b\u00b6\n- Array of (id1,id2,value) items; queries matching id1 + id2 or id2 +\n- id1 will return value\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by execCount_\b\u00b6\n+ Cumulative count this engine was run (only used if\n+ _\bO_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bE_\bn_\ba_\bb_\bl_\be_\bd==True).\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by execTime_\b\u00b6\n+ Cumulative time in nanoseconds this Engine took to run (only used\n+ if _\bO_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bE_\bn_\ba_\bb_\bl_\be_\bd==True).\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by label_\b\u00b6\n+ Textual label for this object; must be valid python identifier, you\n+ can refer to it directly from python.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by ompThreads_\b\u00b6\n+ Number of threads to be used in the engine. If ompThreads<0\n+ (default), the number will be typically OMP_NUM_THREADS or the\n+ number N defined by \u2018yade -jN\u2019 (this behavior can depend on the\n+ engine though). This attribute will only affect engines whose code\n+ includes openMP parallel regions (e.g. _\bI_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bo_\bn_\bL_\bo_\bo_\bp). This\n+ attribute is mostly useful for experiments or when combining\n+ _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be with engines that run parallel regions, resulting in\n+ nested OMP loops with different number of threads at each level.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by timingDeltas_\b\u00b6\n+ Detailed information about timing inside the Engine itself. Empty\n+ unless enabled in the source code and _\bO_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bE_\bn_\ba_\bb_\bl_\be_\bd==True.\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n- p\bpr\bro\bop\bpe\ber\brt\bty\by val_\b\u00b6\n- Constant value returned if there is no match and _\ba_\bl_\bg_\bo is val\n c\bcl\bla\bas\bss\bs yade.wrapper.RegularGrid(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n A rectilinear (aka uniform or regular) grid, for _\bL_\be_\bv_\be_\bl_\bS_\be_\bt shapes or other\n purposes. A cubic regular grid extending from a _\bm_\bi_\bn = (m,m,m) to a max at\n (M,M,M), with _\bn_\bG_\bP = (n,n,n) ie a _\bs_\bp_\ba_\bc_\bi_\bn_\bg = (M-m)/(n-1), can be\n conveniently obtained from RegularGrid(m,M,n). For more general cases,\n minimum point _\bm_\bi_\bn, _\bs_\bp_\ba_\bc_\bi_\bn_\bg and _\bn_\bG_\bP have to be passed as such at\n instantiation.\n@@ -17770,67 +17738,14 @@\n p\bpr\bro\bop\bpe\ber\brt\bty\by nGP_\b\u00b6\n The number of grid points along the three axes as a Vector3i.\n p\bpr\bro\bop\bpe\ber\brt\bty\by spacing_\b\u00b6\n The (uniform and isotropic) grid spacing between two axis-\n consecutive grid points.\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n- c\bcl\bla\bas\bss\bs yade.wrapper.LBMnode(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- Node class for Lattice Boltzmann Method\n- dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n- Return dictionary of attributes.\n- updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n- Update object attributes from given dictionary\n- c\bcl\bla\bas\bss\bs yade.wrapper.LinExponentialPotential(i\bin\bnh\bhe\ber\bri\bit\bts\bs C\bCu\bun\bnd\bda\bal\bll\blS\bSt\btr\bra\bac\bck\bkP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl ?\b\u2192\n- G\bGe\ben\bne\ber\bri\bic\bcP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- LinExponential Potential with only Cundall-and-Strack-like contact. The\n- LinExponential potential formula is \\(F(u) = \\frac{k*(x_e-x_0)}{x_e}(u/a-\n- x_0)\\exp\\left(\\frac{-(u/a)}{x_e-x_0}\\right)\\). Where \\(k\\) is the slope\n- at the origin, \\(x_0\\) is the position where the potential cross \\(0\\)\n- and \\(x_e\\) is the position of the extremum.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by F0_\b\u00b6\n- Force at contact. Force when \\(F_0 = F(u=0)\\) (LinExponential)\n- p\bpr\bro\bop\bpe\ber\brt\bty\by Fe_\b\u00b6\n- Extremum force. Value of force at extremum. (LinExponential)\n- p\bpr\bro\bop\bpe\ber\brt\bty\by alpha_\b\u00b6\n- Bulk-to-roughness stiffness ratio\n- computeParametersFromF0((\b(L\bLi\bin\bnE\bEx\bxp\bpo\bon\bne\ben\bnt\bti\bia\bal\blP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl)\b)a\bar\brg\bg1\b1, (\b(f\bfl\blo\boa\bat\bt)\b)F\bF0\b0,\n- (\b(f\bfl\blo\boa\bat\bt)\b)x\bxe\be, (\b(f\bfl\blo\boa\bat\bt)\b)k\bk) \u2192 None :_\b\u00b6\n- Set parameters of the potential, with \\(k\\) computed from \\(F_0\\)\n- computeParametersFromF0Fe((\b(L\bLi\bin\bnE\bEx\bxp\bpo\bon\bne\ben\bnt\bti\bia\bal\blP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl)\b)a\bar\brg\bg1\b1, (\b(f\bfl\blo\boa\bat\bt)\b)x\bxe\be,\n- (\b(f\bfl\blo\boa\bat\bt)\b)F\bFe\be, (\b(f\bfl\blo\boa\bat\bt)\b)F\bF0\b0) \u2192 None :_\b\u00b6\n- Set parameters of the potential, with \\(k\\) and \\(x_0\\) computed\n- from \\(F_0\\) and \\(F_e\\)\n- dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n- Return dictionary of attributes.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by k_\b\u00b6\n- Slope at the origin (stiffness). (LinExponential)\n- potential((\b(L\bLi\bin\bnE\bEx\bxp\bpo\bon\bne\ben\bnt\bti\bia\bal\blP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl)\b)a\bar\brg\bg1\b1, (\b(f\bfl\blo\boa\bat\bt)\b)u\bu) \u2192 float :_\b\u00b6\n- Get potential value at any point.\n- setParameters((\b(L\bLi\bin\bnE\bEx\bxp\bpo\bon\bne\ben\bnt\bti\bia\bal\blP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl)\b)a\bar\brg\bg1\b1, (\b(f\bfl\blo\boa\bat\bt)\b)x\bx0\b0, (\b(f\bfl\blo\boa\bat\bt)\b)x\bxe\be,\n- (\b(f\bfl\blo\boa\bat\bt)\b)k\bk) \u2192 None :_\b\u00b6\n- Set parameters of the potential\n- updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n- Update object attributes from given dictionary\n- p\bpr\bro\bop\bpe\ber\brt\bty\by x0_\b\u00b6\n- Equilibrium distance. Potential force is 0 at \\(x_0\\)\n- (LinExponential)\n- p\bpr\bro\bop\bpe\ber\brt\bty\by xe_\b\u00b6\n- Extremum position. Position of local max/min of force.\n- (LinExponential)\n- c\bcl\bla\bas\bss\bs yade.wrapper.GlExtra_LawTester(i\bin\bnh\bhe\ber\bri\bit\bts\bs G\bGl\blE\bEx\bxt\btr\bra\baD\bDr\bra\baw\bwe\ber\br ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- Find an instance of _\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br and show visually its data.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n- Deactivate the object (on error/exception).\n- dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n- Return dictionary of attributes.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by tester_\b\u00b6\n- Associated _\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br object.\n- updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n- Update object attributes from given dictionary\n c\bcl\bla\bas\bss\bs yade.wrapper.EnergyTracker(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Storage for tracing energies. Only to be used if _\bO_\b._\bt_\br_\ba_\bc_\bk_\bE_\bn_\be_\br_\bg_\by is True.\n clear((\b(E\bEn\bne\ber\brg\bgy\byT\bTr\bra\bac\bck\bke\ber\br)\b)a\bar\brg\bg1\b1) \u2192 None :_\b\u00b6\n Clear all stored values.\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n p\bpr\bro\bop\bpe\ber\brt\bty\by energies_\b\u00b6\n@@ -17839,14 +17754,93 @@\n Return contents as list of (name,value) tuples.\n keys((\b(E\bEn\bne\ber\brg\bgy\byT\bTr\bra\bac\bck\bke\ber\br)\b)a\bar\brg\bg1\b1) \u2192 list :_\b\u00b6\n Return defined energies.\n total((\b(E\bEn\bne\ber\brg\bgy\byT\bTr\bra\bac\bck\bke\ber\br)\b)a\bar\brg\bg1\b1) \u2192 float :_\b\u00b6\n Return sum of all energies.\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n+ c\bcl\bla\bas\bss\bs yade.wrapper.ParallelEngine(i\bin\bnh\bhe\ber\bri\bit\bts\bs E\bEn\bng\bgi\bin\bne\be ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ Engine for running other Engine in parallel.\n+ __init__((\b(o\bob\bbj\bje\bec\bct\bt)\b)a\bar\brg\bg1\b1) \u2192 None_\b\u00b6\n+ object __init__(tuple args, dict kwds)\n+ __init__( (object)arg1, (list)arg2) -> object :\n+ Construct from (possibly nested) list of slaves.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n+ If true, this engine will not run at all; can be used for making an\n+ engine temporarily deactivated and only resurrect it at a later\n+ point.\n+ dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n+ Return dictionary of attributes.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by execCount_\b\u00b6\n+ Cumulative count this engine was run (only used if\n+ _\bO_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bE_\bn_\ba_\bb_\bl_\be_\bd==True).\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by execTime_\b\u00b6\n+ Cumulative time in nanoseconds this Engine took to run (only used\n+ if _\bO_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bE_\bn_\ba_\bb_\bl_\be_\bd==True).\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by label_\b\u00b6\n+ Textual label for this object; must be valid python identifier, you\n+ can refer to it directly from python.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by ompThreads_\b\u00b6\n+ Number of threads to be used in the engine. If ompThreads<0\n+ (default), the number will be typically OMP_NUM_THREADS or the\n+ number N defined by \u2018yade -jN\u2019 (this behavior can depend on the\n+ engine though). This attribute will only affect engines whose code\n+ includes openMP parallel regions (e.g. _\bI_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bo_\bn_\bL_\bo_\bo_\bp). This\n+ attribute is mostly useful for experiments or when combining\n+ _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be with engines that run parallel regions, resulting in\n+ nested OMP loops with different number of threads at each level.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by slaves_\b\u00b6\n+ List of lists of Engines; each top-level group will be run in\n+ parallel with other groups, while Engines inside each group will be\n+ run sequentially, in given order.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by timingDeltas_\b\u00b6\n+ Detailed information about timing inside the Engine itself. Empty\n+ unless enabled in the source code and _\bO_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bE_\bn_\ba_\bb_\bl_\be_\bd==True.\n+ updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n+ Update object attributes from given dictionary\n+ c\bcl\bla\bas\bss\bs yade.wrapper.LBMnode(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ Node class for Lattice Boltzmann Method\n+ dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n+ Return dictionary of attributes.\n+ updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n+ Update object attributes from given dictionary\n+ c\bcl\bla\bas\bss\bs yade.wrapper.FastMarchingMethod(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ Executes a Fast Marching Method (FMM) to solve \\(||\\vec \\nabla \\phi|| =\n+ c\\) for a discrete field \\(\\phi\\) defined on _\bg_\br_\bi_\bd, with _\bp_\bh_\bi_\bI_\bn_\bi serving as\n+ boundary condition. Typically, \\(c=1\\) (see _\bs_\bp_\be_\be_\bd) and \\(\\phi\\) is a\n+ distance field. Note that the minimum search inherent to the FMM is not\n+ yet optimal in terms of execution speed and faster implementations of the\n+ FMM may be found elsewhere. See _\b[_\bD_\bu_\br_\bi_\be_\bz_\b2_\b0_\b2_\b1_\bb_\b] for more details, where the\n+ class was coined DistFMM.\n+ dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n+ Return dictionary of attributes.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by grid_\b\u00b6\n+ The underlying _\br_\be_\bg_\bu_\bl_\ba_\br_\b _\bg_\br_\bi_\bd.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by known_\b\u00b6\n+ Gridpoints (indices) with distance known for good: they have been\n+ at some point the shortest gp to the surface while executing the\n+ FMM.\n+ phi((\b(F\bFa\bas\bst\btM\bMa\bar\brc\bch\bhi\bin\bng\bgM\bMe\bet\bth\bho\bod\bd)\b)a\bar\brg\bg1\b1) \u2192 object :_\b\u00b6\n+ Executes the FMM and returns its solution as a list of list of\n+ list, with the [i][j][k] element corresponding to grid.gridPoint\n+ (i,j,k)\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by phiIni_\b\u00b6\n+ Initial discrete field defined on the _\bg_\br_\bi_\bd that will serve as a\n+ boundary condition for the FMM. Field values have to be - inf\n+ (resp. inf) for points being far inside (resp. outside) and correct\n+ (finite) on each side of the interface. Built-in functions\n+ d\bdi\bis\bst\btI\bIn\bni\biS\bSE\bE (for superellipsoids), p\bph\bhi\biI\bIn\bni\biC\bCp\bpp\bpP\bPy\by (for a Python user\n+ function, through a mixed C++-Py internal implementation) or\n+ p\bph\bhi\biI\bIn\bni\biP\bPy\by (for a Python user function through a pure Py internal\n+ implementation) may be used for such a purpose.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by speed_\b\u00b6\n+ Keep to 1 for a true distance, 2 for the flake-like rose\n+ verification of _\b[_\bD_\bu_\br_\bi_\be_\bz_\b2_\b0_\b2_\b1_\bb_\b].\n+ updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n+ Update object attributes from given dictionary\n c\bcl\bla\bas\bss\bs yade.wrapper.LBMlink(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Link class for Lattice Boltzmann Method\n p\bpr\bro\bop\bpe\ber\brt\bty\by DistMid_\b\u00b6\n Distance between middle of the link and mass center of body\n p\bpr\bro\bop\bpe\ber\brt\bty\by PointingOutside_\b\u00b6\n True if it is a link pointing outside to the system (from a fluid\n or solid node)\n@@ -17868,133 +17862,137 @@\n fixed node identifier\n p\bpr\bro\bop\bpe\ber\brt\bty\by nid2_\b\u00b6\n fixed node identifier or -1 if node points outside\n p\bpr\bro\bop\bpe\ber\brt\bty\by sid_\b\u00b6\n Solid node identifier\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n- c\bcl\bla\bas\bss\bs yade.wrapper.Engine(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- Basic execution unit of simulation, called from the simulation loop\n- (O.engines)\n- p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n- If true, this engine will not run at all; can be used for making an\n- engine temporarily deactivated and only resurrect it at a later\n- point.\n+ c\bcl\bla\bas\bss\bs yade.wrapper.LBMbody(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ Body class for Lattice Boltzmann Method\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by AVel_\b\u00b6\n+ Angular velocity of body\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by Fh_\b\u00b6\n+ Hydrodynamical force on body\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by Mh_\b\u00b6\n+ Hydrodynamical momentum on body\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by execCount_\b\u00b6\n- Cumulative count this engine was run (only used if\n- _\bO_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bE_\bn_\ba_\bb_\bl_\be_\bd==True).\n- p\bpr\bro\bop\bpe\ber\brt\bty\by execTime_\b\u00b6\n- Cumulative time in nanoseconds this Engine took to run (only used\n- if _\bO_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bE_\bn_\ba_\bb_\bl_\be_\bd==True).\n- p\bpr\bro\bop\bpe\ber\brt\bty\by label_\b\u00b6\n- Textual label for this object; must be valid python identifier, you\n- can refer to it directly from python.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by ompThreads_\b\u00b6\n- Number of threads to be used in the engine. If ompThreads<0\n- (default), the number will be typically OMP_NUM_THREADS or the\n- number N defined by \u2018yade -jN\u2019 (this behavior can depend on the\n- engine though). This attribute will only affect engines whose code\n- includes openMP parallel regions (e.g. _\bI_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bo_\bn_\bL_\bo_\bo_\bp). This\n- attribute is mostly useful for experiments or when combining\n- _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be with engines that run parallel regions, resulting in\n- nested OMP loops with different number of threads at each level.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by timingDeltas_\b\u00b6\n- Detailed information about timing inside the Engine itself. Empty\n- unless enabled in the source code and _\bO_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bE_\bn_\ba_\bb_\bl_\be_\bd==True.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by fm_\b\u00b6\n+ Hydrodynamic force (LB unit) at t-0.5dt\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by force_\b\u00b6\n+ Hydrodynamic force, need to be reinitialized (LB unit)\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by fp_\b\u00b6\n+ Hydrodynamic force (LB unit) at t+0.5dt\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by isEroded_\b\u00b6\n+ Hydrodynamical force on body\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by mm_\b\u00b6\n+ Hydrodynamic momentum (LB unit) at t-0.5dt\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by momentum_\b\u00b6\n+ Hydrodynamic momentum,need to be reinitialized (LB unit)\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by mp_\b\u00b6\n+ Hydrodynamic momentum (LB unit) at t+0.5dt\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by pos_\b\u00b6\n+ Position of body\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by radius_\b\u00b6\n+ Radius of body (for sphere)\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by saveProperties_\b\u00b6\n+ To save properties of the body\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by type_\b\u00b6\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n- c\bcl\bla\bas\bss\bs yade.wrapper.Serializable_\b\u00b6\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by vel_\b\u00b6\n+ Velocity of body\n+ c\bcl\bla\bas\bss\bs yade.wrapper.GenericPotential(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ Generic class for potential representation in PotentialLubrication law.\n+ Don\u2019t do anything. If set as potential, the result will be a lubrication-\n+ only simulation.\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n- c\bcl\bla\bas\bss\bs yade.wrapper.MPIBodyContainer(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- a dummy container to serialize and send.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by bContainer_\b\u00b6\n- a dummy body container to serialize\n- clearContainer((\b(M\bMP\bPI\bIB\bBo\bod\bdy\byC\bCo\bon\bnt\bta\bai\bin\bne\ber\br)\b)a\bar\brg\bg1\b1) \u2192 None :_\b\u00b6\n- clear bodies in the container\n+ c\bcl\bla\bas\bss\bs yade.wrapper.GlExtra_OctreeCubes(i\bin\bnh\bhe\ber\bri\bit\bts\bs G\bGl\blE\bEx\bxt\btr\bra\baD\bDr\bra\baw\bwe\ber\br ?\b\u2192\n+ S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ Render boxed read from file\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by boxesFile_\b\u00b6\n+ File to read boxes from; ascii files with x0 y0 z0 x1 y1 z1 c\n+ records, where c is an integer specifying fill (0 for wire, 1 for\n+ filled).\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n+ Deactivate the object (on error/exception).\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n- getCount((\b(M\bMP\bPI\bIB\bBo\bod\bdy\byC\bCo\bon\bnt\bta\bai\bin\bne\ber\br)\b)a\bar\brg\bg1\b1) \u2192 int :_\b\u00b6\n- get container count\n- insertBody((\b(M\bMP\bPI\bIB\bBo\bod\bdy\byC\bCo\bon\bnt\bta\bai\bin\bne\ber\br)\b)a\bar\brg\bg1\b1, (\b(i\bin\bnt\bt)\b)b\bbo\bod\bdy\byI\bId\bd) \u2192 None :_\b\u00b6\n- insert a body (by id) in this container\n- insertBodyListPy((\b(M\bMP\bPI\bIB\bBo\bod\bdy\byC\bCo\bon\bnt\bta\bai\bin\bne\ber\br)\b)a\bar\brg\bg1\b1, (\b(l\bli\bis\bst\bt)\b)l\bli\bis\bst\btO\bOf\bfI\bId\bds\bs) \u2192 None :_\b\u00b6\n- inset a list of bodies (by ids)\n- p\bpr\bro\bop\bpe\ber\brt\bty\by subdomainRank_\b\u00b6\n- origin rank of this container\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by fillRangeDraw_\b\u00b6\n+ Range of fill indices that will be rendered.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by fillRangeFill_\b\u00b6\n+ Range of fill indices that will be filled.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by levelRangeDraw_\b\u00b6\n+ Range of levels that will be rendered.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by noFillZero_\b\u00b6\n+ Do not fill 0-fill boxed (those that are further subdivided)\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n- c\bcl\bla\bas\bss\bs yade.wrapper.CundallStrackPotential(i\bin\bnh\bhe\ber\bri\bit\bts\bs G\bGe\ben\bne\ber\bri\bic\bcP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl ?\b\u2192\n- S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- Potential with only Cundall-and-Strack-like contact.\n+ c\bcl\bla\bas\bss\bs yade.wrapper.CundallStrackAdhesivePotential(i\bin\bnh\bhe\ber\bri\bit\bts\bs\n+ C\bCu\bun\bnd\bda\bal\bll\blS\bSt\btr\bra\bac\bck\bkP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl ?\b\u2192 G\bGe\ben\bne\ber\bri\bic\bcP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ CundallStrack model with adhesive part. Contact is created when \\(u/a-\n+ \\varepsilon < 0\\) and released when \\(u/a-\\varepsilon > l_{adh}\\), where\n+ \\(l_{adh} = f_{adh}/k_n\\). This lead to an hysteretic attractive part.\n p\bpr\bro\bop\bpe\ber\brt\bty\by alpha_\b\u00b6\n Bulk-to-roughness stiffness ratio\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by fadh_\b\u00b6\n+ Adhesion force.\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n- c\bcl\bla\bas\bss\bs yade.wrapper.GlExtraDrawer(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- Performing arbitrary OpenGL drawing commands; called from _\bO_\bp_\be_\bn_\bG_\bL_\bR_\be_\bn_\bd_\be_\br_\be_\br\n- (see _\bO_\bp_\be_\bn_\bG_\bL_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b._\be_\bx_\bt_\br_\ba_\bD_\br_\ba_\bw_\be_\br_\bs) once regular rendering routines will\n- have finished.\n- This class itself does not render anything, derived classes should\n- override the r\bre\ben\bnd\bde\ber\br method.\n+ c\bcl\bla\bas\bss\bs yade.wrapper.MatchMaker(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ Class matching pair of ids to return pre-defined (for a pair of ids\n+ defined in _\bm_\ba_\bt_\bc_\bh_\be_\bs) or derived value (computed using _\ba_\bl_\bg_\bo) of a scalar\n+ parameter. It can be called (id1, id2, val1=NaN, val2=NaN) in both python\n+ and c++.\n+ Note\n+ There is a _\bc_\bo_\bn_\bv_\be_\br_\bt_\be_\br from python number defined for this class, which\n+ creates a new _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br returning the value of that number; instead of\n+ giving the object instance therefore, you can only pass the number value\n+ and it will be converted automatically.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by algo_\b\u00b6\n+ Algorithm used to compute value when no match for ids is found.\n+ Possible values are\n+ * \u2018avg\u2019 (arithmetic average)\n+ * \u2018min\u2019 (minimum value)\n+ * \u2018max\u2019 (maximum value)\n+ * \u2018harmAvg\u2019 (harmonic average)\n+ The following algo algorithms do n\bno\bot\bt require meaningful input\n+ values in order to work:\n+ * \u2018val\u2019 (return value specified by _\bv_\ba_\bl)\n+ * \u2018zero\u2019 (always return 0.)\n+ computeFallback((\b(M\bMa\bat\btc\bch\bhM\bMa\bak\bke\ber\br)\b)a\bar\brg\bg1\b1, (\b(f\bfl\blo\boa\bat\bt)\b)v\bva\bal\bl1\b1, (\b(f\bfl\blo\boa\bat\bt)\b)v\bva\bal\bl2\b2) \u2192 float :_\b\u00b6\n+ Compute algo value for v\bva\bal\bl1\b1 and v\bva\bal\bl2\b2, using algorithm specified by\n+ _\ba_\bl_\bg_\bo.\n+ dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n+ Return dictionary of attributes.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by matches_\b\u00b6\n+ Array of (id1,id2,value) items; queries matching id1 + id2 or id2 +\n+ id1 will return value\n+ updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n+ Update object attributes from given dictionary\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by val_\b\u00b6\n+ Constant value returned if there is no match and _\ba_\bl_\bg_\bo is val\n+ c\bcl\bla\bas\bss\bs yade.wrapper.GlExtra_LawTester(i\bin\bnh\bhe\ber\bri\bit\bts\bs G\bGl\blE\bEx\bxt\btr\bra\baD\bDr\bra\baw\bwe\ber\br ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ Find an instance of _\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br and show visually its data.\n p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n Deactivate the object (on error/exception).\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by tester_\b\u00b6\n+ Associated _\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br object.\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n- c\bcl\bla\bas\bss\bs yade.wrapper.TimingDeltas_\b\u00b6\n- p\bpr\bro\bop\bpe\ber\brt\bty\by data_\b\u00b6\n- Get timing data as list of tuples (label, execTime[nsec],\n- execCount) (one tuple per checkpoint)\n- reset((\b(T\bTi\bim\bmi\bin\bng\bgD\bDe\bel\blt\bta\bas\bs)\b)a\bar\brg\bg1\b1) \u2192 None :_\b\u00b6\n- Reset timing information\n- c\bcl\bla\bas\bss\bs yade.wrapper.ParallelEngine(i\bin\bnh\bhe\ber\bri\bit\bts\bs E\bEn\bng\bgi\bin\bne\be ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- Engine for running other Engine in parallel.\n- __init__((\b(o\bob\bbj\bje\bec\bct\bt)\b)a\bar\brg\bg1\b1) \u2192 None_\b\u00b6\n- object __init__(tuple args, dict kwds)\n- __init__( (object)arg1, (list)arg2) -> object :\n- Construct from (possibly nested) list of slaves.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n- If true, this engine will not run at all; can be used for making an\n- engine temporarily deactivated and only resurrect it at a later\n- point.\n+ c\bcl\bla\bas\bss\bs yade.wrapper.Serializable_\b\u00b6\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by execCount_\b\u00b6\n- Cumulative count this engine was run (only used if\n- _\bO_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bE_\bn_\ba_\bb_\bl_\be_\bd==True).\n- p\bpr\bro\bop\bpe\ber\brt\bty\by execTime_\b\u00b6\n- Cumulative time in nanoseconds this Engine took to run (only used\n- if _\bO_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bE_\bn_\ba_\bb_\bl_\be_\bd==True).\n- p\bpr\bro\bop\bpe\ber\brt\bty\by label_\b\u00b6\n- Textual label for this object; must be valid python identifier, you\n- can refer to it directly from python.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by ompThreads_\b\u00b6\n- Number of threads to be used in the engine. If ompThreads<0\n- (default), the number will be typically OMP_NUM_THREADS or the\n- number N defined by \u2018yade -jN\u2019 (this behavior can depend on the\n- engine though). This attribute will only affect engines whose code\n- includes openMP parallel regions (e.g. _\bI_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bo_\bn_\bL_\bo_\bo_\bp). This\n- attribute is mostly useful for experiments or when combining\n- _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be with engines that run parallel regions, resulting in\n- nested OMP loops with different number of threads at each level.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by slaves_\b\u00b6\n- List of lists of Engines; each top-level group will be run in\n- parallel with other groups, while Engines inside each group will be\n- run sequentially, in given order.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by timingDeltas_\b\u00b6\n- Detailed information about timing inside the Engine itself. Empty\n- unless enabled in the source code and _\bO_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bE_\bn_\ba_\bb_\bl_\be_\bd==True.\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n c\bcl\bla\bas\bss\bs yade.wrapper.Cell(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n Parameters of _\bp_\be_\br_\bi_\bo_\bd_\bi_\bc_\b _\bb_\bo_\bu_\bn_\bd_\ba_\br_\by_\b _\bc_\bo_\bn_\bd_\bi_\bt_\bi_\bo_\bn_\bs. Only applies if\n O.isPeriodic==True.\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n@@ -18141,68 +18139,70 @@\n p\bpr\bro\bop\bpe\ber\brt\bty\by volume_\b\u00b6\n Current volume of the cell.\n wrap((\b(C\bCe\bel\bll\bl)\b)a\bar\brg\bg1\b1, (\b(V\bVe\bec\bct\bto\bor\br3\b3)\b)a\bar\brg\bg2\b2) \u2192 Vector3 :_\b\u00b6\n Transform an arbitrary point into a point in the reference cell\n wrapPt((\b(C\bCe\bel\bll\bl)\b)a\bar\brg\bg1\b1, (\b(V\bVe\bec\bct\bto\bor\br3\b3)\b)a\bar\brg\bg2\b2) \u2192 Vector3 :_\b\u00b6\n Wrap point inside the reference cell, assuming the cell has no\n skew+rot.\n- c\bcl\bla\bas\bss\bs yade.wrapper.LBMbody(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- Body class for Lattice Boltzmann Method\n- p\bpr\bro\bop\bpe\ber\brt\bty\by AVel_\b\u00b6\n- Angular velocity of body\n- p\bpr\bro\bop\bpe\ber\brt\bty\by Fh_\b\u00b6\n- Hydrodynamical force on body\n- p\bpr\bro\bop\bpe\ber\brt\bty\by Mh_\b\u00b6\n- Hydrodynamical momentum on body\n+ c\bcl\bla\bas\bss\bs yade.wrapper.GlExtraDrawer(i\bin\bnh\bhe\ber\bri\bit\bts\bs S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ Performing arbitrary OpenGL drawing commands; called from _\bO_\bp_\be_\bn_\bG_\bL_\bR_\be_\bn_\bd_\be_\br_\be_\br\n+ (see _\bO_\bp_\be_\bn_\bG_\bL_\bR_\be_\bn_\bd_\be_\br_\be_\br_\b._\be_\bx_\bt_\br_\ba_\bD_\br_\ba_\bw_\be_\br_\bs) once regular rendering routines will\n+ have finished.\n+ This class itself does not render anything, derived classes should\n+ override the r\bre\ben\bnd\bde\ber\br method.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n+ Deactivate the object (on error/exception).\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by fm_\b\u00b6\n- Hydrodynamic force (LB unit) at t-0.5dt\n- p\bpr\bro\bop\bpe\ber\brt\bty\by force_\b\u00b6\n- Hydrodynamic force, need to be reinitialized (LB unit)\n- p\bpr\bro\bop\bpe\ber\brt\bty\by fp_\b\u00b6\n- Hydrodynamic force (LB unit) at t+0.5dt\n- p\bpr\bro\bop\bpe\ber\brt\bty\by isEroded_\b\u00b6\n- Hydrodynamical force on body\n- p\bpr\bro\bop\bpe\ber\brt\bty\by mm_\b\u00b6\n- Hydrodynamic momentum (LB unit) at t-0.5dt\n- p\bpr\bro\bop\bpe\ber\brt\bty\by momentum_\b\u00b6\n- Hydrodynamic momentum,need to be reinitialized (LB unit)\n- p\bpr\bro\bop\bpe\ber\brt\bty\by mp_\b\u00b6\n- Hydrodynamic momentum (LB unit) at t+0.5dt\n- p\bpr\bro\bop\bpe\ber\brt\bty\by pos_\b\u00b6\n- Position of body\n- p\bpr\bro\bop\bpe\ber\brt\bty\by radius_\b\u00b6\n- Radius of body (for sphere)\n- p\bpr\bro\bop\bpe\ber\brt\bty\by saveProperties_\b\u00b6\n- To save properties of the body\n- p\bpr\bro\bop\bpe\ber\brt\bty\by type_\b\u00b6\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n- p\bpr\bro\bop\bpe\ber\brt\bty\by vel_\b\u00b6\n- Velocity of body\n- c\bcl\bla\bas\bss\bs yade.wrapper.GlExtra_OctreeCubes(i\bin\bnh\bhe\ber\bri\bit\bts\bs G\bGl\blE\bEx\bxt\btr\bra\baD\bDr\bra\baw\bwe\ber\br ?\b\u2192\n+ c\bcl\bla\bas\bss\bs yade.wrapper.LinExponentialPotential(i\bin\bnh\bhe\ber\bri\bit\bts\bs C\bCu\bun\bnd\bda\bal\bll\blS\bSt\btr\bra\bac\bck\bkP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl ?\b\u2192\n+ G\bGe\ben\bne\ber\bri\bic\bcP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl ?\b\u2192 S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n+ LinExponential Potential with only Cundall-and-Strack-like contact. The\n+ LinExponential potential formula is \\(F(u) = \\frac{k*(x_e-x_0)}{x_e}(u/a-\n+ x_0)\\exp\\left(\\frac{-(u/a)}{x_e-x_0}\\right)\\). Where \\(k\\) is the slope\n+ at the origin, \\(x_0\\) is the position where the potential cross \\(0\\)\n+ and \\(x_e\\) is the position of the extremum.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by F0_\b\u00b6\n+ Force at contact. Force when \\(F_0 = F(u=0)\\) (LinExponential)\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by Fe_\b\u00b6\n+ Extremum force. Value of force at extremum. (LinExponential)\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by alpha_\b\u00b6\n+ Bulk-to-roughness stiffness ratio\n+ computeParametersFromF0((\b(L\bLi\bin\bnE\bEx\bxp\bpo\bon\bne\ben\bnt\bti\bia\bal\blP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl)\b)a\bar\brg\bg1\b1, (\b(f\bfl\blo\boa\bat\bt)\b)F\bF0\b0,\n+ (\b(f\bfl\blo\boa\bat\bt)\b)x\bxe\be, (\b(f\bfl\blo\boa\bat\bt)\b)k\bk) \u2192 None :_\b\u00b6\n+ Set parameters of the potential, with \\(k\\) computed from \\(F_0\\)\n+ computeParametersFromF0Fe((\b(L\bLi\bin\bnE\bEx\bxp\bpo\bon\bne\ben\bnt\bti\bia\bal\blP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl)\b)a\bar\brg\bg1\b1, (\b(f\bfl\blo\boa\bat\bt)\b)x\bxe\be,\n+ (\b(f\bfl\blo\boa\bat\bt)\b)F\bFe\be, (\b(f\bfl\blo\boa\bat\bt)\b)F\bF0\b0) \u2192 None :_\b\u00b6\n+ Set parameters of the potential, with \\(k\\) and \\(x_0\\) computed\n+ from \\(F_0\\) and \\(F_e\\)\n+ dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n+ Return dictionary of attributes.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by k_\b\u00b6\n+ Slope at the origin (stiffness). (LinExponential)\n+ potential((\b(L\bLi\bin\bnE\bEx\bxp\bpo\bon\bne\ben\bnt\bti\bia\bal\blP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl)\b)a\bar\brg\bg1\b1, (\b(f\bfl\blo\boa\bat\bt)\b)u\bu) \u2192 float :_\b\u00b6\n+ Get potential value at any point.\n+ setParameters((\b(L\bLi\bin\bnE\bEx\bxp\bpo\bon\bne\ben\bnt\bti\bia\bal\blP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl)\b)a\bar\brg\bg1\b1, (\b(f\bfl\blo\boa\bat\bt)\b)x\bx0\b0, (\b(f\bfl\blo\boa\bat\bt)\b)x\bxe\be,\n+ (\b(f\bfl\blo\boa\bat\bt)\b)k\bk) \u2192 None :_\b\u00b6\n+ Set parameters of the potential\n+ updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n+ Update object attributes from given dictionary\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by x0_\b\u00b6\n+ Equilibrium distance. Potential force is 0 at \\(x_0\\)\n+ (LinExponential)\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by xe_\b\u00b6\n+ Extremum position. Position of local max/min of force.\n+ (LinExponential)\n+ c\bcl\bla\bas\bss\bs yade.wrapper.CundallStrackPotential(i\bin\bnh\bhe\ber\bri\bit\bts\bs G\bGe\ben\bne\ber\bri\bic\bcP\bPo\bot\bte\ben\bnt\bti\bia\bal\bl ?\b\u2192\n S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)_\b\u00b6\n- Render boxed read from file\n- p\bpr\bro\bop\bpe\ber\brt\bty\by boxesFile_\b\u00b6\n- File to read boxes from; ascii files with x0 y0 z0 x1 y1 z1 c\n- records, where c is an integer specifying fill (0 for wire, 1 for\n- filled).\n- p\bpr\bro\bop\bpe\ber\brt\bty\by dead_\b\u00b6\n- Deactivate the object (on error/exception).\n+ Potential with only Cundall-and-Strack-like contact.\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by alpha_\b\u00b6\n+ Bulk-to-roughness stiffness ratio\n dict((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1) \u2192 dict :_\b\u00b6\n Return dictionary of attributes.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by fillRangeDraw_\b\u00b6\n- Range of fill indices that will be rendered.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by fillRangeFill_\b\u00b6\n- Range of fill indices that will be filled.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by levelRangeDraw_\b\u00b6\n- Range of levels that will be rendered.\n- p\bpr\bro\bop\bpe\ber\brt\bty\by noFillZero_\b\u00b6\n- Do not fill 0-fill boxed (those that are further subdivided)\n updateAttrs((\b(S\bSe\ber\bri\bia\bal\bli\biz\bza\bab\bbl\ble\be)\b)a\bar\brg\bg1\b1, (\b(d\bdi\bic\bct\bt)\b)a\bar\brg\bg2\b2) \u2192 None :_\b\u00b6\n Update object attributes from given dictionary\n _\b[_\bL_\bo_\bg_\bo_\b]\n *\b**\b**\b**\b* _\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be_\b _\bo\bo_\bf\bf_\b _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bn\bn_\bt\bt_\bs\bs *\b**\b**\b**\b*\n * _\bY_\ba_\bd_\be_\b _\bw_\br_\ba_\bp_\bp_\be_\br_\b _\bc_\bl_\ba_\bs_\bs_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n o _\bB_\bo_\bd_\bi_\be_\bs\n # _\bB_\bo_\bd_\by\n@@ -23374,133 +23374,139 @@\n # _\bC_\be_\bl_\bl_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n # _\bC_\be_\bl_\bl_\b._\bv_\be_\bl_\bG_\br_\ba_\bd\n # _\bC_\be_\bl_\bl_\b._\bv_\be_\bl_\bG_\br_\ba_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bd\n # _\bC_\be_\bl_\bl_\b._\bv_\bo_\bl_\bu_\bm_\be\n # _\bC_\be_\bl_\bl_\b._\bw_\br_\ba_\bp_\b(_\b)\n # _\bC_\be_\bl_\bl_\b._\bw_\br_\ba_\bp_\bP_\bt_\b(_\b)\n o _\bO_\bt_\bh_\be_\br_\b _\bc_\bl_\ba_\bs_\bs_\be_\bs\n- # _\bG_\be_\bn_\be_\br_\bi_\bc_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl\n- # _\bG_\be_\bn_\be_\br_\bi_\bc_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bG_\be_\bn_\be_\br_\bi_\bc_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd\n- # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bg_\br_\bi_\bd\n- # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bk_\bn_\bo_\bw_\bn\n- # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bp_\bh_\bi_\b(_\b)\n- # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bp_\bh_\bi_\bI_\bn_\bi\n- # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bs_\bp_\be_\be_\bd\n- # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bA_\bd_\bh_\be_\bs_\bi_\bv_\be_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl\n- # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bA_\bd_\bh_\be_\bs_\bi_\bv_\be_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\ba_\bl_\bp_\bh_\ba\n- # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bA_\bd_\bh_\be_\bs_\bi_\bv_\be_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bA_\bd_\bh_\be_\bs_\bi_\bv_\be_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bf_\ba_\bd_\bh\n- # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bA_\bd_\bh_\be_\bs_\bi_\bv_\be_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br\n- # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br_\b._\ba_\bl_\bg_\bo\n- # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br_\b._\bc_\bo_\bm_\bp_\bu_\bt_\be_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\b(_\b)\n- # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br_\b._\bm_\ba_\bt_\bc_\bh_\be_\bs\n- # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br_\b._\bv_\ba_\bl\n+ # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br\n+ # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bb_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br\n+ # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bc_\bl_\be_\ba_\br_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b(_\b)\n+ # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bg_\be_\bt_\bC_\bo_\bu_\bn_\bt_\b(_\b)\n+ # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bi_\bn_\bs_\be_\br_\bt_\bB_\bo_\bd_\by_\b(_\b)\n+ # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bi_\bn_\bs_\be_\br_\bt_\bB_\bo_\bd_\by_\bL_\bi_\bs_\bt_\bP_\by_\b(_\b)\n+ # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bs_\bu_\bb_\bd_\bo_\bm_\ba_\bi_\bn_\bR_\ba_\bn_\bk\n+ # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bT_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs\n+ # _\bT_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs_\b._\bd_\ba_\bt_\ba\n+ # _\bT_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs_\b._\br_\be_\bs_\be_\bt_\b(_\b)\n+ # _\bE_\bn_\bg_\bi_\bn_\be\n+ # _\bE_\bn_\bg_\bi_\bn_\be_\b._\bd_\be_\ba_\bd\n+ # _\bE_\bn_\bg_\bi_\bn_\be_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bE_\bn_\bg_\bi_\bn_\be_\b._\be_\bx_\be_\bc_\bC_\bo_\bu_\bn_\bt\n+ # _\bE_\bn_\bg_\bi_\bn_\be_\b._\be_\bx_\be_\bc_\bT_\bi_\bm_\be\n+ # _\bE_\bn_\bg_\bi_\bn_\be_\b._\bl_\ba_\bb_\be_\bl\n+ # _\bE_\bn_\bg_\bi_\bn_\be_\b._\bo_\bm_\bp_\bT_\bh_\br_\be_\ba_\bd_\bs\n+ # _\bE_\bn_\bg_\bi_\bn_\be_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs\n+ # _\bE_\bn_\bg_\bi_\bn_\be_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n # _\bR_\be_\bg_\bu_\bl_\ba_\br_\bG_\br_\bi_\bd\n # _\bR_\be_\bg_\bu_\bl_\ba_\br_\bG_\br_\bi_\bd_\b._\bc_\bl_\bo_\bs_\be_\bs_\bt_\bC_\bo_\br_\bn_\be_\br_\b(_\b)\n # _\bR_\be_\bg_\bu_\bl_\ba_\br_\bG_\br_\bi_\bd_\b._\bd_\bi_\bc_\bt_\b(_\b)\n # _\bR_\be_\bg_\bu_\bl_\ba_\br_\bG_\br_\bi_\bd_\b._\bd_\bi_\bm_\bs_\b(_\b)\n # _\bR_\be_\bg_\bu_\bl_\ba_\br_\bG_\br_\bi_\bd_\b._\bg_\br_\bi_\bd_\bP_\bo_\bi_\bn_\bt_\b(_\b)\n # _\bR_\be_\bg_\bu_\bl_\ba_\br_\bG_\br_\bi_\bd_\b._\bm_\ba_\bx_\b(_\b)\n # _\bR_\be_\bg_\bu_\bl_\ba_\br_\bG_\br_\bi_\bd_\b._\bm_\bi_\bn\n # _\bR_\be_\bg_\bu_\bl_\ba_\br_\bG_\br_\bi_\bd_\b._\bn_\bG_\bP\n # _\bR_\be_\bg_\bu_\bl_\ba_\br_\bG_\br_\bi_\bd_\b._\bs_\bp_\ba_\bc_\bi_\bn_\bg\n # _\bR_\be_\bg_\bu_\bl_\ba_\br_\bG_\br_\bi_\bd_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bL_\bB_\bM_\bn_\bo_\bd_\be\n- # _\bL_\bB_\bM_\bn_\bo_\bd_\be_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bL_\bB_\bM_\bn_\bo_\bd_\be_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bF_\b0\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bF_\be\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\ba_\bl_\bp_\bh_\ba\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bc_\bo_\bm_\bp_\bu_\bt_\be_\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\bF_\br_\bo_\bm_\bF_\b0_\b(_\b)\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bc_\bo_\bm_\bp_\bu_\bt_\be_\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\bF_\br_\bo_\bm_\bF_\b0_\bF_\be_\b(_\b)\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bk\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bp_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b(_\b)\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bs_\be_\bt_\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b(_\b)\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bx_\b0\n- # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bx_\be\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br_\b._\bd_\be_\ba_\bd\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br_\b._\bt_\be_\bs_\bt_\be_\br\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n # _\bE_\bn_\be_\br_\bg_\by_\bT_\br_\ba_\bc_\bk_\be_\br\n # _\bE_\bn_\be_\br_\bg_\by_\bT_\br_\ba_\bc_\bk_\be_\br_\b._\bc_\bl_\be_\ba_\br_\b(_\b)\n # _\bE_\bn_\be_\br_\bg_\by_\bT_\br_\ba_\bc_\bk_\be_\br_\b._\bd_\bi_\bc_\bt_\b(_\b)\n # _\bE_\bn_\be_\br_\bg_\by_\bT_\br_\ba_\bc_\bk_\be_\br_\b._\be_\bn_\be_\br_\bg_\bi_\be_\bs\n # _\bE_\bn_\be_\br_\bg_\by_\bT_\br_\ba_\bc_\bk_\be_\br_\b._\bi_\bt_\be_\bm_\bs_\b(_\b)\n # _\bE_\bn_\be_\br_\bg_\by_\bT_\br_\ba_\bc_\bk_\be_\br_\b._\bk_\be_\by_\bs_\b(_\b)\n # _\bE_\bn_\be_\br_\bg_\by_\bT_\br_\ba_\bc_\bk_\be_\br_\b._\bt_\bo_\bt_\ba_\bl_\b(_\b)\n # _\bE_\bn_\be_\br_\bg_\by_\bT_\br_\ba_\bc_\bk_\be_\br_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be\n+ # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\b__\b__\bi_\bn_\bi_\bt_\b__\b__\b(_\b)\n+ # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bd_\be_\ba_\bd\n+ # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\be_\bx_\be_\bc_\bC_\bo_\bu_\bn_\bt\n+ # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\be_\bx_\be_\bc_\bT_\bi_\bm_\be\n+ # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bl_\ba_\bb_\be_\bl\n+ # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bo_\bm_\bp_\bT_\bh_\br_\be_\ba_\bd_\bs\n+ # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bs_\bl_\ba_\bv_\be_\bs\n+ # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs\n+ # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bL_\bB_\bM_\bn_\bo_\bd_\be\n+ # _\bL_\bB_\bM_\bn_\bo_\bd_\be_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bL_\bB_\bM_\bn_\bo_\bd_\be_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd\n+ # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bg_\br_\bi_\bd\n+ # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bk_\bn_\bo_\bw_\bn\n+ # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bp_\bh_\bi_\b(_\b)\n+ # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bp_\bh_\bi_\bI_\bn_\bi\n+ # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bs_\bp_\be_\be_\bd\n+ # _\bF_\ba_\bs_\bt_\bM_\ba_\br_\bc_\bh_\bi_\bn_\bg_\bM_\be_\bt_\bh_\bo_\bd_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bD_\bi_\bs_\bt_\bM_\bi_\bd\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bP_\bo_\bi_\bn_\bt_\bi_\bn_\bg_\bO_\bu_\bt_\bs_\bi_\bd_\be\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bV_\bb_\bM_\bi_\bd\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bc_\bt\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bd_\bi_\bc_\bt_\b(_\b)\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bf_\bi_\bd\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bi\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bi_\bd_\bx_\b__\bs_\bi_\bg_\bm_\ba_\b__\bi\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bi_\bs_\bB_\bd\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bn_\bi_\bd_\b1\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bn_\bi_\bd_\b2\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bs_\bi_\bd\n # _\bL_\bB_\bM_\bl_\bi_\bn_\bk_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bE_\bn_\bg_\bi_\bn_\be\n- # _\bE_\bn_\bg_\bi_\bn_\be_\b._\bd_\be_\ba_\bd\n- # _\bE_\bn_\bg_\bi_\bn_\be_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bE_\bn_\bg_\bi_\bn_\be_\b._\be_\bx_\be_\bc_\bC_\bo_\bu_\bn_\bt\n- # _\bE_\bn_\bg_\bi_\bn_\be_\b._\be_\bx_\be_\bc_\bT_\bi_\bm_\be\n- # _\bE_\bn_\bg_\bi_\bn_\be_\b._\bl_\ba_\bb_\be_\bl\n- # _\bE_\bn_\bg_\bi_\bn_\be_\b._\bo_\bm_\bp_\bT_\bh_\br_\be_\ba_\bd_\bs\n- # _\bE_\bn_\bg_\bi_\bn_\be_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs\n- # _\bE_\bn_\bg_\bi_\bn_\be_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bA_\bV_\be_\bl\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bF_\bh\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bM_\bh\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bf_\bm\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bf_\bo_\br_\bc_\be\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bf_\bp\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bi_\bs_\bE_\br_\bo_\bd_\be_\bd\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bm_\bm\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bm_\bo_\bm_\be_\bn_\bt_\bu_\bm\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bm_\bp\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bp_\bo_\bs\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\br_\ba_\bd_\bi_\bu_\bs\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bs_\ba_\bv_\be_\bP_\br_\bo_\bp_\be_\br_\bt_\bi_\be_\bs\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bt_\by_\bp_\be\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bv_\be_\bl\n+ # _\bG_\be_\bn_\be_\br_\bi_\bc_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl\n+ # _\bG_\be_\bn_\be_\br_\bi_\bc_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bG_\be_\bn_\be_\br_\bi_\bc_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bb_\bo_\bx_\be_\bs_\bF_\bi_\bl_\be\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bd_\be_\ba_\bd\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bf_\bi_\bl_\bl_\bR_\ba_\bn_\bg_\be_\bD_\br_\ba_\bw\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bf_\bi_\bl_\bl_\bR_\ba_\bn_\bg_\be_\bF_\bi_\bl_\bl\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bl_\be_\bv_\be_\bl_\bR_\ba_\bn_\bg_\be_\bD_\br_\ba_\bw\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bn_\bo_\bF_\bi_\bl_\bl_\bZ_\be_\br_\bo\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bA_\bd_\bh_\be_\bs_\bi_\bv_\be_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl\n+ # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bA_\bd_\bh_\be_\bs_\bi_\bv_\be_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\ba_\bl_\bp_\bh_\ba\n+ # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bA_\bd_\bh_\be_\bs_\bi_\bv_\be_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bA_\bd_\bh_\be_\bs_\bi_\bv_\be_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bf_\ba_\bd_\bh\n+ # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bA_\bd_\bh_\be_\bs_\bi_\bv_\be_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br\n+ # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br_\b._\ba_\bl_\bg_\bo\n+ # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br_\b._\bc_\bo_\bm_\bp_\bu_\bt_\be_\bF_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\b(_\b)\n+ # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br_\b._\bm_\ba_\bt_\bc_\bh_\be_\bs\n+ # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bM_\ba_\bt_\bc_\bh_\bM_\ba_\bk_\be_\br_\b._\bv_\ba_\bl\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br_\b._\bd_\be_\ba_\bd\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br_\b._\bt_\be_\bs_\bt_\be_\br\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bL_\ba_\bw_\bT_\be_\bs_\bt_\be_\br_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n # _\bS_\be_\br_\bi_\ba_\bl_\bi_\bz_\ba_\bb_\bl_\be\n # _\bS_\be_\br_\bi_\ba_\bl_\bi_\bz_\ba_\bb_\bl_\be_\b._\bd_\bi_\bc_\bt_\b(_\b)\n # _\bS_\be_\br_\bi_\ba_\bl_\bi_\bz_\ba_\bb_\bl_\be_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br\n- # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bb_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br\n- # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bc_\bl_\be_\ba_\br_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b(_\b)\n- # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bg_\be_\bt_\bC_\bo_\bu_\bn_\bt_\b(_\b)\n- # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bi_\bn_\bs_\be_\br_\bt_\bB_\bo_\bd_\by_\b(_\b)\n- # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bi_\bn_\bs_\be_\br_\bt_\bB_\bo_\bd_\by_\bL_\bi_\bs_\bt_\bP_\by_\b(_\b)\n- # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bs_\bu_\bb_\bd_\bo_\bm_\ba_\bi_\bn_\bR_\ba_\bn_\bk\n- # _\bM_\bP_\bI_\bB_\bo_\bd_\by_\bC_\bo_\bn_\bt_\ba_\bi_\bn_\be_\br_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl\n- # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\ba_\bl_\bp_\bh_\ba\n- # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\bD_\br_\ba_\bw_\be_\br\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\bD_\br_\ba_\bw_\be_\br_\b._\bd_\be_\ba_\bd\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\bD_\br_\ba_\bw_\be_\br_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\bD_\br_\ba_\bw_\be_\br_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bT_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs\n- # _\bT_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs_\b._\bd_\ba_\bt_\ba\n- # _\bT_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs_\b._\br_\be_\bs_\be_\bt_\b(_\b)\n- # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be\n- # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\b__\b__\bi_\bn_\bi_\bt_\b__\b__\b(_\b)\n- # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bd_\be_\ba_\bd\n- # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\be_\bx_\be_\bc_\bC_\bo_\bu_\bn_\bt\n- # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\be_\bx_\be_\bc_\bT_\bi_\bm_\be\n- # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bl_\ba_\bb_\be_\bl\n- # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bo_\bm_\bp_\bT_\bh_\br_\be_\ba_\bd_\bs\n- # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bs_\bl_\ba_\bv_\be_\bs\n- # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bt_\bi_\bm_\bi_\bn_\bg_\bD_\be_\bl_\bt_\ba_\bs\n- # _\bP_\ba_\br_\ba_\bl_\bl_\be_\bl_\bE_\bn_\bg_\bi_\bn_\be_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n # _\bC_\be_\bl_\bl\n # _\bC_\be_\bl_\bl_\b._\bd_\bi_\bc_\bt_\b(_\b)\n # _\bC_\be_\bl_\bl_\b._\bf_\bl_\bi_\bp_\bC_\be_\bl_\bl_\b(_\b)\n # _\bC_\be_\bl_\bl_\b._\bf_\bl_\bi_\bp_\bF_\bl_\bi_\bp_\bp_\ba_\bb_\bl_\be\n # _\bC_\be_\bl_\bl_\b._\bg_\be_\bt_\bD_\be_\bf_\bG_\br_\ba_\bd_\b(_\b)\n # _\bC_\be_\bl_\bl_\b._\bg_\be_\bt_\bE_\bu_\bl_\be_\br_\bi_\ba_\bn_\bA_\bl_\bm_\ba_\bn_\bs_\bi_\bS_\bt_\br_\ba_\bi_\bn_\b(_\b)\n # _\bC_\be_\bl_\bl_\b._\bg_\be_\bt_\bL_\bC_\ba_\bu_\bc_\bh_\by_\bG_\br_\be_\be_\bn_\bD_\be_\bf_\b(_\b)\n@@ -23529,41 +23535,35 @@\n # _\bC_\be_\bl_\bl_\b._\bu_\bn_\bs_\bh_\be_\ba_\br_\bT_\br_\bs_\bf\n # _\bC_\be_\bl_\bl_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n # _\bC_\be_\bl_\bl_\b._\bv_\be_\bl_\bG_\br_\ba_\bd\n # _\bC_\be_\bl_\bl_\b._\bv_\be_\bl_\bG_\br_\ba_\bd_\bC_\bh_\ba_\bn_\bg_\be_\bd\n # _\bC_\be_\bl_\bl_\b._\bv_\bo_\bl_\bu_\bm_\be\n # _\bC_\be_\bl_\bl_\b._\bw_\br_\ba_\bp_\b(_\b)\n # _\bC_\be_\bl_\bl_\b._\bw_\br_\ba_\bp_\bP_\bt_\b(_\b)\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bA_\bV_\be_\bl\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bF_\bh\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bM_\bh\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bf_\bm\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bf_\bo_\br_\bc_\be\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bf_\bp\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bi_\bs_\bE_\br_\bo_\bd_\be_\bd\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bm_\bm\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bm_\bo_\bm_\be_\bn_\bt_\bu_\bm\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bm_\bp\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bp_\bo_\bs\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\br_\ba_\bd_\bi_\bu_\bs\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bs_\ba_\bv_\be_\bP_\br_\bo_\bp_\be_\br_\bt_\bi_\be_\bs\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bt_\by_\bp_\be\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n- # _\bL_\bB_\bM_\bb_\bo_\bd_\by_\b._\bv_\be_\bl\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bb_\bo_\bx_\be_\bs_\bF_\bi_\bl_\be\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bd_\be_\ba_\bd\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bd_\bi_\bc_\bt_\b(_\b)\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bf_\bi_\bl_\bl_\bR_\ba_\bn_\bg_\be_\bD_\br_\ba_\bw\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bf_\bi_\bl_\bl_\bR_\ba_\bn_\bg_\be_\bF_\bi_\bl_\bl\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bl_\be_\bv_\be_\bl_\bR_\ba_\bn_\bg_\be_\bD_\br_\ba_\bw\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bn_\bo_\bF_\bi_\bl_\bl_\bZ_\be_\br_\bo\n- # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\b__\bO_\bc_\bt_\br_\be_\be_\bC_\bu_\bb_\be_\bs_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\bD_\br_\ba_\bw_\be_\br\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\bD_\br_\ba_\bw_\be_\br_\b._\bd_\be_\ba_\bd\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\bD_\br_\ba_\bw_\be_\br_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bG_\bl_\bE_\bx_\bt_\br_\ba_\bD_\br_\ba_\bw_\be_\br_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bF_\b0\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bF_\be\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\ba_\bl_\bp_\bh_\ba\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bc_\bo_\bm_\bp_\bu_\bt_\be_\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\bF_\br_\bo_\bm_\bF_\b0_\b(_\b)\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bc_\bo_\bm_\bp_\bu_\bt_\be_\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\bF_\br_\bo_\bm_\bF_\b0_\bF_\be_\b(_\b)\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bk\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bp_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b(_\b)\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bs_\be_\bt_\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br_\bs_\b(_\b)\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bx_\b0\n+ # _\bL_\bi_\bn_\bE_\bx_\bp_\bo_\bn_\be_\bn_\bt_\bi_\ba_\bl_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bx_\be\n+ # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl\n+ # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\ba_\bl_\bp_\bh_\ba\n+ # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bd_\bi_\bc_\bt_\b(_\b)\n+ # _\bC_\bu_\bn_\bd_\ba_\bl_\bl_\bS_\bt_\br_\ba_\bc_\bk_\bP_\bo_\bt_\be_\bn_\bt_\bi_\ba_\bl_\b._\bu_\bp_\bd_\ba_\bt_\be_\bA_\bt_\bt_\br_\bs_\b(_\b)\n *\b**\b**\b* P\bPr\bre\bev\bvi\bio\bou\bus\bs t\bto\bop\bpi\bic\bc *\b**\b**\b*\n _\bU_\bs_\be_\br_\b\u2019_\bs_\b _\bm_\ba_\bn_\bu_\ba_\bl\n *\b**\b**\b* N\bNe\bex\bxt\bt t\bto\bop\bpi\bic\bc *\b**\b**\b*\n _\bY_\ba_\bd_\be_\b _\bm_\bo_\bd_\bu_\bl_\be_\bs_\b _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n *\b**\b**\b**\b* T\bTh\bhi\bis\bs P\bPa\bag\bge\be *\b**\b**\b**\b*\n * _\bS_\bh_\bo_\bw_\b _\bS_\bo_\bu_\br_\bc_\be\n *\b**\b**\b**\b* Q\bQu\bui\bic\bck\bk s\bse\bea\bar\brc\bch\bh *\b**\b**\b**\b*\n"}]}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-074dfc96e9799727b259019334fd20f6fe2e245d.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-d354e1a802cbf2169fa86c84cb9b56dd1ea12760.png.map", "comments": ["Files 12% similar despite different names"], "unified_diff": "@@ -1,7 +1,7 @@\n \n \"\"\n \"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-0a4a41c87c3cd011acdd0925a5322d245aaad22e.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-7b227d9efedf28b2c45dae7a66a9b9feea748556.png.map", "comments": ["Files 2% similar despite different names"], "unified_diff": "@@ -1,25 +1,25 @@\n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-107be9f5b4909c78fd94debc5819204c7cffb923.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-76607aa9c9c5c9c6abb99fddf4223131c02b8d1d.png.map", "comments": ["Files 2% similar despite different names"], "unified_diff": "@@ -1,23 +1,23 @@\n \n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-13c170358a3e275d54dbe5ef6bcbf43c2fe7369c.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-c776f2e53635ebf4f2110088ea81ee9c0617b23a.png.map", "comments": ["Files 6% similar despite different names"], "unified_diff": "@@ -1,25 +1,25 @@\n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-1808fea3a20c38d4cd0b6aa3f24fe72a560e2e91.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-096a8ad2249663fd9316831b9a2019aed4277e9d.png.map", "comments": ["Files 2% similar despite different names"], "unified_diff": "@@ -1,29 +1,29 @@\n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-276a15721907526623594a980c55509b4ae67121.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-ce9914d068e6037d3005d910a43e4daf266da57e.png.map", "comments": ["Files 9% similar despite different names"], "unified_diff": "@@ -1,16 +1,16 @@\n \n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-366786bf2c56b36d359ec17b9ce652faf9c8d1d9.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-70288add9f5a28d218cd7274bf3bd78e91807378.png.map", "comments": ["Files 2% similar despite different names"], "unified_diff": "@@ -1,17 +1,17 @@\n \n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-38391193205e47fbdb57aff5f2abce6e05321bc3.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-29d886276218a46b374ae5d69a8de40a95e06752.png.map", "comments": ["Files 4% similar despite different names"], "unified_diff": "@@ -1,13 +1,13 @@\n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-4e3c2643e358321e88d2319defec48c0bcef3db7.png", "source2": "./usr/share/doc/yade/html/_images/graphviz-c161a15c85e66aa009af68a0d6a79c741ca33ec3.png", "comments": ["Files identical despite different names"], "unified_diff": null}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-4e3c2643e358321e88d2319defec48c0bcef3db7.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-c161a15c85e66aa009af68a0d6a79c741ca33ec3.png.map", "comments": ["Files 0% similar despite different names"], "unified_diff": "@@ -1,7 +1,7 @@\n \n \"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n \"\"\n \"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-4f1fc9a7013f32c436b5eb3bf3386e390b9a9d23.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-17bfe631a17a2c47a0b9225d6c628db7d7848d3c.png.map", "comments": ["Files 6% similar despite different names"], "unified_diff": "@@ -1,23 +1,23 @@\n \n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-81a7d122579d0c5b5d1b0eeed597f02659670ad7.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-3223860f5e033837128fdfacbab13b5404ae3709.png.map", "comments": ["Files 8% similar despite different names"], "unified_diff": "@@ -1,32 +1,32 @@\n \n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-83cfced80f5d4a7e72c394ef55e65198f2a53ed4.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-20f6abc1cefbe637270246b3e5bf422a00da1f83.png.map", "comments": ["Files 5% similar despite different names"], "unified_diff": "@@ -1,13 +1,13 @@\n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-882c411b862655b9714e77b2bbb3eddbe4506e17.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-4ef2eaa62153ff8574755392eca7d99c71473565.png.map", "comments": ["Files 24% similar despite different names"], "unified_diff": "@@ -1,8 +1,8 @@\n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-8e06af367df9012c9a493fb551a5b776b36be08d.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-80d26d2c402e21cd5cd70a6808bda247ce323a5a.png.map", "comments": ["Files 1% similar despite different names"], "unified_diff": "@@ -1,23 +1,23 @@\n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-981479fc69f12c6234b7d78e7ccbfb1beb7ade8a.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-3fb13b6cbb973040c76514a05f45a7a87d9d9040.png.map", "comments": ["Files 2% similar despite different names"], "unified_diff": "@@ -1,27 +1,27 @@\n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-9be7689398a3a27d3d52ac630f978043f3731a7f.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-2a483ba8257a71727ab479f3edb66ed64594646b.png.map", "comments": ["Files 3% similar despite different names"], "unified_diff": "@@ -1,18 +1,18 @@\n \n \"\"\n \"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-ad56aa0af6c86b4b8f90d5d7e4ad1245bcf598f1.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-72fe811d1f0727f5492ec2ccfdb8aa9ae01469a6.png.map", "comments": ["Files 10% similar despite different names"], "unified_diff": "@@ -1,16 +1,16 @@\n \n \"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-b3744f157c93378bdce3246db6dc87a43277a473.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-ad1b210c404b47515d68d58a32ca143385fc1819.png.map", "comments": ["Files 9% similar despite different names"], "unified_diff": "@@ -1,18 +1,18 @@\n \n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n+\"\"\n \n"}, {"source1": "./usr/share/doc/yade/html/_images/graphviz-d4f57527196c008850b8ddecea5f0d920c27a2af.png.map", "source2": "./usr/share/doc/yade/html/_images/graphviz-a506055a2b97c4536e13af610020acc55854328f.png.map", "comments": ["Files 18% similar despite different names"], "unified_diff": "@@ -1,5 +1,5 @@\n \n \"\"\n-\"\"\n-\"\"\n+\"\"\n+\"\"\n \n"}]}]}]}, {"source1": "yade_2024.02a-1_amd64.deb", "source2": "yade_2024.02a-1_amd64.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-02-10 08:19:39.000000 debian-binary\n -rw-r--r-- 0 0 0 18976 2024-02-10 08:19:39.000000 control.tar.xz\n--rw-r--r-- 0 0 0 2395572 2024-02-10 08:19:39.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 2395844 2024-02-10 08:19:39.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "./usr/share/man/man1/yade-batch.1.gz", "source2": "./usr/share/man/man1/yade-batch.1.gz", "unified_diff": null, "details": [{"source1": "yade-batch.1", "source2": "yade-batch.1", "unified_diff": "@@ -18,15 +18,15 @@\n .TP\n \\fB\\-h\\fR, \\fB\\-\\-help\\fR\n show this help message and exit\n .TP\n \\fB\\-j\\fR NUM, \\fB\\-\\-jobs\\fR NUM\n Maximum number of simultaneous threads to run\n (default: number of cores, further limited by\n-OMP_NUM_THREADS if set by the environment: 20)\n+OMP_NUM_THREADS if set by the environment: 42)\n .TP\n \\fB\\-v\\fR, \\fB\\-\\-version\\fR\n Print version and exit.\n .TP\n \\fB\\-\\-job\\-threads\\fR NUM\n Default number of threads for one job; can be\n overridden by per\\-job with !THREADS (or\n"}]}]}]}]}]}