informe del proyecto terminal un programa para el …148.206.53.84/tesiuami/uam6708.pdf · asociado...
TRANSCRIPT
INFORME DEL PROYECTO TERMINAL
UN PROGRAMA PARA EL CALCULO DE PROPIEDEADES
I LOCALES EN MOLECULAS
LICENCIATURA EN QUIMICA
EN ESTE TRABAJO SE PRESENTA EL RESUMEN DE ACTIVIDADES DE 1 RELAIZACION DEL PROYECTO TERMINAL.
EL TRABAJO ESTA DIVIDIDO EN TRES COMPONENTES FUNDAMENTALES
A) UNA INTRODUCION TEORICA AL CALCULO DE PROPIEDADES LOCALES ESTA PARTE FUE DESARROLLADA PARA SU PRESENTACION EN EL IV SIMPOSIO DE ESTUDIANTES DE POSGRADO EN QUIMICA FERNANDO ROMO, CELEBRADO EN LA CIUDAD DE ZACATECAS
EN SEPTIEMBRE DE 1990
B) UN EJEMPLO DE LA APLICACION DE LA TEORIA DESARROLLADA EN EL INCISO ANTERIOR. ESTA PARTE FUE PRESENTADA EN EL SEMINARIO DE TRABAJO DE LA LICENCIATURA EN QUIMICA TITULADO UNA APLICACION DE LAS COMPUTADORAS EN LA QUIMICA.
C) UN LISTADO DEL PROGRAMA EN SU VERSION DEFINITIVA.
LA PRESENTACION DE ESTE TRABAJO PARECE POCO COERENTE , Y EN EFECTO LO ES, i RAZON DE ESTO ES QUE ESTE DOCUMENTO ES REALIZADO CON EL FIN DE REALIZAR J TRAMITE BURACRATICO.
J ESTAS FECHAS LOS REGLAMENTOS DE LA UNIVERSIDAD NOHACEN UN REQUISITO JDISPENSABLE PARA LA TITULACION LA PRESENTACION DE NINGUN DOCUMENTO AL MENOS EN LA LICENCIATURA EN QUIMICA) , PERO LA BUROCRACIA EXIGE
\ PRESENTACION DE UN DOCUMENTO.
:BID0 A ESTO ESTE ES EL DOCUMENTO QUE CUPLE CON EL TRAMITE.
RAB OCTUBRE 1992
UN PROGRAMA PARA ,EL CALCULO DE PROPIEDADES LOCALES EN MOLECULAS
' Rodolfo Alvarez y Marcelo Galván Departamento de Química, División de Ciencias Básicas e Ingeniería
Universidad Autónoma Metropolitana-Iztapalapa, A.P. 55-534, MEXICO 09340
RESUMEN
I
I
Se presenta un programa que calcula densidades de carga, de spin y
densidades orbitales para moléculas a partir de funciones de onda
Hartree-Fock-LCAO. ;
I
INTRODUCCION
La visualización ,de densidades orbitales y densidades de carga, así como
de otras propiedades locales en moléculas, es de gran ayuda en la
interpretación de la reactividad de las distintas especies químicas. Esto se
debe a que da pie a la ubicaci6n de zonas reactivas en moléculas que tienen
más de un sitio activo.
El análisis de la reactividad local en moléculas se pude hacer por medio
de la química cuántica tradicional si se recurre a conceptos tales como la teoría de orbitales de frontera. Por o t ra parte, también es posible utilizar
conceptos definidos en la teoría de funcionales de la densidad como la función
de fukui, la dureza 'global o la balandura local? En ambos casos es necesario
evaluar cantidades locales. Por un lado, se requieren densidades orbitales, y
1
por otra parte, se pueden aproximar algunas cantidades , por medio de
diferencias de densidades totales:
Por lo anterior, resulta de interés contar con un programa versátil que
calcule densidades orbitales y de carga en forma eficiente. El tipo de función
de onda que se emplea con mayor frecuencia para la obtención de densidades de
carga, de spin y densidades orbitales en moléculas, corresponde a la
aproximación de Hartree-Fock-LCA04; además, las funciones de base más
empleadas son las gaussianas cartesianas. I
En este trabajo se describe un programa que tiene las características
mencionadas anteriormente. Por su estructura, puede ser utilizado tanto para
funciones de onda abíinitio, como para calculos basados en pseudopotencialec. I
115
DENSIDADES DE CARGA, DE SPIN Y DmskDADES OIPBlTALIas
EN EL MODELO DE HARTREE-FOCK NO RESIIZiNGID05
La forma más simple de obtener densidades de carga, p(rl, y de spin,
p (r), en un modelo de tipo LCAO, es a partir del modelo de Hartree-Fock no
restringido (UHF). En este formalismo las expresiones para p(r) y p (r) son,
respectivamente ,
B
Y
p V k ' l
J l V k l
Donde p y v son índices que recorren todas las fúnciones de base
atómicas empleadas en el cálculo de la funci3n de onda. k y I son los son índices asociados con las funciones de base contraídas; 4 "1-1
gaucsianas cartesianas: xn y' zm exp( -a r 1. LOS Coeficientes a Vk son íos
coeficientes de contraccibn de ta l forma que aVk representa el k-ésimo
son coeficiente de contracci6n de la v-ésima función atómica.
matrices que se pueden construir a partir de las matrices de densidad de ambos
2
ppv . y p;"
a B . spines, P,," Y pPV,
s - a - B ppv - ppv ppv (4)
A su vez, las >matrices de densidad se construyen en forma simple a partir
de los eigenvectorec : P
a = E c a a c pclv I pi V I
B B B ppv = c cpi
1 (6)
p y q son los búmeroc de orbitales ocupados (x y respectivamente. c V I es
el elemento v-écimo del eigenvector 1-ésimo. Esto significa que I es el índice
asociado con el orbital y p el que identifica a la función de base.
Por otra parte, las expresiones para obtener un orbital y una densidad I
orbital son
116
Cabe señalar que en un sistema de capa cerrada se cumple que pa = ' P V
y, como consecuencia. la densidad de spin es nula en todo el espacio. Las densidades de carga y las densidades orbitales que se obtienen de lac
ecuaciones 1 y 8 son de calidad aceptable como cualquier propiedad
monoelectrónica dentro de la aproximación de Hartree-Fock. Desde luego, que el
tamaño y la calidad de la base influyen en la descripción.
I
En contraste, l a densidad de spin es una cantidad más sensible a la
correlación y, por lo mismo, más difícil de describir con un modelo de
partícula independiente. Sin embargo, las densidades de spin calculadas
mediante un método basado en el modelo UHF, son comparables con el experimento
sí se evitan las contaminaciones de spin que provienen de estados de mayor
multiplicidad a la del estado de interés!
DESCRIPCION DEL ALGORITMO
Una de las formas más directas para analizar el comportamiento de
funciones que dependen de las coordenadas espaciales consiste en la obtención
de diagramas de contorno o gráficas de superficie de la función evaluada en un
plano. Básicamente lo que se hace es generar los valores de la función para
una malla bidimencional que se alimenta a un programa gráfico.
Lo
(ec. 71,
necesario
densidad.
funciones
cada
anterior indica que, a excepcibn del cálculo del orbital molecular
para todas las cantidades mencionadas en la sección anterior, es
agregar los índices de ubicaci6n en la malla para cada valor de la
Esto implica que se tiene un total de seis índices: p , v para las
de base contraídas; k,k' para las funciones primitivas asociadas con
contraída; e I , J ' para los puntos de la malla.
Las funciones contraídas se pueden expresar como 7
I I
Mediante la ecqación anterior se puede obtener una expresión general para
la evaluación de una cantidad 'local f : i J
1.17
Donde 8
Zm (IJ) n I rn n' I ' pv ypv =pv xpvypv pv G = X
PV (11)
Existe una complicación adicional que no es tan clara en la ecuación 10:
la posición donde se ubica cada función contraída puede cambiar, es decir,
cada función O está centrada en un punto del espacio que puede corresponder a
un átomo 6, a cualquier otro punto, en el caso que se utilicen bases con
orbitales "flotantes" 6 cuando se realiza la corrección de counterpoise . Esta
dificultad introduce índices adicionales ( c , c ' ) en 11 y 12. La ecuación 10 es
,
c1
a
general y el único término que cambia para la evaluación de cada propiedad es
A : PV ' ' en el caso de la densidad total; a
A = Ppv + Ppv PV
a - ' en el caso se la densidad de spin y A JJv = ppv ppv
en el caso de una densidad orbital. a 6,' A = c c PV pi VI
Tomando como base la ecuación 10 se desarrolló un programa que es
mostrado esquemáticamente en la figura 1, el cual tiene una velocidad de 2.6
MEGAFLOPS en la komputadora ARDENT TITAN 11.
Debido a que G y W p u son los mismos para cualquier cantidad que se
quiera evaluar, resulta sencillo calcular todas las propiedades
simultáneamente.
, PV
- C I C L O S O B R E L
-- C I C L O S O B R E - C I C L O C O B R E U
- R E C U P E R A C I O N D E L A I N F O R M A C I O N P A R A EVALUAR G (p,V,n.I,rn.n',l',m',lJ,c,c') Y W ( p , V , k ,k', 1 , J . c , c ' 1
I - E V A L U A R G P V
C I C L O S O B R E k C I C L O S O B R E k '
E V A L U A C I O N D E w PW
FIGURA 1 : Diagrama esquemát i c o del programa
118
El programa es fácilmente adaptable a un esquema modular. por- lo qiw SO
pueden acoplar rutinas de interés, como por ejemplo la del cálculo del
laplaciano de la densidad, cantidad que ha resultado muy ú t i l como parámctr-o
de reactividad qulmica o bien la del cálculo del potencial electrostático ' o 9
El algoritmo presentado en la figura 1 puede adaptarse para sistemas
computacionales vectoriales y de esta forma incrementar la eficiencia del
programa. Se ha estado trabajado en esta dirección, obteniéndose resultados
preliminares que muestran que se puede incrementar sensiblemente la velocidad
de ejecución del código.
Una muestra de los resultados que se pueden obtener se encuentra en las
figuras 2 a 5. Ahí se encuentran algunos ejemplos de diagramas de contornos y
de superficie de distintas cantidades calculadas con el programa en una malla
bidimensional de 70x70 puntos.
BIBLIOGRAFIA 1.- Fukui, K . Theory of Orientation and Stereoselection, Springer-Verlag, West
Berlin, 1973.
2.- Parr, R.G. y Yang, W., Density Functional Theory f o r Atoms and Molecules,
Oxford, New York, 1989.
3.- Lee, Ch., Yang, W. y Parr , R.G., J. Mol. Struc. (Theochem) 163, 305
(1988).
4.- Schaefer, H.F.; The Electronic Structure of Atoms and Molecules,
Addison-Wesley Publishing Co., Menlo Park, 1972.
5.- Pople, J.A. y Beveridge, D.L., Approximate Molecular Orbital Theory,
McGraw-Hill, New York. 1970. I
6.- Gillon, B. Becker. P. y Ellinger, Y., Mol. Phys. 48, 763 (1983).
7.- McMurchie, L.E. y Davidson, E.R., J. Comp. Phys. 26, 218 (1978).
8.- Boys, S.F. y Bern,ardi, F., Mol. Phys. 19, 553 (1970).
9.- Bader, R.F.W., MacDougall, P.J. y Lau, C.D.H., J. Am. Chem. Soc. 106, 1594
(1984).
10.- Politzer, P. y Daiker, K.C., The Force Concept in Chemistry,
Van Nostrand, New York, 1981.
1.19
-l (o n P
W ..
c
- I- -
I
-4
1 9
I- - c
L i I 1 I I I 1 1 I I I 1 1 - 1 I 1
l
120.
J U 3
o. O
n n' o
5 O 3
INTRODUCCION
La visualización de densidades orbitales y densidades de carga, así
como de otras propiedades locales en moléculas, es de gran ayuda en la
interpretación de la reactividad de las distintas especies químicas. Esto
se debe a que da pie a la ubicación de zonas reactivas en moléculas que
tienen más de un sitio activo.
I
El análisis de la reactividad local en moléculas se pude hacer por
medio de la química cuántica tradicional si se recurre a conceptos tales
como la teoría de orbitales de frontera. Por otra parte, también es posible
utilizar conceptos definidos en la teoría de funcionales de la densidad
como la función de fukui, la dureza global o la'blandura local. En ambos
casos es necesario evaluar cantidades locales. Por un lado, se requieren
densidades orbitales,~ por otra parte, se pueden aproximar algunas
cantidades , por medio de diferencias de densidades totales.
Por lo.anterior, resulta de interés contar con un programa versátil
que calcule densidades orbitales y de carga en forma eficiente. El tipo de
función de onda que se emplea con mayor frecuencia para la obtención de
densidades de carga, de spin y densidades orbitales en moléculas,
corresponde a la aproximación de Hartree-Fock-LCAO; además, las funciones
de base más empleadas son las gaussianas cartesianas.
En este trabajo se describe un programa que tiene las características
mencionadas anteriormente. Por su estructura, puede ser utilizado tanto
para funciones de onda ab-initio, como para' calculos basados en
I
pseudopotencialec.
METODO DE CALCULO
1
Una de las formas más directas para analizar el comportamiento de
funciones que dependen de las coordenadas espaciales consislr- en la
obtención de diagramas de contorno o gráficas de superficie de la función
evaluada en un plano. Básicamente lo que se hace es generar los valores de
la función para una malla bidimensional que se alimenta a un programa
gráfico.
Si Las funciones contraídas se expresan como’
la expresión general para la evaluación de una cantidad local, f es: 11’
A G W c c pv pv pv f = i l
P V Donde
( 2 )
i i
PV plv y las funciones @ (r) ( CP 1 son gausianas cartesianas.
Existe una complicación adicional que ,no es tan clara en la ecuación
1: l a posición donde se ubica cada función contraída puede cambiar, es
decir, cada función G esta centrada en un punto del espacio que puede
corresponder a un átomo Ó, a cualquier otro punto, en el caso que se P
utilicen bases con o r b i t a l e s “flotantes“ Ó cuando se realiza la corrección
de counterpoise . La ecuación 1 es general y el Único término que cambia
para la evaluación de cada propiedad es A : PV ’ en el caso de la densidad total; a
a - ’ en el caso se la densidad de spin y ppv + ppv
p P V pclv
A = PV
A = PV
en el caso de una densidad orbital. a B A = c c i PV
PV pk Vk
Las cantidades p
de los eigenvectores (ck 1 , son elementos de la llamada “I%atriz densidad’’ y dependen
I Pi
I
, __ - - ___ ____
Y
rd
I O L c> c Q, o
' r d
I , .4 f - - o rd -u
(d o r: Q,
a) tJ c: al d O n
O o E
rd a O E ..-I
O E -4
v) .al
Y O L
o) -u vi Q, c O
*-í
o ..-i
o o cd L,
c= O o
4J c a o
.P c3 a o
a, 73
O I,
L-i
O n,
4 .-+ rd Q)
E cd
nl rd
o *1
6 .
rd .--I 1
2 rd
rd (d
l-4
rd
H
u
U
Y cu a, 3
o rd
L rd 3
rd > w
cp*
O tJ
3 CL d . - i
n l r d u u nl (3 rd
'13 fd .o ctl f-i ru a,
\ '.
PRUGRAMAGIUN VEGTURIAL ,
EVITAR L ECTURA/ESCRITURA
EVITAR LLAMADAS A SUBRUTINAS
SIMPLIFICAR EL CODIGO
MANEJO DE ARREGLOS
CONOCER IN TRINSECOS
EVITAR RECURRENCIAS
CICLOS POR ETAPA ,
ESTUDIO DEL REPORTE.
EVITAR OPERACIONES
E VITA R OPERACIONES
LENTAS
INADECUADAS
, 1 8 I
1
al cciiti*o Ii-ésiiiio
al cc i i t ro u-écinio
( h i c i i l a i - In iiiati*lz tlc dls ta i ic iac a i ceii1i.o v-dclmo
L'alciiiai- i a iiiatriz cle d lc tonc iac a l cen t ro 11-ésirrio
I'ai*n Itis cornpoiicntcs x , y , z ( P A R A L E L O )
- c i c l o S O b i ' C I 1 ( 1 :I I i i i i i i C i ~ O dc f l i i l c i f J i i C S <IC briSC
c i c l o S O ~ I W v ( I í i riiiiiici.o de ruricioncs ciL. ( VEC7'01U
CriIcii I ai' i c i c o i t i - i b u c i 6ri de las 11-dslninr; coin
C á i c 11 I O pui'a cxpoii e II t e cero
Cti I c u 1 o p n i . ~ cxpoii c n t c un I tar 1 o
C i í l c u l o p:ii*a o t r o s cxpoiicntcs ciitci'os
( P A R A L E L O )
-- c: I C l o sobi*c J I ( 1 a iiiinici-o dc riiiici?iic c ( IC
- - C i c l o r:oLr*c v ( 1 n iiiiriici-o de fuiiciorics d e bnsc
C;iIcu Irir l a coi i t i - ibuci ói i <IC l as u-(.si111;1s c
- I .-
I'¿li'U I ¿ i S coiiipoiiciitcs x,y,z
c;i I c \I I o pari1 <!Xl)Oii e II t c CCI'O
Cií lculo pai'n cxpoiiciit e uiiItai.io
CáI c u l o pni ' i l O l i ' O S c!xpoiicritc!; ciitci*os { I'EC7'01:) ( l ' A I ~ A L t ' l - ü / ,- ciclo sobi.c ( I a ~ i i r t n c i ~ o dc L'uncioiics dc base 1
7 5.
I
I
n v)
3 a o
U
3 a o Q) 'u
O
E- d)
F
4
110000
30000
20000
l.0000
O
30000
20000
~ 0 0 0 0
O ' - o
/
O 2000 11000 6000 Piintos de la innlla I ,
8000
- t.tltvec01
8000 1uc 2000 4000 6000 2000 4000 6000 8000
I
- 1 uc
3 n o a U O
E al
4000
3000
2000
1000 I
O
,
O
3000
2000
I000
O
- w t.titvoc0l - t.tftv0c02 U- t. t 1 tvoc03 -
' O
2000 11000 G O O 0 1/ E3000 ~ 0 0 0 0
Plintos clc la malla I
i
!
2000 4000 6000 . , 8000 Puntos do 1c7 mal la
I
I
looor)
4
I ', i i ,
: '
. ( -3 i -4 ]
i 7 0
GO
50
I t 0
30
20
m 6- 0.009
I
, !: f
( -3 i
10 20 30 4 O 50 GO 70 -4 1 i - 3 i 4 1
I
1 ,*
Y /
h
P R O G R A M A P A R A CALCULAR L A S D E N S I D A D E S El ECTHONICAC Y ORB2 i i i i F'- 1:L ' ,'
ATOMOS Y MOLECULAS ) : c
k #'
AUTORES : RODOLFO ALVAREZ r MARCELO GALVAN
UNIVERSIDAD AUTONOMA METROPOLITANA I Z T A P A L A P A D I V I S I O N DE CIENCIAS BASICAS E I N G E N I E R I A
DEPARTAMENTO DE QUIMICA AREA DE QUIMICA CUANTICA
* * *:* * * **I): r): i); * * * $* $ * *: * * * * * * * #:* * * ** ** 8: *z * * g: * 11: * * * * * r): * ** * * d: * $ $ *: # $ 3 . 8 : 3: ii: y. i): :j: *: * * * $: * rt: 4: a: / * / *: j'
ESTE PROGRAMA CALCULA LA DENSIDAD TOTAL Y L A C DENSIDADES O R k i l I A 1 . E . S L N \IN :F./' PLANO SELECCIONADO ARBITRARKAMENTE. UTiLIZA L O S EICENVECTURES UIJK SE * /fl OBTIENEN DE UN C A L C U L O A B - I N I T I O ( S C F I CON FUNCIONES DE B A S 5 I I P O :(i ,/
GAUSSIANO. SE PUEDEN UTILIZAR T A N T O FUNCIONES OE ONDA P A C A . rows t.o.c * ,i ELECTRONES COMO L A S FUNCIONES PROVENIENTES DE CALCULOS H E A L I Z P . D Q S C O N :(i / PSEUDOPOTENCIALES *: /
* / *,i
:k * * * * * ..e * * * :* * * * * * * * * * * * 1 * * * * * * * h * * * * * * * * * * * * :* 1 * :e * * * * * :* t * * * * :4 :fi :e * :i: ?k :fi * * * * * rt: * :ti * . I 'ti
* / :(i ;*
EL PROGRAMA ACEPTA TANTO FUNCIONES SCF OE CAPA C E R R A D A , COMO LA6 ilUE * / PROVIENEN DEL METi)Dú UHF P A R A C A P A S ABIERTAS. * /
V e r p o r e jempls : " A p p r o x i n i a t e M o l e c u l a r O r b i i a l T h e o r y " :* ./ J . A . Pople, D.L. Beveridge ( c a p i t u l o 2 ) ; Mc Graw-Kill, New Y o i - k 1 4 7 0 *:/
:* ,I EL PROGRAMA U T I L I Z A T R E S O CUATRO ARCHIVOS OE DATOS PARA F O O K t ? r-iJNCIONAR * / DEPENDIENDO DE SI ES UN CASO S P I N RESIRINGIDO ( 3 ) O S P I N P U 1 . A R I 7 A I ) D ( 4 J . * /
* / AL. FZNAL. IZAR, EL. PROGRAMA DEJA GRABADOS LOS ARCHIVOS CON L A S i jE.NSIDADtS * /
* / L A ESTRUCTURA DEL ARCHIVO DE OATOS QUE SE ASIGNA A LA UNIOAi:, E S T A N D A R ut: * / ENTRADA-SALIDA (UNIDAD 5 1 PRESENTA E' OPCIONES, L.AS C U A L 4 5 Sk :"RLSENlAN A :*/ CONTINUACION. * /
*; / :e ./
rt: 1): * * *: * k9: ** ** g: * i): * ** + * + * ** * * $ * * * *: * *y: +* * * * * r): 11: * r): rt: * $ * * 4 * * ** 9: r3: *: r): '.x t * :t. *: r): ?t: * * :* * * * * ?I: 4: d: .I
a / * /
OREITAL.EC, DENSIDAD TOTAL, Y EN SU C A S O , DENSIDAD DE SPIN. :e /
S P I N POLARIZADO :tr ./
* / SE DEBEN U T I L i Z A R FUNCIONES PROVENIENTES DE UN CALCULO UHF :fi
't ape2 NOMBRE DEL ARCHIVO DE BASES: ER este a r c h i v o st e s [ b e c i í j c a n :t;
t a n t a el numero d e atomoo, l a 5 f u n c i o n e - ; de b+ .se psra 9:
cada atomo a 5 i como 5u ubicacion e s p a c i a l . i. o t - ruc - t c i r . 2 * de este a r c h i v o de dato .s se detalla posterior-mente. *
rp:
:cc ALFANUPIER I CO DE- 4 O r A R P . C ? ERES
t ape3 NOMBRE DEL A R C H I V O DE C O E F I C F N T E S A L F A : E Y r i este B I C ~ I V C I 5-e
t i e n e n l o s c o e f i r i t L n t e . 3 ú e l a f u n c i o n de ond.3 !>ara lo*: e l e c t r o n e s d e c p i n m a y o r i t a r o . L a e s t r u c t u r . a de e s t e a r c h i v o se d e t a l l a p o s t e r i o r m e n t e .
ALFANUMERICO DE 4 0 CARACTERES
n b a s i 5 NUMERO TOTAL DE FUNCIONES DE BASE. ENTF R O
i p o i = f B a n d e r a que i n d i c a que se efectuara u n c a l c u l o s p i n polarizado. ENTERO
t a p e 4 NOMBRE DEL ARCHIVO DE COEFICIENTES BETA :En e s t e drr:i-,i.vo :se t i e n e n l o s c o e f i c i e n t e s d e l a f u n c i o r i d e onda para los e l e c t r o n e s d e s p i n m i n o r i r a r i o .
ALFANUMERIGO DE 4 0 LARAC'TERES
n o c u p a , n o c u p b Numero d e o r b i t a l e s o c u p a d o s d e s p i n a a y o r i l a r j o y de :e./ s p i n m i n o r i r a r i a 3 r e s p e c t i v a m e n t e . ENTEROS I): /
(en e l caso de u n c a l c u l o c o n p s e u d o p o t e n c i a l t s * / r e p r e s e n t a n l a o c u p a c i o n d e 10s o r k i t a l . e s de v a l e n c i a ) * /
* / PUNTOS QUE DEFINEN A L PLANO DE REFERENCIA: * /
:e ,' EL P L A N O EN EL QUE SE EVALUA LA DENSIOAD SE F I J A MEOEANTF: i1:E.S *: ,/' VECTORES: * /
x l , y 1 8 2 1 P u n t o i n f e r i o r i z q u i e r d o d e l p l a n o . REALES * /' xz , y2,zZ P u n t o i n f e r i o r d e r e c h o d e l p l a n o . R E A1.ES :* / x 3 , y 3 , = 3 P u n t o s u p e r i o r i z q u i e r d o d e l p l a n o . R F1 A I- ES e /
:* ,J
Y DOS NUMEROS QUE DEFINEN E L REFINAMIENTO DE L A M A L L A BID[MENSit jNAI.. : * i :* /
nPl Numero de d i v i s i o n e s e n e l l a d o del p l a n o d e f i n i d o por 1.3 * / r e s t a d e l o s v e c t o r e c que d e f i n e n e l p u n t o i n f e r i o r . derecho * / y el p u n t o i n f e r i o r i z q u i e r d o EN 'TER 9 * /
:* ./ n p 2 Numero de d i v i s i o n e s e n el lado d e l p l a n o definido p o r 1.3 *: /
r e s t a d e l p u n t o s u p e r i o r i z q u i e r d o y e l p u n t o i n f e r i o r :e / i z q u i e r d o . ENTERO * ,,/
:c ,J
I): /'
* * * * :e * * * ** * * * * * * :F * * :4< * * :* * :e * * * * :k :ti * :* / * / * /
S P I N RESTRINGIDO * /. :* 1 >I: /
SE DEBEN UTILIZAR FUNCIONES PROVENIENTES DE U N CAtCULO ( R H F l DF CAI'" :* /'
CERRADA. I): / :* ./
t a p e 2 NOMBRE DEL ARCHIVO DE BASES. ( v e r s p i n polarizado) * / ALFANUMERICO DE 4 0 CARACTERES :# /'
*: / t a p e 3 NOMBRE DEL ARCHIVO DE COEFICENTES ALFA :En e s t e a r c h i v o s e :* ./
t i e n e n los c o e f i c i e n t e s d e l a funcion d e onda. * // ALFANUMERICO DE 4 0 C f i R A C I ERES * /
n b a s i s NUMERO TOTAL DE. FUNCIONES DE BASE. E N T L R Q :* / >I: /
ti * * * * * * * * * * * * * * * ** * * * * * * * * + * * * *+ * * * x ** +* *
*
i p o l = o b a n d e r a qu@ i n d i c a que se e f e c t u a r a un c a l c u l o s p i n :* /
~. - ?-. .< -, , r e s t r i n g ido. ~. i
nQCUpa Numero de orbitales ocupaclos;. (Numero d e electrones t c i ~ i ; ; ?: ,*'
e ./ -+: ./
'h ./
R E A L c:-; k i RF- AL.EL. .h /
*: / * .I
E N I'EHO * / :I< ; 4: ,/.
:t: ,/ * / *: /' :fr ,/
3: / x .I r:/ :k / * / a / * / :P / * /. :* / Y: /
i t ipo, nf g iripo identifica al tipo de orbital d e a c u e r d o */ *: / * ,/ :e ,/
* / * /
EN ! - r i t o
PUNTOS QUE DEFINEN AL. PLANO DE REFERENCIA: [ver cpin p o l a i - i . : ~ d ~ ~ : ~
x i , y l , z l P u n t o inferior izqiiiei-do del plano. xe,y2,z2 Punto inferior d e r e c h a del plano. x 3 , y 3 , 2 3 Punto superior izquierdo del p i a n o . R E A L E S
n P l
np2 EN i f R O
****** * *+*** * * r * * * * : k * * * * * * * * * * * * * * * * * * X * + * * * $ * * * * * * * * * X ~ ~ * ~ ~ ~ * ~ ~ * :e* :):*:r:fr :e* * * : e : # :#/
t ape2 EL A R C H I V O DE BASES
nceny Numero de atomos en la malecula. EN 7'5. R O
P A R A CADA ATOM0 EN LA M O L E C U L A :
nfcon Numero de funcionets de base contraidas. E: N T E R O
PARA CADA FUNCION CONTRAIDA (HASTA nfcon):
a la sigiente asignacion.
tipo * ,f. S 1 P 2 Y: i D 3 6 SUBORBIlALES
Orbital
:* ,' * / :* / :e /
:* /
:* / $ : j
:c /
:c ,'
aexp( i , j l , a c c ( l , j j E x p u n e n t e s y coeficientes da cada g . a i i s i . a n s *,' :* / REALES *,
Numero de funciones gausianas primitivas. nfg ENTEROS
NOTA : El programa usa 6 funciones. gausianas p a r a representar * / funciones de onda (eigenvectores) provenienres de u11 c a l c u l o * /' ejemplo: MONSTERGAUSS, GAUSSIAN y G A M E S ; e n o t r o s ca505, como * /
orbitales de tipo d . E s t o implica que 5~ pueden utilizar
donde 5e emplee este mismo esquema para los orbitales d , p o r
por ejemplo HONDO ( P S H D N D O ) pueden utilizar este esq~ietna , p e r o es necesario indicarlo en e l programa.
P A R A CADA FUNCION GAUSIANA PRIMITIVA ( H A S T A nfg): */
primit i v a .
*, ncb Numero de atornos c o n @ S r a b a s e . E5 d i f e r e n t e d e 1 .3oIo íuan-1U *,
:e l o 5 atomor, sean contiguos en la secuencia de b a s e s en loc . eigenvectores, p a r a evitar confusiones se r e c o m i e n d a utilirat- r:
ENTERO :k el valor 1 .
*. :*
* P A R A C A D A ncb:
x o i i ) , yo(il, zo(i1 Coordenadas d e l atomo en unidades eiiomicac. :t: i bohrc; 1 , REALES *
:* ,
* / Corno un ejemplo se incluye el caso del í?-c:loro acetaldehido ( C 2 ti7 C:I O ) :*/
con base 6 - 3 1 6 . * ,, * / * /
4 * /" 7 1: /'
1 , G :e / 3 0 4 7 . ~ 2 4 9 , 0 . 0 0 1 8 3 4 ? 3 7 1 * ,I 4 5 7 . 3 6 9 5 2 , O . O 1 4 0 3 7 3 2 3 * ./ 1 0 3 . 9 4 8 6 3 , 0 . 0 6 ~ 3 4 2 6 2 ~ :* / 2 9 . 2 1 0 1 5 5 , 0 . 2 3 2 1 8 4 4 4 * /~
9 . 2 8 6 6 6 3 0 , 0 . 4 6 7 9 4 1 3 5 :ti /'
1 . 1 6 3 9 S 7 0 , O . 3 6 2 3 1 1 9 8 * / 1 1 3 * / 7 . 3 6 8 2 7 2 3 , - 0 . 1 1 9 3 3 2 4 S :* ./ 1 . 88 12885 - 0 . 1 GO8541 5 :ti / O . 54424926 I 1 . 1 4 3 4 5 6 4 :e /' 2 , 3 :* / 7.3t827Z3, O . 0 6 8 9 9 9 0 6 7 :* / 1 . 8 5 12355, O . 31 6 4 2 3 9 6 * / 0 . 5 4 4 2 4 9 2 6 , 0 . 7 4 4 3 0 8 2 9 :* / 1 1 1 :* ./ 0 . ~ 6 8 7 ! 4 4 ~ , 1 . 0 0 0 :* / e , t :ti ./ U . t 6 8 7 1 4 4 8 , 1 . 0 0 0 :c ./ 1 , 1 : e / 0 . 0 4 3 3 0 0 0 0 0 , 1 . 0 0 0 :* / e , f * / O . 0 4 3 8 0 0 0 0 0 , t . O00 * / 2 :* ./ o . o , o . o , o . o * / O . U , U . O , 2 . 9 3 4 8 1 6 5 1: /'
9 rtr /'
1 1 6 :e / 25130. I O # , . O 0 1 3 3 2 9 6 0 0 :* '/ 3 7 3 O . 3 5 0 9 , . 0 1 4 0 3 4 2 0 0 * / 8 6 0 . 4 7 4 0 0 , O . 0 6 9 0 9 7 4 0 0 * / Z 4 2 . 1 4 5 0 # , 0 . 2 3 ? 4 5 2 # 0 :* / 7 7 . 3 3 4 9 0 0 , 0 . 4 8 3 0 3 4 # 0 * / ~ 6 . 2 4 7 0 0 0 1 0 . 3 3 9 8 5 6 0 0 :* / ! , & :* / 491 . 7 6 5 0 0 , - . O 0 2 2 9 7 3 9 0 0 :* / I I G . 9 8 4 0 0 , - . 0 3 0 7 1 3 7 0 0 3 7 . 4 1 5 3 0 0 , - 0 . 1 1 2 5 2 8 0 0 * / 1 3 . 7 8 3 4 0 0 , # . 0 4 5 0 1 6 3 0 0 :ic / S.4521500,0.58935300 :* /'
1 . 2 Z 5 8 9 0 0 , 0 . 4 6 5 2 0 6 0 0 * / 2 , G :ti / 3 9 1 . 7 6 5 0 0 , O . O 0 3 9 8 9 4 0 0 0 :r / 1 1 6 . 9 8 4 0 0 , O . 0 3 0 3 t 7 7 0 0 * / 3 7 . 4 1 5 3 0 0 , O . 1 2 9 8 8 0 0 0 :* / 1 3 . 7 9 3 4 0 0 , O . 3 2 7 9 5 1 O0 :* ,' ; . 4 5 2 1 5 0 0 , O . 4 5 ' 3 5 2 7 0 0 :* /
:* /
:e ,,‘ :P ,’
E . 2 a 5 5 5 0 0 , o . 2521 5400
3. i 56490 O , - 0 . 2 5 1 8300 0
0.4EO37700,l . O 6 0 1 5 0 0 2 , 3 3.19&4900,-0.014E993O~ 1.14427001#.3i2357200 0.4~0377QO,O.74350700 1 1 1
0 . 1 4 2 6 5 7 0 0 , 1 . 0 0 0 0 2 , I O . t 4265’7OO , t . O 0 0 0 1 1 1 0.048300000,?.#000 e , 1 O . 0 4 5 3 O O O O O , 1 . O050 1 3 . 1 9 1 2 4 8 4 , 0 . 0 , - 1 .2231232 2 1 4 3 1~.731137,0.033494604 2.8¿?53944,0.23472695
113 :e ;’
1.144~70#,0.0615ti950O :* ./ * / ‘C ,/ :t: 1 a, / * / :fr / ’+ / :& .i * / :c / * ./ * ./ * / :* / *: / *: / :e ,J *i :e / :fr / :e / * / * /’ *: /. * / *: i * / */ :c / :c / :* ./ :h ,?
:* / :6 1 * / :(r / :e / a / :e / :ti ,/
:e / :* / * / * / :* / :e )‘ :f! / :e / .e / * / * / * ,, * /
o . 6401 21 6 9 I o . 81375733 1 1 1
0 . 1 6 1 2 7 7 7 6 , 1 . 0 0 0 0 I f . 7 9 ~ 4 3 9 8 , - 0 . 6 1 7 1 8 6 5 1 3 . 7 9 8 8 7 8 1 - ü . 9 5 8 3 8 0 9 , 1 . 6 7 4 9 6 7 0 , - 0 . 7 ~ ~ 5 4 5 1 - O . 9 5 4 ~ ~ 4 1 , - 1 . & 7 7 9 3 8 5 , - ~ . 7 ~ 6 ~ 3 6 2 7 1 1 6 5484.6717,0.0018310744 8 2 5 . 2 3 4 9 5 , # . 0 1 3 9 5 0 1 7 2 t e B . 04696, O . 068445078 5 2 . 9 6450 O I O. 2327 f 434
:*
t G . a 9 7 5 7 0 I o. 4701 9290 5.7996353,0.35852085 1 1 3 1 5 . 5 3 9 6 1 G, - 0 . 1 1 077755 3.5999336,-0.14802626 1 . 0 1 3 7 6 1 8 , I . 130767 E,3
3.5999336 , O. 33975284
1 1 1 O.i?7500582,1 . O 0 0 0 0 e, 1 O . 270OO582 , 1 . O O O O O 1 1 1 0.0845,l . O e, 1
1 - 7 . 5 3 5 6 7 0 5 , 0 . 6 3 2 8 4 6 2 . , 4 . 1 5 9 7 4 8 8
15.53961 G , o . 070874268 i . o 1 376 i e I o. 7271 5855
o.oa45,i . O
** *:* * * * * + * * * * * * * ** ** * * * * ** *:* * * ** ***:* * * * * * * * * * * * * * * *:* * * Jk* c* * * +* * * * * *:* * * * * * * * I
:c ;
t a p e 4 , tape5 ARCHIVOS DE COEFICIENTES
E s t e archivo dehe e s c r i b i r s e c o n i i i n f o r m a t o 4Gz0.10 c u n u n a e 5 ' t r U C t u r a *,, * /.
d e l t i p o : :B .i
DO i = 1 , n b a s i s * / WRITE ( 3 , 9 9 1 (cijati,jl, j = 1 , n b a 5 i s ) :* ./
E N D D O * / :* ,'
en donde i e s el í n d i c e d e l a 5 f u n c i o n e s de base atomica.; * / j e5 e l i n d i c e d e o r b i t a l e s m o l e c u l a r e s . * /
*: / * / * /
r : e * : B * ~ * * * : ~ * * * * * * * * * * * * * * * * * * * * * * * * ~ * ~ * * * * * ~ * * * * * * * * * ~ * ~ * ~ * ~ k * k * * ~ ~ * * * * * ~ * * * * ~ ~ ~ : e / */ :F /
A R C H I V O S DE SALIDA * / * /
SPIN POLARIZADO * / * ./
t o t a l D e n s i d a d T o t a l . */ s p i n D e n s i d a d de Spin :(r / ha1 f a D e n s i d a d o r b i t a l d e l HOMO a l f a * /. h b e t a D e n s i d a d o r b i t a l d e l HOMO b e t a * / l a l f a D e n s i d a d o r b i t a l d e l L U M O alf.3 i): /' l b e t a D e n s i d a d o r b i t a l d e l L U M O b a t a * ,'
* / SPIN RESTRINGIDO * /
* /. t o t a l D e n s i d a d t o t a l * / homo D e n s i d a d o r b i t a l d e l HOMO * / 1 umo D e n s i d a d o r b i t a l de l L U M O :* /
8 ,f'
k ,/ + * * * * * * * * * * * * * * * * * * * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * * * * * * * / :**************************************:~,**~~****~*****~*~~************~k*****~**.~
c l u d e C s t d i o . h > c l u d e { m a t h . h ) c l u d e < s y s / t imes . h >
Se s e l e c c i o n a el Numero Maximo d e bases c o n l a 5 que t r a b a j a e l programa, * / s t o s numeros se p u e d e n c a m b i a r p a r a a d a p t a r l o s d u n problema e s p e c i F i c o . */
el numero maximo puntos de l a malla y el numero maximo de atonios . 'e /
f i n e NMR 1 0 0 f i n e NMM 1 0 0 0 0 fine NMA 30 f i n e PATH 50
I * Numero Maximo de trac.ec. . N i
/ * Numero Maximo de p u n t o s e n l a Ma1l . i * / / * Numero Maximo de Atomos * /
/ * D i r e c c i o n de Archivos de d a t o s */'
Se d e c l a r a n los i n t r i n 5 e c o s para c o n t a r el t i e m p o ( A R D E N T T I T A N ) * / P a r a l a i r n p l e m e n t a c i o n es otra m a q u i n a d e b e n modificarse. :e /
e r n a l d t i m e ; zrnal f p u t i m ;
L o 5 s i g u e n t e s valores 5 8 r e f i e r e n a u n a y ñ u s i a n a de l a f c i rma: X A n r); Y ex 1 rt: Z a'. m i~ SUMl i l Ccc * EXP(-berp * r * r l
* / n c e n y ; / * Numero de atom05 ncfunCNMB3; / * I n d i c a en que a t o m o e s t a c e n t r a d a l a gaiis iana NMB- e.jilna * / ngconCNMB3 ; / * Indica el n u m e r a de f u n c i n e s g a u s i a n a s corvLr.ajdas para * / / * 13 f u n c i o n de b a s e N M B - e s i m a */ nSNMbJ , 1 fNMB1 , m C N M B 1 ;
b l e b e x p SNMBJ C t O 1 , cc CNMBI f l 0 1 ; i b l e xo C N M A l , y o C N M A 1 , Z D C N M A I ; /* Coordenadas d e l i > < ; atotn0.j t/
ible pmunua CNREI CNMBI , pmunub CNMBI C N M 8 3 ; / * W a t r i c e c . d e n s i d a d a l f a y b e r a * / i b l e c i jaENMB1 CNMBY, c i j k C N M B l CNMBl ; / * M a t r i c e s de c o e f i c i e n r e . ; ~ l f a y b e t a * /
E l p r i m e r í n d i c e recorre l a 5 f u n c i o n e s d e b a s e a t o m i c a y e l seguncio * / o r b i t a l e s m o l e c u l a r c s . * /
,ble x CNMMJ , y CNMMI I z CNMMJ ; / * C o o r d e n a d a s e n l a mal la " u n i d i m e n s j o n a l " ~ * i E s t a mal la se c o n s t r u y e de la malla b i d i m e n s i o n a l para f a c i l i e a r Is * /
v e c t o r i z a c i o n d e l programa. :* /
ble r e n s C N M M J i63 ; I* A r r e g l o que c o n t ienci Las d e n s i d a d e s c .a lculada. : 1:/
l t ipCNMB3, nocupd, n o c u p b , n b a s i s , ipol, np; r t ape2 CPATHJ , t a p e 3 CPATH3 , t a p e 4 !:PATH3 , t a p e 7 [PATHI ; E * t p 2 , * t p 3 , * t p 4 , * t p 7 , * f o p e n ( : I ;
ni ?
o a t m i n i m o , t i m e c p u , t i m e r e l , r r t t ; u b l e n p l , n p 2 , n p t , d e l l , d e l e , x l , y l , z l , x 2 , y 2 , 22, x 3 , y 3 , z 3 ; t nuniden, i , i i , j , j j , k , mu, n u ; LE * t p s C 6 3 ;
Se u t i l i z a n i n t r i n s e c o s p a r a c o n t a r el t i e m p o s de C P U , y de usuaria * / mecpu = f p u t i m i r r t t ) ; mere1 = d t i m e ( r r t t 1 ;
n im0 = . O O ü O ü 9 ; /* Valor m a x i m a q u e se a c e p t a como d i f e r e n t e de cepo para :k/ os c o e f i c i e n t e s e n los e i g e n v e c t o > r e s . El valor se c a l i b r o pars que lo.; * / e s u l t a d o s f u e r a n i n s e n s i b l e s a c o r t e e n 105 c o e f i c i e n t e s . */ i n t f í " % s " , " A r c h i v o s p a r a bases y c : o e f i c e n t e s a l f a . ? ' ' 1 ; anf0'%5X5'', tape¡?, t a p e 3 ) ; i n t f I " % s % s \ t X s % s \ n " , "BASES: '*, taprji3, 'I Coef . a l f a : ' I , t a p e 3 ) ; i n t f ( " % 5 " , " A r c h i v o de c o o r d e n a d a s a t o m i c a s ? " 1 ; a n f I " X S " , t a p e 7 1 ; i n t f ( "%5\n", t a p e 7 1 ; 2 = f o p e n ( t a p e 2 , ' ' r ' ' ) ; 3 = f o p e n í t a p e 3 , " r "1 ; 7 = f o p e n ( t a p e 7 , I l r ' ' ) ;
i n t f ( " % s " , "Numero t o t a l de f u n c i o n e s de base ? " I ; a n f I " X d " , i n t f i " % d \ n % s " , n b a s i s , " E s p i n p o l a r i z a d o ( 1 1 , E s s i n ce5trinyid1> i 0) ? " I ; a n f ( " % d " , b i p o l ) ; i n t f i " X c í ~ ~ n " , i p o l ) ; / * Caso s p i n polarizado *:/
8 n b a c ; i s ) ;
F ( i p o l == 1 ) E pr i n t f ( " %s 'I , " A r c h i v o c o e f i c i e n t e s b e t a 3 " 1 ; s a n f ( " X 5 " , - i n t f l X s '\n " , 34 = f o p e n ( t a p e 4 , " r "1 ; - i n t f l " % s " , " I n d i c e s de o c u p a c i o n : A l f a , Beta ? " 1 ; I a n f "%d%d" , d n o c u p a , d n o c u p b 1 ; - i n t f ( " % s , % d \ t % s % d \ n " , "nocupa = 'I .. n o c i ~ p a , 'I n o c u p b 'I , n o c u p b l ;
t ape41 ; t ap e4 1 ;
i 5 8 / * Caso s p i n rer,t i - i i igido * / - i n t f ( " % s " , "Ocupacion a l f a (beta a d q u i e r e el mismo v a l o r 1 ? " I ; r a n f l " X d " , d n o c u p a 1 ; - i n t f ( "%dx.n" , n o c u p a ) ; > c u p b = n o c u p a ; imden = 3 ;
! e t ( ) ; /* Se procede a leer las b a s e s a t o m i c a s y norm.31 izJ rZa . ; . *:í
, r ( i = 1 ; i ( = n b a s i s ; i + + l j r i j = t ; j { = n b a s i c ; ; j + + j ; c a n f l t p l J , a 8 % g " , k i j a C i 1 t j l ) ; , r ( i = 1 ; i ( = n b a s i s j ; i + + ) ~ r t j = t ; j {= nbasis ; j + + ) 1munuaCj1 t i l = O ; j b l j 3 C i l = O ;
j a t i i l C j j l = O ; ( -ABS(c i j a C i i 1 Cj j l l { m i n i m 0 1
S e c a l c u l a n l a s matrices de d e n s i d a d *: /' ( i p o l == 1 ) / * En el caso s p i n polari7ado * /
f o r ( i = 1 ; i C = n b a s i s j ; i + + ) o r C j = 1 ; j < = n b a s i s ; j + + ) s c a n f ( t p 4 , " % g " , 6 c i j b t i l C j l 1 ; f o r l i = 1 ; i <= n b a s i s ; i + + l r { j = I ; j <= n b a s i s ; j + + ) g m u n u b t i l [: j l O ; (abslci j b t i l t j 3 1 < m i n i m o )
j b I i I C j 1 = O ;
r ( m u = 1 ; mu ( = n b a s i s ; mu++) r ( n u = 1 ; nu { = n b a c l i s ; n u + + ) f a r ( i = 1 ; i { = nocupa i i + + j unuaCmu3 [ n u l += ( c i jaCmul C i l + c i j a C n u l C i ' J 1 i rcj = 1 ; j ( = n o c u p b ; j + + l unubCmu1 [ n u l += ( c i j b C m u 1 Cj l + c i j b C n u 1 C j l 1 ;
5e / * En el caso s p i n r e s t r i n g i d o : * /
r l i = I ; i <= n b a s i 5 ; i + + l r i j = I ; j <= n b a s i s ; j + + ) r ( k = 1 ; k { = n o c u p a ; k + + ) u n u a t i l C j l += ( 2 + c i j a C i 7 C k l + c i j a C j 1 C k l ) ;
Se lee la i n f o r m a c i o n d e l p l a n o de donde se r e a l i z a el caiculo * /
!I1 = 1 /ínpl - I ? ; ! i 2 = 1 /[np2 - 1 ) ;
'(nbasis > NMB) <int f ( "\n\n%s\n%s%G. 3d%s" , "Numero de funciones de base conf 1 i c t i v o " , "Sci io c.e
: i f ( (npt > N M M I 1 1 ínpl > 100) I \ lnp2 > 1001 I
bt = npt -l. npE;
, s e
printf í "/n/n%sln%s%6.3d%s" , "DIMENSIONAMIENTO INCORRECTO P R U E B E IiE NUEVO" , " I ~intf("/n%s%h.3d%ci/n%5.%6.3d%s1', "EN EL EJE R 2 - R l : hasta", sqrt INMM), 'I punt(
se for(i = 1 ; i < = n p l ; i + + I . r i j = 1 ; j <= np2 ; j + + ) np = np2 + ( i - 1 1 + J ;
:npl = x l + ( i - 1 ) * del1 * ( x 2 - x l ) + (np2-j) * del2 * Ix3-xl); np] = y 1 + ( 1 - 1 ) * del1 * ( y E - y l ) + (np2-jl * del"! * ( y 3 - y l j ; np3 = z l + l i - 1 ) * deli * ( z 2 - z i ) + (np2-j) * de12 * 1 2 3 - 2 1 ) ;
* /. 'ensl npt 1 ; / * Se calcula la dencidad
Se realiza la impresion d e resultados * / unden == 61 / * Caso spin polarizado * / sl17 = fopení"spinden", "u"); sC21 = fopen("halfa", " w " ) ; 55 E31 = f open ( "hbet a" , "u" 1 ; 5143 = fopen["lalfa", " w " ) ; s is1 = f open ( ibet a " , "u" 1 ; rintf(tpsC01 , "Xs\n", "Densidad-total"); rintf I tpstll , "%s\n" , "Densidad-de-spin" 1 ; rintf(tpsC21, "%s\n", "Densidad-HOMO-alfa"); rintf(tpsC31 , "Xs\n" , "Densidad-HOMO-beta" 1 ; rint f t tpsC41 , "%5\nn1 , "Densidad-LUMO-alfa" I ; r i nt f C t p s C51 , "Densi dad-LUHO-bet a" ) ;
sCb1 = fopenl"total", " w " ) ;
"Xs\n" ,
5 e / * Caso spin restringido * / tps101 = fopen("totai", " w " I ; s C1 1 = f open C "horno", " w " ) ; 5 [ 2 5 = -fopen("lumo", ' ' ~ ' ' 1 ; r i nt f I t p 5 C O 1 , 'I Dens i da d-t o 1: a 1 I* 1 ; rintf(tpsC13, " % s \ n " , "Densidad-HOHO"1; rintfítpsC23, " % s \ n " , "Densidad-LUMO " I ;
'I X s\ n I' ,
r ( i = 1 ; i ( = numden ; i + + l fprintf(tpsli1, " % E O . l ü g % E - O . l O g %2O.IOg\n", x l , y l , z l l ; rintfítpsCi3, " % Z Ü . i O g %i?O.lOg %2Ü.iOg\n", ~ 2 , y 2 , r e i ; rintf(tpsCi3, " % 2 0 . 1 0 9 X E O . 1 0 9 %ZO.lOg\n", x 3 , y 3 , 2 3 ) ; rintfItpsCi1, "%i?.O.lOg Xi?O.lOg", n;>l, n p i ? ) ;
Calculo del t i e m p o de CPU y d e u i s u a r i o 1: /
~ i n t f ( " % s % P " , CPU T I M E ( s e c l = I t I f p u t i m l r r t t 1 - t i m e c p u l ; ~ i n t f ( " X s X f " , I' U S E R T I M E l s a c ) = ' I , d t i m e l r r r t ) - t i m e r e l ) ;
a:* * * * * * * a : * * * * * * * ** **** ** * * * * * * ** ***:)i * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * *;
* * Q * * * * * Q * ** ** ** * * ** * * ** ** ** ** ** ** d: 8r ** ** ** ** c* ** ** 4:* ** ** ** ** * * * * * * * * * * **: * * * /
Es t a s u b r u t i n a l e e e l a r c h i v o d e base5 ( t a p e 2 1 y g e n e r a l a b a s e c o m p l e t a :*/
t i, 1 , k , i t i p o t i - 5 1 , nfgt253 i u b l e a c c i 2 0 3 f 1 03, aexpC203 f l 01 ;
. a n t 1 = O ; i n f i " \ n f n % s \ n % s \ n " , " N o r m a l i z a c i o n d e l a s bases por atorno: ' I , " A T O M O I t i p o ) Or¡
= O ; n f í t pi- , "%d" , a n c e n y ) ; n t i p = 1 ; n t i p < = n c e n y ; n t i p + + )
t E ! = O ; n f i t p 2 , " X d " , & n f c o n ) i i = I ; i ( = n f c o n ; i + + l
n f l t p Z , "XdXd", L i t i p o C i I , L n f g C i l 1 ; j = 1 ; j { = n f g C i 3 ; j++)
nf 4 t p Z l "%g%g", b a e x p t i l t j l , b a c c C i 1 C j l 1 ;
R e n o r m a l i z a c i a n de l a s funciones g a u s i a n a s c o n t r a i d a s
i = t ; i < = nfcon ; i + + l
p = ú ; i = 1 ; j { = n f g K i 3 ; i + + )
= 4saexpEiI Eji*:aexptil E k l ; = a e x p C i 3 r j l + a e x p l i l E k 3 ; = accCi7 Cjl*accCil E k l ; :: i t i p o C i 1 ; tp == i )
~ r l p += tcjk*pow(axb, l.S5)/powlapb, 2 . 5 1 1 ;
!
'IITP == 3 )
.ma = l/sqrt(-ABSCovrlpl) ttf ("%d\t%d\t%g\n", ntip, i , cnormal ; j -5 1 ; j ( = nfgCi3 ; j + + )
31 C J l . PIG.cnorma ;
rrfitp2, " X d " , bncb) ; ncent = 1 ; ncent { = ncb ; ncent++i
.tCt = ncont2+l ; I t 1 = ncontl+l ; x n f ( t p 7 , 'I%g%g%g", &xoCncontll, 8yoCncontl1, SraEncontll 1 ; lnumgc = 1 ; numgc ( = nfcon ; numgc+-+)
= i t i p o t n u m g c l ; tp == 1 )
+= 1 ; 'btl = O ; 'btl = O ; :btl = o ; I k - - 1 ; k < = nfgEnumgc1 ; k + + )
3 Cnfbt l Ck3 = aexpcnumgcl C k l ; i f b t l t k l = acc lnumgc l S k l ;
I r ~ I : n f b t l = nfgLnumgc1 ; ' nCnfbtl = ncontl ;
Cnfbt3 = 1 ;
' b t J . 1 3 = 1 ; ' b t + l i = U ; ' b t + l l = U ) C n f b t + l l = 2 ; ' b t + E J = O ; 'bt+23 = i ; ' b t + E I = O ; )Cnfb t+E: l = 3 ; ' b t + 3 l = O ; ' b t + 3 1 = O ; 'b t+31 = 1 ; , C n f b t + ? l l = 4 ; j = 1 ; j < = 3 ; j + + )
+= 1 ; in Cnf b t 3 = n f g Cnumgc3 ; i n C n f b t l = n c o n t l ; k = I ; k < = n f g t n u m g c l ; k + + )
E n f b t l C k l = aexp Cnumgcl C k l ; t f b t l i k l = a c c i n u m g c l i k l ;
bt+13 = E ; ' b r + l I = o ; b t + l I = 5 ;
a t n f b t + l l = 5 ; b t + 2 1 = O ;
r b t + i l l = 2 ; Tbt+CT1 = O ; > C n f b t + 2 1 = 5 ; F b t + 3 1 = O ; F b t + 3 3 = O ; Ekt+33 = 2 i >Cnfbt+37 = 7 ; ' b t + 4 1 = I ; : b t + 4 1 = 1 ; : b t + 4 1 = O ;
: b t + 5 3 = f ; : b t + 5 1 = O ; , b t + 5 3 = 1 ; : C n f b t + 5 1 9 ; b t + 6 1 = O ; b t + 6 3 = 1 ; b t + d l = I ; C n f b t + 6 1 = I O ; j = 1 ; j (= G ; j + + )
> c í - i f b t + a = a ;
+= 1 ; n Cnf b t 3 = n f g Cnumgc3 ; n C n f b t l = n c o n t l ; k = 1 ; k ¿= n f g t n u m g c l ; k + + )
C n f b t l C k l = aexpCnumgc1 C k l ;
7fbtl C k l = a c c l n u m g c l C k l ,
3cont > N M A I
- i n f ( " / n / n % s / n % s % d " , " D E M A S I A D O S A T O M Q S " , " e l m a x i m c r e5 ' I , N M A I ; t e r n ( " k i i . 1 - 9 $ 9 " ) ;
' [ n f b t . N E . n b a s i s )
i t f l " \ n \ n X s \ n " , "Error e n e l n u m e r o d e f u n c i o n e s de b a s e " ) ; itfO'%s%d"/n%s%d, "Ease5 reportada.; -- ' I , n b a s i c ; , "Conteo observado = " , nftrt 1 ; : e m ( " k i l l - 9 $ $ I ' ) ;
: **: ** *:* * * * * * * * *+* * * * * . . . . . . . . . . . . . . . . . . . . . . . . *:* * * * : ****+****** * 8 * * * * *:* *:* * 8 * * *:* * /
. . . . . . . . . . . . . . . . . . . . . . * * * * * * * * * * + * * * * * * * * e * * * * * * * * * * ** * * * * ** *:***** * * *:* a * *:*** *:* a /
1 dens i npt I I t n p t ;
En e s t a s u b r u t i n a se c a l c u l a n l a s d e n s i d a d e s
l u b l e ginunuCNHB1 CNMB3, acumCNMB1 CNMBI, ax1 I N M B , 1 0 1 , axEINMR, 1 0 1 ; I l e e a CNMBI [ N M B J f l 01 , eb C N M b I CNMBJ I 1 01 , xa I N M E J CNMBI t 6 1 , r a CNMBI INME3 [ E l ; ) le r ega [ N M B J CNMBI ;
n l m C N M B l , n c CNMbl eel ;
= 4 . * a t a n ( l ) ; ,75 = l/pow(pi, . 7 5 ) ; = l/sqrt(f) ;
= t / p i ; = sqrti2) ; nnu = 1 ; nnu < = n f b t ; m u + + )
n n u l = n E n n u I + l Ennu3 + m Cnnul ; riul 111 = nCnnu l ; n u l C21 = nEnnu3 ; n u l C31 = 1 C n n u l ; nu3 C41 = 1CnnuI ; n u l C51 = mennu l ; n u l C61 = mCnnu3 ;
. n n i = 1 ; n n i < = n p t ; n n i + + )
' n n u = I ; n n u < = n f b t ; n n u + + )
nrnu = 1 ; nrnu í = n f b t ; nmu++)
tuLnmu1 Cnnui = I ; 1Cnmu3 Cnnul = O ;
n n u = 1 ; n n u ( = n f b t ; n n u + + )
:nmu = 1 ; nrnu {= n f b t ; nmu++)
imul Cnnul E13 = xCnn i1 -xoCncfunCnmu11 ; ,mu1 Cnnul E33 = y C n n i l - y o C n c f u n Cnmull ; imul Cnnul C51 = L Cnni3 - z o C n c f u n C n m u l l ; imul Ennu3 C21 = x C n n i l - x o C n c f u n C n n u 1 1 ; imui Cnnul C41 = y C n n i 1 - y o C n c f u n C n n u l 1 ; )mu3 Ennu3 161 = z C n n i l - 2 0 C n c f u n Cnnu33 ;
n n u = 1 ; n n u { = n f b t ; n n u + + l
nmu = 1 ; nmu < = n f b t ; nmu++)
imul Ennu3 I1 3 = xa Cnmul Cnnul I1 3 *xa inmul Crinul El 3 +xa inmu3 Cnnu3 133 * x i ; I:nmtiI lnnu3 1 3 3 . imul Cnnul 1 2 3 = xa Enmul Cnnul E 2 3 *xa Cnmul i n n u l C E l + x a Cnmul i n n u l i 4 1 * x a inmiil I n n u 1 1:43
Lnmu = 1 ; nmu <= n f b t ; nmui-+)
-IC Enmu1 L i 3 == O )
i r ( n n u = 1 ; n n u ( = n f b t ; n n u + + )
>mu1 f n n u l Cil = 1 ;
' (ncCnmu1 C i l } I )
, r l n n u = 1 ; n n u i= n f b t ; n n u + + )
mu1 Cnnul C i l = xaCnmu1 Cnnul C i l ; j = 1 ; j ( = ncCnmul C i l ; j + + )
mu3 Cnnul C i l .PIC. ea Cnmul Cnnul Cil ;
(nnu = 1 ; nnu < = n f b t ; nnu++)
( n m u = t ; nmu ( = n f b t ; n m u + t l
>mu1 Cnnul Kil = 1 ;
~ c L n n u 1 Cil > 1 1
lmu3 Cnnul E i l = xaCnmu3 Ennul Cil ; [ j = t ; j { = n c C n n u I C i 1 ; j++)
imul Ennu3 Cil . P I C . ea Inmul i n n u l C i l ;
i = I ; i { = 6 ; i + + )
. n n u = 1 ; n n u < = n f b t ; n n u + + )
(nmu = 1 ; nmu { = n f b t ; nmu++l
-1uCnmu1 Cnnul . P I G . xaCnmu1 Cnnu3 C i l ;
inmu = 1 ; ninu { = n f b t ; n m u + + )
.ilmCnmul == O )
1 = 1 ; i { = n g c o n t n m u l ; i + + )
:nmccl C i l = sqrt ~ Z * b e x p E n m u S C i l * p i n v j ; :nmul t i l . P I G . s q r t ( a x l Cnmul Cil 1 ; :nmul C i l . P i G . c c C n m u I t i l ; 'nmul Cil = ax i inmu3 Ci 3 ;
( n l m i n m u l == 1 1
i = 1 ; i ( = n g c o n t n m u l ; i + + )
nmul l i l = 2 * b e x p Inmu3 I11 ; nmu3 T i l . P I G . (5qrt(sqrt(axl Knmu3 t i l ))*rr2*vpip75) nmul L i l . P I G . c c f n m u 3 Cil ; nmul Cil = ax1 inmu1 C i l ;
;
i = I ; i ( = n g c o n E n m u 1 ; i + + )
:nmuI C i l P I G . cc Cnnul C i l ; :nmul C i l = a x 1 Cnmul C i l ;
nmu = 1 ; nmu <= nfbt ; nmu++)
nnu = 1 ; nnu { = nfbt i nnu++)
i = 1 ; i C = ngcoiíCnmu1 ; i++)
imul Cnnul C i l = -bexpCnmul Cil*raCnmul Cnnul C t l ; j = 1 ; j { = ngconCnnu3 ; j++)
imul Cnnul I: j l = bexp ( n n u , j 1 *ra Cnmul ~nnul C23 ; - A B C ( e a Cnmul Cnnul Cil-eb Cnmul Cnnul Cjl ) < 1 O0 1
nfnmul fnnu3 += tax2Cnnu3 Cjl*axI Cnmul CiI*exp(eaCnmuJ Cnnul CiJ-ebKnmuJ i n n i i l i j l 1 1
: j j = 1 ; j j { = nfbt ; jj++l
i f i i l Cjjl = gmunutiilCjjY*acumCiilCjjl ;
iCnniY C i i i l = 0 . 0 ;
p o l == 1 :I
j j = 1 ; j j <= nfbt ; j j + + l
Cnnil C 1 3 += (regaCii1 Cjjl*(pmunuaCiil Cjjl+pmunubCiii íj ji 1 ) ; Cnnil CZl += (regaíiil Kjjl*(prnunualiiJ fjjl-pnunubCii3 [ j j 3 ) I ; Cnnil 131 += IregaCiil C j j l *ci j a C i il Cnoci-ipaY *ci jaC j jl Cnocupal ; Enni3 l 4 1 += (regaCii3KjjI*cijbCiiJ CnocupbJ*ci]bljjJfnocuptr~) ; CnniJC57 += Ir~gaCiiíCjjl*cijaCiiI C n ~ c u p a + 1 1 ~ c i j a C j j l C n ~ c u p a + f I ~ ; f n n i 3 i G l += (regaEii3 Ejjl*cijbLiil C n o c u p b i 1 3 ~ r i j b C j j l C n o c u p b ~ 3 1 ) ;
C n n i l C 1 S += iregaCiil Cjjl*pmunuaCiil C j j i ; Ennil CS3 +=: (regafii3 l j j 3 * c i jaI : i i7 Cnocupal+ci j a l j jl i n o c u p a 3 1 ; C n n i 7 t 3 1 + - i r e j a C i i I C j j 3 * c i j ~ i i i l C n ú c u p a ~ 1 I * c i j a ~ j j l C n ~ s u p a + l ;
rn(j ;
* * a : * * * **: *:*I) :****:* * * * * * * * y : * * * *+* * * * * * * * * * * *$ *:* * * ** * * f * * * * * *$** * * *:**********:**/