/*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N S D E S F L U C T U A T I O N S Q U A N T I Q U E S D U V I D E : */ /* */ /* */ /* Author of '$xrq/di_elec.LI$I' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 1994??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* E V E N E M E N T N E U T R E P O U R U N P O I N T D U V I D E : */ /* */ /*************************************************************************************************************************************/ #define PROBABILITE_DE_INCHANGE_V \ GRO1(FRA2(FU)) DEFV(Local,DEFV(Float,INIT(probabilite_de_INCHANGE_V,PROBABILITE_DE_INCHANGE_V))); /* Probabilite du vertex : V --> V. */ #define INCHANGE_V \ Bblock \ Eblock \ /* Vertex : V --> V. */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* E V E N E M E N T S " C O N D I T I O N N E L S " P O U R L E V I D E */ /* O U " F L U C T U A T I O N S Q U A N T I Q U E S D U V I D E " : */ /* */ /*************************************************************************************************************************************/ #define NOMBRE_D_EVENEMENTS_POUR_LES_FLUCTUATIONS_QUANTIQUES_DU_VIDE \ GRO2(MILLE) \ /* Nombre d'evenements de fluctuations du vide, dont tous ne seront pas fructueux... */ DEFV(Local,DEFV(Positive,INIT(nombre_d_evenements_pour_les_fluctuations_quantiques_du_vide ,NOMBRE_D_EVENEMENTS_POUR_LES_FLUCTUATIONS_QUANTIQUES_DU_VIDE ) ) ); /* Nombre d'evenements a produire pour faire fluctuer le vide... */ #define PROBABILITE_D_EVENEMENT_CONDITIONNEL_POUR_UN_POINT_DU_VIDE \ GRO2(FRA2(FU)) DEFV(Local,DEFV(Float,INIT(probabilite_d_evenement_conditionnel_pour_un_point_du_vide ,PROBABILITE_D_EVENEMENT_CONDITIONNEL_POUR_UN_POINT_DU_VIDE ) ) ); /* Probabilite pour qu'un point du vide choisit aleatoirement soit la "victime" d'un */ /* evenement conditionnel du type : */ /* */ /* INCHANGE_V. */ /* */ #define ___FLUCTUATIONS_QUANTIQUES_DU_VIDE \ Bblock \ DEFV(pointF_3D,point_courant_dans_le_vide); \ /* Pour memoriser la position du point courant dans le vide. */ \ Repe(INTE(tSCALE(REGUL1(FLOT(nombre_d_evenements_pour_les_fluctuations_quantiques_du_vide))))) \ /* ATTENTION : le nombre d'evenements ne change pas quand la periode de l'horloge varie, */ \ /* l'influence du temps se faisant sentir dans 'GENERATION_D_UNE_PROBABILITE_01(...)'. */ \ Bblock \ DEFV(Float,INIT(champ_aleatoire,FLOT__UNDEF)); \ /* Pour calculer la valeur d'un champ aleatoire a l'emplacement du point courant. */ \ GENERATION_D_UN_POINT(point_courant_dans_le_vide); \ /* Selection d'un point alaetoire dans le vide (fluctuation potentielle). */ \ CALCUL_DU_CHAMP_GLOBAL(ASD1(point_courant_dans_le_vide,x) \ ,ASD1(point_courant_dans_le_vide,y) \ ,ASD1(point_courant_dans_le_vide,z) \ ,CALCULER_LE_CHAMP_DE_FLUX \ ,NE_PAS_CALCULER_LE_CHAMP_DE_CONFINEMENT \ ,cutoff_du_champ_global \ ); \ GENERATION_D_UNE_VALEUR(champ_aleatoire,MINIMUM_DU_CHAMP_GLOBAL,MAXIMUM_DU_CHAMP_GLOBAL); \ /* Valeur du champ aleatoire a l'emplacement du point courant dans le vide. */ \ Test(IFLE(champ_aleatoire,champ_global)) \ Bblock \ /* Lorsque le champ aleatoire est inferieur au champ global, la fluctuation est acceptee */ \ /* et de potentielle, devient VIRTUELle... */ \ DEFV(Float,INIT(probabilite_d_evenement_conditionnel,FLOT__UNDEF)); \ /* Probabilite pour que le point courant soit la "victime" d'un evenement conditionnel du */ \ /* type : */ \ /* */ \ /* INCHANGE_V, */ \ /* */ \ GENERATION_D_UNE_PROBABILITE_01(probabilite_d_evenement_conditionnel); \ Test(IFLE(probabilite_d_evenement_conditionnel \ ,REGUL0(probabilite_d_evenement_conditionnel_pour_un_point_du_vide) \ ) \ ) \ Bblock \ DEFV(Float,INIT(probabilite_de_choix,FLOT__UNDEF)); \ /* Probabilite de choix entre : */ \ /* */ \ /* INCHANGE_V, */ \ /* */ \ GENERATION_D_UNE_VALEUR(probabilite_de_choix \ ,EVENEMENT_IMPOSSIBLE \ ,REGUL0(probabilite_de_INCHANGE_V) \ ); \ /* ATTENTION : 'hPROBABILITE(...)' ne doit pas intervenir ici, car ici, dans */ \ /* 'CHOIX_D_UN_EVENEMENT_ENTRE_PLUSIEURS_EVENEMENTS_POSSIBLES(...)', le choix est */ \ /* instantane, contrairement a celui effectue par 'GENERATION_D_UNE_PROBABILITE_01(...)'. */ \ DEBUT_DU_CHOIX_ENTRE_PLUSIEURS_EVENEMENTS_POSSIBLES(probabilite_de_choix); \ CHOIX_D_UN_EVENEMENT_ENTRE_PLUSIEURS_EVENEMENTS_POSSIBLES \ (REGUL0(probabilite_de_INCHANGE_V) \ ,INCHANGE_V \ ); \ FIN_DU_CHOIX_ENTRE_PLUSIEURS_EVENEMENTS_POSSIBLES; \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ ATes \ Bblock \ /* Lorsque l'evenement n'est pas favorable, la fluctuation est ignoree... */ \ Eblock \ ETes \ Eblock \ ERep \ Eblock \ /* Fluctuations quantiques du vide... */ BFonctionI DEFV(LoF,GENERE__Fonction__OPT(FLUCTUATIONS_QUANTIQUES_DU_VIDE,V,___FLUCTUATIONS_QUANTIQUES_DU_VIDE)) EFonctionI