Estou tentando simular um objeto de corda. A formulação que eu entendo é uma matriz de partículas conectadas por molas. Essas molas têm valores k muito grandes, de modo que a linha se deforma, mas se estende muito pouco. Concluí que resolver isso em função do tempo não é possível em forma fechada porque uma corda é uma generalização de um pêndulo (que não é de forma fechada).
Resolvendo soluções aproximadas, então. Eu preciso de um algoritmo que dimensione bem. Exemplos que eu vi usar integração euleriana explícita ou implícita para mover as partículas. Isso não escala.
Para ver isso, considere uma corda com nós. Aplique uma grande força em uma extremidade. Como a corda não deve esticar muito, a aceleração na outra extremidade deve ser imediata.
No entanto, com a integração euleriana, obter qualquer força para o outro lado requer n etapas. Percebo uma queda exponencial: se o primeiro nó acelera uma certa quantidade, os nós adjacentes aceleram menos (se eles aceleram na mesma taxa, o algoritmo não é estável). Conseqüentemente, os nós adjacentes a esse nó aceleram ainda mais devagar!
Portanto, para nós ausentes, a aceleração é quase insignificante. Isso leva a uma corda que se estende significativamente. Se você deseja apenas duplicar a resolução da simulação, de repente precisa executar etapas de tempo dezenas ou centenas de vezes menores para obter um comportamento semelhante.
Estou procurando um método simples que resolva esse problema - ou seja, simulações de alta resolução convergem para a solução com apenas computação extra de tempo polinomial. Está disponível uma biblioteca completa de técnicas de matriz e álgebra linear. Meu conhecimento da mecânica clássica é muito bom e conheço algumas análises numéricas.
fonte
Respostas:
Antes de tudo, como Jed Brown mencionou, você deve usar um esquema implícito de escalonamento de tempo, pois seu problema parece bastante rígido, ou pelo menos um esquema mais estável, mas igualmente simples, como a integração Leapfrog ou a integração Verlet .
Quanto ao problema físico, qual o seu interesse no alongamento? Em vez de conectar as partículas com molas rígidas, você pode usar restrições holonômicas , por exemplo, garantir que a distância entre pares de partículas permaneça constante. As restrições precisam ser resolvidas a cada etapa do tempo, e existem algoritmos eficientes para exatamente a sua configuração, ou seja, uma longa cadeia de restrições vinculada. Veja, por exemplo, este artigo .
Por curiosidade, você também está usando potenciais angulares ao longo do comprimento da corda para modelar sua flexibilidade?
fonte
Você tem um sistema rígido com a formulação atual. O alongamento dinâmico e a vibração na corda são (presumivelmente) desinteressantes, mas eles controlam o passo explícito do tempo. Isso indica o uso de um método de integração de tempo implícito. Você pode usar o amortecimento para evitar oscilações que tendem a atrapalhar o controle de erros adaptativo para o método implícito.
Se as oscilações de escala fina são importantes para modelar, apesar de querer ultrapassá-las (por exemplo, para modelagem de fadiga), convém verificar novos métodos de múltiplas escalas, como o Método Heterogêneo de Múltiplas Escalas (Engquist, Tsai, etc.) ou semi- métodos espectrais no tempo. O uso de tais métodos é um tópico no nível da pesquisa e você precisa entender bem o seu problema e os recursos do método para decidir se pode ser apropriado. Se você deseja economizar energia, por exemplo, que certos modos vibracionais não devem se dissipar, observe integradores simpléticos como o Verlet.
Você também pode resolver o limite de estiramento zero, se quiser. Com termos inerciais, o modelo pode ser reformulado em termos de ângulos, levando a um sistema ODE não rígido. Como faleichik apontou, esse é o
ROPE
problema de teste considerado em Hairer, Nørsett e no livro de Wanner. Se você descartar a inércia do próprio cabo, mas permitir folga (cabo leve e de baixa elasticidade com carga discreta; não é um modelo comum), o problema se tornará uma desigualdade variacional diferencial (DVI) e geralmente não é possível obter melhor do que a precisão de primeira ordem em Tempo.fonte
Se você estiver interessado em uma solução rápida e aproximada, os métodos usados em efeitos digitais, como geometria diferencial discreta, podem ser do seu interesse. Estou ciente de uma formulação quase-estática em Discrete Elastic Rods , um artigo de 2008 do grupo de Grinspun na Universidade de Columbia, mas provavelmente há literatura mais recente nessa área.
fonte
O movimento da corda pendurada é um problema de teste amado de Hairer e Wanner, que apareceu no segundo volume (rígido) de "Resolvendo equações diferenciais ordinárias" e na segunda edição do primeiro volume (1993). Eu recomendo a última opção, página 247. As equações são difíceis de derivar e o algoritmo de solução numérica não é muito direto. Embora no final, steppers de tempo explícito convencionais como DOPRI, RK45 ou ODEX sejam aplicados e se comportem muito bem, então o problema não é realmente rígido.
fonte
ROPE
problema do livro modela uma corda que não estica, com dinâmica dominada por efeitos inerciais. Parece que a pergunta é sobre cordas que se esticam.