VERSION FONCTIONNANT SI LES VECTEURS D'ONDE N'ONT PAS TOUS ETE CALCULES


Table des matières

1- Pourquoi cette nouvelle version?
2- Comment utiliser cette nouvelle version?
3- Quelles ont été les modifications apportées au programme de prolongement analytique pour obtenir cette nouvelle version?


1- Pourquoi cette nouvelle version?

En principe, on devrait pouvoir effectuer le prolongement analytique d'une simulation pour laquelle les calculs n'ont été faits que pour un ou quelques vecteur(s) d'onde. Cependant, l'ancienne version supposait implicitement, lors de la lecture des données, que les calculs avaient été faits pour tous les vecteurs d'onde. La nouvelle version
du programme de prolongement analytique rectifie cette situation.
 

2- Comment utiliser cette nouvelle version?

La nouvelle version s'utilise exactement comme l'ancienne, à une différence près: il faut indiquer, à la fin du fichier trnf.dat, le nombre de vecteurs d'onde ayant été calculés lors de la simulation MCQ.
 

3- Quelles ont été les modifications apportées au programme de prolongement analytique pour obtenir cette nouvelle version?

A- Fichier trfn.dat:
    * A la fin du fichier, nous avons ajouté la variable NVCAL, qui indique le nombre de vecteurs d'onde ayant été calculés lors de la simulation MCQ.

B- Sous-routine LECTURE_PARA:
    * Ajout de la lecture de la variable NVCAL (variable déclarée dans le module "parametres")
    * Message d'erreur si NVCAL est plus petit que le nombre total de sites et que l'option "Matrice de covariance" a été choisie
    * Message d'erreur si NVCAL est plus petit que le nombre total de sites et que l'option "Densite d'etat totale" a été choisie

C- Sous-routine LECTURE_DATA:
    * Ajout de variables internes: TEST, GTL, ERRTL,TQX,TQY
    * Modification du nombre de lignes lues dans la fichier re.dat (la boucle sur J=1, 22+nx*ny devient une boucle sur J+1, 22+nvcal)
    * Remplacement de 2 boucles imbriquées (J=1,nx et I=1,ny) par une boucle (J=1,nvcal) pour la lecture de données inutiles
    * Au lieu d'enregistrer les données dans les tableaux GT et ERRT, on les enregistre dans les tableaux GTL et ERRTL.  De plus, les indices des vecteurs d'onde sont conservés dans les tableaux TQX et TQY.
    * On transfert les données de GTL à GT et de ERRTL à ERRT.  Pour ce faire, on vérifie si les indices de vecteurs d'onde des tableaux GT et ERRT sont les mêmes que ceux des tableaux TQX et TQY; si c'est le cas, on transfert les résultats contenus dans GTL et ERRTL, sinon, on entre la valeur 0.0 dans GT et ERRT.
    * Il a fallu mettre en option l'addition des différentes contributions pour les réseaux carrés (symétrie), car il n'y a plus nécessairement de données pour tous les sites.

Autrement dit, les tableaux GT et ERRT contiennent maintenant les résultats MCQ pour les vecteurs d'onde qui ont été calculés et 0.0 pour les vecteurs d'onde qui n'ont pas été calculés.  Il n'a pas été nécessaire d'apporter d'autres modifications pour les calculs subséquents.