LibEFP es una implementación completa del método de potencial de fragmento efectivo (EFP) (EFP puede ser visto como un campo de fuerza avanzado, basado en primeros principios, ver Kaliman et al., JCC, 2013). LibEFP facilita la extensión de métodos de estructura electrónica diseñados para simulaciones precisas en la fase gaseosa a fases condensadas, a través QM/EFP. LibEFP está diseñado para dar a los desarrolladores de programas de química cuántica una forma fácil de añadir EFP a su paquete favorito.
Para encontrar información más detallada acerca de LibEFP, vaya a: libefp - The Effective Fragment Potential
Este es un método eficaz para compilar LibEFP en Ubuntu Desktop 18.04 LTS. Estas instrucciones asumen que se empieza con una instalación limpia de Ubuntu Desktop 18.04 LTS. En consecuencia, algunos de los pasos descritos aquí, como la instalación de bibliotecas, puede que no sean un requisito para su sistema. Este procedimiento fue probado por última vez el 1 de junio de 2018:
Asegúrese de que su sistema está al día.
Instale los compiladores.
Instale las bibliotecas de matemáticas
Instale MPI.
Instale Git.
Limpie el sistema.
En primer lugar, vaya al directorio donde desear descargar el código fuente de LibEFP. Por ejemplo:
Para compilar LibEFP 1.5.0, hay que obtener los archivos de instalación. Esto se puede hacer usando Git.
Esto creará un directorio llamado libefp en el directorio de trabajo actual. Es posible que desee cambiar el nombre del nuevo directorio para incluir la versión y otros detalles de la compilación que está a punto de ejecutar:
También se necesita un archivo de configuración. Este archivo config.inc contiene un conjunto de instrucciones para que el sistema reconozca los compiladores, directorio de instalación, y otras opciones.
Varios ejemplos de este archivo se encuentran almacenados en el directorio config/.
A continuación se da un ejemplo de dicho archivo, basado en el ejemplo gcc-netlib-openmpi.inc:
Compilar debe ser sencillo ahora. En primer lugar, ejecute el comando make. Esto verificará que todo esté en orden para la compilación de todo el paquete (si sólo necesita la biblioteca, no el motor de Dinámica Molecular EFPMD, puede ejecutar make libefp).
Si make se llevó a cabo sin errores, ahora debe comprobar que el código compilado funciona correctamente. Esto se hace mediante la ejecución de una serie de cálculos de prueba precargados que se corren a través de un script, el cual se llama usando los comandos make check. Al menos debe ejecutar el primero de ellos:
Para probar código paralelo OpenMP (paralelización entre los núcleos):
Para probar código paralelo MPI (paralelización entre nodos):
Por último, para instalar el código compilado, ejecute el comando make install.
Si no realizó la instalación en el directorio por defecto, cree rutas de sistema para los binarios de LibEFP en su .bashrc.
En primer lugar, vaya al directorio LibEFP dentro del directorio Aplicaciones del Grupo Slipchenko:
Para compilar LibEFP 1.4.2, hay que obtener los archivos de instalación. Esto se puede hacer usando Git.
Esto creará un directorio llamado libefp en el directorio de trabajo actual. Es posible que desee cambiar el nombre del nuevo directorio para incluir la versión y otros detalles de la compilación que está a punto de ejecutar:
También se necesita un archivo de configuración. Este archivo config.inc contiene todas las instrucciones para que el sistema reconozca los compiladores, directorio de instalación, y otras opciones.
A continuación se da un ejemplo de dicho archivo:
Compilar debe ser sencillo ahora. En primer lugar, ejecute el comando make. Esto verificará que todo esté en orden para la compilación de todo el paquete (si sólo necesita la biblioteca puede ejecutar make libefp.).
Si make se ejecutó sin errores, ahora debe comprobar que el programa funciona correctamente. Esto se hace mediante la ejecución de una serie de cálculos precargados que se corren a través de un script, el cual se llama usando los comandos make check. Al menos debe ejecutar el primero de ellos:
Para probar código paralelo OpenMP (paralelización entre los núcleos):
Para probar código paralelo MPI (paralelización entre nodos):
Por último, para compilar todo el programa, ejecute el comando make install.
Si la biblioteca ha sido compilado correctamente, para ejecutar un trabajo LibEFP se necesita un archivo de entrada y otro de parámetros .efp.
Con el archivo de parámetros ubicado en el mismo directorio que el archivo de entrada, un trabajo de LibEFP se puede ejecutar con el comando:
Trabajos de EFP-MD se pueden ejecutar con el comando:
Abajo se proveen más detalles.
Un ejemplo de un corto archivo de entrada para una simulación NPT EFP-MD:
Hay diversas versiones de LibEFP ya compiladas en los clústeres del RCAC. Para correr un trabajo de LibEFP a través del sistema de organización PBS, el usuario puede usar el siguiente formato de base: