|
|
ix | |
|
|
xiii | |
Introduction |
|
xv | |
|
Chapter 1 Object Oriented Approach and UML |
|
|
1 | (14) |
|
1.1 Object Oriented (OO) paradigms |
|
|
1 | (3) |
|
1.2 OO analysis and design |
|
|
4 | (5) |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
5 | (1) |
|
|
5 | (1) |
|
|
6 | (1) |
|
1.2.6 Genericity with the template classes |
|
|
7 | (1) |
|
1.2.7 Encapsulation and class interface |
|
|
8 | (1) |
|
|
9 | (6) |
|
|
10 | (2) |
|
|
12 | (3) |
|
Chapter 2 Operating Architecture |
|
|
15 | (38) |
|
|
16 | (7) |
|
|
18 | (1) |
|
2.1.2 The Examples directory |
|
|
19 | (1) |
|
|
19 | (2) |
|
2.1.4 The Licenses directory |
|
|
21 | (1) |
|
2.1.5 The Local directory |
|
|
22 | (1) |
|
2.1.6 The Tests directory |
|
|
22 | (1) |
|
2.1.7 The Too Is directory |
|
|
22 | (1) |
|
2.2 Compilation process of the executable file |
|
|
23 | (2) |
|
2.3 Launching a GranOO executable |
|
|
25 | (1) |
|
|
26 | (8) |
|
2.4.1 Quick introduction to XML: the tags |
|
|
26 | (1) |
|
2.4.2 Input file structure |
|
|
27 | (1) |
|
2.4.3 The header and footer sections |
|
|
28 | (1) |
|
2.4.4 The plugin sections |
|
|
28 | (2) |
|
2.4.5 Input file validation process |
|
|
30 | (4) |
|
2.5 The magic world of the plugins |
|
|
34 | (10) |
|
2.5.1 The standard plugins versus user plugins |
|
|
34 | (1) |
|
2.5.2 Writing a good plugin |
|
|
34 | (1) |
|
2.5.3 The plugin class hierarchy |
|
|
35 | (1) |
|
2.5.4 The plugin object factory |
|
|
36 | (1) |
|
2.5.5 Interaction with the input file |
|
|
37 | (5) |
|
2.5.6 Calling a plugin from another plugin |
|
|
42 | (2) |
|
|
44 | (9) |
|
2.6.1 The output directory |
|
|
44 | (1) |
|
|
45 | (1) |
|
|
46 | (6) |
|
|
52 | (1) |
|
Chapter 3 Focus on Libraries |
|
|
53 | (48) |
|
3.1 The geometrical library |
|
|
54 | (19) |
|
|
54 | (2) |
|
3.1.2 All you need is frame |
|
|
56 | (2) |
|
|
58 | (2) |
|
|
60 | (1) |
|
3.1.5 The quaternion class |
|
|
61 | (2) |
|
|
63 | (1) |
|
|
64 | (1) |
|
3.1.8 The elastic pendulum example |
|
|
65 | (8) |
|
|
73 | (1) |
|
|
73 | (26) |
|
3.2.1 Focus on the SetOf class environment |
|
|
74 | (8) |
|
3.2.2 The discrete element classes |
|
|
82 | (2) |
|
3.2.3 The physical property class group |
|
|
84 | (3) |
|
3.2.4 The interaction class group |
|
|
87 | (4) |
|
3.2.5 The discrete shape classes |
|
|
91 | (2) |
|
3.2.6 Class serialization using boost library |
|
|
93 | (4) |
|
3.2.7 On-the-fly contact detection and treatment |
|
|
97 | (2) |
|
3.3 The libMySandbox library |
|
|
99 | (1) |
|
|
99 | (2) |
|
Chapter 4 Tools and Practical Examples of Use of GranOO |
|
|
101 | (48) |
|
|
101 | (13) |
|
4.1.1 gddViewer program: a tool to visualize GDD files |
|
|
101 | (3) |
|
4.1.2 Postprocessing sensors data with plot-sensor-data.py |
|
|
104 | (3) |
|
4.1.3 Building and running parametric studies |
|
|
107 | (4) |
|
4.1.4 Building gdd file with cooker |
|
|
111 | (3) |
|
4.15 Cohesive beam calibration |
|
|
114 | (5) |
|
|
118 | (1) |
|
4.2 Granular simulation: the bluewave example |
|
|
119 | (5) |
|
4.3 The continuous discrete element model |
|
|
124 | (23) |
|
4.3.1 Silica glass calibration |
|
|
124 | (6) |
|
4.3.2 The failure tensile test |
|
|
130 | (11) |
|
4.3.3 The failure torsion problem |
|
|
141 | (2) |
|
4.3.4 Loose abrasive grinding of silica glass |
|
|
143 | (4) |
|
|
147 | (2) |
Conclusion |
|
149 | (4) |
Appendices |
|
153 | (2) |
Appendix 1 Using Quaternions |
|
155 | (14) |
Appendix 2 Pendulum Problem Complete Code |
|
169 | (6) |
Bibliography |
|
175 | (4) |
Index |
|
179 | |