ME751 Advanced Computational Multibody Dynamics September 19, 2016 Overview of the Open-Source Multi-physics Software Chrono Antonio Recuero
Quote of the Day I don't want to achieve immortality through my work. I want to achieve it through not dying. -- Woody Allen 2
Chrono Today s topics Chrono Modules Parallelization Chrono::Vehicle Examples 3
Project Chrono collaborative endeavor University of Wisconsin Madison Dan Negrut, Radu Serban, Toby Heyn (Epic), Michal Kwarta, Justin Madsen (Oshkosh), Hammad Mazhar (NVIDIA), Dan Melanz (Energid), Arman Pazouki (Cal State Los Angeles), Milad Rakhsha, Antonio Recuero, Andrew Seidl (MapD), Mike Taylor University of Parma Alessandro Tasora, Andrea Favali (Maserati Automobili), Dario Mangoni University of Iowa Hiroyuki Sugyiama, Bryan Peterson 4
Newton-Euler Eqs. at Work 5
Ground vehicle mobility challenge 6
Complex multi-physics, multiscale problem Modeling Multibody dynamics Contact and friction Nonlinear FEA CFD and FSI Numerical methods Numerical integration (DAE/ODE/PDE, implicit, adaptive) DVI solvers (complementarity) Optimization (CCQP, PDIP) Nonlinear solvers (modified Newton) Sparse linear solvers (direct, iterative, preconditioners) Collision detection 7
Software and computational challenges Data structures (SOA vs. AOS) Algorithms Heterogeneous computing Monolithic vs Cosimulation Supercomputing (distributed memory) Group of nodes communicate through fast interconnect MPI, Charm++, Chapel Multi-socket Parallel Computing Group of CPUs operate together on the same node Compute devices accelerating parallel computation Acceleration (GPU/Phi) on one node Multi-Core Parallel Computing Communication through shared caches Vectorization Pipelining Superscalar Higher operation throughput via special/fat registers Sequence of instruction sharing functional units Non-sequence instructions sharing functional units OpenMP, MPI CUDA, OpenCL + OpenMP, MPI OpenMP, TBB, pthreads AVX, SSE Assembly Assembly We have full control We have little to no control 8
Chrono Structure and Capabilities 9
Project Chrono Growing ecosystem of software tools Multi-physics simulation engine Open source, released under permissive BSD-3 license Provides support for simulation of Many-body dynamics Nonlinear Finite Element Analysis Fluid-Solid Interaction Problems 10
What is Chrono? Middleware: can be embedded in third-party applications Modular: based on optional linking of specialized modules Expandable: via C++ inheritance Efficient: fast and robust data structures and algorithms Cross-platform: builds on Windows, Linux, OS X (MSVC, GCC, ICC, clang) 11
Modular and hierarchical structure Chrono::Engine Chrono MBD MBD API Support for Classical Multi-Body Dynamics Hardware CPU, Multicore Hardware Multiple GPU Hardware Multiple Nodes Equation Formulation Equation Solution Collision Detection HPC Support Pre/Post Processing Toolkit Chrono::Vehicle Chrono API Toolkit Chrono:: Granular Chrono FEA Chrono FSI Chrono FEA API FSI API API Toolkit Chrono:: Fording Support for Structural And Volumetric Elements Support for Fluid-Solid Interaction Toolkit Chrono::Roboti cs Future Chrono Expansion Toolkit Chrono::GeoMech Advanced Chrono Use Low-Entry Point Chrono Use 12
Chrono modules Module Chrono::Engine CASCADE COSIMULATION FEA FSI IRRLICHT MATLAB MKL OGRE OPENGL PARALLEL POSTPROCESS PYTHON VEHICLE Description Core Functionality Interoperability with CAD tools Support for co-simulation Finite Element Analysis Fluid-Solid Interaction Runtime Visualization with Irrlicht Interoperability with MATLAB Interface to Intel MKL Runtime Visualization with Ogre Runtime Visualization with OpenGL Parallel (multi-core) simulation module Tools for post-processing (POV-Ray output, Gnuplot) Python Interoperability Template-based Ground Vehicle Modeling and Simulation 13
Chrono::Engine Modeling Rigid bodies, markers, forces, torques Springs and dampers, with user-defined non-linear features Wide set of joints Impose trajectories to parts and markers Constraint motion on splines, surfaces, etc. Constraints can have limits (ex. elbow) Custom constraint for motors, reducers etc. Custom constraint for linear motors. 1-DOF elements for powertrains, drivelines, etc. Collision detection and frictional contact Fast collision detection algorithms Collision families and groups Coloumb friction model, with stick-slip Rolling and spinning friction Restitution coefficients for rebouncing Collision detection between compound shapes Bodies activation/deactivation and sleeping 14
Chrono::FEA Co-rotational formulation Bar element, Euler beam, Hexa8, Hexa20, Tetra4, Tetra10 ANCF Cable element, Shell elements (isotropic, orthotropic, composite) Other EAS brick element (isotropic and hyperelastic Mooney-Rivlin), Brick9 Support for concentrated and distributed loads Linear, surface, volumetric Built-in classes for pressure, gravitational forces Support for constraints Between two nodes, node and point on body, gradient and body direction Support for contact (penalty-based formulation) Mesh-mesh and mesh-rigid Surfaces represented as node clouds or triangular mesh 15
Chrono::FSI Current State Fluid interaction with multibody dynamics. MBD includes contact and constraint Supports flexible beam Heterogeneous computing GPU-based parallelism for fluid and OMP/AVX/SSE for MBD Constraint-based fluid simulation Under development Implicit incompressible CFD approach for fluid dynamics Support for fluid interaction with flexible plate and shell Distributed memory implementation 16
Chrono::Granular Samplers for granular dynamics Uniform grid, Poisson-disk sampling, hexagonal close packing Sampling of different bounding volumes (box, sphere, cylinder) Allows 2D sampling (rectangle, disk) Generators for granular dynamics Create particles, using a given sampler, randomly selecting from a mixture of ingredients with prescribed expectation Mixture ingredient: multivariate normal distributions for particle size and contact material properties Models library (under construction) Penetrometer tests Triaxial test Direct-shear test etc 17
Chrono::Parallel Library for OpenMP-based parallel simulation of Chrono models Supports a subset of Chrono modeling elements: Rigid bodies with frictional contact (DEM-C or DEM-P) Kinematic joints (revolute, spherical, translational, etc.) Force elements (spring-dampers, actuators, etc.) 1-D shafts and associated elements and constraints (shaft-body connection, gears, motors, etc.) No support for FEA Implements only the Implicit Euler Linearized time-stepper Chrono-Parallel uses different data structures and algorithms (SOA vs. AOS) Specialized, parallel collision detection algorithms Broad phase: spatial binning (AABB) Narrow phase: MPR, GJK, SAT, hybrid 18
Chrono::Vehicle Modeling, simulation, and visualization of wheeled and tracked ground vehicles Modular: vehicle are modeled from instances of subsystems (suspension, steering, driveline, etc.) Flexible: use parameterized templates (optionally specified through JSON input files) Expandable, via C++ inheritance New subsystems New templates for existing subsystems New vehicle types 19
Wheeled vehicle subsystems Wheel state Tire forces Wheel state Tire forces Brake torque Brake torque Front suspension subsystem Chassis Steering Steering subsystem Driveshaft speed Driveshaft torque Driveline subsystem Body state Body forces Rear suspension subsystem Brake torque Brake torque Wheel state Tire forces Wheel state Tire forces 20
Chrono::Vehicle systems and subsystems Vehicle system: DRIVER Throttle input POWERTRA IN TERRAIN Wheeled vehicle Tracked vehicle Auxiliary systems: Steering input Braking input Driveshaft torque VEHICLE Driveshaft speed Wheel states TIRES Height Normal Tire system: rigid, LuGre, Pacejka, Fiala, FEA-based Terrain: rigid (flat, mesh, heigh-map), deformable (SCM), deformable (FEA), granular Powertrain: engine + TC + transmission Driver model: interactive, data-based, path-follower and speed controllers Fully-coupled or co-simulation Forces and moments on wheel bodies 21
Chrono::Vehicle ongoing developments Deformable SCM soil model Embeds the SCM from the European Space Agency (Kren et. al.) Extensions in Chrono: non-regular, adaptive grids, optional elasticity, generic collision algorithm, terrain specified as arbitrary mesh Deformable FEA soil model 9-node brick element Capped Drucker-Prager plasticity model Deformable tire models ANCF-based (composite shell elements + volumetric elements for tread) Co-rotational FEA Distributed co-simulation framework MPI communication between systems OpenMP / GPU for acceleration of system simulation 22
Validation of basic modeling components Ongoing effort (see https://github.com/projectchrono/chrono-validation) Example: sample results for Double Pendulum (distance constraint) Validation of Basic Modeling Elements in Chrono, M. Taylor and R. Serban, TR-2015-05, SBEL, UW Madison, 2015 23
Examples 24
Wave propagation in ordered granular material 25
Nonlinear FEA tire on granular terrain Simulation and mobility analysis of an ANCF tire in a tire rig on deformable granular terrain, TR-2016-07, SBEL, UW Madison, 2016 26
Cosimulation framework wheel state mesh node states contact forces tire forces OpenMP tire forces wheel state contact forces mesh node states OpenMP / GPU / MPI OpenMP Vehicle Node MPI Tire Nodes (deformable tires) MPI Terrain Node (deformable / rigid terrain) 27
Cosimulation framework 28
Simulation of dense suspensions Dense suspension Finite size particles (rigid bodies) interaction Drafting, Kissing, and Tumbling (DKT) Short range interactions Lubrication and collision Flow characteristics Particle Reynolds number 1.0 Channel Reynolds number: 66 Channel Dimension: (1.1, 1.0, 1.0) m Volumetric concentration: 40% Computational aspects 23,000 rigid ellipsoids: (1.5, 1.5, 2.0) cm 2,000,000 SPH markers. Simulation performed on a single GPU, NVIDIA GTX 480 3.2 seconds of dynamics 72 hrs to complete. Animation shows the channel mid-section 29
Particle migration in 2D and 3D Poiseuille flow Transient Poiseuille flow Cylinder in channel flow Sphere in pipe flow, Effect of rigid body rotation Flow Between Parallel Walls Containing the Lines of Neutrally Buoyant Circular Cylinders, T. Inamuro, K. Maeba, F. Ogino, Intl. J. Multiphase Flow, 12, 2000 Direct Simulation of the Motion of Neutrally Buoyant Circular Cylinders in Plane Poiseuille Flow, T. Pan and R. Glowinski, J. Comput. Physics, 181(1), 2002 Radial Particle Displacements in Poiseuille Flows of Suspensions, G. Segre and A. Silberberg, Nature, 189, 1961 A Numerical Study of the Effect of Particle Properties on the radial Distribution of Suspension in Pipe Flow, A. Pazouki and D. Negrut, Computers and Fluid., 108, 2014 30
Chrono Simulations 31
HMMWV - Double lane change maneuver (rigid terrain) 32
M113 Double lane change maneuver (rigid terrain) 33
M113 Double lane change maneuver Chrono Tracked Vehicle Simulation Results Summary, R. Serban, M. Taylor, D. Melanz, D. Negrut, TR-2016-08, SBEL, UW Madison, 2016 34
SCM adaptive mesh refinement 35
Vehicle on deformable terrain (SCM) 36
Vehicle on granular terrain multicore 37
Vehicle on granular terrain GPU 38
Liquid sloshing 39
Can Chrono simulate this? 40
Fording simulation constrained fluid 41
Autonomous vehicles : formation of phantom traffic jam 42
Formation of phantom traffic jam 2007 Japanese Traffic Study Virtual Traffic Study (Y. Sugiyama et. al., 2007) 43