Metodi numerici per ODEs discontinui


15

quali sono i metodi più avanzati per la soluzione numerica di ODE con il lato discontinuo di destra? Sono per lo più interessato alle funzioni della parte destra liscia a tratti, ad es. Segno.

Sto cercando di risolvere l'equazione di un tipo seguente:

X˙=vv˙={(|Festerno|-|Fattrito|)cartello(Festerno):|Festerno|<|Fattrito|0:altrimenti

Ciao @AndreyShevlyakov e benvenuto su Scicomp! Esiste una particolare classe di ODE che ti interessa?
Paolo

Ciao Paul! Sì, attualmente sto cercando di implementare una sorta di modello di attrito antiscivolo.
Andrey Shevlyakov,

Potresti incorporare le equazioni che vuoi risolvere nella tua domanda? Ciò contribuirà a restringere i metodi specifici applicabili al tuo problema.
Paolo

Ho aggiunto un esempio al post
Andrey Shevlyakov il

1
Quando ho lavorato su ACSL, includeva un root-finder, in modo da poterlo cercare nel momento in cui la velocità era uguale a zero, e quindi ricominciare da quel punto con il nuovo rhs.
Mike Dunlavey,

Risposte:


13

Vedi il nuovo libro di David Stewart (2011) su questo argomento, Dynamics with Inequonies: Impacts and Hard Constraints . I problemi di attrito di Coulomb sono citati più volte nei capitoli di analisi.

Il capitolo 8 è dedicato ai metodi numerici per ODE e DAE non uniformi. Promuove principalmente metodi Runge-Kutta completamente impliciti con un trattamento speciale della non scorrevolezza. Nota la Sezione 8.4.4 che sottolinea che se non si localizzano accuratamente i punti di non scorrevolezza, tutti i metodi degradano alla precisione primo ordine , quindi l'Euler implicito (con modifiche per la non scorrevolezza ) è popolare nella pratica. Inoltre, le soluzioni di problemi con disuguaglianze infinito dimensionali non sono generalmente tratti liscia, quindi la teoria prevede solo O ( h 1 / 2 ) convergenza, anche se in pratica, O ( h )O(h)O(h1/2)O(h) è spesso osservato.


Grazie mille! Sai se ci sono implementazioni disponibili da qualche parte?
Andrey Shevlyakov,

Non che io sappia, ma l'implementazione di schemi semplici non dovrebbe essere troppo difficile se hai un risolutore di disuguaglianze variazionali statiche.
Jed Brown,


2

g(t,X(t))R>0<0

Ad esempio, se si dispone di una massa in movimento con un blocco, la distanza tra la massa e il blocco può essere utilizzata come funzione di attraversamento zero.

Molti solutori ODE (ad es. SUNDIALS CVODE) controllano automaticamente se una delle funzioni di attraversamento zero ha cambiato segno durante l'ultima fase temporale. In tal caso, viene utilizzato un metodo di ricerca della radice per determinare la posizione esatta della radice. Il solutore può quindi essere riavviato in quella particolare posizione. Questo viene fatto automaticamente dal risolutore stesso o manualmente dal codice chiamante.


Ai fini della ricerca: si può anche parlare di "location dell'evento"; Hairer / Nørsett / Wanner ne discutono bene.
JM
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.