(sorry for previous empty message) Hi, I don't think DEM can realistically work with floats. If 100 particles in a row are elongated by 0.01%, the relative displacement between the 99th and 100th particles is 1e-6 times the positions. With single precision it would already produce substantial numerical noise in terms of contact force. I mentioned single precision in relation with solving linear systems with cholmod, and that part does not support HP. I think we can skip the float pipeline. :) Cheers Bruno
On Sun, 1 Mar 2020 at 16:24, Janek Kozicki (yade) <jkozicki-y...@pg.edu.pl> wrote: > Hi, > > The high precision tests are now running in the gitlab pipeline. And > we can be sure that `double` are not getting by accident into master. > (except for the modules which are not supported by HP right now [1], > in there some `double` could sneak in) > > This work also makes low-precision possible. I didn't add this to the > pipeline, thinking it's not of much use. In some comment Bruno > mentioned that some people want to use float in the GPUs to get the > results faster. (Whether these results are correct is a topic for a > different discussion :) > > I could prepare a merge request that adds float to the pipeline, > because it is compiling (so it works) but it is not passing the tests. > > The disadvantage is that in many test scripts an exception will have > to be written using following distinction: > if (yade.config.highPrecisionDecimalPlaces < 7): > > That's because some of the tests produce different results when float > is used, which is not a surprise ;) > > Currently yade --check has following failures on float: > > 7 checks are failed > checkColliderConstantness.py > checkViscElEng.py > checkPotentialParticles.py > checkColliderCorrectness.py > checkJCFpm.py > checkWirePM.py > checkCapillaryModels.py > > And yade --test also has similar errors due to only 6 available > decimal places. The log is longer, so I attach it. > > And most of these failures are because the results are compared with > 1e-8 precision, while float maximally can offer 6 decimal places. > > best regards > Janek > > > [1] > https://yade-dev.gitlab.io/-/trunk/-/jobs/455155443/artifacts/install/share/doc/yade-ci/html/HighPrecisionReal.html#supported-modules > > > > -- > Janek Kozicki, PhD. DSc. Arch. Assoc. Prof. > Gdańsk University of Technology > Faculty of Applied Physics and Mathematics > Department of Theoretical Physics and Quantum Information > -- > http://yade-dem.org/ > http://pg.edu.pl/jkozicki (click English flag on top right) > _______________________________________________ > Mailing list: https://launchpad.net/~yade-dev > Post to : yade-dev@lists.launchpad.net > Unsubscribe : https://launchpad.net/~yade-dev > More help : https://help.launchpad.net/ListHelp > -- -- _______________ Bruno Chareyre Associate Professor ENSE³ - Grenoble INP Lab. 3SR BP 53 38041 Grenoble cedex 9 Tél : +33 4 56 52 86 21 ________________ Email too brief? Here's why: email charter <https://marcuselliott.co.uk/wp-content/uploads/2017/04/emailCharter.jpg>
_______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp