10
1
mirror of https://github.com/LCPQ/Cost_package.git synced 2024-11-18 20:12:45 +01:00
Cost_package/Manuals/gcas_emploi
2016-05-03 11:54:25 +02:00

121 lines
4.7 KiB
Plaintext
Executable File

GCAS GCAS GCAS GCAS GCAS GCAS GCAS GCAS GCAS GCAS
-------------------------------------------------------------------
fait la reunion de plusieurs fichiers RasOrb pour creer un fichier
d'orbitales ou :
- les occupees, actives et virtuelles
sont prises dans les differents RasOrb
Methode :
Aller prendre les occupees, actives et virtuelles
dans tous les fichiers RasOrb
Certaines actives peuvent etre "en double", ayant
ete generees par plusiurs rasscf differents. Elles ne
sont alors pas identiques, mais presque.
Etape 1 Actives :
Construire la matrice de recouvrement entre toutes les actives
la diagonaliser. On obtient des valeurs propres presque entieres.
valeur propre 1. Correspond a une active generee 1 fois
dans les calculs rasscf precedents. Le vecteur propre correspond
a l'orbitale active
valeur propre ~n. L'active etait presente n fois dans les Rasorb
le vecteur propre est une moyenne de toutes les actives similaires
valeur propre ~0. pour chaque valeur propre ~n, il y a n-1
valeurs propres ~0. Les vecteurs correspondants sont a eliminer.
Etape 2 L'espace actif etant construit, on va fabriquer les occupees
et les virtuelles
Occupees :
On voudrait employer la meme metrhode que pour les actives, mais
le nombre d'occupees cumule pour tous les fichiers est trop grand.
On ne pourrait pas diagonaliser.
Donc :
- on prend le fichier numero 1
- on boucle sur les occupees
- pour l'occupee n, on cherche son equivalent dans tous les autres
fichiers
- si on tombe sur une active dans un des fichiers, on laisse tomber
l'orbitale
- sinon, on a nf orbitales, nf etant le nombre de fichiers.
On applique la meme methode que pour les actives (mat de
recouvrement, diag, on ne retient que l'orbitale de valeur
propre ~nf
Virtuelles : comme les occupees
Etape 4 orthogonalisation hierarchisee act, puis occ+virt
-------------------------------------------------------------------
En entree (tous fichiers sur $WorkDir) :
- Un fichier GINPORB d'orbitales localisees
(GINPORB est en general la copie de LOCORB obtenu par dolo)
- Les fichiers Info et Mono
- le fichier SCH_FERMI cree par dolo
En donnee :
- Une ligne
&gcas prefix='...',nprint=..,symm= /
prefix : obligatoire
symm : obligatoire sur les vieilles versions de molcas, si on
veut une file molden.
- Une ligne de donnee pour le calcul rasscf
&ras name='...',symmetry=.,spin=.,nactel=. /
cette ligne servira a generer les donnees de rasscf. "name" est le
nom donne au calcul
- Pour chaque ligne &ras name=..., il y a plusieurs lignes
&ras isy=.,occvir='...',label='...........' /
(une par orbitale active) label est le nom de l'orbitale active
telle qu'elle apparait dans LOCORB
En sortie :- Un fichier d'orbitales, genre de RasOrb avec beaucoup d'actives.
($Project.GCasOrb)
- Un fichier d'orbitales locales, correspondant a LOCORB
projete sur $Project.GCasOrb ($Project.LocGCasOrb)
- un fichier rasscf de sortie pour chaque calcul rasscf
(OUT_LOC_RASSCFname, name etant la donnee de & ras)
- un fichier d'orbitales rasscf par calcul rasscf
(Project.Orb.T)
si on a deja fait tourner gcas pour quelques rasscf mais pas tous, le
programme teste l' existence fichiers OUT_LOC_RASSCFname et Project.Orb.name
et, si tout est bon, ne reexecute pas rasscf.
Exemple de donnees :
gcas << EOF
&gcas prefix='FeL2.',nprint=0
&ras name='GS1',symmetry=1,spin=1,nactel=6 /
&ras isy=2,occvir='OCC',label='O_FE.D.LP03' /
&ras isy=3,occvir='OCC',label='O_FE.D.LP02' /
&ras isy=4,occvir='OCC',label='O_FE.D.LP01' /
&ras name='GS5',symmetry=1,spin=5,nactel=6 /
&ras isy=2,occvir='OCC',label='O_FE.D.LP03' /
&ras isy=3,occvir='OCC',label='O_FE.D.LP02' /
&ras isy=4,occvir='OCC',label='O_FE.D.LP01' /
&ras isy=1,occvir='VIR',label='O_FE.D.VI01' /
&ras isy=1,occvir='VIR',label='O_FE.D.VI02' /
&ras name='MLCT2',symmetry=1,spin=3,nactel=2 /
&ras isy=2,occvir='OCC',label='O_FE.D.LP03' /
&ras isy=2,occvir='VIR',label='O_N2~C5.DL01' /
&ras name='MLCT3',symmetry=1,spin=3,nactel=2 /
&ras isy=3,occvir='OCC',label='O_FE.D.LP02' /
&ras isy=3,occvir='VIR',label='O_N18~C21.DL01' /
&ras name='MLCT4',symmetry=1,spin=3,nactel=2,ciroot=2,2,1 /
&ras isy=4,occvir='OCC',label='O_FE.D.LP01' /
&ras isy=4,occvir='VIR',label='O_N2~C5.DL' /
&ras isy=4,occvir='VIR',label='O_N18~C21.DL' /
/
EOF