/*************************************************************************************************************************************/
/* */
/* 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). */