stringtranslate.com

algoritmo de beeman

El algoritmo de Beeman es un método para integrar numéricamente ecuaciones diferenciales ordinarias de orden 2, más específicamente las ecuaciones de movimiento de Newton . Fue diseñado para permitir un gran número de partículas en simulaciones de dinámica molecular. Hay una variante directa o explícita y una implícita del método. La variante directa fue publicada por Schofield en 1973 [1] como comunicación personal de Beeman. Esto es lo que comúnmente se conoce como método de Beeman . Es una variante del método de integración de Verlet . Produce posiciones idénticas, pero utiliza una fórmula diferente para las velocidades. Beeman publicó en 1976 [2] una clase de métodos implícitos (predictor-corrector) de varios pasos, donde el método de Beeman es la variante directa del método de tercer orden en esta clase.

Ecuación

La fórmula utilizada para calcular las posiciones en el tiempo en el esquema predictor-corrector completo [2] es:

.
En las pruebas se demostró que este paso del corrector debe repetirse como máximo dos veces. Los valores de la derecha son los valores antiguos de las últimas iteraciones, lo que da como resultado los nuevos valores de la izquierda.

Utilizando únicamente la fórmula predictora y el corrector de las velocidades se obtiene un método directo o explícito [1] que es una variante del método de integración de Verlet: [3]

Esta es la variante que suele entenderse como método de Beeman .

Beeman [2] también propuso reemplazar alternativamente la actualización de velocidad en la última ecuación por el método Adams-Moulton de segundo orden :

dónde

Modificaciones predictor-corrector

En sistemas donde las fuerzas son función de la velocidad además de la posición, las ecuaciones anteriores deben modificarse a una forma predictor-corrector mediante la cual se predicen las velocidades en el tiempo y se calculan las fuerzas, antes de producir una forma corregida de las velocidades.

Un ejemplo es:

Luego se calculan (predicen) las velocidades en el momento a partir de las posiciones.

Luego se calculan las aceleraciones en el tiempo a partir de las posiciones y velocidades predichas, y las velocidades se corrigen.

Término de error

Como se muestra arriba, el término de error local es para posición y velocidad, lo que resulta en un error global de . En comparación, Verlet es para posición y velocidad. A cambio de una mayor precisión, el algoritmo de Beeman es moderadamente más caro desde el punto de vista computacional.

Requisitos de memoria

La simulación debe realizar un seguimiento de la posición, la velocidad, la aceleración y los vectores de aceleración anteriores por partícula (aunque son posibles algunas soluciones inteligentes para almacenar el vector de aceleración anterior), manteniendo sus requisitos de memoria a la par con la velocidad Verlet y un poco más caro que el método Verlet original. .

Referencias

  1. ^ ab Schofield, P. (1973), "Estudios de simulación por computadora del estado líquido", Computer Physics Communications , 5 (1): 17–23, Bibcode :1973CoPhC...5...17S, doi :10.1016/0010 -4655(73)90004-0
  2. ^ abc Beeman, David (1976), "Algunos métodos de varios pasos para su uso en cálculos de dinámica molecular", Journal of Computational Physics , vol. 20, núm. 2, págs. 130–139, Bibcode :1976JCoPh..20..130B, doi :10.1016/0021-9991(76)90059-0
  3. ^ Levitt, Michael; Meirovitch, Hagai; Huber, R. (1983), "Integración de las ecuaciones de movimiento", Journal of Molecular Biology , 168 (3): 617–620, doi :10.1016/S0022-2836(83)80305-2, PMID  6193281