/*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N S D E Q U E L Q U E S P R O C E D U R E S N E C E S S A I R E S */ /* A L ' E T U D E D E L ' A T O M E D ' H Y D R O G E N E : */ /* */ /* */ /* Author of '$xrq/hydrogene.23$I' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 1993??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* C A L C U L L O C A L D ' U N E F O N C T I O N P R O P R E : */ /* */ /*************************************************************************************************************************************/ #define CALCUL_D_UNE_FONCTION_PROPRE(ordre_n,ordre_l,ordre_m) \ Bblock \ CALCUL_D_UNE_FONCTION_PROPRE_DE_NOM_QUELCONQUE(fonction_propre,ordre_n,ordre_l,ordre_m); \ Eblock \ /* Calcul de la fonction propre locale pour un couple (n,l,m) de nom 'fonction_propre'... */ #define CALCUL_D_UNE_FONCTION_PROPRE_DE_NOM_QUELCONQUE(fonction_propre,ordre_n,ordre_l,ordre_m) \ Bblock \ FONCTIONS_PROPRES_R(Reelle(fonction_propre) \ ,RHO,THETA,PHI \ ,constante_a \ ,ordre_n,ordre_l,ordre_m \ ); \ Test(IL_FAUT(calculer_aussi_la_partie_Imaginaire)) \ Bblock \ FONCTIONS_PROPRES_I(Imaginaire(fonction_propre) \ ,RHO,THETA,PHI \ ,constante_a \ ,ordre_n,ordre_l,ordre_m \ ); \ Eblock \ ATes \ Bblock \ EGAL(Imaginaire(fonction_propre),FZERO); \ /* Lorsque la partie Imaginaire n'est pas demandee, on lui donne une valeur nulle... */ \ Eblock \ ETes \ Eblock \ /* Calcul de la fonction propre locale pour un couple (n,l,m) de nom quelconque... */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* C A L C U L L O C A L D ' U N E F O N C T I O N P R O P R E : */ /* */ /*************************************************************************************************************************************/ #define CALCULER_LA_PROBABILITE_EN_COORDONNEES_SPHERIQUES \ FAUX DEFV(Local,DEFV(Logical,INIT(calculer_la_probabilite_en_coordonnees_spheriques,CALCULER_LA_PROBABILITE_EN_COORDONNEES_SPHERIQUES))); /* Indique si 'densite_de_probabilite_de_presence' est calculee en coordonnees spheriques */ /* ('VRAI') ou cartesiennes ("FAUX')... */ #define TRANSLATION_DU_CARRE_DU_RAYON \ FZERO DEFV(Local,DEFV(Float,INIT(translation_du_carre_du_rayon,TRANSLATION_DU_CARRE_DU_RAYON))); /* Meme si cela a peu de sens (physique ou mathematique), on se donne la possibilite de */ /* translater le carre du rayon (ou 'parametre_r'). */ #define CALCUL_D_UNE_DENSITE_DE_PROBABILITE_DE_PRESENCE_QUELCONQUE(fonction_propre) \ Bblock \ EGAL(densite_de_probabilite_de_presence \ ,COND(IL_FAUT(calculer_la_probabilite_en_coordonnees_spheriques) \ ,MUL2(Cmodule2(fonction_propre) \ ,MUL2(GRO4(PI) \ ,ADD2(EXP2(parametre_r),EXP2(translation_du_carre_du_rayon)) \ ) \ ) \ ,NEUT(Cmodule2(fonction_propre)) \ ) \ ); \ /* Calcul de la densite de probabilite de presence. La probabilite de trouver l'electron */ \ /* dans une couche spherique d'epaisseur 'dr' est : */ \ /* */ \ /* 2 2 */ \ /* P(r).dr = |psi | .4.pi.r .dr */ \ /* nlm */ \ /* */ \ /* que l'on generalise en : */ \ /* */ \ /* 2 2 2 */ \ /* P(r).dr = |psi | .4.pi.(r + Tr ).dr */ \ /* nlm */ \ /* */ \ /* lorsque l'on utilise les coordonnees spheriques ; sinon, on prendra : */ \ /* */ \ /* 2 */ \ /* P(r) = |psi | */ \ /* nlm */ \ /* */ \ /* ou 'psi' designe la fonction propre pour les nombres quantiques (n,l,m). */ \ Eblock \ /* Calcul de la fonction propre locale pour un couple (n,l,m). */ #define CALCUL_D_UNE_DENSITE_DE_PROBABILITE_DE_PRESENCE(ordre_n,ordre_l,ordre_m) \ Bblock \ DEFV(complexe,fonction_propre); \ /* Definition des parties Reelle et Imaginaire des fonctions propres. */ \ CALCUL_D_UNE_FONCTION_PROPRE(ordre_n,ordre_l,ordre_m); \ /* Calcul de la fonction propre (n,l,m) demandee... */ \ CALCUL_D_UNE_DENSITE_DE_PROBABILITE_DE_PRESENCE_QUELCONQUE(fonction_propre); \ /* Calcul de la densite de probabilite de presence. */ \ Eblock \ /* Calcul de la fonction propre locale pour un couple (n,l,m). */