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