Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
ME751 Advanced Computational
Multibody Dynamics
October 17, 2016
Dan NegrutUniversity of Wisconsin-Madison
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
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
The Nonlinear System[here’s where we stopped last time]
4
Computing Sensitivities:
5
Newton-Type Methods:Three Flavors
6
Newton-Type Methods:[Geometric Interpretation]
7
8
Newton-Type Methods[Algorithmic Formulation]
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
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
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
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
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
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
The BDF Solution of the
Dynamics Analysis Problem
15
Framework,Dynamics Analysis Problem
16
The Dynamics Problem - Essential Equations[The Main Characters]
17
Differential Algebraic Equations(DAEs)
18
19
The Dynamics Problem[The Rest of the Cast]
Finding a Numerical Solution for the Dynamics Analysis Problem
20
The Direct Approach[Ford F-150]
21
Nomenclature[Re: Unknowns and Equations]
22
Direct Approach: Step 1
23
24
Direct Approach: Step 1[Cntd.]
25
Direct Approach: Step 2
26
Direct Approach: Step 3
27
Direct Approach: Step 3[The Gory Details]
28
Direct Approach: Step 3[The Gory Details, Cntd.]
Sensitivities of Level 0 and 1 Unknowns wrt Level 2 Unknowns[Step 3, Details]
29
The Newton-Raphson Iteration Matrix[Step 3, Details]
30
31
The Quasi-Newton Iteration Matrix[Step 3, Details]
32
The Quasi-Newton Iteration Matrix[Step 3, Details]
33
The Newton-Raphson and Modified-Newton Iteration Matrix[Step 3, Details of the Details]