HB NLvib Presentation
HB NLvib Presentation
Introduction to
Harmonic Balance
and application to
nonlinear vibrations
M. Krack
Head of the Structural Dynamics group
Institute of Aircraft Propulsion Systems
Department of Aerospace Engineering
University of Stuttgart
1
Institut für Luftfahrtantriebe
2
Institut für Luftfahrtantriebe
3
Institut für Luftfahrtantriebe
Outline of talk
4
Institut für Luftfahrtantriebe
Duffing oscillator
Ansatz:
5
Institut für Luftfahrtantriebe
We neglect harmonics with index higher than the ansatz (>1) and balance the
harmonics:
2 algebraic
equations
6 in 2 unknowns
Institut für Luftfahrtantriebe
solve
with respect to
with
in the interval
9
Institut für Luftfahrtantriebe
10
Institut für Luftfahrtantriebe
11
Institut für Luftfahrtantriebe
stable
unstable
stable
13
Institut für Luftfahrtantriebe
To be discussed further
14
Institut für Luftfahrtantriebe
Outline of talk
15
Institut für Luftfahrtantriebe
with
and
Ansatz:
mathematically
with equivalent
representations of
We will use this
representation.
truncated Fourier
series
16
Institut für Luftfahrtantriebe
with
with
since
18
Institut für Luftfahrtantriebe
ansatz
periodic solution
20
Institut für Luftfahrtantriebe
dynamic force
equilibrium in the
frequency domain
formal definition:
21
Institut für Luftfahrtantriebe
Opportunities
• polynomial forces: closed formulation using convolution theorem
• piecewise polynomial (incl. piecewise linear) forces: determine transition times, then as above [PETR03,KRAC13]
with
Solvers
• pseudo-time solver
• Newton-like solver
• secant solver
• …
Idea of Newton method
Linearization of residual
Iteration step
23
Institut für Luftfahrtantriebe
with
Solvers
• pseudo-time solver
• Newton-like solver
• secant solver
• …
Idea of Newton method
Linearization of residual
Iteration step
24
Institut für Luftfahrtantriebe
with
Solvers
• pseudo-time solver
• Newton-like solver
• secant solver
• …
Idea of Newton method
Linearization of residual
Iteration step
25
Institut für Luftfahrtantriebe
with
Solvers
• pseudo-time solver
• Newton-like solver
• secant solver
• …
Idea of Newton method
Linearization of residual
Iteration step
26
Institut für Luftfahrtantriebe
with
Solvers
• pseudo-time solver
• Newton-like solver
• secant solver
• …
Idea of Newton method
Linearization of residual
Iteration step
27
Institut für Luftfahrtantriebe
with
Solvers
• pseudo-time solver
• Newton-like solver
• secant solver
• …
Idea of Newton method
Linearization of residual
Iteration step
28
Institut für Luftfahrtantriebe
with
Solvers
• pseudo-time solver
• Newton-like solver
• secant solver
• …
Idea of Newton method
Linearization of residual
Iteration step
29
Institut für Luftfahrtantriebe
with
Solvers
• pseudo-time solver
• Newton-like solver
• secant solver
• …
Idea of Newton method
Linearization of residual
Iteration step
30
Institut für Luftfahrtantriebe
with
Solvers
• pseudo-time solver
• Newton-like solver
• secant solver
• …
Idea of Newton method
Linearization of residual
Iteration step
fast convergence near solution
adjustments required for global convergence
31 analytical gradients greatly reduce computation time
Institut für Luftfahrtantriebe
similar analyses
• analysis of self-excited limit cycles
• nonlinear modal analysis
• tracking of resonances
• tracking of bifurcation points
32
Institut für Luftfahrtantriebe
Predictor
popular variants:
• tangent
• secant
• power series expansion
Outline of talk
35
Institut für Luftfahrtantriebe
Features
• Harmonic Balance with Alternating Frequency-Time Scheme
• Shooting, Newmark numerical time step integration
• solver: predictor-corrector continuation with Newton-like corrector (‘fsolve’),
analytical gradients
• nonlinearities
local generic nonlinear elements
(distributed) polynomial stiffness nonlinearity
• analysis types
frequency response
nonlinear modal analysis
36
Institut für Luftfahrtantriebe
% Analysis parameters
H = 1; % harmonic order
N = 2^7; % number of time samples per period
Om_s = .5; % start frequency
Om_e = 1.6; % end frequency
% Analysis parameters
H = 7; % harmonic order
N = 2^7; % number of time samples per period
Om_s = .5; % start frequency
Om_e = 1.6; % end frequency
% Excitation frequency
Om = X(end);
% Specify time samples along period and apply inverse discrete Fourier transform
tau = (0:2*pi/N:2*pi-2*pi/N)';
qnl = real(exp(1i*tau*(0:H))*Q);
39
Institut für Luftfahrtantriebe
Equation of motion
computation times:
• HB, whole frequency response: ~1.3 s
40 • numerical integration, single frequency: ~30 s
Institut für Luftfahrtantriebe
validation
• resonances • deflection shapes
42 • damping • dynamic stress
Institut für Luftfahrtantriebe
vibration level
rotational speed
43
Institut für Luftfahrtantriebe
Outline of talk
44
Institut für Luftfahrtantriebe
multi-frequency HB ansatz
Extensions
• for quasi-periodic oscillations:
multi-frequency HB [SCHI06,KRAC16],
adjusted HB [GUSK12])
• for broadband or chaotic oscillations:
ongoing research
Fourier
approximation reference
signal
examples:
• impacts
• stick-slip transitions
time
Extensions
• enrichment by non-smooth base functions (wavelet balance [JONE15,KIM03])
• numerical integration of non-smooth states (mixed-Shooting-HB [SCHR16])
46
Institut für Luftfahrtantriebe
solve
Periodic oscillations
• Fourier-based alternatives with respect to
trigonometric collocation with
• …
General oscillations:
Forward numerical integration
47
Institut für Luftfahrtantriebe
solve
Periodic oscillations
• Fourier-based alternatives with respect to
trigonometric collocation with
• …
General oscillations:
Forward numerical integration
48
Institut für Luftfahrtantriebe
solve
Periodic oscillations
• Fourier-based alternatives with respect to
trigonometric collocation with
• …
General oscillations:
Forward numerical integration
49
Institut für Luftfahrtantriebe
solve
Periodic oscillations
• Fourier-based alternatives with respect to
trigonometric collocation with
• …
General oscillations:
Forward numerical integration
50
Institut für Luftfahrtantriebe
• reliable and efficient methods for stability assessment (local and global!)
• multi-physical problems
51
Institut für Luftfahrtantriebe
Outline of talk
52
Institut für Luftfahrtantriebe
Summary
53
Institut für Luftfahrtantriebe
Further reading
Harmonic Balance, Alternating Frequency-Time Scheme
[CAME89] Cameron, T. M.; Griffin, J. H.: An Alternating Frequency/Time Domain Method for Calculating the Steady-State
Response of Nonlinear Dynamic Systems. Journal of Applied Mechanics 56(1):149-154, 1989.
[CARD94] Cardona, A.; Coune, T.; Lerusse, A.; Geradin, M.: A Multiharmonic Method for Non-Linear Vibration Analysis. Int.
J. Numer. Meth. Engng 37(9):1593-1608, 1994.
[URAB65] Urabe, M.: Galerkin's Procedure for Nonlinear Periodic Systems. Archive for Rational Mechanics and Analysis
20(2):120-152, 1965.
Questions?
55
Institut für Luftfahrtantriebe
% Define properties
M = ... % n x n matrix
D = ... % n x n matrix
K = ... % n x n matrix
Fex1 = ...% n x 1 vector
w1 = ... % n x 1 vector
... specific properties and values
57
Institut für Luftfahrtantriebe
You can easily add new nonlinearities analogous to the already available ones.
Implementation of nonlinear elements in HB_residual.m (analogous in shooting_residual.m)
...
%% Evaluate nonlinear force in time domain
switch lower(nonlinear_elements{nl}.type)
analytical derivative
case 'cubicspring'
fnl = nonlinear_elements{nl}.stiffness*qnl.^3;
dfnl = ...
case 'mynewnonlinearity'
fnl = ... Tip: When you add a new nonlinearity, run the solver with ‘jac’ option
dfnl = ... ‘none’. If everything is working properly, you can later accelerate the code
... by providing (correct!) analytical derivatives. If you encounter
58 convergence problems at that point, your derivatives are wrong.
Institut für Luftfahrtantriebe
Structural matrices
Matlab syntax
% Define properties
mi = ... % vector with length n
ki = ... % vector with length n+1
di = ... % vector with length n+1
Fex1 = ...% n x 1 vector
...
Coordinates
Matlab syntax
% Define properties
...
BCs = ‘clamped-free’; % example with clamping on the left and free end on the right;
% pinned is also possible; arbitrary combinations are allowed
n_nod = ... % positive integer
Coordinates
Matlab syntax
% Define properties
...
BCs = ‘pinned-free’; % example with pinning on the left and free end on the right;
% arbitrary combinations are allowed
n_nod = ... % positive integer
% Define rod
myRod = FE_ElasticRod(len,A,E,rho,BCs,n_nod);
61
Institut für Luftfahrtantriebe
Matlab syntax
% Define properties
p = ... % Nz x n vector of nonnegative integers
E = ... % Nz x n vector of real-valued coefficients
...
% Define system
myPolyStiffSys = System_with_PolynomialStiffnessNonlinearity(M,D,K,p,E,Fex1);
62
Institut für Luftfahrtantriebe
• Then increase H successively until the results converge (do not waste resources by
setting it unreasonably high).
63
Institut für Luftfahrtantriebe
64
Institut für Luftfahrtantriebe
Problem statement
solve
with respect to
in the interval
initial guess residual function R(X) interval limits nominal step size
Matlab syntax
continuation
[X,Solinfo,Sol] = solve_and_continue(x0,fun_residual,lam_s,lam_e,ds [,Sopt, ... options structure
fun_postprocess,opt_fsolve]); (optional)
66
Institut für Luftfahrtantriebe
This suggest that one should scale with the (not a priori known) solution. In practice, one
can achieve good results with typical values for the respective variable, derived e.g.
from a solution of a linearized problem.
67
Institut für Luftfahrtantriebe
With the suggested scaling, the condition number of the Jacobian change:
A high condition number is likely to cause convergence problems within the Newton method in
the presence of numerical imprecisions. To illustrate this, we apply Matlab’s fsolve to both
problems. Numerical imprecisions are
introduced by letting fsolve approximate
the Jacobian using finite differences.
68 iteration number
Institut für Luftfahrtantriebe
From the viewpoint of the solver, the problem is stretched, making it hard to numerically
approximate the true solution in the unscaled variable space.
iteration
path
iteration
path
69
Institut für Luftfahrtantriebe
solve
where
with respect to
in the interval
70
Institut für Luftfahrtantriebe
Shooting formulation
solve
positive real-valued scalar
71
Institut für Luftfahrtantriebe
solve
amplitude normalization
phase normalization
where
with respect to
in the interval
Rationale behind scaling of residual: achieve similar orders of magnitude of typical values. Otherwise the dynamic
force equilibrium or the normalization conditions would have unreasonably strong weight, which could have a negative
72 influence the convergence of the solver.
Institut für Luftfahrtantriebe
Shooting formulation
solve
with respect to
Rationale behind scaling of residual: achieve similar orders of magnitude for quite different vibration levels.
Otherwise the solver might misinterpret e.g. a small value as a converged residual.
73
Institut für Luftfahrtantriebe
Appendix: Numerical time step integration (for details see textbooks e.g. [GER15])
The purpose of numerical time step integration is to approximate the solution of an ordinary
differential equation, from given initial values , up to a given end time. Most of the
methods are based on finite difference approximations with respect to time and yield a
quadrature formula governing the values of the unknown states at the next time level .
Some methods directly deal with the second-order differential equation of motion (Newmark, Hilbert-
Hughes-Taylor), other methods require the re-formulation to first-order.
For explicit methods, the quadrature formula can be brought into an form where the unknown
states at the next time level are determined by simplify evaluating a function once. Implicit
methods require one to solve an algebraic equation system at each time level.
The method is (numerically) stable if the states remain finite for a finite step size. There are
conditionally stable methods, which are only stable for sufficiently small step size, and
unconditionally stable methods.
The approximation error depends, among others, on the quadrature formula and the step size.
Important accuracy measures are numerical damping (non-physical decrease of energy), numerical
dispersion (depending of error on contributing oscillation frequencies). Some numerical damping of higher
frequencies can be desirable, particularly if their dynamics is not correctly modeled due to
e.g. finite spatial discretization.
74 [GER15] Geradin, M.; Rixen, D.J.: Mechanical Vibrations, Wiley, 2015
Institut für Luftfahrtantriebe
Time discretization (constant average acceleration Newmark scheme, see e.g. [GER15])
Note that in the actual
implementation, we
introduce a time
normalization, see
next slide.
Substitution of (4) and (5) into (1) gives an implicit equation in displacements at end of time
step,
which is solved using Newton iterations with Cholesky factorization of the Jacobian.
75 [GER15] Geradin, M.; Rixen, D.J.: Mechanical Vibrations, Wiley, 2015
Institut für Luftfahrtantriebe
Normalized time
76
Institut für Luftfahrtantriebe
77