2017 Summer School on Multibody Systems and Nonlinear Dynamics

July 24 - August 5, 2017

Organized and run by the ASME Technical Committee on Multibody Systems and Nonlinear Dynamics (TC-MSND)

Instructors: Professor Dan Negrut and Radu Serban - University of Wisconsin-Madison

Location: University of Wisconsin-Madison - Madison, Wisconsin, USA

Purpose: To expose talented students to MSND research topics, get students involved in TC-MSND activities, and encourage participation in yearly ASME MSNDC conference.

Summer School

Participant Presentations

Nemanja Andonovski - Polytechnic University of Marche, Ancona, Italy - Bifurcation Prediction

Sarthak Chatterjee - Rensselaer Polytechnic Institute, Troy NY - Co-Operative Control of Two-Robot Teams for Two-Dimensional Level Curve Tracking

Arman Dabiri - University of Arizona - Fractional-Order Differential Equations: Stability and Control & An Optimal Stewart Platform For Lower Extremity Robotic Rehabilitation

Taymaz Homayouni - University of California Merced - Feedback Delay Can Cause Rest Tremor in Parkinson’s Disease

Anupam Mishra - University of California Merced - Modeling Dynamics of Biological Filaments in Contiuum Limit

Bryan Olivier - University of Mons (Belgium) - Subsystem coupling using co-simulation methods

Grzegorz Orzechowski - Lappeenranta University of Technology, Lappeenranta, Finland - Flexible Multibody Dynamics

Jaesung Park - Seoul National University, Functionbay Inc. (current) - Analysis, Design, and Implementation of Photo-Responsive Deforming Structures

Ivo Steinbrecher - Johannes Kepler University Linz - Sliding-beam formulation


Morning sessions: 9:00 am – noon

Afternoon sessions: 1:30pm – 5:00pm

Day 1
Morning [Overview of Computational Dynamics]
• History of computational dynamics
• Motivation: Overview of problems and challenges in computational dynamics
o Classes of problems (FEA, CFD, MBD, DEM)
o Underlying mathematical models (PDE, ODE, DAE, DVI)
o Numerical techniques (linear and nonlinear solvers, time integration, optimization)

• Hands-on
o Building and using Chrono
o Multibody dynamics demos
o FEA demos
• Student research presentation

Day 2
Morning [Intro to Computing]
• Introduction: Example use of advanced computing in multibody dynamics
• Sequential computing, the hardware/software interface:
o The processor: the fetch-decode-execute cycle, registers, CU, ALU
o Memory issues: caches, virtual memory, cache coherence, memory models
• Quick overview of trends in parallel computing (multi-core and GPU computing); Top500 list

• Hands-on
o Accessing Euler
o Compiling and debugging on Euler
o Timing an Application
o Work on assignment (I/O operations)
• Student research presentation

Day 3
Morning [GPU computing with CUDA (1)]
• NVIDIA’s CUDA intro: computation model and execution configuration
• CUDA memory allocation
• CUDA Memory model: registers and global, constant, texture, shared, local memories
• CUDA execution scheduling; thread divergence

• Hands-on
o Timing a GPU application
o Vector addition and Dot product
o Large, tiled matrix-matrix multiplication with and without shared memory
o Work on assignment: Parallel reduce operation
• Student research presentation
Day 4
Morning [GPU computing with CUDA (2)]]
• Advanced CUDA features
o CUDA Streams
o CUDA Optimization rules of thumb
o CUDA profiling and debugging
• CUDA productivity tools
o CUDA library landscape
o thrust library

• Hands-on
o Reduction and prefix scan with thrust
o Profiling a dot product using nvpp
o Work on assignment: Array processing using thrust
• Student research presentation

Day 5
Morning [Multicore computing with OpenMP (1)]
• Introduction to OpenMP
• Parallel regions and work-sharing (parallel for, sections, tasks)
• Data environment and variable sharing
• Synchronization

• Hands-on
o Dot product
o Integral evaluation using OpenMP
o Work on assignment: Matrix Convolution, comparison w/ GPU implementation
• Student research presentation

Day 6
Morning [Multicore computing with OpenMP (2)]
• Advanced topics (performance)
• Profiling with Visual Studio and GCC
• Parallelization examples

• Hands-on
o Improving performance of Fibonacci code
o Monte-Carlo simulation
o Work on assignment: parallel scan with OpenMP
• Student research presentation

Day 7
Morning [Distributed parallel computing with MPI (1)]
• Introduction to message passing and MPI
• Point-to-point communication
• Collective communication

• Hands-on
o Ping-pong – estimate bandwidth
o Quadrature – Simpson’s rule
o Work on assignment: Simple Jacobi iteration (Laplace equation)
• Student research presentation

Day 8
Morning [Distributed parallel computing with MPI (2)]
• MPI derived types
• Other programming paradigms for distributed parallel computing
o Brief overview of Charm++

• Hands-on
o Determine the eager/rendezvous threshold
o Work on assignment: Scaling analysis for Jacobi iteration (Laplace equation)
• Student research presentation

Day 9
Morning [Parallel computational dynamics]
• Overview of Chrono::Parallel
o Design, features, validation studies, sample simulations
• Case study: parallel collision detection
o Binning approach for broad-phase collision detection
o Implementation using thrust algorithms
• Hybrid MPI-OpenMP in co-simulation of vehicle-terrain interaction
o Code design
o Sample analyses

• Student research presentations (two of them)

Day 10 (morning only)
Program wrap up, round table discussion (1 hour).

Expenses: ASME and TC-MSND sponsored students' room, meals, and travel costs

Fees: None

© Simulation Based Engineering Laboratory, Dan Negrut 2017. SBEL is led by Mead Witter Foundation Professor Dan Negrut in the Department of Mechanical Engineering at Univeristy of Wisconsin-Madison

[SBEL Home] [ProCSI] [Workshops] [AC-Summer School] [Consortia] [Chrono Tutorials]
UW Logo