me751 advanced computational multibody dynamics€¦ · 2. before we get started ... [algorithmic...

33
ME751 Advanced Computational Multibody Dynamics October 17, 2016 Dan Negrut University of Wisconsin-Madison

Upload: others

Post on 17-Aug-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

ME751 Advanced Computational

Multibody Dynamics

October 17, 2016

Dan NegrutUniversity of Wisconsin-Madison

Page 2: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Quotes of the Day[courtesy of Milad]

“Yesterday I was clever, so I wanted to change the world. Today I am wise, so I am changing myself.”-- Rumi [1207-1273]

“Raise your words, not voice. It is rain that grows flowers, not thunder.”-- Rumi [1207-1273]

“You are not a drop in the ocean. You are the entire ocean, in a drop.”-- Rumi [1207-1273]

“Deep in the see there are riches beyond imagination. Stay at the shore if you seek safety though.”-- Saadi [1210 - 1291]

“Even after all this time the Sun never says to the Earth, "You owe me." Look what happens with a love like that - it lights the whole sky.”

-- Hafez [1325 - 1390]

2

Page 3: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Before we get started…

Last Time: More on implicit integration methods: The Backward Differentiation Formula (BDF) Numerical integration method for second order IVPs

Today: Numerical method for the solution of DAEs of multibody dynamics

Reading: Handout regarding the coordinate partitioning approach to solving the constrained

equations of motion [AO]

3

Page 4: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

The Nonlinear System[here’s where we stopped last time]

4

Page 5: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Computing Sensitivities:

5

Page 6: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Newton-Type Methods:Three Flavors

6

Page 7: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Newton-Type Methods:[Geometric Interpretation]

7

Page 8: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

8

Newton-Type Methods[Algorithmic Formulation]

Page 9: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Exercise[Part 1 of 3]

MATLAB code available online, under “Resources”: Newton Methods, MATLAB codes: [Newton-Raphson] [Modified-Newton] [Quasi-Newton]. http://sbel.wisc.edu/Courses/ME751/2010/Documents/MATLAB/massSpringDamperNR.m

9

Page 10: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

10

while itCount < itCountMax,v_new = v_old + sSize*a_new;x_new = x_old + sSize*v_new;

% Get the residual, Jacobian, and correctionresidual = m*a_new + c*v_new*v_new*v_new + k*x_new*x_new*x_new - sin(2*crntTime);psiVal = m + 3*c*v_new*v_new*sSize + 3*k*x_new*x_new*sSize*sSize;deltaAcc = -residual/psiVal;

% Apply correctiona_new = a_new + deltaAcc;if abs(deltaAcc) < epsAcc

break;enditCount = itCount + 1;

end

Newton-Raphson

Page 11: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Exercise[Part 2 of 3]

MATLAB code available online, under “Resources”: Newton Methods, MATLAB codes: [Newton-Raphson] [Modified-Newton] [Quasi-Newton]. http://sbel.wisc.edu/Courses/ME751/2010/Documents/MATLAB/massSpringDamperNR.m

11

Page 12: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

while itCount < itCountMax,v_new = v_old + sSize*a_new;x_new = x_old + sSize*v_new;

% Compute Jacobian once per times, for nu=0if itCount==1

psiVal = m + 3*c*v_new*v_new*sSize + 3*k*x_new*x_new*sSize*sSize;end

% Get the residual and the correctionresidual = m*a_new + c*v_new*v_new*v_new + k*x_new*x_new*x_new - sin(2*crntTime);deltaAcc = -residual/psiVal;

% Apply correctiona_new = a_new + deltaAcc;if abs(deltaAcc) < epsAcc

break;enditCount = itCount + 1;

end

Modified-Newton

12

Page 13: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Exercise[Part 3 of 3]

MATLAB code available online, under “Resources”: Newton Methods, MATLAB codes: [Newton-Raphson] [Modified-Newton] [Quasi-Newton]. http://sbel.wisc.edu/Courses/ME751/2010/Documents/MATLAB/massSpringDamperNR.m

13

Page 14: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

while itCount < itCountMax,v_new = v_old + sSize*a_new;x_new = x_old + sSize*v_new;

% Compute Jacobian once per times, for nu=0if itCount==1

%psiVal = m + 3*c*v_new*v_new*sSize + 3*k*x_new*x_new*sSize*sSize;psiVal = m + 3*k*x_new*x_new*sSize*sSize;

end

% Get the residual and the correctionresidual = m*a_new + c*v_new*v_new*v_new + k*x_new*x_new*x_new - sin(2*crntTime);deltaAcc = -residual/psiVal;

% Apply correctiona_new = a_new + deltaAcc;if abs(deltaAcc) < epsAcc

break;enditCount = itCount + 1;

end

Quasi-Newton

14

Page 15: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

The BDF Solution of the

Dynamics Analysis Problem

15

Page 16: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Framework,Dynamics Analysis Problem

16

Page 17: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

The Dynamics Problem - Essential Equations[The Main Characters]

17

Page 18: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Differential Algebraic Equations(DAEs)

18

Page 19: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

19

The Dynamics Problem[The Rest of the Cast]

Page 20: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Finding a Numerical Solution for the Dynamics Analysis Problem

20

Page 21: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

The Direct Approach[Ford F-150]

21

Page 22: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Nomenclature[Re: Unknowns and Equations]

22

Page 23: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Direct Approach: Step 1

23

Page 24: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

24

Direct Approach: Step 1[Cntd.]

Page 25: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

25

Direct Approach: Step 2

Page 26: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

26

Direct Approach: Step 3

Page 27: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

27

Direct Approach: Step 3[The Gory Details]

Page 28: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

28

Direct Approach: Step 3[The Gory Details, Cntd.]

Page 29: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

Sensitivities of Level 0 and 1 Unknowns wrt Level 2 Unknowns[Step 3, Details]

29

Page 30: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

The Newton-Raphson Iteration Matrix[Step 3, Details]

30

Page 31: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

31

The Quasi-Newton Iteration Matrix[Step 3, Details]

Page 32: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

32

The Quasi-Newton Iteration Matrix[Step 3, Details]

Page 33: ME751 Advanced Computational Multibody Dynamics€¦ · 2. Before we get started ... [Algorithmic Formulation] Exercise [Part 1 of 3] MATLAB code available online, under “Resources”:

33

The Newton-Raphson and Modified-Newton Iteration Matrix[Step 3, Details of the Details]