me751 advanced computational multibody dynamics · angeles), milad rakhsha, antonio recuero, andrew...
TRANSCRIPT
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 ParmaAlessandro Tasora, Andrea Favali (Maserati Automobili), Dario Mangoni
University of IowaHiroyuki Sugyiama, Bryan Peterson
4
Newton-Euler Eqs. at Work
5
Ground vehicle mobility challenge
6
Complex multi-physics, multi-scale 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
8
We have little to no control We have full control
Superscalar Non-sequence instructions sharing functional unitsPipelining Sequence of instruction sharing functional units
Vectorization Higher operation throughput via special/fat registers
Multi-Core Parallel Computing Communication through shared caches
Acceleration (GPU/Phi) Compute devices accelerating parallel computation on one node
Multi-socket Parallel Computing Group of CPUs operate together on the same node
Supercomputing (distributed memory) Group of nodes communicate through fast interconnect MPI, Charm++, Chapel
OpenMP, MPICUDA, OpenCL + OpenMP,
MPIOpenMP, TBB, pthreads
AVX, SSE
Assembly
Assembly
• Data structures (SOA vs. AOS)• Algorithms• Heterogeneous computing• Monolithic vs Cosimulation
9
ChronoStructure and Capabilities
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
12
Chrono API
MB
DAP
IFE
AAP
IFS
IAP
I… AP
I
Support for ClassicalMulti-Body Dynamics
Support for StructuralAnd Volumetric Elements
Support for Fluid-SolidInteraction
Future Chrono Expansion
AdvancedChrono Use
Low-Entry PointChrono Use
ToolkitChrono::Robotics
ToolkitChrono::GeoMech
ToolkitChrono::Vehicle
ToolkitChrono::Granular
ToolkitChrono::Fording
HardwareCPU, Multicore
HardwareMultiple GPU
HardwareMultiple Nodes
ChronoFEA
ChronoFSI
Chrono…
ChronoMBDChrono::Engine
EquationFormulation
EquationSolution
CollisionDetection
HPCSupport
Pre/PostProcessing
Chrono modulesModule DescriptionChrono::Engine Core FunctionalityCASCADE Interoperability with CAD toolsCOSIMULATION Support for co-simulationFEA Finite Element AnalysisFSI Fluid-Solid InteractionIRRLICHT Runtime Visualization with IrrlichtMATLAB Interoperability with MATLABMKL Interface to Intel MKLOGRE Runtime Visualization with OgreOPENGL Runtime Visualization with OpenGLPARALLEL Parallel (multi-core) simulation modulePOSTPROCESS Tools for post-processing (POV-Ray output, Gnuplot)PYTHON Python InteroperabilityVEHICLE 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 mesh15
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
20
Chassis
Steering subsystem
Body state
Driveshafttorque
Front suspensionsubsystem
Rear suspensionsubsystem
Tire forcesWheel state
Steering
Body forces
Tire forcesWheel state
Tire forcesWheel state Tire forcesWheel state
Drivelinesubsystem
Driveshaftspeed
Brake torqueBrake torque
Brake torque Brake torque
Chrono::Vehicle systems and subsystems
Vehicle system:
Wheeled vehicle Tracked vehicle
Auxiliary systems:
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
21
VEHICLE
DRIVER POWERTRAIN
TIRES
TERRAIN
HeightNormal
Forces and moments on wheel bodies
Wheel states
Driveshaftspeed
Driveshafttorque
Throttle input
Steering inputBraking input
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)
23
“Validation of Basic Modeling Elements in Chrono,” M. Taylor and R. Serban, TR-2015-05, SBEL, UW Madison, 2015
Examples
24
Wave propagation in ordered granular material
25
Nonlinear FEA tire on granular terrain
26“Simulation and mobility analysis of an ANCF tire in a tire rig on deformable granular terrain,” TR-2016-07, SBEL, UW Madison, 2016
Cosimulation framework
27
Vehicle Node Tire Nodes
wheel state
wheel state
tire forces
tire forces
mesh node states
mesh node states
contact forces
contact forces
OpenMP
OpenMP
OpenMP / GPU / MPI
Terrain NodeMPI MPI
(deformable tires) (deformable / rigid terrain)
Cosimulation framework
28
Simulation of dense suspensions
29
Animation shows the channel mid-section
• “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.
Particle migration in 2D and 3D Poiseuille flow
30
• Transient Poiseuille flow • Sphere in pipe flow,
• Effect of rigid body rotation• Cylinder in channel flow
“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
31
Chrono Simulations
HMMWV - Double lane change maneuver (rigid terrain)
32
M113 – Double lane change maneuver (rigid terrain)
33
M113 – Double lane change maneuver
34
“Chrono Tracked Vehicle Simulation Results Summary,” R. Serban, M. Taylor, D. Melanz, D. Negrut, TR-2016-08, SBEL, UW Madison, 2016
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
43
Virtual Traffic Study
2007 Japanese Traffic Study
(Y. Sugiyama et. al., 2007)