YadeDocumentation

Yade Documentation

V?clav Smilauer, Emanuele Catalano, Bruno Chareyre, Sergei Dorofeenko, J?r?me Duriez, Nolan Dyck, Jan Eli?s, Burak Er, Alexander Eulitz, Anton Gladky, Ning Guo, Christian Jakob, Fran?ois Kneib, Janek Kozicki, Donia Marzougui, Rapha?l Maurin, Chiara Modenese, Luc Scholt?s, Luc Sibille, Jan Str?nsk?, Thomas Sweijen,

Klaus Thoeni, Chao Yuan 2nd Edition, after Release 2021-09-14.git-44b94a0, September 23, 2021

Authors

? V?clav Smilauer Freelance consultant () ? Emanuele Catalano Grenoble INP, UJF, CNRS, lab. 3SR ? Bruno Chareyre Grenoble INP, UJF, CNRS, lab. 3SR ? Sergei Dorofeenko IPCP RAS, Chernogolovka ? J?r?me Duriez INRAE, Aix Marseille Univ, RECOVER, Aix-en-Provence, France ? Nolan Dyck Univ. of Western Ontario ? Jan Eli?s Brno University of Technology ? Burak Er Bursa Technical University ? Alexander Eulitz TU Berlin / Institute for Machine Tools

and Factory Management ? Anton Gladky TU Bergakademie Freiberg ? Ning Guo Hong Kong Univ. of Science and Tech. ? Christian Jakob TU Bergakademie Freiberg ? Fran?ois Kneib Grenoble INP, UJF, CNRS, lab. 3SR / Irstea Grenoble ? Janek Kozicki Gdansk University of Technology ? Donia Marzougui Grenoble INP, UJF, CNRS, lab. 3SR ? Rapha?l Maurin Irstea Grenoble ? Chiara Modenese University of Oxford ? Luc Scholt?s Grenoble INP, UJF, CNRS, lab. 3SR ? Luc Sibille University of Nantes, lab. GeM ? Jan Str?nsk? CVUT Prague ? Thomas Sweijen Utrecht University ? Klaus Thoeni The University of Newcastle (Australia) ? Chao Yuan Grenoble INP, UJF, CNRS, lab. 3SR

Citing this document

In order to let users cite Yade consistently in publications, we provide a list of bibliographic references for the different parts of the documentation. We therefore kindly ask users to cite Yade as accurately as possible in their papers, as explained at .

i

ii

Contents

1 Guided tour

1

1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.2 Architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.2.2 Hands-on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.2.3 Data mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.2.4 Setting up a simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

1.2.5 Advanced & more . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

1.2.6 Examples with tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

1.2.7 More examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2 Yade for users

51

2.1 DEM formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

2.1.1 Collision detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

2.1.2 Creating interaction between particles . . . . . . . . . . . . . . . . . . . . . . . . 55

2.1.3 Kinematic variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

2.1.4 Contact model (example) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

2.1.5 Motion integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

2.1.6 Periodic boundary conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

2.1.7 Computational aspects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

2.2 User's manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

2.2.1 Scene construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

2.2.2 Controlling simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

2.2.3 Postprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

2.2.4 Python specialties and tricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

2.2.5 Extending Yade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

2.2.6 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

2.3 Yade wrapper class reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

2.3.1 Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

2.3.2 Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

2.3.3 Global engines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

2.3.4 Partial engines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

2.3.5 Dispatchers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445

2.3.6 Functors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450

2.3.7 Bounding volume creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450

2.3.8 Interaction Geometry creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459

2.3.9 Interaction Physics creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479

2.3.10 Constitutive laws . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496

2.3.11 Internal forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521

2.3.12 Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523

2.3.13 Preprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523

2.3.14 Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531

2.3.15 Simulation data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547

2.3.16 Other classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557

iii

2.4 Yade modules reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 2.4.1 yade.bodiesHandling module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 2.4.2 yade.export module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 2.4.3 yade.geom module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 2.4.4 yade.gridpfacet module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 2.4.5 yade.libVersions module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 2.4.6 yade.linterpolation module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583 2.4.7 yade.log module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584 2.4.8 yade.math module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585 2.4.9 yade.minieigenHP module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610 2.4.10 yade.mpy module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657 2.4.11 yade.pack module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662 2.4.12 yade.plot module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673 2.4.13 yade.polyhedra_utils module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677 2.4.14 yade.post2d module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678 2.4.15 yade.qt module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681 2.4.16 yade.timing module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683 2.4.17 yade.utils module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684 2.4.18 yade.ymport module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700

2.5 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704 2.5.1 Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704 2.5.2 Docker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 2.5.3 Source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 2.5.4 Speed-up compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712 2.5.5 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713 2.5.6 GPU Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713 2.5.7 Special builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713 2.5.8 Yubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714

2.6 Acknowledging Yade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714 2.6.1 Citing the Yade Project as a whole (the lazy citation method) . . . . . . . . . . . 714 2.6.2 Citing chapters of Yade Documentation . . . . . . . . . . . . . . . . . . . . . . . 715

3 Yade for programmers

717

3.1 Programmer's manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717

3.1.1 Build system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717

3.1.2 Development tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718

3.1.3 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719

3.1.4 Regression tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725

3.1.5 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727

3.1.6 Support framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732

3.1.7 Simulation framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756

3.1.8 Runtime structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762

3.1.9 Python framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763

3.1.10 Adding a new python/C++ module . . . . . . . . . . . . . . . . . . . . . . . . . 765

3.1.11 Maintaining compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767

3.2 Yade on GitLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768

3.2.1 Fast checkout (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768

3.2.2 Branches on GitLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768

3.2.3 Merge requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771

3.2.4 Guidelines for pushing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772

4 Theoretical background and extensions

773

4.1 DEM formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773

4.2 CFD-DEM coupled simulations with Yade and OpenFOAM . . . . . . . . . . . . . . . . . 773

4.2.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773

4.2.2 Setting up a case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777

4.2.3 Post-Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778

4.3 FEM-DEM hierarchical multiscale modeling with Yade and Escript . . . . . . . . . . . . 778

iv

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download

To fulfill the demand for quickly locating and searching documents.

It is intelligent file search solution for home and business.

Literature Lottery

Related searches