Il metodo del partizionamento delle coordinate (Metodi Matematici e Calcolo per Ingegneria) Enrico Bertolazzi DIMS Università di Trento anno accademico 2007/2008 Il metodo del partizionamento delle coordinate 1 / 12
Outline 1 Il metodo del partizionamento delle coordinate 2 / 12
Coordinate Partitioning Esempio con le equazioni del pendolo: Passo 1 scelta delle coordinate indipendenti Riconsideriamo le equazioni del pendolo in coordinate sovrabbondanti u = µx v = µy g ẋ = u ẏ = v x 2 + y 2 = r 2 Possiamo usare il vincolo per determinare ad esempio y in funzione di x come segue y(x) = r 2 x 2 posso quindi eliminare la equazione del vincolo (dal sistema) e sostituire formalmente al posto di y la sua funzione y(x). Il metodo del partizionamento delle coordinate 3 / 12
Coordinate Partitioning Esempio con le equazioni del pendolo: Passo 2 propagazione del vincolo Elimino la equazione del vincolo (dal sistema) e sostituisco y con la sua funzione y(x). u = µx v = µy(x) g ẋ = u ẏ = v y(x) = r 2 x 2 Derivando l equazione del vincolo posso derivare una equazione per ẏ(x) e quindi ottenere xẋ + yẏ = 0 = ẏ = xẋ/y = v = xu/y ẏ = v(x, u) = xu y(x) Il metodo del partizionamento delle coordinate 4 / 12
Coordinate Partitioning Esempio con le equazioni del pendolo: Passo 2 propagazione del vincolo Sostituisco ẏ con la sua funzione v(x, u) nella quarta equazione ottenendo u = µx v = µy(x) g ẋ = u v(x, u) = xu y(x) y(x) = r 2 x 2 Il metodo del partizionamento delle coordinate 5 / 12
Coordinate Partitioning Esempio con le equazioni del pendolo: Passo 2 propagazione del vincolo Derivando ancora una volta il vincolo ottengo una equazione per ÿ = v x u + y v + ẋu + ẏv = 0 = µ(x 2 + y 2 ) gy + (u 2 + v 2 ) = 0 da qui posso ricavare µ come funzione di x ed u µ(x, u) = gy(x) (u2 + v(x, u) 2 ) r 2 posso quindi scrivere µ = µ(x, u) nelle equazioni ed eliminare v(x, u) = µ(x, u)y(x) g perché è una equazione algebrica ridondante per µ(x, u) Il metodo del partizionamento delle coordinate 6 / 12
Coordinate Partitioning Esempio con le equazioni del pendolo: Passo 2 propagazione del vincolo Sostituisco µ = µ(x, u) u = µ(x, u)x ẋ = u µ(x, u) = gy(x) (u2 + v(x, u) 2 ) r 2 v(x, u) = xu y(x) y(x) = r 2 x 2 di fatto abbiamo ottenuto sistema di ODE costituito da 2 equazioni ed µ(x, u) è calcolato ricorsivamente. Il metodo del partizionamento delle coordinate 7 / 12
Collatz e RK4 A questo punto possiamo anche usare un integratore esplicito, tipo Collatz u k+1/2 = u k + (h/2)µ(x k, u k )x k x k+1/2 = k k + (h/2)u k u k+1 = u k + (h/2)µ(x k+1/2, u k+1/2 )x k+1/2 x k+1 = k k + (h/2)u k+1/2 Il metodo del partizionamento delle coordinate 8 / 12
Collatz e RK4 O il classico Runge-Kutta del quarto ordine K 1 = hu k L 1 = hµ(x k, u k ) K 2 = h(u k + L 1 /2) L 2 = hµ(x k + K 1 /2, u k + L 1 /2)(x k + K 1 /2) K 3 = h(u k + L 2 /2) L 3 = hµ(x k + K 2 /2, u k + L 2 /2)(x k + K 2 /2) K 4 = h(u k + L 3 ) L 4 = hµ(x k + K 3, u k + L 3 ) (x k + K 3 ) x k+1 = x k + (K 1 + 2K 2 + 2K 3 + K 4 )/6 u k+1 = u k + (L 1 + 2L 2 + 2L 3 + L 4 )/6 Il metodo del partizionamento delle coordinate 9 / 12
Risultati con Collatz DAE integrata con coordinate partitioning Dato iniziale consistente x 0 = 0.9, u 0 = 0 0 5 10 15 20 1.0 0.5 0.0 0.5 1.0 Metodo di Collatz h=0.1 x(t) y(t) 0 5 10 15 20 1e 04 5e 05 0e+00 5e 05 1e 04 Vincoli Nascosti V1 V2 V3 Il metodo del partizionamento delle coordinate 10 / 12
Risultati con RK4 DAE integrata con coordinate partitioning Dato iniziale consistente x 0 = 0.8, u 0 = 0 Metodo RK4 h=0.1 Vincoli Nascosti 1.0 0.5 0.0 0.5 1.0 x(t) y(t) 1e 04 5e 05 0e+00 5e 05 1e 04 V1 V2 V3 0 5 10 15 20 0 5 10 15 20 Il metodo del partizionamento delle coordinate 11 / 12
Bibliografia J. García de Jalón and E. Bayo, Kinematic and Dynamic Simulation of Multibody Systems. The Real-Time Challenge Springer-Verlag, New-York, 1994 http://mat21.etsii.upm.es/mbs/bookpdfs/bookgjb.htm Il metodo del partizionamento delle coordinate 12 / 12