GoGPT Best VPN GoSearch

icono de página de OnWorks

mpqc: en línea en la nube

Ejecute mpqc en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando mpqc que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


mpqc - El programa de química cuántica masivamente paralela (MPQC)

SINOPSIS


mqc [opciones] [nombre de archivo]

DESCRIPCIÓN


MPQC calcula las propiedades de las moléculas, ab initio, en una amplia variedad de computadoras
arquitecturas

Puede calcular las energías HartreeFock de capa cerrada y capa abierta restringida general y
gradientes, teoría de perturbaciones de capa abierta de segundo orden (OPT2 [2]) y perturbación media de Za
Teoría de las energías (ZAPT2) y la teoría de perturbaciones de capa cerrada de segundo orden de MoellerPlesset
energías y gradientes. También incluye métodos para optimizar moléculas en
Coordenadas cartesianas o internas.

MPQC está diseñado utilizando técnicas de programación orientadas a objetos e implementado en C ++
lenguaje de programación.

OPCIONES


A MPQC se le pueden dar opciones seguidas de un nombre de archivo de entrada opcional. Si el nombre del archivo de entrada
no se proporciona, por defecto será 'mpqc.in'. Las siguientes opciones de la línea de comando son
Reconocido:

-o Da el nombre del archivo de salida. El predeterminado es la consola.

-i Convierta un archivo de entrada simple en un archivo de entrada orientado a objetos y escriba el resultado
a la salida. No se realizan cálculos.

-mensajegrp
A valor de clave analizada especificación de un MensajeGrp objeto. El valor predeterminado depende de cómo
Se compiló MPQC.

-grupo de memoria
A valor de clave analizada especificación de un Grupo de memoria objeto. El valor predeterminado depende de cómo
Se compiló MPQC.

-threadgrp
A valor de clave analizada especificación de un Grupo de subprocesos objeto. El valor predeterminado depende de cómo
Se compiló MPQC.

-l Establece un límite en el número de funciones básicas. El valor predeterminado es cero, lo que significa un
número ilimitado de funciones básicas.

-W Establece el directorio de trabajo. El predeterminado es el directorio actual.

-c Verifique la entrada y la salida.

-v Imprime el número de versión.

-w Imprima la información de la garantía (no hay garantía).

-d Si se proporcionó un objeto depurador en la entrada, inicie la ejecución del depurador tan pronto como
Se inicia MPQC.

-h Imprime una lista de opciones.

-f El nombre de un archivo de entrada orientado a objetos. El valor predeterminado es mpqc.in. Esto no puede ser
se utiliza si se especifica otro archivo de entrada. Esta opción está en desuso, ya que tanto la entrada
Los formatos de archivo se pueden leer dando el nombre del archivo de entrada en la línea de comando sin
cualquier bandera de opción.

Algunos entornos MPI no pasan la línea de comando a los programas esclavos, pero la suministran cuando
Se llama MPI_Init. Para hacer que MPQC llame a MPI_Init al inicio, en lugar de cuando un
MPIMessageGrp se crea, nombre el ejecutable mpqc-mpi.

MEDIO AMBIENTE VARIABLES


MPQC analiza cuatro variables ambientales para configurar la comunicación y buscar archivos de biblioteca.
Las bibliotecas y utilidades específicas de la máquina para ejecutar programas en paralelo pueden buscar otras
variables de entorno también. Los cuatro que se aplican a todas las plataformas son:

ESCLIBDIR
El nombre del directorio de la biblioteca.

MENSAJEGRP
A valor de clave analizada especificación de un MensajeGrp objeto. El valor predeterminado depende de cómo
Se compiló MPQC. Ver el MensajeGrp documentación de la clase para obtener más información.

MEMORIA GRP
A valor de clave analizada especificación de un Grupo de memoria objeto. El valor predeterminado depende de cómo
MPQC fue compilado y el MensajeGrp en uso.

ROSCA
A valor de clave analizada especificación de un Grupo de subprocesos objeto. El valor predeterminado depende de cómo
Se compiló MPQC.

De forma predeterminada, MPQC intenta buscar los archivos de la biblioteca primero en el subdirectorio lib del
directorio de instalación y luego el directorio del código fuente. Si los archivos de la biblioteca no se pueden
encontrado, MPQC debe ser notificado de la nueva ubicación con la variable de entorno SCLIBDIR.

Las otras tres palabras clave especifican objetos. Esto se hace dando un mini valor de clave analizada Las opciones de entrada
en una cuerda. El objeto es anónimo, es decir, no se le asocia ninguna palabra clave. Aquí está
un ejemplo:

setenv MESSAGEGRP 'GrupoShmMessage> :( n = 4) '

COMPARTIDO MEMORIA MULTIPROCESADOR CON SYSV IPC


De forma predeterminada, MPQC se ejecutará en una sola CPU. Para especificar más, puede dar un GrupoShmMessage
objeto en la línea de comando. Lo siguiente ejecutaría mpqc en cuatro procesos:

mpqc -messagegrp 'GrupoShmMessage> :( n = 4) 'archivo_entrada

Alternativamente, el GrupoShmMessage El objeto se puede dar como una variable ambiental:

setenv MESSAGEGRP 'GrupoShmMessage> :( n = 4) '
archivo de entrada mpqc

Si MPQC muere inesperadamente, los segmentos de memoria compartida y los semáforos se dejarán en el
máquina. Estos deben limpiarse rápidamente o se puede evitar que se ejecuten otros trabajos.
exitosamente. Para ver si tiene alguno de estos recursos asignados, use el comando ipcs.
La salida se verá algo así como:

Estado de IPC de / dev / kmem a miércoles 13 de marzo 14:42:18 1996
T ID TECLA MODO GRUPO DE PROPIETARIOS
Colas de mensajes:
Memoria compartida:
m 288800 0x00000000 --rw ------- usuario de cljanss
Semáforos:
s 390 0x00000000 --ra ------- usuario de cljanss
s 391 0x00000000 --ra ------- usuario de cljanss

Para eliminar los recursos de IPC utilizados por cljanss en el ejemplo anterior en IRIX, escriba:

iprm -m 288800
ipcrm-s 390
ipcrm-s 391

Y en Linux, escriba:

iprm shm 288800
ipcrm sem 390
ipcrm sem 391

COMPARTIDO MEMORIA MULTIPROCESADOR CON POSIX HILOS


De forma predeterminada, MPQC se ejecutará con un solo hilo. Para especificar más, puede dar un
PthreadThreadGrp objeto en la línea de comando. MPQC no se paraleliza a un tamaño tan grande
extensión con subprocesos como lo es con el modelo de memoria distribuida más convencional, por lo que
puede que no obtenga el mejor rendimiento con esta técnica. En el otro, la memoria de arriba
es menor y no se necesita comunicación entre procesos.

Lo siguiente ejecutaría MPQC en cuatro subprocesos:

mpqc -threadgrp 'PthreadThreadGrp> :( num_threads = 4) 'archivo_entrada

Alternativamente, el PthreadThreadGrp El objeto se puede dar como una variable ambiental:

setenv THREADGRP 'PthreadThreadGrp> :( n = 4) '
archivo de entrada mpqc

COMPARTIDO OR REPARTIDO MEMORIA MULTIPROCESADOR CON MPI


A MPIMessageGrp El objeto se utiliza para ejecutarse mediante MPI. El número de nodos utilizados está determinado por
el tiempo de ejecución de MPI y no se especifica como datos de entrada para MPIMessageGrp.

mpqc -messagegrp 'MPIMessageGrp> :() 'archivo_entrada

Alternativamente, el MPIMessageGrp El objeto se puede dar como una variable ambiental:

setenv MESSAGEGRP 'MPIMessageGrp> :() '
archivo de entrada mpqc

Por lo general, se necesita un comando especial para iniciar trabajos MPI; normalmente se llama mpirun.

ENTRADA


MPQC admite dos formatos de entrada. La entrada principal es un formato orientado a objetos que
da a los usuarios acceso a todas las opciones de MPQC. El segundo formato permite el acceso a un subconjunto de
Capacidades de MPQC, pero es más intuitivo y más fácil de aprender. Se aconseja a los nuevos usuarios
comience con el formato simplificado. MPQC se puede utilizar para convertir el formato simplificado al formato
formato completo orientado a objetos con la opción -i.

Fácil Entrada


El formato de entrada simple consta de palabras clave seguidas de un ':' seguido de un valor. El
las palabras clave distinguen entre mayúsculas y minúsculas. Los valores pueden modificarse con las opciones que se encuentran entre paréntesis.
Por ejemplo, la siguiente entrada realiza una optimización del agua usando la densidad
teoría funcional con el funcional de correlación de intercambio B3LYP:

% B3LYP optimización del agua
optimizar: si
método: KS (xc = B3LYP)
base: 3-21G *
molécula:
O 0.172 0.000 0.000
H 0.745 0.000 0.754
H 0.745 0.000 -0.754

Los comentarios comienzan con un% y continúan hasta el final de la línea. Nombres de conjuntos básicos que contienen
Los caracteres especiales, como un espacio o paréntesis, se deben citar dentro de un par de caracteres dobles.
citas. Las palabras clave aceptadas son:

molécula
Da los tipos y coordenadas de los átomos. Se pueden utilizar las siguientes opciones

bohr
Las coordenadas se dan en Bohr.

angstrom
Las coordenadas se dan en Angstroms.

CHARGE
Esta opción se puede dar después de un 'elemento xyz' cuádruple. Esto anulará el
carga en el átomo. Por ejemplo, (carga = 0) se puede dar para los átomos fantasmas en un
cálculo de corrección de contrapeso.

multiplicidad
Da la multiplicidad de la molécula. El valor predeterminado es 1.

optimiza
En caso afirmativo, se realizará una optimización. El valor predeterminado es no. La siguiente
se pueden dar opciones.

cartesiano
Utilice coordenadas cartesianas.

interno
Usa coordenadas internas.

redundante
Utilice coordenadas internas redundantes.

gradiente
En caso afirmativo, se realizará un cálculo de gradiente. El valor predeterminado es no.

frecuencias
En caso afirmativo, se obtendrán las frecuencias. El valor predeterminado es no.

CHARGE
Especifica la carga de la molécula. El valor predeterminado es 0.

Método
Especifica el método. No hay ningún valor predeterminado y los valores posibles son:

HF
Hartree-Fock. Se utiliza HF sin restricciones si la multiplicidad> 1

FHD
Hartree-Fock restringido.

UHF
Hartree-Fock sin restricciones.

KS
Kohn-Sham. Se utiliza KS sin restricciones si la multiplicidad> 1

RKS
Kohn-Sham restringido.

Reino Unido
Kohn-Sham sin restricciones.

MP2
Teoría de perturbaciones de Moeller-Plesset de segundo orden. Solo disponible para multiplicidad =
1.

ZAPT2
Teoría de la perturbación promediada en Z. Solo disponible para multiplicidad> 1. Sin gradiente,
optimización o frecuencias son posibles.

Las siguientes opciones son válidas con los métodos KS, RKS y UKS:

cuadrícula
Especifica la cuadrícula que se utilizará para integraciones numéricas. Los siguientes valores pueden ser
dado:

grosero

grueso

mediano

en fin

xfino

ultrafino

xc
Especifica la función de correlación de intercambio. No hay ningún valor predeterminado. Ver la tabla en
el StdDenFuncional documentación de clase para los posibles valores.

base
Especifica el conjunto de bases. No hay ningún valor predeterminado. Ver la tabla en el Conjunto de bases gaussianas
documentación de clase para los conjuntos básicos disponibles.

reanudar
Configúrelo en sí para reiniciar una optimización. El valor predeterminado es no.

control
Configure en no para no guardar archivos de puntos de control durante una optimización. El valor predeterminado es sí.

simetría
Especifica el símbolo de Schoenflies del grupo de puntos de la molécula. El valor predeterminado es
auto, lo que hará que el programa encuentre el subgrupo abeliano de orden más alto del
molécula.

documento
Da el número de orbitales doblemente ocupados en cada representación irreducible
en una lista entre paréntesis. La simetría debe especificarse y no ser automática. El método
debe ser restringido.

social
Da el número de orbitales ocupados individuales en cada representación irreducible
en una lista entre paréntesis. La simetría debe especificarse y no ser automática. El método
debe ser restringido.

alfa
Da el número de orbitales alfa ocupados en cada representación irreducible
en una lista entre paréntesis. La simetría debe especificarse y no ser automática. El método
debe ser ilimitado.

beta
Da el número de orbitales beta ocupados en cada representación irreducible en
una lista entre paréntesis. La simetría debe especificarse y no ser automática. El método debe
ser irrestricto.

congelado_docc
Da el número de orbitales centrales congelados. Puede ser un solo entero o un
lista entre paréntesis que da los orbitales centrales congelados en cada representación irreducible.
En el último caso, la simetría debe darse y no ser automática.

congelado_uocc
Da el número de orbitales virtuales congelados. Puede ser un solo entero o un
lista entre paréntesis que da los orbitales virtuales congelados en cada irreducible
representación. En el último caso, la simetría debe darse y no ser automática.

Orientado a objetos Entrada


MPQC es un programa orientado a objetos que permite directamente al usuario especificar objetos que
MPQC luego manipula para obtener energías, propiedades, etc. Esto hace que la entrada sea muy
flexible, pero muy complejo. Sin embargo, la mayoría de los cálculos deberían ser bastante similares al
de los ejemplos que se dan más adelante en este capítulo. La mejor manera de comenzar es usar uno de
los archivos de entrada de ejemplo y modifíquelos para satisfacer sus necesidades.

MPQC comienza creando un valor de clave analizada objeto que analiza el archivo de entrada especificado en
la línea de comando. El formato del archivo de entrada está documentado en. Básicamente es gratis
Entrada de formato que asocia palabras clave y agrupaciones lógicas de palabras clave con valores. El
los valores pueden ser escalares, matrices u objetos.

Las palabras clave reconocidas por MPQC comienzan con el prefijo mpqc. Es decir, deben estar anidados
entre un mpqc :( y a). Alternativamente, cada palabra clave puede tener el prefijo individualmente
mpqc :. Las palabras clave principales se dan a continuación. Algunas de las palabras clave especifican objetos, en
cuyo caso el objeto requerirá más valor de clave analizada aporte. Estos objetos se crean a partir de
la entrada utilizando su valor de clave analizada constructores. Estos constructores están documentados con
la documentación del código fuente de la clase.

torno
Esta es la palabra clave más importante para MPQC. Especifica el Energía Molecular objeto.
Este es un objeto que sabe cómo calcular la energía de una molécula. El
especializaciones de Energía Molecular que se utilizan con más frecuencia son CLKS, HSOSKS, UKS,
CLHF, HSOSHF, UHF y MBPT2.

optar
Esta palabra clave debe especificarse para las optimizaciones. Especifica un Optimize objeto.
Generalmente, QNewtonOpt es mejor para encontrar mínimos y EFCOpto es mejor para la transición
, pioneros en BreatheLife.

frecuencia
Esta palabra clave debe especificarse para calcular frecuencias. Especifica un
Frecuencias moleculares objeto.

thread
Esto especifica un objeto de tipo Grupo de subprocesos que se puede utilizar con ventaja en
máquinas multiprocesador de memoria compartida para ciertos tipos de cálculos. Esta palabra clave
se puede anular dando el Grupo de subprocesos en el entorno o en la línea de comandos. Ver el
sección sobre ejecución de MPQC para obtener más información.

control
El valor de esta palabra clave es booleano. Si es verdadero, las optimizaciones serán
checkpoint después de cada iteración. El archivo de punto de control es suficiente .ckpt. El valor por defecto
es al puesto de control.

guardar Estado
El valor de esta palabra clave es booleano. Si es verdadero, entonces los estados del optimizador y
Los objetos de función de onda se guardarán después de que se complete el cálculo. El archivo de salida
el sufijo es .wfn. El valor predeterminado es guardar el estado.

reanudar
El valor de esta palabra clave es booleano. Si es verdadero, mpqc intentará reiniciar el
cálculo. Si no se encuentra el archivo de punto de control, el cálculo continuará como si
el valor era falso. El defecto es cierto.

reiniciar_archivo
Esto da el nombre de un archivo desde el cual se lee la información de reinicio. Si el archivo
el nombre termina en .wfn el Energía Molecular El objeto será restaurado. De lo contrario, el Optimize
El objeto será restaurado. El nombre de archivo predeterminado se forma agregando .ckpt al
nombre de archivo de entrada con la extensión eliminada.

hacer_energia
El valor de esta palabra clave es booleano. Si es cierto, un cálculo de energía de un solo punto
hecho por el Energía Molecular objeto dado con la palabra clave mole. El valor predeterminado es
verdadera.

hacer_gradiente
El valor de esta palabra clave es booleano. Si es cierto, un cálculo de gradiente de un solo punto
se hará para el Energía Molecular objeto dado con la palabra clave mole. El valor por defecto
Es falso.

optimiza
El valor de esta palabra clave es booleano. Si es verdadero y la palabra clave opt se estableció en un valor válido
valor, entonces se realizará una optimización. El defecto es cierto.

escribir_pdb
El valor de esta palabra clave es booleano. Si es cierto, un archivo PDB con la
se escribirán las coordenadas.

nombre de archivo
El valor de esta palabra clave es una cadena que da un nombre desde el punto de control y
se construyen otros nombres de archivo. El nombre predeterminado es el nombre base del archivo de entrada.

tiempos_de_impresión
Si esto es cierto, la información de tiempo se imprime al final de la ejecución. El valor predeterminado es
verdadera.

También hay algunas palabras clave de utilidad que le dicen a mpqc algunos detalles técnicos sobre cómo hacer
el cálculo:

depurar
Esta palabra clave opcional da una Depurador Objeto que se puede utilizar para ayudar a encontrar el problema.
si MPQC encuentra un error catastrófico.

kit de matriz
Esta palabra clave opcional da una SCMatrixKit especialización que se utiliza para producir
matrices del tipo deseado. El valor predeterminado es ReplSCMatrixKit que replica
matrices en todos los nodos. Otras opciones no se prueban a fondo.

EJEMPLOS


Esta entrada de ejemplo hace un cálculo Hartree-Fock en el agua. Lo que sigue es el
entrada, seguida de un desglose con descripciones.

% Esta entrada hace un cálculo Hartree-Fock sobre el agua.
moléculamolécula>: (
simetría = C2V
unidad = angstrom
{geometría de átomos} = {
O [0.00000000 0.00000000 0.37000000]
H [0.78000000 0.00000000 -0.18000000]
H [-0.78000000 0.00000000 -0.18000000]
}
)
baseConjunto de bases gaussianas>: (
nombre = 'STO-3G'
molécula = $: molécula
)
mqc: (
lunarCLHF>: (
molécula = $: molécula
base = $: base
)
)

Empezamos con un comentario descriptivo. Los comentarios comienzan con un%. Todo, desde el% hasta el
se ignora el final de la línea.

% Esta entrada hace un cálculo Hartree-Fock sobre el agua.

Ahora configuremos un molécula objeto. El nombre del objeto es lo primero, es molécula.
Luego, entre paréntesis angulares, viene el tipo de molécula, que es la clase molécula.
La palabra clave y el nombre de la clase van seguidos de un: y luego varias piezas de entrada agrupadas
entre un par de paréntesis coincidentes. Estos paréntesis contienen la información que
será dado a molécula Valor clave constructor.

moléculamolécula>: (

Se necesita el grupo de puntos de la molécula. Esto se hace asignando simetría a un caso.
insensible símbolo de moscas de Schoen que se utiliza para inicializar un Grupo de puntos objeto. Un abeliano
Se debe utilizar el grupo de puntos.

simetría = C2V

La unidad predeterminada para las coordenadas cartesianas es Bohr. Puede especificar otras unidades por
unidad asignada a una cadena que se utilizará para inicializar un Monitoreadas objeto.

unidad = angstrom

Finalmente, se dan los átomos y las coordenadas. Esto se puede dar en la tabla de taquigrafía.
sintaxis que se muestra a continuación. Los encabezados de la tabla son las palabras clave entre el primer par de
soportes. Estos son seguidos por un = y otro par de corchetes que contienen los datos.
El primer dato se asigna al primer elemento de la matriz que corresponde al
primer título, átomo. El segundo dato se asigna al primer elemento de la matriz
asociado con el segundo encabezado, geometría, etc. Aquí el segundo dato es en realidad
un vector: las coordenadas x, y y z del primer átomo.

{geometría de átomos} = {
O [0.00000000 0.00000000 0.37000000]
H [0.78000000 0.00000000 -0.18000000]
H [-0.78000000 0.00000000 -0.18000000]
}
)

A continuación, se proporciona un objeto de conjunto de bases.

baseConjunto de bases gaussianas>: (
nombre = 'STO-3G'
molécula = $: molécula
)

Ahora le daremos el cuerpo principal de entrada. Todas las palabras clave posteriores se agruparán en
la sección mpqc de la entrada (es decir, cada palabra clave tendrá el prefijo mpqc :).

mqc: (

A continuación, damos la palabra clave mole que proporciona una especialización del Energía Molecular
clase. En este caso, haremos un cálculo Hartree-Fock de caparazón cerrado. Eso esta hecho con
un objeto de tipo CLHF. Las palabras clave que CLHF acepta se dan con la documentación
para CLHF class, generalmente en la descripción del const RefKeyVal & constructor para el
clase. También con el CLHF La documentación es una lista de clases principales. Cada uno de los padres
las clases también pueden tener entrada. Esta entrada se incluye con el resto de la entrada para el
clase infantil.

lunarCLHF>: (

La siguiente línea especifica la molécula que se utilizará. Hay dos cosas a tener en cuenta, primero que
esto es en realidad una referencia a la especificación completa de la molécula en otra parte de la entrada
Archivo. El $ indica que se trata de una referencia y la palabra clave que sigue al $ es la
ubicación real de la molécula. El: delante de la palabra clave significa que la palabra clave es
no en relación con la ubicación actual en la entrada, sino más bien en relación con la raíz de la
árbol de palabras clave. Por lo tanto, esta línea toma la molécula que se especificó anteriormente. El
objeto de la molécula podría haber sido colocado aquí, pero con frecuencia es necesario que varios
los objetos se refieren al mismo objeto exacto y esto solo se puede hacer usando referencias.

El segundo punto es que si miras la documentación para CLHF, verás que es
no lee la palabra clave de la molécula. Sin embargo, si sigue sus clases principales hasta
Energía Molecular, encontrará que la molécula de hecho se lee.

molécula = $: molécula

Tal como le dimos a la molécula, especifique el conjunto de bases con la palabra clave base de la siguiente manera:

base = $: base

Ahora cerramos los paréntesis que abrimos arriba y terminamos.

)
)

Muestra Orientado a objetos Entrada archivos


La forma más fácil de comenzar con mpqc es comenzar con una de las entradas de muestra que la mayoría
casi coincide con su problema. Todas las entradas de muestra que se muestran aquí se pueden encontrar en el
directorio src / bin / mpqc / samples.

Hartree-Fock Energía
La siguiente entrada calculará la energía Hartree-Fock del agua.

% emacs debería usar - * - Valor clave -*- modo
% de especificación de la molécula
moléculamolécula>: (
simetría = C2V
unidad = angstrom
{geometría de átomos} = {
O [0.00000000 0.00000000 0.37000000]
H [0.78000000 0.00000000 -0.18000000]
H [-0.78000000 0.00000000 -0.18000000]
}
)
% de especificación del conjunto base
baseConjunto de bases gaussianas>: (
nombre = 'STO-3G'
molécula = $: molécula
)
mqc: (
punto de control = no
guardar estado = no
% método para calcular la energía de la molécula
lunarCLHF>: (
molécula = $: molécula
base = $: base
memoria = 16000000
)
)

MP2 Energía
La siguiente entrada calculará la energía MP2 del agua.

% emacs debería usar - * - Valor clave -*- modo
% de especificación de la molécula
moléculamolécula>: (
simetría = C2V
unidad = angstrom
{geometría de átomos} = {
O [0.00000000 0.00000000 0.37000000]
H [0.78000000 0.00000000 -0.18000000]
H [-0.78000000 0.00000000 -0.18000000]
}
)
% de especificación del conjunto base
baseConjunto de bases gaussianas>: (
nombre = 'STO-3G'
molécula = $: molécula
)
mqc: (
punto de control = no
guardar estado = no
% método para calcular la energía de la molécula
lunarMBPT2>: (
molécula = $: molécula
base = $: base
memoria = 16000000
% función de onda de referencia
referenciaCLHF>: (
molécula = $: molécula
base = $: base
memoria = 16000000
)
)
)

Hartree-Fock Optimiza
La siguiente entrada optimizará la geometría del agua utilizando el método cuasi-Newton.

% emacs debería usar - * - Valor clave -*- modo
% de especificación de la molécula
moléculamolécula>: (
simetría = C2V
unidad = angstrom
{geometría de átomos} = {
O [0.00000000 0.00000000 0.37000000]
H [0.78000000 0.00000000 -0.18000000]
H [-0.78000000 0.00000000 -0.18000000]
}
)
% de especificación del conjunto base
baseConjunto de bases gaussianas>: (
nombre = '6-31G *'
molécula = $: molécula
)
mqc: (
punto de control = no
guardar estado = no
% de coordenadas moleculares para optimización
coorSymmMolecularCoor>: (
molécula = $: molécula
generadorIntCoorGen>: (
molécula = $: molécula
)
)
% método para calcular la energía de la molécula
lunarCLHF>: (
molécula = $: molécula
base = $: base
coor = $ ..: coor
memoria = 16000000
)
% objeto optimizador para la geometría molecular
optarQNewtonOpt>: (
función = $ ..: mole
actualizarBFGSActualizar>: ()
convergencia : (
cartesiano = si
energía = $ ..: ..: mole
)
)
)

Optimiza con a computarizada Guess arpillera
La siguiente entrada optimizará la geometría del agua utilizando el método cuasi-Newton. El
Supongo que el hessian se calculará en un nivel más bajo de teoría.

% emacs debería usar - * - Valor clave -*- modo
% de especificación de la molécula
moléculamolécula>: (
simetría = C2V
unidad = angstrom
{geometría de átomos} = {
O [0.00000000 0.00000000 0.37000000]
H [0.78000000 0.00000000 -0.18000000]
H [-0.78000000 0.00000000 -0.18000000]
}
)
% de especificación del conjunto base
baseConjunto de bases gaussianas>: (
nombre = '6-31G *'
molécula = $: molécula
)
mqc: (
punto de control = no
guardar estado = no
% de coordenadas moleculares para optimización
coorSymmMolecularCoor>: (
molécula = $: molécula
generadorIntCoorGen>: (
molécula = $: molécula
)
)
% método para calcular la energía de la molécula
lunarCLHF>: (
molécula = $: molécula
base = $: base
coor = $ ..: coor
memoria = 16000000
guess_hessianFinDispMolecularHessiano>: (
molécula = $: molécula
only_totally_symmetric = sí
eliminar_terms_cubicos = no
punto de control = no
energíaCLHF>: (
molécula = $: molécula
memoria = 16000000
baseConjunto de bases gaussianas>: (
nombre = '3-21G'
molécula = $: molécula
)
)
)
)
% objeto optimizador para la geometría molecular
optarQNewtonOpt>: (
función = $ ..: mole
actualizarBFGSActualizar>: ()
convergencia : (
cartesiano = si
energía = $ ..: ..: mole
)
)
)

Optimiza Usando De Newton Método
La siguiente entrada optimizará la geometría del agua utilizando el método de Newton. El
El hessian se calculará en cada paso de la optimización. Sin embargo, el recálculo de Hesse
generalmente no vale la pena el costo; intente usar el hessiano calculado como un hessiano de suposición para un
método cuasi-Newton antes de recurrir a una optimización de Newton.

% Emacs debería usar - * - Valor clave -*- modo
% de especificación de la molécula
moléculamolécula>: (
simetría = c2v
unidad = angstrom
{geometría de átomos} = {
O [0.00000000 0.00000000 0.36937294]
H [0.78397590 0.00000000 -0.18468647]
H [-0.78397590 0.00000000 -0.18468647]
}
)
% de especificación del conjunto base
baseConjunto de bases gaussianas>: (
nombre = '3-21G'
molécula = $: molécula
)
mqc: (
punto de control = no
guardar estado = no
reiniciar = no
% de coordenadas moleculares para optimización
coorSymmMolecularCoor>: (
molécula = $: molécula
generadorIntCoorGen>: (
molécula = $: molécula
)
)
hacer_energia = no
hacer_gradiente = no
% método para calcular la energía de la molécula
lunarCLHF>: (
molécula = $: molécula
base = $: base
memoria = 16000000
coor = $ ..: coor
guess_wavefunctionCLHF>: (
molécula = $: molécula
cargo_total = 0
baseConjunto de bases gaussianas>: (
molécula = $: molécula
nombre = 'STO-3G'
)
memoria = 16000000
)
arpilleraFinDispMolecularHessiano>: (
only_totally_symmetric = sí
eliminar_terms_cubicos = no
punto de control = no
)
)
optimizar = sí
% objeto optimizador para la geometría molecular
optar : (
print_hessian = sí
max_iteraciones = 20
función = $ ..: mole
convergencia : (
cartesiano = si
energía = $ ..: ..: mole
)
)
)

Hartree-Fock frecuencias
La siguiente entrada calculará las frecuencias Hartree-Fock mediante desplazamientos finitos. A
También se realizarán análisis termodinámicos. Si también se proporciona una entrada de optimización,
luego se ejecutará primero la optimización, luego las frecuencias.

% emacs debería usar - * - Valor clave -*- modo
% de especificación de la molécula
moléculamolécula>: (
simetría = C1
{geometría de átomos} = {
O [0.0000000000 0.0000000000 0.8072934188]
H [1.4325589285 0.0000000000 -0.3941980761]
H [-1.4325589285 0.0000000000 -0.3941980761]
}
)
% de especificación del conjunto base
baseConjunto de bases gaussianas>: (
nombre = 'STO-3G'
molécula = $: molécula
)
mqc: (
punto de control = no
guardar estado = no
% método para calcular la energía de la molécula
lunarCLHF>: (
molécula = $: molécula
base = $: base
memoria = 16000000
)
% de entrada de frecuencia vibratoria
frecuenciaFrecuencias moleculares>: (
molécula = $: molécula
)
)

Dando a Coordenadas y a Guess arpillera
El siguiente ejemplo muestra varias características que son realmente independientes. La variable
las coordenadas se dan explícitamente, en lugar de generarse automáticamente. Esto es especialmente
útil cuando se va a proporcionar una suposición de hessian, como aquí. Este arpillera, dado por
el usuario, no está completo y el QNewtonOpt el objeto completará los valores faltantes usando
una suposición de la arpillera proporcionada por el Energía Molecular objeto. Además, las coordenadas fijas son
dado en esta entrada de muestra.

% emacs debería usar - * - Valor clave -*- modo
% de especificación de la molécula
moléculamolécula>: (
simetría = C1
{geometría de átomos} = {
H [0.088 2.006 1.438]
O [0.123 3.193 0.000]
H [0.088 2.006 -1.438]
O [4.502 5.955 -0.000]
H [2.917 4.963 -0.000]
H [3.812 7.691 -0.000]
}
)
% de especificación del conjunto base
baseConjunto de bases gaussianas>: (
nombre = 'STO-3G'
molécula = $: molécula
)
mqc: (
punto de control = no
guardar estado = no
% método para calcular la energía de la molécula
lunarCLHF>: (
molécula = $: molécula
base = $: base
coor = $ ..: coor
memoria = 16000000
)
% de coordenadas moleculares para optimización
coorSymmMolecularCoor>: (
molécula = $: molécula
generadorIntCoorGen>: (
molécula = $: molécula
extra_bonds = [2 5]
)
% usa estos en lugar de las coordenadas generadas
variableEstablecerIntCoor>: [
<StreSimpleCo> :( átomos = [2 5])
<BendSimpleCo> :( átomos = [2 5 4])
: (átomos = [5 2 1 3])
<SumaIntCoor>: (
coor: [
<StreSimpleCo> :( átomos = [1 2])
<StreSimpleCo> :( átomos = [2 3])
]
coef = [1.0 1.0]
)
<SumaIntCoor>: (
coor: [
<StreSimpleCo> :( átomos = [4 5])
<StreSimpleCo> :( átomos = [4 6])
]
coef = [1.0 1.0]
)
<BendSimpleCo> :( átomos = [1 2 3])
<BendSimpleCo> :( átomos = [5 4 6])
]
% estos están fijados por simetría de todos modos,
reparadoEstablecerIntCoor>: [
<SumaIntCoor>: (
coor: [
<StreSimpleCo> :( átomos = [1 2])
<StreSimpleCo> :( átomos = [2 3])
]
coef = [1.0 -1.0]
)
<SumaIntCoor>: (
coor: [
<StreSimpleCo> :( átomos = [4 5])
<StreSimpleCo> :( átomos = [4 6])
]
coef = [1.0 -1.0]
)
<TorsSimpleCo> :( átomos = [2 5 4 6])
:( átomos = [3 2 6 4])
:( átomos = [1 2 6 4])
]
)
% objeto optimizador para la geometría molecular
optarQNewtonOpt>: (
función = $ ..: mole
actualizarBFGSActualizar>: ()
convergencia : (
cartesiano = si
energía = $ ..: ..: mole
)
% dar una suposición parcial de arpillera en coordenadas internas
% los elementos faltantes se completarán automáticamente
arpillera = [
[0.0109261670]
[-0.0004214845 0.0102746106]
[-0.0008600592 0.0030051330 0.0043149957]
[0.0 0.0 0.0]
[0.0 0.0 0.0]
[0.0 0.0 0.0]
[0.0 0.0 0.0]
]
)
)

Optimiza con a Hidrógeno Pedido
El generador automático de coordenadas internas fallará si no puede encontrar suficiente redundancia.
coordenadas internas. En este caso, el generador de coordenadas internas debe ser explícitamente
creado en la entrada y se le proporciona información de conectividad adicional, como se muestra a continuación.

% emacs debería usar - * - Valor clave -*- modo
% de especificación de la molécula
moléculamolécula>: (
simetría = C1
{geometría de átomos} = {
H [0.088 2.006 1.438]
O [0.123 3.193 0.000]
H [0.088 2.006 -1.438]
O [4.502 5.955 -0.000]
H [2.917 4.963 -0.000]
H [3.812 7.691 -0.000]
}
)
% de especificación del conjunto base
baseConjunto de bases gaussianas>: (
nombre = 'STO-3G'
molécula = $: molécula
)
mqc: (
punto de control = no
guardar estado = no
% método para calcular la energía de la molécula
lunarCLHF>: (
molécula = $: molécula
base = $: base
coor = $ ..: coor
memoria = 16000000
)
% de coordenadas moleculares para optimización
coorSymmMolecularCoor>: (
molécula = $: molécula
% dan un generador de coordenadas interno que sabe acerca de la
% de enlace de hidrógeno entre los átomos 2 y 5
generadorIntCoorGen>: (
molécula = $: molécula
extra_bonds = [2 5]
)
)
% objeto optimizador para la geometría molecular
optarQNewtonOpt>: (
función = $ ..: mole
actualizarBFGSActualizar>: ()
convergencia : (
cartesiano = si
energía = $ ..: ..: mole
)
)
)

Fijo Coordenadas Optimiza
Este ejemplo muestra cómo fijar selectivamente las coordenadas internas en una optimización. Ningún
se puede dar un número de coordenadas linealmente independientes. Estas coordenadas deben permanecer
linealmente independiente a lo largo de la optimización, una condición que podría no mantenerse desde
las coordenadas pueden ser no lineales.

De forma predeterminada, los valores de las coordenadas fijas iniciales se toman de la geometría cartesiana
dado por el molécula objeto; sin embargo, la molécula se desplazará hacia el interior
valores de coordenadas dados con las coordenadas internas fijas si la palabra clave have_fixed_values
se establece en verdadero, como se muestra en este ejemplo. En este caso, la geometría cartesiana inicial
debe estar razonablemente cerca de la geometría inicial deseada y todas las variables
las coordenadas se congelarán a sus valores originales durante el desplazamiento inicial.

% emacs debería usar - * - Valor clave -*- modo
% de especificación de la molécula
moléculamolécula>: (
simetría = CS
{geometría de átomos} = {
H [3.04 -0.69 -1.59]
H [3.04 -0.69 1.59]
N [2.09 -0.48 -0.00]
C [-0.58 -0.15 0.00]
H [-1.17 1.82 0.00]
H [-1.41 -1.04 -1.64]
H [-1.41 -1.04 1.64]
}
)
% de especificación del conjunto base
baseConjunto de bases gaussianas>: (
nombre = '4-31G *'
molécula = $: molécula
)
mqc: (
punto de control = no
guardar estado = no
% de coordenadas moleculares para optimización
coorSymmMolecularCoor>: (
molécula = $: molécula
generadorIntCoorGen>: (
molécula = $: molécula
)
have_fixed_values ​​= sí
reparadoEstablecerIntCoor>: [
: (valor = -0.1
etiqueta = 'N-inversión'
átomos = [4 3 2 1])
]
)
% método para calcular la energía de la molécula
lunarCLHF>: (
molécula = $: molécula
base = $: base
coor = $ ..: coor
memoria = 16000000
)
% objeto optimizador para la geometría molecular
optarQNewtonOpt>: (
max_iteraciones = 20
función = $ ..: mole
actualizarBFGSActualizar>: ()
convergencia : (
cartesiano = si
energía = $ ..: ..: mole
)
)
)

Transición Estado Optimiza
Este ejemplo muestra una optimización del estado de transición de la N-inversión en el modo de uso
siguiente. La geometría inicial se obtuvo haciendo algunas optimizaciones de coordenadas fijas
a lo largo de la coordenada de inversión.

% emacs debería usar - * - Valor clave -*- modo
% de especificación de la molécula
moléculamolécula>: (
simetría = CS
{geometría de átomos} = {
H [3.045436 -0.697438 -1.596748]
H [3.045436 -0.697438 1.596748]
N [2.098157 -0.482779 -0.000000]
C [-0.582616 -0.151798 0.000000]
H [-1.171620 1.822306 0.000000]
H [-1.417337 -1.042238 -1.647529]
H [-1.417337 -1.042238 1.647529]
}
)
% de especificación del conjunto base
baseConjunto de bases gaussianas>: (
nombre = '4-31G *'
molécula = $: molécula
)
mqc: (
punto de control = no
guardar estado = no
% de coordenadas moleculares para optimización
coorSymmMolecularCoor>: (
molécula = $: molécula
generadorIntCoorGen>: (
molécula = $: molécula
)
seguido = ['N-inversión' 4 3 2 1]
)
% método para calcular la energía de la molécula
lunarCLHF>: (
molécula = $: molécula
base = $: base
coor = $ ..: coor
memoria = 16000000
)
% objeto optimizador para la geometría molecular
optarEFCOpto>: (
transición_estado = sí
mode_following = sí
max_iteraciones = 20
función = $ ..: mole
actualizarPowellActualizar>: ()
convergencia : (
cartesiano = si
energía = $ ..: ..: mole
)
)
)

Transición Estado Optimiza con a computarizada Guess arpillera
Este ejemplo muestra una optimización del estado de transición de la N-inversión en el modo de uso
siguiente. La geometría inicial se obtuvo haciendo algunas optimizaciones de coordenadas fijas
a lo largo de la coordenada de inversión. Se calculará una suposición aproximada de hessian, lo que hace
la optimización converge mucho más rápido en este caso.

% emacs debería usar - * - Valor clave -*- modo
% de especificación de la molécula
moléculamolécula>: (
simetría = CS
{geometría de átomos} = {
H [3.045436 -0.697438 -1.596748]
H [3.045436 -0.697438 1.596748]
N [2.098157 -0.482779 -0.000000]
C [-0.582616 -0.151798 0.000000]
H [-1.171620 1.822306 0.000000]
H [-1.417337 -1.042238 -1.647529]
H [-1.417337 -1.042238 1.647529]
}
)
% de especificación del conjunto base
baseConjunto de bases gaussianas>: (
nombre = '4-31G *'
molécula = $: molécula
)
mqc: (
punto de control = no
guardar estado = no
% de coordenadas moleculares para optimización
coorSymmMolecularCoor>: (
molécula = $: molécula
generadorIntCoorGen>: (
molécula = $: molécula
)
seguido = ['N-inversión' 4 3 2 1]
)
% método para calcular la energía de la molécula
lunarCLHF>: (
molécula = $: molécula
base = $: base
coor = $ ..: coor
memoria = 16000000
guess_hessianFinDispMolecularHessiano>: (
molécula = $: molécula
only_totally_symmetric = sí
eliminar_terms_cubicos = no
punto de control = no
energíaCLHF>: (
molécula = $: molécula
memoria = 16000000
baseConjunto de bases gaussianas>: (
nombre = '3-21G'
molécula = $: molécula
)
)
)
)
% objeto optimizador para la geometría molecular
optarEFCOpto>: (
transición_estado = sí
mode_following = sí
max_iteraciones = 20
función = $ ..: mole
actualizarPowellActualizar>: ()
convergencia : (
cartesiano = si
energía = $ ..: ..: mole
)
)
)

Use mpqc en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad




×
Anuncio
❤ ️Compre, reserve o adquiera aquí: sin costo, ayuda a mantener los servicios gratuitos.