/*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N S D E S N U A G E S D E P A R T I C U L E S V I R T U E L L E S : */ /* */ /* */ /* Author of '$xrq/nucleon.LK$I' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 1991??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* I N I T I A L I S A T I O N D U M O D E L E A V E C D E S */ /* N U A G E S D E P A R T I C U L E S V I R T U E L L E S : */ /* */ /*************************************************************************************************************************************/ #if (defined(__VERSION__GENERATION_D_UN_NUCLEON) || defined(__VERSION__GENERATION_D_UN_MESON)) # define REDUCTION_DES_NOMBRES_D_EVENEMENTS(reduction_du_nombre_d_evenements,nombre_d_evenements) \ INTE(MUL2(reduction_du_nombre_d_evenements,REGUL0(FLOT(nombre_d_evenements)))) \ /* Fonction de reduction d'un nombre d'evenements. On notera que 'fNOMBRE(...)' n'intervient */ \ /* pas ici, car en effet, il s'agit d'initialiser le modele, ce qui est donc en fait une */ \ /* action "statique", ou donc l'horloge n'intervient pas... */ # define NOMBRE_D_EVENEMENTS_POUR_L_INJECTION_DE_NUAGES_DE_QUARKS_VIRTUELS \ GRO2(FRA1(DIX_MILLE)) \ /* Nombre d'evenements, dont tous ne seront pas fructueux... */ DEFV(Local,DEFV(Positive,INIT(nombre_d_evenements_pour_l_injection_de_nuages_de_quarks_virtuels ,NOMBRE_D_EVENEMENTS_POUR_L_INJECTION_DE_NUAGES_DE_QUARKS_VIRTUELS ) ) ); /* Nombre d'evenements a produire pour generer une famille initiale de quarks virtuels. */ # define INJECTION_DE_NUAGES_DE_QUARKS_VIRTUELS(reduction_du_nombre_d_evenements) \ /* ATTENTION : cette procedure ne peut pas beneficier de 'OPTIMISATION(...)' car, en effet, */ \ /* elle a un argument... */ \ Bblock \ DEFV(pointF_3D,position_aleatoire); \ /* Pour memoriser la position initiale (aleatoire) du quark virtuel courant. */ \ DEFINITION_DE_LA_VITESSE_ALEATOIRE; \ /* Pour memoriser la vitesse (aleatoire) du quark virtuel courant, sous la forme d'un */ \ /* vecteur (vx,vy,vz) en coordonnees cartesiennes, mais aussi en coordonnees */ \ /* spheriques {rho,theta,phi}. */ \ DEFV(quark,POINTERs(quark_virtuel_courant)); \ /* Pour memoriser les caracteristiques du quark courant... */ \ Repe(REDUCTION_DES_NOMBRES_D_EVENEMENTS(reduction_du_nombre_d_evenements \ ,nombre_d_evenements_pour_l_injection_de_nuages_de_quarks_virtuels \ ) \ ) \ /* ATTENTION : le nombre d'evenements diminue quand la periode de l'horloge diminue */ \ /* elle aussi, et ce afin de compenser l'absence de '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 quark potentiel. */ \ GENERATION_D_UN_POINT(position_aleatoire); \ /* Generation d'un site potentiel pour un quark 'VIRTUEL'. */ \ CALCUL_DU_CHAMP_GLOBAL(ASD1(position_aleatoire,x) \ ,ASD1(position_aleatoire,y) \ ,ASD1(position_aleatoire,z) \ ,NE_PAS_CALCULER_LE_CHAMP_DE_FLUX \ ,NE_PAS_CALCULER_LE_CHAMP_DE_CONFINEMENT \ ,cutoff_d_initialisation \ ); \ GENERATION_D_UNE_VALEUR(champ_aleatoire,MINIMUM_DU_CHAMP_GLOBAL,MAXIMUM_DU_CHAMP_GLOBAL); \ /* Valeur du champ aleatoire a l'emplacement du quark potentiel... */ \ Test(IFLE(champ_aleatoire,champ_global)) \ Bblock \ /* Lorsque le champ aleatoire est inferieur au champ global, le quark potentiel est */ \ /* conserve avec le statut VIRTUEL : */ \ DEBUT_DE_ROTATION_D_ALIGNEMENT_SUR_LE_MOMENT_ANGULAIRE_DU_QUARK_REEL_DOMINANT(position_aleatoire); \ DEBUT_DE_CHOIX_D_UNE_DIRECTION_D_ALIGNEMENT_SUR_LE_MOMENT_ANGULAIRE_DU_QUARK_REEL_DOMINANT; \ INITIALISATION_DU_MODULE_DE_LA_VITESSE_ALEATOIRE_D_UN_QUARK_OU_D_UN_ANTI_QUARK; \ /* Choix aleatoire du module de la vitesse du quark VIRTUEL. */ \ VITESSE_CARTESIENNE_POLAIRE(vitesse_courante \ ,rho_de_la_vitesse \ ,theta_polaire \ ,PAS_DE_DEPHASAGE \ ); \ /* La vitesse du quark VIRTUEL est choisie orthogonale au plan forme par le moment */ \ /* angulaire du quark REEL dominant et par le vecteur joignant ce quark VIRTUEL au */ \ /* quark REEL dominant. */ \ FIN_DE_CHOIX_D_UNE_DIRECTION_D_ALIGNEMENT_SUR_LE_MOMENT_ANGULAIRE_DU_QUARK_REEL_DOMINANT; \ FIN_DE_ROTATION_D_ALIGNEMENT_SUR_LE_MOMENT_ANGULAIRE_DU_QUARK_REEL_DOMINANT; \ CREATION_D_UN_QUARK_VIRTUEL(quark_virtuel_courant \ ,QUARK_SAVEUR_INDEFINIE \ ,position_aleatoire \ ,vitesse_courante \ ,CHARGE_DE_COULEUR_ROUGE(champ_de_valence_ROUGE) \ ,CHARGE_DE_COULEUR_VERTE(champ_de_valence_VERTE) \ ,CHARGE_DE_COULEUR_BLEUE(champ_de_valence_BLEUE) \ ); \ /* Generation d'un quark "VIRTUEL". */ \ TRACE_D_UN_EVENEMENT(Prin1("STRONG_INJECTION_DE_NUAGES_DE_QUARKS_VIRTUELS VIDE --> Q(%d)" \ ,ETIQUETTE(quark_virtuel_courant) \ ) \ ); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ ERep \ Eblock \ /* Initialisation eventuelle du modele a l'aide d'une repartition des charges de couleur */ \ /* des quarks virtuels qui suit le champ general d'interaction... */ # define NOMBRE_D_EVENEMENTS_POUR_L_INJECTION_DE_NUAGES_D_ANTI_QUARKS_VIRTUELS \ NOMBRE_D_EVENEMENTS_POUR_L_INJECTION_DE_NUAGES_DE_QUARKS_VIRTUELS \ /* Nombre d'evenements, dont tous ne seront pas fructueux... */ DEFV(Local,DEFV(Positive,INIT(nombre_d_evenements_pour_l_injection_de_nuages_d_anti_quarks_virtuels ,NOMBRE_D_EVENEMENTS_POUR_L_INJECTION_DE_NUAGES_D_ANTI_QUARKS_VIRTUELS ) ) ); /* Nombre d'evenements a produire pour generer une famille initiale d'anti-quarks virtuels. */ # define INJECTION_DE_NUAGES_DE_ANTI_QUARKS_VIRTUELS(reduction_du_nombre_d_evenements) \ /* ATTENTION : cette procedure ne peut pas beneficier de 'OPTIMISATION(...)' car, en effet, */ \ /* elle a un argument... */ \ Bblock \ DEFV(pointF_3D,position_aleatoire); \ /* Pour memoriser la position initiale (aleatoire) de l'anti-quark virtuel courant. */ \ DEFINITION_DE_LA_VITESSE_ALEATOIRE; \ /* Pour memoriser la vitesse (aleatoire) de l'anti-quark virtuel courant, sous la forme d'un */ \ /* vecteur (vx,vy,vz) en coordonnees cartesiennes, mais aussi en coordonnees */ \ /* spheriques {rho,theta,phi}. */ \ DEFV(anti_quark,POINTERs(anti_quark_virtuel_courant)); \ /* Pour memoriser les caracteristiques de l'anti-quark courant... */ \ Repe(REDUCTION_DES_NOMBRES_D_EVENEMENTS(reduction_du_nombre_d_evenements \ ,nombre_d_evenements_pour_l_injection_de_nuages_d_anti_quarks_virtuels \ ) \ ) \ /* ATTENTION : le nombre d'evenements diminue quand la periode de l'horloge diminue */ \ /* elle aussi, et ce afin de compenser l'absence de 'GENERATION_D_UNE_PROBABILITE_01(...)'. */ \ Bblock \ DEFV(Float,INIT(champ_aleatoire,FLOT__UNDEF)); \ /* Pour calculer la valeur d'un champ aleatoire a l'emplacement de l'anti-quark potentiel. */ \ GENERATION_D_UN_POINT(position_aleatoire); \ /* Generation d'un site potentiel pour un anti-quark 'VIRTUEL'. */ \ CALCUL_DU_CHAMP_GLOBAL(ASD1(position_aleatoire,x) \ ,ASD1(position_aleatoire,y) \ ,ASD1(position_aleatoire,z) \ ,NE_PAS_CALCULER_LE_CHAMP_DE_FLUX \ ,NE_PAS_CALCULER_LE_CHAMP_DE_CONFINEMENT \ ,cutoff_d_initialisation \ ); \ GENERATION_D_UNE_VALEUR(champ_aleatoire,MINIMUM_DU_CHAMP_GLOBAL,MAXIMUM_DU_CHAMP_GLOBAL); \ /* Valeur du champ aleatoire a l'emplacement de l'anti-quark potentiel... */ \ Test(IFLE(champ_aleatoire,champ_global)) \ Bblock \ /* Lorsque le champ aleatoire est inferieur au champ global, le quark potentiel est */ \ /* conserve avec le statut VIRTUEL : */ \ DEBUT_DE_ROTATION_D_ALIGNEMENT_SUR_LE_MOMENT_ANGULAIRE_DU_QUARK_REEL_DOMINANT(position_aleatoire); \ DEBUT_DE_CHOIX_D_UNE_DIRECTION_D_ALIGNEMENT_SUR_LE_MOMENT_ANGULAIRE_DU_QUARK_REEL_DOMINANT; \ INITIALISATION_DU_MODULE_DE_LA_VITESSE_ALEATOIRE_D_UN_QUARK_OU_D_UN_ANTI_QUARK; \ /* Choix aleatoire du module de la vitesse du quark VIRTUEL. */ \ VITESSE_CARTESIENNE_POLAIRE(vitesse_courante \ ,rho_de_la_vitesse \ ,theta_polaire \ ,PAS_DE_DEPHASAGE \ ); \ /* La vitesse du anti-quark VIRTUEL est choisie orthogonale au plan forme par le moment */ \ /* angulaire du anti-quark REEL dominant et par le vecteur joignant ce quark VIRTUEL au */ \ /* quark REEL dominant. */ \ FIN_DE_CHOIX_D_UNE_DIRECTION_D_ALIGNEMENT_SUR_LE_MOMENT_ANGULAIRE_DU_QUARK_REEL_DOMINANT; \ FIN_DE_ROTATION_D_ALIGNEMENT_SUR_LE_MOMENT_ANGULAIRE_DU_QUARK_REEL_DOMINANT; \ CREATION_D_UN_ANTI_QUARK_VIRTUEL(anti_quark_virtuel_courant \ ,QUARK_SAVEUR_INDEFINIE \ ,position_aleatoire \ ,vitesse_courante \ ,CHARGE_DE_COULEUR_ROUGE(champ_de_valence_ROUGE) \ ,CHARGE_DE_COULEUR_VERTE(champ_de_valence_VERTE) \ ,CHARGE_DE_COULEUR_BLEUE(champ_de_valence_BLEUE) \ ); \ /* Generation d'un anti-quark "VIRTUEL". */ \ TRACE_D_UN_EVENEMENT(Prin1("STRONG_INJECTION_DE_NUAGES_DE_ANTI_QUARKS_VIRTUELS VIDE --> AQ(%d)" \ ,ETIQUETTE(anti_quark_virtuel_courant) \ ) \ ); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ ERep \ Eblock \ /* Initialisation eventuelle du modele a l'aide d'une repartition des charges de couleur */ \ /* des anti-quarks virtuels qui suit le champ general d'interaction... */ # define NOMBRE_D_EVENEMENTS_POUR_L_INJECTION_DE_NUAGES_DE_GLUONS_VIRTUELS \ ADD2(NOMBRE_D_EVENEMENTS_POUR_L_INJECTION_DE_NUAGES_DE_QUARKS_VIRTUELS \ ,NOMBRE_D_EVENEMENTS_POUR_L_INJECTION_DE_NUAGES_D_ANTI_QUARKS_VIRTUELS \ ) \ /* Nombre d'evenements, dont tous ne seront pas fructueux... */ DEFV(Local,DEFV(Positive,INIT(nombre_d_evenements_pour_l_injection_de_nuages_de_gluons_virtuels ,NOMBRE_D_EVENEMENTS_POUR_L_INJECTION_DE_NUAGES_DE_GLUONS_VIRTUELS ) ) ); /* Nombre d'evenements a produire pour generer une famille initiale de gluons virtuels. */ # define INJECTION_DE_NUAGES_DE_GLUONS_VIRTUELS(reduction_du_nombre_d_evenements) \ /* ATTENTION : cette procedure ne peut pas beneficier de 'OPTIMISATION(...)' car, en effet, */ \ /* elle a un argument... */ \ Bblock \ DEFV(pointF_3D,position_aleatoire); \ /* Pour memoriser la position initiale (aleatoire) du gluon virtuel courant. */ \ DEFINITION_DE_LA_VITESSE_ALEATOIRE; \ /* Pour memoriser la vitesse (aleatoire) du gluon virtuel courant, sous la forme d'un */ \ /* vecteur (vx,vy,vz) en coordonnees cartesiennes, mais aussi en coordonnees */ \ /* spheriques {rho,theta,phi}. */ \ DEFV(gluon,POINTERs(gluon_virtuel_courant)); \ /* Pour memoriser les caracteristiques du gluon courant... */ \ Repe(REDUCTION_DES_NOMBRES_D_EVENEMENTS(reduction_du_nombre_d_evenements \ ,nombre_d_evenements_pour_l_injection_de_nuages_de_gluons_virtuels \ ) \ ) \ /* ATTENTION : le nombre d'evenements diminue quand la periode de l'horloge diminue */ \ /* elle aussi, et ce afin de compenser l'absence de '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 gluon potentiel. */ \ GENERATION_D_UN_POINT(position_aleatoire); \ /* Generation d'un site potentiel pour un gluon 'VIRTUEL'. */ \ CALCUL_DU_CHAMP_GLOBAL(ASD1(position_aleatoire,x) \ ,ASD1(position_aleatoire,y) \ ,ASD1(position_aleatoire,z) \ ,NE_PAS_CALCULER_LE_CHAMP_DE_FLUX \ ,NE_PAS_CALCULER_LE_CHAMP_DE_CONFINEMENT \ ,cutoff_d_initialisation \ ); \ GENERATION_D_UNE_VALEUR(champ_aleatoire,MINIMUM_DU_CHAMP_GLOBAL,MAXIMUM_DU_CHAMP_GLOBAL); \ /* Valeur du champ aleatoire a l'emplacement du gluon potentiel... */ \ Test(IFLE(champ_aleatoire,champ_global)) \ Bblock \ /* Lorsque le champ aleatoire est inferieur au champ global, le gluon potentiel est */ \ /* conserve avec le statut VIRTUEL : */ \ DEBUT_DE_ROTATION_D_ALIGNEMENT_SUR_LE_MOMENT_ANGULAIRE_DU_QUARK_REEL_DOMINANT(position_aleatoire); \ DEBUT_DE_CHOIX_D_UNE_DIRECTION_D_ALIGNEMENT_SUR_LE_MOMENT_ANGULAIRE_DU_QUARK_REEL_DOMINANT; \ INITIALISATION_DU_MODULE_DE_LA_VITESSE_ALEATOIRE_D_UN_GLUON; \ /* Choix aleatoire du module de la vitesse du quark VIRTUEL. */ \ VITESSE_CARTESIENNE_POLAIRE(vitesse_courante \ ,rho_de_la_vitesse \ ,theta_polaire \ ,PAS_DE_DEPHASAGE \ ); \ /* La vitesse du gluon est choisie orthogonale au plan forme par le moment angulaire du */ \ /* quark REEL dominant et par le vecteur joignant ce gluon au quark REEL dominant. */ \ FIN_DE_CHOIX_D_UNE_DIRECTION_D_ALIGNEMENT_SUR_LE_MOMENT_ANGULAIRE_DU_QUARK_REEL_DOMINANT; \ FIN_DE_ROTATION_D_ALIGNEMENT_SUR_LE_MOMENT_ANGULAIRE_DU_QUARK_REEL_DOMINANT; \ CREATION_D_UN_GLUON_VIRTUEL(gluon_virtuel_courant \ ,position_aleatoire \ ,vitesse_courante \ ,CHARGE_DE_COULEUR_ROUGE(champ_de_valence_ROUGE) \ ,CHARGE_DE_COULEUR_VERTE(champ_de_valence_VERTE) \ ,CHARGE_DE_COULEUR_BLEUE(champ_de_valence_BLEUE) \ ); \ /* Generation d'un gluon "VIRTUEL". */ \ TRACE_D_UN_EVENEMENT(Prin1("STRONG_INJECTION_DE_NUAGES_DE_GLUONS_VIRTUELS VIDE --> G(%d)" \ ,ETIQUETTE(gluon_virtuel_courant) \ ) \ ); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ ERep \ Eblock \ /* Initialisation eventuelle du modele a l'aide d'une repartition des charges de couleur */ \ /* des gluons virtuels qui suit le champ general d'interaction... */ # define INJECTER_DES_PARTICULES_VIRTUELLES_AUTOUR_DES_QUARKS_DE_VALENCE \ VRAI DEFV(Local,DEFV(Logical,INIT(injecter_des_particules_virtuelles_autour_des_quarks_de_valence ,INJECTER_DES_PARTICULES_VIRTUELLES_AUTOUR_DES_QUARKS_DE_VALENCE ) ) ); /* Cet indicateur precise la nature du voisinage des quarks de valence : */ /* */ /* VRAI : un nuage de particules virtuelles est cree autour de chaque quark de valence, */ /* FAUX : on part simplement des trois quarks de valence. */ /* */ /* Nota : cet indicateur peut voir son effet "annule" par celui des deux indicateurs qui */ /* suivent... */ # define INITIALISER_AVEC_DES_PARTICULES_VIRTUELLES_AUTOUR_DES_QUARKS_DE_VALENCE \ VRAI DEFV(Local,DEFV(Logical,INIT(initialiser_avec_des_particules_virtuelles_autour_des_quarks_de_valence ,INITIALISER_AVEC_DES_PARTICULES_VIRTUELLES_AUTOUR_DES_QUARKS_DE_VALENCE ) ) ); /* Cet indicateur precise la nature du voisinage des quarks de valence a l'etat initial : */ /* */ /* VRAI : un nuage de particules virtuelles est cree autour de chaque quark de valence, */ /* FAUX : on part simplement des trois quarks de valence. */ /* */ /* Nota : cet indicateur peut voir son effet "annule" par celui de l'indicateur defini */ /* ci-dessus 'injecter_des_particules_virtuelles_autour_des_quarks_de_valence'... */ # define RE_INITIALISER_AVEC_DES_PARTICULES_VIRTUELLES_AUTOUR_DES_QUARKS_DE_VALENCE \ VRAI DEFV(Local,DEFV(Logical,INIT(re_initialiser_avec_des_particules_virtuelles_autour_des_quarks_de_valence ,RE_INITIALISER_AVEC_DES_PARTICULES_VIRTUELLES_AUTOUR_DES_QUARKS_DE_VALENCE ) ) ); /* Cet indicateur precise la nature du voisinage des quarks de valence au cours de la */ /* simulation (apres l'instant initial...) : */ /* */ /* VRAI : un nuage de particules virtuelles est cree autour de chaque quark de valence, */ /* FAUX : le voisinage des trois quarks de valence reste inchange. */ /* */ /* Nota : cet indicateur peut voir son effet "annule" par celui de l'indicateur defini */ /* ci-dessus 'injecter_des_particules_virtuelles_autour_des_quarks_de_valence'... */ # define INJECTION_QUELCONQUE_DE_NUAGES_DE_PARTICULES_VIRTUELLES(reduction_du_nombre_d_evenements) \ /* ATTENTION : cette procedure ne peut pas beneficier de 'OPTIMISATION(...)' car, en effet, */ \ /* elle a un argument... */ \ Bblock \ Test(IL_FAUT(injecter_des_particules_virtuelles_autour_des_quarks_de_valence)) \ Bblock \ INJECTION_DE_NUAGES_DE_QUARKS_VIRTUELS(reduction_du_nombre_d_evenements); \ INJECTION_DE_NUAGES_DE_ANTI_QUARKS_VIRTUELS(reduction_du_nombre_d_evenements); \ INJECTION_DE_NUAGES_DE_GLUONS_VIRTUELS(reduction_du_nombre_d_evenements); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ /* (re)-injection permanente a chaque pas de temps de nuages de particules virtuelles */ \ /* suivant le champ general d'interaction... */ # define ABSENCE_DE_REDUCTION_DU_NOMBRE_D_EVENEMENTS \ FU \ /* Pour 'INJECTION_DE_NUAGES_DE_PARTICULES_VIRTUELLES', le nombre d'evenements n'est pas */ \ /* modifie... */ # define ___INJECTION_DE_NUAGES_DE_PARTICULES_VIRTUELLES \ Bblock \ Test(IL_FAUT(initialiser_avec_des_particules_virtuelles_autour_des_quarks_de_valence)) \ Bblock \ INJECTION_QUELCONQUE_DE_NUAGES_DE_PARTICULES_VIRTUELLES(ABSENCE_DE_REDUCTION_DU_NOMBRE_D_EVENEMENTS); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ /* Initialisation eventuelle du modele a l'aide de nuages de particules virtuelles suivant */ \ /* le champ general d'interaction... */ # define REDUCTION_DU_NOMBRE_D_EVENEMENTS \ FRA1(FRA6(FU)) DEFV(Local,DEFV(Float,INIT(reduction_du_nombre_d_evenements ,REDUCTION_DU_NOMBRE_D_EVENEMENTS ) ) ); /* Lors des re-injections "continues" par 'RE_INJECTION_DE_NUAGES_DE_PARTICULES_VIRTUELLES' */ /* le nombre d'evenements est reduit par rapport a ce qu'il etait lors de l'initialisation */ /* par 'INJECTION_DE_NUAGES_DE_PARTICULES_VIRTUELLES'... */ # define ___RE_INJECTION_DE_NUAGES_DE_PARTICULES_VIRTUELLES \ Bblock \ Test(IL_FAUT(re_initialiser_avec_des_particules_virtuelles_autour_des_quarks_de_valence)) \ Bblock \ INJECTION_QUELCONQUE_DE_NUAGES_DE_PARTICULES_VIRTUELLES(tSCALE(reduction_du_nombre_d_evenements)); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ /* Re-injection permanente a chaque pas de temps de nuages de particules virtuelles suivant */ \ /* le champ general d'interaction... */ #Aif (defined(__VERSION__GENERATION_D_UN_NUCLEON) || defined(__VERSION__GENERATION_D_UN_MESON)) #Eif (defined(__VERSION__GENERATION_D_UN_NUCLEON) || defined(__VERSION__GENERATION_D_UN_MESON)) #if (defined(__VERSION__GENERATION_DU_VIDE) || defined(__VERSION__GENERATION_D_UN_DI_ELECTRON)) # define ___INJECTION_DE_NUAGES_DE_PARTICULES_VIRTUELLES \ Bblock \ Eblock \ /* Initialisation eventuelle du modele a l'aide de nuages de particules virtuelles suivant */ \ /* le champ general d'interaction... */ # define ___RE_INJECTION_DE_NUAGES_DE_PARTICULES_VIRTUELLES \ Bblock \ Eblock \ /* Re-injection permanente a chaque pas de temps de nuages de particules virtuelles suivant */ \ /* le champ general d'interaction... */ #Aif (defined(__VERSION__GENERATION_DU_VIDE) || defined(__VERSION__GENERATION_D_UN_DI_ELECTRON)) #Eif (defined(__VERSION__GENERATION_DU_VIDE) || defined(__VERSION__GENERATION_D_UN_DI_ELECTRON)) BFonctionI DEFV(LoF,GENERE__Fonction__OPT(INJECTION_DE_NUAGES_DE_PARTICULES_VIRTUELLES,In,___INJECTION_DE_NUAGES_DE_PARTICULES_VIRTUELLES)) EFonctionI BFonctionI DEFV(LoF,GENERE__Fonction__OPT(RE_INJECTION_DE_NUAGES_DE_PARTICULES_VIRTUELLES,RIn,___RE_INJECTION_DE_NUAGES_DE_PARTICULES_VIRTUELLES)) EFonctionI