Estoy tratando de simular un objeto de cuerda. La formulación que entiendo es una matriz de partículas, conectadas por resortes. Estos resortes tienen valores k muy grandes, de modo que la línea se deforma, pero se estira muy poco. He concluido que resolver esto en función del tiempo no es posible en forma cerrada porque una cuerda es una generalización de un péndulo (que no es de forma cerrada).
Conformarse con soluciones aproximadas, entonces. Necesito un algoritmo que se adapte bien. Los ejemplos que he visto usan integración euleriana explícita o implícita para mover las partículas. Esto no escala.
Para ver esto, considere una cuerda con n nodos. Aplica una gran fuerza en un extremo. Como la cuerda no debe estirarse demasiado, la aceleración en el otro extremo debe ser inmediata.
Sin embargo, con la integración euleriana, para llevar cualquier fuerza al otro extremo se requieren n pasos. Noto una caída exponencial: si el primer nodo acelera una cierta cantidad, entonces los nodos adyacentes aceleran menos (si aceleran a la misma velocidad, entonces el algoritmo no es estable). En consecuencia, los nodos adyacentes a ese nodo aceleran aún más lentamente.
Entonces, para n nodos de distancia, la aceleración es casi insignificante. Esto lleva a una cuerda que se estira significativamente. Si solo desea duplicar la resolución de la simulación, de repente necesita tomar medidas de tiempo que sean decenas o cientos de veces más pequeñas para obtener un comportamiento similar.
Estoy buscando un método simple que resuelva este problema, es decir, las simulaciones de mayor resolución convergen a la solución con solo un cálculo adicional de tiempo polinómico. Se encuentra disponible una biblioteca completa de técnicas de matriz y álgebra lineal. Mi conocimiento de la mecánica clásica es muy bueno, y conozco algunos análisis numéricos.