Pros y contras de ambos métodos:
RK4 Pros:
- precisión (gracias a su mejor serie de aproximación produce una precisión de cuarto orden)
- la amortiguación artificial / inducida inherentemente (un poco como lo hacen los métodos implícitos) agrega estabilidad (mientras que un simple paso de Euler no lo hace; en realidad hace lo contrario, al introducir energía fantasma que se acumula y podría hundir el sistema en el caos)
RK4 Contras:
- gasto de cómputo: aunque no es tan exigente en comparación con los métodos implícitos o los métodos híbridos IMEX, RK4 es 4 veces más costoso que el Euler explícito, ya que requiere muchas más evaluaciones de funciones. Esto se muestra cuando se apunta a la vanguardia de la optimización.
- aún inestable: dependiendo del tipo de fuerzas involucradas, RK4 puede ser tan inestable como Euler. En promedio, RK4 es un poco más estable y tiende a obtener este beneficio de sus "habilidades" de amortiguación.
- No simpléctico: la amortiguación numérica tiene un costo; no puede simular sistemas donde la energía / volumen / etc. la pérdida no debería aplicar un efecto visible a lo largo del tiempo (p. ej., dinámica molecular, fuerzas derivadas del campo potencial, problemas de variación)
Verlet Pros:
- una o dos veces la complejidad de un paso de Euler (dependiendo de su sabor Verlet: posición o velocidad).
- simpléctico: conserva la energía interna
- precisión de segundo orden: muchos juegos no requieren resultados de punto flotante de alta precisión, y el segundo orden es más que agradable a la vista en un escenario de juego (además: se usó en una simulación de escenario que no es de juego cuando se "descubrió", por lo que No está tan mal)
Verlet Contras:
- estable, pero aún así: probablemente el mejor método explícito en términos de estabilidad. Tiende a ganar ventaja cuando se agregan restricciones duras al sistema, lo que permite menos dolores de cabeza al implementar restricciones proyectadas en motores de dinámica basados en la posición. Se pone en marcha al infinito si el sistema se perturba con grandes fuerzas externas y no se agrega amortiguación / fricción. Aun así, hay ciertos límites impuestos numéricamente sobre cuán grandes pueden ser las fuerzas internas (de resorte), pero en promedio son más altos que lo que RK4 puede hacer.
- menor precisión: no es útil si desea estimaciones de alta precisión
- requiere, en promedio, pasos de tiempo más pequeños que RK4 para algunas simulaciones (RK4 se beneficia tanto de su precisión como de la amortiguación interna)
Usar uno sobre el otro depende del escenario. Si la rigidez y las grandes fuerzas externas y las energías virtuales son un problema, considere otros métodos que tengan la palabra "implícita" en su descripción / título.
Tenga en cuenta que algunos autores / libros usan el término Euler semi-implícito para un integrador de Euler explícito real llamado método de Euler simpléctico (o Euler Cromer) del cual Verlet se deriva realmente. Verlet también es llamado por algunas personas como el "método leapfrog". Velocity Verlet y el método del punto medio son bastante similares ya que una estimación en un paso de tiempo det + 0.5*dt
se requiere para un paso tipo predictor-corrector. Los métodos IMEX (implícito-explícito) también se utilizan para nombrar dos enfoques similares pero no idénticos: separe los cálculos en partes rígidas y no rígidas y use diferentes integradores en ellos (el explícito para no rígido, implícito para rígido) O resuelva la velocidad con un paso de actualización implícito y actualizar la posición de manera explícita (este es un método híbrido semi-implícito que cae en la clase de métodos IMEX porque las partes rígidas afectan más al cálculo de la aceleración). Los métodos implícitos son más engorrosos y requieren resolver un sistema de ecuaciones no lineales simultáneas para toda la configuración. Los métodos implícitos se usan para cuerpos deformables y generalmente no se usan para cuerpos rígidos desacoplados.
Como se indicó en uno de los comentarios, si puede, no use Euler. Utilice el método del punto medio, el Euler semi-implícito o, al mismo costo, la posición-Verlet. Todos ellos tienen una precisión ligeramente mayor y sensiblemente más estabilidad que el integrador explícito de Euler.
Lectura recomendada de mini comparación:
http://wiki.vdrift.net/Numerical_Integration