_________________________________________________

programma  da0amaS, versione sparsa di da0ama
_________________________________________________


l'utilizzazione est 
///////////////////////////////////////////
[alex@pcalex da0amaS]$ da0amaS
/home/alex/src++/amarcord/atomosferico/atomosferico/wignercoef

 *** utilisation ***:

 da0amaS fichier_input   parametrihfs  filegammaenergia     [cristallo]   

///////////////////////////////////////////////////////////


da0amaS puo servire pure a diagonalizzare, ma l'uso piu consigliato e'
quello di scaricare i contributi all Hamiltoniano che sono poi
ricomposti dai programmi ausiliari che spiegheremo poi.

il comportamento e' controllato dalla stringa di opzioni in fond
a  fichier_input.
Se si mette nienteopzioni il programma non fa  praticamente niente
a parte scrivere un file atomo con tutti i determinanti e le funzioni
d'onda.
Se si mette diagonalizza il programma diagonalizzera.
l'opzione piu' utile est 

scaricanientemomentiopzioni 

per avere i contributi all'hamiltoniano.
Nientemomenti e' quasi superfluo perche' se non si diagonalizza non
serve calcolare i momenti
____________________________________________

ESEMPIO PRATICO N1
__________________________________________________________________


//////////////////////////////////////////////////////////

 da0amaS inputaFed6 parametrihfs  denergia  cristallo

/////////////////////////////////////////////////////////

il file denergia contiene un numero che esprimere  la gamma di energia
nella quale cerchiamo gli autovalori. Questo numero e' in UA.
Se si mette 0.01 il programma diagonalizza gli autovalori piu bassi
che stanno a meno di 0.01 UA dallo stato fondamentale.
Questo file bisogna sempre indicarlo anche se in questo esempio,
non essendo stata data l'opzione diagonalizza, il file e inutile
ma richiesto comunque dallo stupido  programma.

Cristallo est opzionale.
La struttura e' la stessa. 
Ma il funzionamento e' diverso. Ecco il file commentato:

////////////////////////////////////////////////////////////
1       {numero di riduzioni unorbitaledato-altriorbitali}
5  1  { tutti gli slater che coinvolgono l'orbitale 5 ed un altro 
        orbitale qualsiasi  sono moltiplicati per 1.
        E' chiaro che,  se si vuole diagonalizzare, mettere 1 o non mettere 
        la riduzione e' uguale. Ma il fatto di specificare la riduzione
        a 1 fa si che che il programma scriva i contributi  su un matricione 
	separato per una ricomposizione successiva da parte di programmi
	 ausiliari
        }

1          {numero di riduzioni unorbitaledato-altroancoradato}

5 5 1  { tutti gli slater che coinvolgono l'orbitale 5 ed quello 5
         sono moltiplicati per 1 .
         Stesso discorso per i matricioni parziali.
       }

1       { numero di gusci che sentono il campo di scambio }

5 1     { il guscio 5 sente un campo di scambio di un 1 UA.
          E' sottinteso che 1UA e' fantascientifico, ma l'effetto
          voluto e' ancora una volta lo scaricamento del 
          contributo parziale per ricomposizione futura
       }

5            { campo cristallino per il guscio 5
               Anche qui quello che si vuole e' lo scaricamento
	}

1 0 0 0 1
0 0 0 0 0
0 0 2 0 0
0 0 0 0 0
1 0 0 0 1
              
/////////////////////////////////////



Il programma genera i files
fileatomo    { determinanti e funzioni d'onda ( autovalori/vettori se si diagon		      alizza}

H0base       { contributo di base }
HCrist       { contributo del campo cristallino }
Scambioguscio5 { contributo dello scambio per il guscio 5 }
slaterridottiDguscio5_5 { conbtributo degli slater fra 5 e 5 moltiplicato
                           per il fattore di riduzione (qui 1) }
slaterridottiSguscio5  { contributo degli slater fra	 5 e tutti gli orbitali diversi da 5
                                                                             ^^^^^^^^^^^^^^^^^^  ATTENTO QUI
                         moltiplicato per il fattore di riduzione (qui 1) 
                       }

Questi file vanno spostati in un repertorio appposito che chiameremo
base

mkdir base
mv fileatomo H0base HCrist Scambioguscio5 slaterridottiDguscio5_5 slaterridottiSguscio5 base/


adesso ci preoccupiamo dei livelli eccitati lanciando

da0amaS inputaFe2p5d7  parametrihfs  denergia  cristallo
mkdir eccitato 
mv fileatomo H0base HCrist Scambioguscio5 slaterridottiDguscio5_5 slaterridottiSguscio5 eccitato/

_____________________________________________

ESTRAZIONE DEI DIPOLI QUADRI
_______________________________________________

///////////////////////////////////////////////////////:
estraidipoliS base/fileatomo eccitato/fileatomo  
///////////////////////////////////////////////////:

cio' genera i files

dipoliMinus.dat 
dipoliPlus.dat  
dipoliZ.dat 

________________________________

GENERAZIONE DELLO SPETTRO
________________________________

adesso siamo pronti con una sola operazione per diagonalizzare e generare lo spettro!!!!!
ecco l'istruzione 

///////////////////////////////////////////////////////////////////////////////
componispettro dipoliPlus.dat dipoliZ.dat dipoliMinus.dat 3   base/H0base 1  base/slaterridottiDguscio5_5  1 base/slaterridottiSguscio5 1 eccitato/H0base   eccitato/slaterridottiDguscio5_5  eccitato/slaterridottiSguscio5  0.001 0.0001    25.7   26.8  100   fileallargamenti 
/////////////////////////////////////////////////////////////////////////////////

il numero 3 indica che si sommano 3 contributi per lo stato di base e altri 3 per lo stato eccitato.
I contributi sono 
  base/H0base  con peso 1
  base/slaterridottiDguscio5_5  con peso 1
  base/slaterridottiSguscio5 con peso 1

per la base.
per l'eccitato sono

	eccitato/H0base
	eccitato/slaterridottiDguscio5_5 
	eccitato/slaterridottiSguscio5
 
con gli stessi pesi usati per la base

0.001UA e la gamma energetica in cui diagonalizzare la base
0.0001UA e la temperatura


25.7   26.8UA e la gamma energetica in cui calcolare lo spettro

100 est le numero di punti intermediari

File allargementi e' un file formato da due colonne
energia allargamento
...      .....

Per una data energia fotonica si interpola il file e si usa il valore cosi ottenuto 
come allargamento


Il risultato e sul file risultato

Ci sono 4 colonne
energiaUA  assorbimento+ assorbimentoZ assorbimento-



Ciao
