¿Pueden las propiedades y la mecánica del agua ser descritas matemáticamente y luego simuladas virtualmente?

Hay dos tipos de enfoques que uno puede seguir para simular un líquido como el agua. El primero es adoptar una descripción continua y tratar el agua como un fluido; Este es el ámbito de la hidrodinámica, y sé muy poco al respecto, aunque otros parecen haber propuesto enlaces relevantes. Esto es claramente lo que debe tener en cuenta si desea simular algo que se parece a la idea de “vida cotidiana” del agua líquida, por ejemplo, si desea representar un lago en un videojuego 3D.

El otro enfoque se basa en una descripción atomística del agua, utilizando un modelo de agua en el contexto de la mecánica molecular. Esto es lo que se usa para las simulaciones de dinámica molecular (MD) en la solvatación explícita. Existen varios modelos de agua (según lo vinculado por Shauli – modelo @Water) que generalmente intentan encontrar un compromiso entre la precisión en la descripción de las interacciones intermoleculares (que es un tema complicado cuando se trata del agua, como Brandon ha señalado ) y costo computacional. El modelo de agua más utilizado en este contexto es probablemente TIP3P.

La idea es integrar numéricamente las ecuaciones de movimiento de Newton para cada átomo para tener una idea de la dinámica del sistema a escala molecular.

Puede simular una caja (periódica) de moléculas de agua utilizando uno de los paquetes habituales de simulación de dinámica molecular:

CHARMM: @CHARMM
NAMD: http://www.ks.uiuc.edu/Research/namd/
GROMACS: @Gromacs – Gromacs

y así.

Implementar un programa para hacer una simulación MD de agua es difícil, pero factible. Esto requerirá una buena comprensión de la teoría subyacente a los modelos de agua (química física, mecánica molecular y algo de química cuántica) y los métodos de simulación reales (mecánica estadística, mecánica clásica, integración numérica de ecuaciones diferenciales). Un buen libro para comenzar es @Molecular Modeling de A. Leach (es una sugerencia, hay muchos libros buenos sobre el tema).

En cuanto al lenguaje de programación, depende de lo que quieras hacer. Si solo desea ejecutar la simulación y estudiar su salida, olvide la implementación casera y elija uno de los paquetes anteriores. Están bien documentados y probados, y tienen una gran base de usuarios.

Si realmente desea desarrollar su propio código, comenzaría escribiendo todo en Python / NumPy. La estructura numpy.array es extremadamente útil cuando se trata de implementar dinámicas moleculares, y le permite escribir código claro y fácil de leer. Por supuesto, probablemente tendrá malas actuaciones. Si es un problema para usted, mi consejo es escribir las partes críticas de la velocidad del código (por ejemplo, las rutinas que evaluarán las fuerzas interatómicas en cada paso de tiempo) en un lenguaje “orientado a los números”. C o Fortran, luego use una herramienta de ajuste (F2Py, SWIG …) para incluirlo en el programa Python.

No usaría Matlab, pero esto se debe a que no me gusta usar lenguajes que no sean FLOSS.

Este enfoque de “mecánica molecular” debería darle una descripción decente de las redes de enlaces de hidrógeno, pero no espere observar efectos hidrodinámicos como la turbulencia.

Finalmente, hay métodos que intentan conciliar las opiniones atomísticas e hidrodinámicas. Estos se denominan métodos de mesoescala y uno de ellos es la dinámica de partículas disipativas (DPD). Puede describir, hasta cierto punto, algunos efectos hidrodinámicos mientras retiene una formulación basada en partículas. Para darle un ejemplo, algunos investigadores lo usaron para modelar glóbulos rojos en el flujo sanguíneo:

http://www.pnas.org/content/110/…

@ESPResSo “El paquete de simulación extensible para Research on Soft Matter puede hacer DPD y además, tiene un logotipo muy bueno.

Página en youtu.be
Página en youtube.com
Página en youtube.com
https://www.youtube.com/watch?v=-f6-li_wtr8

Esta página de blog detalla los mejores 7 productos disponibles.
http://www.creativebloq.com/audi

Sí. Puede usar https://en.m.wikipedia.org/wiki/ … y resolverlo usando, por ejemplo, https://en.m.wikipedia.org/wiki/ ….