On the Modeling, Simulation, and Visualization of Many-Body Dynamics Problems with Friction and Contact
Total Page:16
File Type:pdf, Size:1020Kb
ON THE MODELING, SIMULATION, AND VISUALIZATION OF MANY-BODY DYNAMICS PROBLEMS WITH FRICTION AND CONTACT By Toby D. Heyn A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Mechanical Engineering) at the UNIVERSITY OF WISCONSIN–MADISON 2013 Date of final oral examination: 05/06/2013 The dissertation is approved by the following members of the Final Oral Committee: Dan Negrut, Associate Professor, Mechanical Engineering Stephen Wright, Professor, Computer Science Nicola J. Ferrier, Professor, Mechanical Engineering Neil A. Duffie, Professor, Mechanical Engineering Krishnan Suresh, Associate Professor, Mechanical Engineering Mihai Anitescu, Professor, Statistics, University of Chicago c Copyright by Toby D. Heyn 2013 All Rights Reserved i To my (growing) family ii ACKNOWLEDGMENTS I would like to thank my advisor, Professor Dan Negrut, for his guidance and support. His dedication and commitment continue to inspire me. I would also like to thank Professor Alessandro Tasora and Dr. Mihai Anitescu for their assistance throughout this work. I am also grateful for the expertise of the other committe members, and the assistance, friendship, and conversation of my colleagues in the Simulation-Based Engineering Laboratory. Finally, I am so grateful to my family. The unconditional love, support, and patience of my wife, parents, and sisters means so much to me. DISCARD THIS PAGE iii TABLE OF CONTENTS Page LIST OF TABLES ....................................... vi LIST OF FIGURES ...................................... vii ABSTRACT ..........................................xiii 1 Introduction ........................................ 1 1.1 Background . 2 1.2 Motivation . 3 1.3 Document Overview . 5 1.4 Specific Contributions . 7 2 Many-Body Dynamics .................................. 9 2.1 DVI Formulation . 9 2.1.1 Bilateral Constraints . 10 2.1.2 Unilateral Constraints . 10 2.1.3 Overall Model . 13 2.1.4 Time-Stepping Scheme . 14 2.1.5 Preliminaries and Important Properties . 16 2.1.6 On the Lack of Uniqueness in the DVI Solution . 27 2.2 DEM Formulation . 28 2.2.1 Normal Force Model . 28 2.2.2 Tangential Force Model . 29 2.2.3 Overall Method for DEM . 30 3 Parallel Computing .................................... 32 3.1 Motivation and Background . 32 3.2 GPU Computing . 34 3.2.1 GPU Hardware Structure . 35 3.2.2 GPU Software Structure . 36 iv Page 3.3 MPI Parallelism . 38 3.4 OpenMP Parallelism . 40 4 Iterative Methods for DVI Formulation ......................... 42 4.1 Jacobi and Gauss-Seidel . 42 4.2 Krylov Methods . 45 4.2.1 MINRES . 46 4.3 Gradient-Projected Minimum Residual Method (Frictionless Problems) . 47 4.4 Accelerated Projected Gradient Descent . 51 4.4.1 Adaptive Step Size . 53 4.4.2 Adaptive Restart . 54 4.4.3 Fall-Back . 55 4.4.4 APGD Algorithm . 55 4.4.5 Notes on the Performance of APGD . 57 4.5 Primal-Dual Interior Point Method . 61 4.5.1 Application to CCP . 65 4.5.2 PDIP Algorithm . 68 4.6 On the Choice of Stopping Criteria . 69 4.6.1 Description of Residuals . 69 4.6.2 Comparison of Residuals for Stacking Problems . 71 4.7 Numerical Experiments . 95 4.7.1 Single-Step Convergence Experiments . 96 4.7.2 Simulation Performance Experiments . 105 5 Handling Large Many-Body Dynamics Problems within the Discrete Element Method Framework .........................................119 5.1 Algorithmic Flow . 119 5.1.1 Domain Splitting . 120 5.1.2 Data Structures and Communication Pathways . 120 5.1.3 Collision Detection . 121 5.1.4 Force Computation . 124 5.1.5 Intermediate Communication . 125 5.1.6 Dynamics and Numerical Integration . 126 5.1.7 Final Communication and Synchronization . 127 5.2 Numerical Experiments . 127 5.2.1 Scaling Analysis . 128 v Page 6 Implementation Aspects that Support Parallel Computing . 131 6.1 Overview of Chrono .................................131 6.2 Computational Flow . 132 6.3 Parallel Computing in Chrono::Rigid . 133 6.3.1 GPU and CPU Parallel Computing in DVI Approach . 134 6.3.2 MPI Support for DEM Approach . 139 7 Validation .........................................142 7.1 Analytical Validation . 142 7.1.1 Block on Incline . 142 7.1.2 Sphere on Incline . 148 7.1.3 Stack of Spheres . 162 7.2 Experimental Validation . 165 7.2.1 Mass Flow Rate . 165 7.2.2 Ball Drop . 168 8 Demonstration of Technology ..............................180 8.1 Mars Rover . 180 8.2 Simulation 1: Two Million Terrain Bodies . 182 8.3 Simulation 2: Eight Million Terrain Bodies . 185 9 Conclusions ........................................187 9.1 Future Work . 188 LIST OF REFERENCES ...................................191 APPENDIX Using MATLAB to Compare Iterative Methods . 198 DISCARD THIS PAGE vi LIST OF TABLES Table Page 4.1 Required time to perform 1 second long simulation of 1,000 bodies in Chrono . 107 4.2 Required time to perform 1 second long simulation of 2,000 bodies in Chrono . 107 4.3 Required time to perform 1 second long simulation of 4,000 bodies in Chrono . 111 4.4 Required time to perform 5 second long flow simulation of 1,000 bodies in Chrono . 112 5.1 Simulation time and speed-up for scaling analysis. 129 7.1 Parameter values for various simulation parameters. 172 8.1 Dimensions of Mars Rover . 182 DISCARD THIS PAGE vii LIST OF FIGURES Figure Page 1.1 Snapshots of preliminary Mars Rover simulation (left) and tracked vehicle simulation (right) demonstrating the need for improved terrain fidelity. 4 1.2 Comparison of discrete and continuous material representations. 6 2.1 Contact i between two bodies A and B.......................... 11 2.2 Projection of γi onto cone Υi, resulting in γ^i ...................... 24 2.3 Projection for single friction cone: (top) definition of projection, (middle) geometry of projection, (bottom) examples of projection. 25 2.4 Two spherical bodies in contact. 28 4.1 State of system used for demonstrating performance of APGD (1,000 bodies; 3,692 Contacts). 57 4.2 Objective function and residual values for APGD with and without fall-back. 58 4.3 Comparison of objective function, residual, and step length for APGD with and with- out adaptive restarting. 59 4.4 Comparison of objective function, residual, and step length for APGD with and with- out adaptive step size. 60 4.5 Test problems for comparison of residuals . 72 4.6 Objective function value for various iterative methods applied to 32 body stacking problem. 74 4.7 Residual r1 for various iterative methods applied to 32 body stacking problem. 75 4.8 Residual r2 for various iterative methods applied to 32 body stacking problem. 76 viii Figure Page 4.9 Residual r3 for various iterative methods applied to 32 body stacking problem. 77 4.10 Residual r4 for various iterative methods applied to 32 body stacking problem. 78 4.11 Objective function value for various iterative methods applied to 64 body stacking problem. 79 4.12 Residual r1 for various iterative methods applied to 64 body stacking problem. 81 4.13 Residual r2 for various iterative methods applied to 64 body stacking problem. 82 4.14 Residual r3 for various iterative methods applied to 64 body stacking problem. 83 4.15 Residual r4 for various iterative methods applied to 64 body stacking problem. 84 4.16 Objective function value for various iterative methods applied to 128 body stacking problem. 85 4.17 Residual r1 for various iterative methods applied to 128 body stacking problem. 86 4.18 Residual r2 for various iterative methods applied to 128 body stacking problem. 87 4.19 Residual r3 for various iterative methods applied to 128 body stacking problem. 88 4.20 Residual r4 for various iterative methods applied to 128 body stacking problem. 89 4.21 Objective function value for various iterative methods applied to 256 body stacking problem. 90 4.22 Residual r1 for various iterative methods applied to 256 body stacking problem. 91 4.23 Residual r2 for various iterative methods applied to 256 body stacking problem. 92 4.24 Residual r3 for various iterative methods applied to 256 body stacking problem. 93 4.25 Residual r4 for various iterative methods applied to 256 body stacking problem. 94 4.26 System configurations for single-step convergence tests for frictionless problems. 97 4.27 Convergence of iterative solvers for single time step of simulation with 1,000 bodies and 4,192 contacts (frictionless). ..