https://github.com/fernandezfran/tiny_md
tiny molecular dynamics (Trabajo final de Computación Paralela, curso de posgrado de FaMAF)
https://github.com/fernandezfran/tiny_md
computational-physics hpc molecular-dynamics parallel-computing
Last synced: 2 months ago
JSON representation
tiny molecular dynamics (Trabajo final de Computación Paralela, curso de posgrado de FaMAF)
- Host: GitHub
- URL: https://github.com/fernandezfran/tiny_md
- Owner: fernandezfran
- Created: 2020-12-10T14:18:53.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-10-19T14:29:23.000Z (over 4 years ago)
- Last Synced: 2025-10-25T11:24:05.341Z (5 months ago)
- Topics: computational-physics, hpc, molecular-dynamics, parallel-computing
- Language: C
- Homepage: https://cs.famaf.unc.edu.ar/~nicolasw/Docencia/CP/2020/index.html
- Size: 3.64 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# tiny_md
> _tiny molecular dynamics_
>
> trabajo final de computación paralela 2020 (curso de posgrado - FaMAF, UNC)
Proyecto de speed-up de un código de Dinámica Molecular con un potencial interatómico de Lennard-Jones. Inicialmente se dan las posiciones en un cristal FCC y velocidades aleatorias distribuidas uniformemente según la temperatura inicial. Las fuerzas se obtienen de un potencial de LJ (12-6) y la evolución temporal viene dada por el algoritmo Velocity Verlet. Se consideran condiciones periódicas de contorno para reproducir un sistema infinito. La temperatura es controlada a través de un reescaleo en las velocidades. Cada cierta cantidad de pasos de dinámica molecular se cambia la densidad del sistema y se reescalean las posiciones para obtener la ecuación de estado.
En el directorio `proyecto/` se encuentra el desarrollo del trabajo, para más información se puede ver `doc/informe.pdf`.
En `proyecto/proyecto0_cp2021/` está cómo mandé el proyecto inicial para la edición 2021 de Computación paralela.
### Requisitos
Para compilar es necesario tener instalado `gcc`, `OpenMP` y `OpenGL`.
### Compilación
Para correr la versión final del trabajo es necesario compilar utilizando `Makefile` en el directorio `src/`:
```bash
cd src/
make clean
make
```
donde `make clean` elimina los objetos compilados anteriormente y `make` compila dos ejecutables: `tiny_md` y `viz`, ambos ejecutables realizan la misma simulación pero el segundo posee una visualización en tiempo real.
> Nota:
>
> _Si se desean cambiar parámetros de entrada de la simulación, puede modificarse el archivo _`src/in.parameters`_ y recompilar o pasar los valores deseados como argumento a _`make`_; por ejemplo, _`make N=1372`_ cambia la cantidad de partículas que se simulan._
### Ejecución
Previo a la ejecución de `tiny_md` o `viz` puede configurarse OpenMP usando, por ejemplo, `OMP_PROC_BIND=true` y `OMP_NUM_THREADS=$i`, donde `$i` es la cantidad de hilos en los que se quiere correr.
### Contacto
Por errores, preguntas o sugerencias contactarse con:
+ Francisco Fernandez ()