Métodos numéricos para EDOs rs descontínuos

15

Quais são os métodos de última geração para solução numérica de EDOs com o lado direito descontínuo? Estou interessado principalmente nas funções do lado direito, como por exemplo, sinal.

Estou tentando resolver a equação do seguinte tipo:

x˙=vv˙={(|Fexternal||Ffriction|)sign(Fexternal):|Fexternal|<|Ffriction|0:otherwise
Andrey Shevlyakov
fonte
Olá @AndreyShevlyakov e bem-vindo ao Scicomp! Existe uma classe específica de ODE em que você está interessado?
Paul
Oi Paul! Sim, atualmente estou tentando implementar um tipo de modelo de atrito com escorregamento.
Andrey Shevlyakov 16/09/12
Você poderia incorporar as equações que deseja resolver na sua pergunta? Isso ajudará a restringir os métodos específicos aplicáveis ​​ao seu problema.
Paul
Eu adicionei exemplo ao post
Andrey Shevlyakov 17/09/12
11
Quando trabalhei no ACSL, ele incluiu um localizador de raiz, para que você pudesse procurar o tempo em que a velocidade era igual a zero e, em seguida, iniciar novamente a partir desse ponto com o novo rhs.
precisa saber é o seguinte

Respostas:

13

Veja o novo livro de David Stewart (2011) sobre este tópico, Dinâmica com Desigualdades: Impactos e Restrições Rígidas . Os problemas de atrito de Coulomb são mencionados várias vezes nos capítulos de análise.

O capítulo 8 é dedicado a métodos numéricos para EDOs e DAEs não suaves. Defende principalmente métodos Runge-Kutta totalmente implícitos, com tratamento especial da não suavidade. Observe a Seção 8.4.4, que destaca que, se você não localizar com precisão os pontos de não suavidade, todos os métodos se degradam na precisão de primeira ordem , portanto, o Euler implícito (com modificações para não suavidade) é popular na prática. Além disso, as soluções de problemas com desigualdades dimensionais infinitas são geralmente não seccionalmente alisar, por conseguinte, a teoria prevê apenas ó ( h 1 / 2 ) de convergência, embora na prática, S ( h )O(h)O(h1 1/2)O(h) é frequentemente observado.

Jed Brown
fonte
Ótimo, obrigado! Você sabe se existem implementações disponíveis em algum lugar?
Andrey Shevlyakov
Não que eu saiba, mas a implementação de esquemas simples não deve ser muito difícil se você tiver um solucionador de desigualdades variacionais estáticas.
precisa
2

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

Por exemplo, se você tem uma massa em movimento com um bloco, a distância entre a massa e o bloco pode ser usada como uma função de cruzamento de zero.

Muitos solucionadores de ODE (por exemplo, SUNDIALS CVODE) verificam automaticamente se alguma das funções de cruzamento de zero mudou de sinal durante o último passo. Se for esse o caso, um método de localização de raiz é usado para determinar a localização exata da raiz. O solucionador pode ser reiniciado nessa posição específica. Isso é feito automaticamente pelo próprio solucionador ou manualmente pelo código de chamada.

Florian Brucker
fonte
Para fins de pesquisa: também se pode falar em "local do evento"; Hairer / Nørsett / Wanner tem uma boa discussão sobre isso.
JM