Vous êtes sur la page 1sur 31

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Solvers for Computational Mechanics


Arnaud Delaplace - David Ryckelynck

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Outline
Static algorithms Solving one system... Nonlinear problems Dynamic algorithms What is dynamics? Linear structural dynamics Nonlinear structural dynamics Stability and accuracy Explicit schemes Central dierent schemes Runge-Kutta method Predictor-corrector methods Implicit schemes linear problem Nonlinear problem
Arnaud Delaplace - David Ryckelynck Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Solving one system... Nonlinear problems

Discretized form of the static equations:


K(ut )ut = rt Solved by using either a direct method or an iterative one. (1)

Matrix storage
In computational mechanics, K is usually a sparse-symmetric matrix. One needs to store only the non zero-elements (sparse storage, skyline storage...).

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Solving one system... Nonlinear problems

Direct solvers

Gauss-Jordan elimination, LU decomposition, Inversion by partitionning, Cholesky decomposition...

Very ecient, robust, free libraries are available!!!


LAPACK (Linear Algebra PACKage) with BLAS (Basic Linear Algebra Subprograms), ATLAS (Automatically Tuned Linear Algebra System), SuiteSparse...

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Solving one system... Nonlinear problems

Iterative solvers
Mainly based on the conjugate gradient method family, and a preconditioner Ecient for large system with sparse operator

Algorithm
k k 1. Initialisation: uk arbitrary, g0 = Kuk f k , zk = P1 g0 0 0 0

2. i 1 3. REPEAT
k 4. k = zk + i1 k i i i1 k i i1 = (Kk (zk ,K k ) i1
i1

, k ) i1

5. uk = uk + ik k i+1 i i
k 6. gi+1 = gik + ik K k i k 7. zk = P1 gi+1 i+1
i i ik = (Kk ,k ) i i

(gk ,zk )

8. i i + 1 9. UNTIL convergence
Arnaud Delaplace - David Ryckelynck Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Solving one system... Nonlinear problems

For a nonlinear problem, the solution is obtained with an iterative process, where a succession of linear systems are solved. Examples: Newton-Raphson solver, radial return algorithm (mainly dedicated to plasticity problem)

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Solving one system... Nonlinear problems

Newton-Raphson solver
We search for: Fi (x1 , x2 , ..., xN ) = 0 for i = 1, 2, ..., N Taylor series expansion: Fi (x + x) = Fi (x) +
N X Fi xj + O(x2 ) xj j=1

Using the Jacobian matrix Jij = Fi /xj , the matrix notation leads to: F(x + x) = F(x) + Jx + O(x2 ) If the term of order x2 are neglected, one has to solve the system: Jx = F The corrections are added to the solution vector until convergence: xnew = xold + x
Arnaud Delaplace - David Ryckelynck Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Solving one system... Nonlinear problems

Radial return algorithm

For a return mapping algorithm, the rst (trial) solution is computed assuming an elastic step. If the yield criterion is violated, then the solution is projected back to the plastic yield surface to give the updated stress.

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

What is dynamics? Linear structural dynamics Nonlinear structural dynamics Stability and accuracy

Dynamic problems
Inertia terms must be included in the equations of equilibrium Wave propagation problems (response governed by high frequency modes) ex.: shock response, impact loading... Inertia problems (response governed by a small number of low frequency modes) ex.: seismic response...

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

What is dynamics? Linear structural dynamics Nonlinear structural dynamics Stability and accuracy

Governing equations:
f i (t) + f D (t) + f int (t) = f ext (t) f i (t): inertia forces f D (t): damping forces f int (t): internal forces f ext (t): external forces

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

What is dynamics? Linear structural dynamics Nonlinear structural dynamics Stability and accuracy

Equations of motion for linear structural dynamics


Mt + Cut + Kut = rt u M: discrete mass matrix C: viscous damping matrix K: linear stiness matrix rt : vector of external discrete forces ut , ut , ut : nodal acceleration, velocity and displacement vectors We search the time-history response ut of the structure. (2)

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

What is dynamics? Linear structural dynamics Nonlinear structural dynamics Stability and accuracy

Initial conditions
u(0) = u0 u(0) = u0 The initial acceleration is obtained using the equations of motion: u0 = M1 (r(0) Cu0 Ku0 )

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

What is dynamics? Linear structural dynamics Nonlinear structural dynamics Stability and accuracy

Equations of motion for nonlinear structural dynamics


Mt + Cut + n(ut ) = rt u M: discrete mass matrix C: viscous damping matrix n: vector of nonlinear internal forces rt : vector of external discrete forces ut , ut , ut : nodal acceleration, velocity and displacement vectors (3)

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

What is dynamics? Linear structural dynamics Nonlinear structural dynamics Stability and accuracy

Vector of nonlinear internal forces:


Kt (u) = Kt : tangent stiness matrix XZ
e V

n(u) u

n(u) =

BT ()dV

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

What is dynamics? Linear structural dynamics Nonlinear structural dynamics Stability and accuracy

Stability
The solution of a problem can be expressed in a recurrence relation form: ut+t = Aut + ... with A the amplication matrix. The stability of the scheme is obtained if the spectral radius of A veries: (A) 1 where (A) = max(i ) and i are the eigenvalues of A.

Accuracy
For a resolution over the time range [t0 , tf ], with a time increment t corresponding to n = (tf t0 )/t, the global error of a scheme is evaluated as: e = utf un The order of accuracy p of the scheme is dened as: e = O(t p ) when t 0
Arnaud Delaplace - David Ryckelynck Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Central dierent schemes Runge-Kutta method Predictor-corrector methods

Explicit schemes

Solution at time t + t is obtained from equilibrium equations at time t Do not require the factorization of the stiness matrix ( and no additional storage for a diagonal mass matrix) Ecient for short load durations (impact, explosions...)

But
Conditionally stable Require generally small time steps (inversely proportional to the highest frequency of the discrete system) Central dierent methods, Runge-Kutta methods, Predictor-corrector methods, Taylor series schemes...

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Central dierent schemes Runge-Kutta method Predictor-corrector methods

ut = ut =

1 (ut+t utt ) t

(4) (5)

1 (ut+t ut + utt ) t 2

Using equation (3),


` 1 1 M + 2t C ut+t = t 2 ` ` 1 2 1 rt n(ut ) t 2 Mut t 2 M 2t C utt (with n(ut ) = Kut for linear problem) Without physical damping (C = 0), ut+t = t 2 M1 (rt n(ut )) + 2ut utt

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Central dierent schemes Runge-Kutta method Predictor-corrector methods

Remark

If damping is included, one prefers the backward dierence scheme, where equation (4) is replaced by: ut = Then, ut+t = M1 t 2 (rt n(ut )) tC(ut utt ) + 2ut utt 1 (ut utt ) t

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Central dierent schemes Runge-Kutta method Predictor-corrector methods

Algorithm

1. Initial calculations
1.1 Initialize u0 and u0 . 1.2 Form structural mass matrix M and damping matrix C. 1.3 Select time step such that t < tcr .

2. For each time step


2.1 2.2 2.3 2.4 Calculate eective load at time t: t = rt C(ut n(ut ) r Solve for accelerations at time t: Mt = t u r 2 Evaluate (for the rst time step): utt = ut t ut + t ut 4 Evaluate displacement and velocity at time t + t ut+t = utt + 2ut + t 2 ut ut+t = [ut+t ut ] /t 2.5 t t + t and go to 2.1.

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Central dierent schemes Runge-Kutta method Predictor-corrector methods

Fourth order Runge-Kutta method


ut+t = ut + t ut + ut+t = ut + t 2 (a0 + a1 + a2 ) + O(t 5 ) 6

t (a0 + 2a1 + 2a2 + a3 ) + O(t 5 ) 6

a0 = u(t, ut ) a1 = u(t + a2 = u(t + t t , ut + ut ) 2 2

t t t 2 , ut + ut + a0 ) 2 2 4 t 2 a1 ) 2

a3 = u(t + t, ut + t ut +

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Central dierent schemes Runge-Kutta method Predictor-corrector methods

Self-starting scheme Accurate evaluation of the solution Acceleration vector must be evaluated four times per time step Requires a small time step Generally (computationally) slower than the central dierence scheme

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

Central dierent schemes Runge-Kutta method Predictor-corrector methods

Predictor:

t (3ut utt ) 2 Iterate with the corrector until convergence: up t+t = ut + um+1 = um + t+t t+t t (ut+t + ut ) 2

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

linear problem Nonlinear problem

Implicit schemes

Solution at time t + t involves the velocities and the accelerations at time t + t (Generally) unconditionally stable Ecient for long load durations (seismic loading...)

But
Require the solution of the stiness matrix Require more computational eort per time step Newmark family methods, Wilson- methods, HHT method...

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

linear problem Nonlinear problem

Newmark time integration scheme


ut+t = ut + t ut + ut+t t 2 [(1 2)t + 2t+t ] u u 2 = ut + t [(1 )t + t+t ] u u

and are the Newmark parameters which determine the stability and accuracy of the algorithm.

Equations of motion
ut+t + n(ut+t ) = rt+t +C t ut + ( 1)ut + t( 2 1)t u 1 1 1 +M (t)2 ut + t ut + ( 2 1)t u
1 M (t)2

C t

(6)

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

linear problem Nonlinear problem

Newmark family methods


Trapezoidal rule ( = 1/4 and = 1/2): ut+t = ut + t ut + ut+t = ut + t 2 [t + ut+t ] u 4

t [t + ut+t ] u 2 Central dierence scheme ( = 0 and = 1/2): ut+t = ut + t ut + ut+t = ut + t 2 ut 4

t [t + ut+t ] u 2 Linear acceleration method ( = 1/6 and = 1/2)...

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

linear problem Nonlinear problem

Stability aspects

method type stability Trapezoidal rule implicit 1/4 1/2 unconditional Linear acceleration implicit 1/6 1/2 crit = 2 3 Fox-Goodwin implicit 1/12 1/2 crit = 6 Central dierence explicit 0 1/2 crit = 2 Rem.: all of these methods are 2-order of accuracy. The Newmark family methods are unconditionally stable if 1/2 and ( + 1/2)2 /4. The Newmark family methods are conditionally stable for 1/2, < /2 and t crit

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

linear problem Nonlinear problem

Newmark family methods


Positive damping is introduced if > 1/2 (but the scheme looses its second-roder accuracy). Negative damping is introduced if < 1/2 (leading eventually to an unbounded response).

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

linear problem Nonlinear problem

Wilson- method

The acceleration is assumed to be linear from time t to time t + t, with 0. The method is unconditionnaly stable if 1.37. For 0 t + t, ut+ = ut + [t+t ut ] u t 2 [t+t ut ] u 2t

ut+ = ut + ut + ut+ = ut + ut +

2 3 ut + [t+t ut ] u 2 6t

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

linear problem Nonlinear problem

HHT method

Equation of motion
Mt+t + (1 + )Cut+t Cut + (1 + )Kut+t Kut u = (1 + )rt+t rt
1 [1/3, 0] is a dissipative parameter, = 4 (1 )2 and = 1 2

Dissipation of the high frequencies

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

linear problem Nonlinear problem

Algorithm (1/2)

1. Initialize u0 , u0 and u0 . 2. Calculate the following constants: a0 = 1/(t 2 ); a1 = /(t); a3 = 1/(2) 1 a4 = / 1; a5 = t/2(/ 2) 3. Form M, C and K. 4. Form the eective stiness matrix, initially assuming a liner behavior: K = a0 M + a1 C + K 5. Form the eective load vector: t+t = rt+t + M(a2 ut + a3 ut ) + C(a4 ut + a5 ut ) n(ut ) r r 6. Solve for the displacement increments: u = K1t+t

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Static algorithms Dynamic algorithms Explicit schemes Implicit schemes

linear problem Nonlinear problem

Algorithm (2/2)

7. iterate for dynamic equilibrium:


7.1 i = i + 1 7.2 Evaluate the (i 1)-th approximation to the displacements, velocities and accelerations: ui1 = ut + ui1 ; t+t t+t ui1 = a1 ui1 a4 ut a5 ut

t+t ui1 = a0 ui1 a2 ut a3 ut 7.3 Evaluate the i-th residual force: i1 t+t t+t = rt+t (Mi1 + Cui1 + n(ui1 ) ut+t t+t
i1 7.4 Solve for the i-th corrected displacement: ui = K1 t+t i = ui1 + ui 7.5 Evaluated the corrected displacement increments: u 7.6 Check for convergence of the iteration process |ui |/|ut + ui |

Arnaud Delaplace - David Ryckelynck

Solvers for Computational Mechanics

Vous aimerez peut-être aussi