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