/*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N S D U M O D E L E D E L A S T R U C T U R E D Y N A M I Q U E D U P R O T O N : */ /* */ /* */ /* Author of '$xrq/nucleon.Lb.2$I' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 19920000000000). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* S I M U L A T I O N D E L A S T R U C T U R E D Y N A M I Q U E D U P R O T O N ( F I N ) : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock INIT_ERROR; /*..............................................................................................................................*/ DEBUT_DE_L_INITIALISATION_DE_L_UNIVERS; /* debut d'initialisation de l'univers de la simulation. */ DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS; /* debut d'initialisation des differentes interpolations. */ DEBUT_D_INITIALISATION_DE_LA_SYNTHESE_D_IMAGE; /* debut d'initialisation de la synthese d'image. */ #include xrv/champs_5.1A.I" GET_ARGUMENTSv(nombre_d_arguments ,BLOC(GET_ARGUMENT_L("parametres=",editer_les_parametres); PROCESS_ARGUMENTS_GEOMETRIQUES; PROCESS_ARGUMENT_C("LUMINANCE=",fichier_LUMINANCE ,BLOC(VIDE;) ,BLOC(gTRANSFORMAT_31(fichier_LUMINANCE ,liste_LUMINANCE ,LUMINANCE_IMPLICITE ); ) ); PROCESS_ARGUMENT_C("X_quark_REEL_ROUGE=",fichier_X_quark_REEL_ROUGE ,BLOC(VIDE;) ,BLOC(gTRANSFORMAT_31(fichier_X_quark_REEL_ROUGE ,liste_X_quark_REEL_ROUGE ,X_quark_REEL_ROUGE_IMPLICITE ); ) ); PROCESS_ARGUMENT_C("Y_quark_REEL_ROUGE=",fichier_Y_quark_REEL_ROUGE ,BLOC(VIDE;) ,BLOC(gTRANSFORMAT_31(fichier_Y_quark_REEL_ROUGE ,liste_Y_quark_REEL_ROUGE ,Y_quark_REEL_ROUGE_IMPLICITE ); ) ); PROCESS_ARGUMENT_C("Z_quark_REEL_ROUGE=",fichier_Z_quark_REEL_ROUGE ,BLOC(VIDE;) ,BLOC(gTRANSFORMAT_31(fichier_Z_quark_REEL_ROUGE ,liste_Z_quark_REEL_ROUGE ,Z_quark_REEL_ROUGE_IMPLICITE ); ) ); PROCESS_ARGUMENT_C("X_quark_REEL_VERTE=",fichier_X_quark_REEL_VERTE ,BLOC(VIDE;) ,BLOC(gTRANSFORMAT_31(fichier_X_quark_REEL_VERTE ,liste_X_quark_REEL_VERTE ,X_quark_REEL_VERTE_IMPLICITE ); ) ); PROCESS_ARGUMENT_C("Y_quark_REEL_VERTE=",fichier_Y_quark_REEL_VERTE ,BLOC(VIDE;) ,BLOC(gTRANSFORMAT_31(fichier_Y_quark_REEL_VERTE ,liste_Y_quark_REEL_VERTE ,Y_quark_REEL_VERTE_IMPLICITE ); ) ); PROCESS_ARGUMENT_C("Z_quark_REEL_VERTE=",fichier_Z_quark_REEL_VERTE ,BLOC(VIDE;) ,BLOC(gTRANSFORMAT_31(fichier_Z_quark_REEL_VERTE ,liste_Z_quark_REEL_VERTE ,Z_quark_REEL_VERTE_IMPLICITE ); ) ); PROCESS_ARGUMENT_C("X_quark_REEL_BLEUE=",fichier_X_quark_REEL_BLEUE ,BLOC(VIDE;) ,BLOC(gTRANSFORMAT_31(fichier_X_quark_REEL_BLEUE ,liste_X_quark_REEL_BLEUE ,X_quark_REEL_BLEUE_IMPLICITE ); ) ); PROCESS_ARGUMENT_C("Y_quark_REEL_BLEUE=",fichier_Y_quark_REEL_BLEUE ,BLOC(VIDE;) ,BLOC(gTRANSFORMAT_31(fichier_Y_quark_REEL_BLEUE ,liste_Y_quark_REEL_BLEUE ,Y_quark_REEL_BLEUE_IMPLICITE ); ) ); PROCESS_ARGUMENT_C("Z_quark_REEL_BLEUE=",fichier_Z_quark_REEL_BLEUE ,BLOC(VIDE;) ,BLOC(gTRANSFORMAT_31(fichier_Z_quark_REEL_BLEUE ,liste_Z_quark_REEL_BLEUE ,Z_quark_REEL_BLEUE_IMPLICITE ); ) ); GET_ARGUMENT_L("images=",memoriser_les_images); GET_ARGUMENT_I("simultanees=",nombre_d_images_simultanees_moins_une); GET_ARGUMENT_L("synchroniser=",synchroniser_la_generation_des_images); GET_ARGUMENT_C("imageR=""R=",nom_imageR); GET_ARGUMENT_L("queue=",mettre_le_postfixe_en_queue_des_noms_des_images); GET_ARGUMENT_L("rapide=",forcer_le_mode_rapide_de_la_synthese_d_image); GET_ARGUMENT_L("tri=",trier_la_liste_des_points); GET_ARGUMENT_L("N_carre=""N_au_carre=""N_AU_CARRE=""N2=" ,utiliser_le_tri_d_une_liste_quelconque_VERSION_N_AU_CARRE ); GET_ARGUMENT_L("cNOIR=",convoluer_le_NOIR); GET_ARGUMENT_L("noyau_variable=",convolution_a_noyau_variable); GET_ARGUMENT_I("convolution=",nombre_de_points_du_noyau_de_convolution); GET_ARGUMENT_F("facteur=",facteur_du_nombre_de_points_du_noyau_de_convolution); GET_ARGUMENT_P("noir=""NOIR=",niveau_de_NOIR_remonte); GET_ARGUMENT_L("trainees=",generer_les_trainees); GET_ARGUMENT_L("renormaliser=",renormaliser_les_trainees); GET_ARGUMENT_I("mode_des_trainees=""mode=",mode_de_generation_des_trainees); GET_ARGUMENT_F("attenuation_des_trainees=",facteur_d_attenuation_des_trainees); GET_ARGUMENT_F("attenuation_des_images=",facteur_d_attenuation_des_images); GET_ARGUMENT_L("champ=",memoriser_le_champ_global); GET_ARGUMENT_L("dominant=",visualiser_les_particules_REELLES_dominantes); GET_ARGUMENT_C("imageC=""C=",nom_imageC); GET_ARGUMENT_L("messages=""incomplets=",editer_les_messages_des_processus_incomplets); GET_ARGUMENT_F("minimum=""Zminimum=",profondeur_minimale); GET_ARGUMENT_F("maximum=""Zmaximum=",profondeur_maximale); GET_ARGUMENT_F("minimumT=""ZminimumT=",profondeur_minimale_de_troncation); GET_ARGUMENT_F("maximumT=""ZmaximumT=",profondeur_maximale_de_troncation); GET_ARGUMENT_P("siR=",seuil_inferieur_du_ROUGE); GET_ARGUMENT_P("ssR=",seuil_superieur_du_ROUGE); GET_ARGUMENT_P("siV=",seuil_inferieur_du_VERTE); GET_ARGUMENT_P("ssV=",seuil_superieur_du_VERTE); GET_ARGUMENT_P("siB=",seuil_inferieur_du_BLEUE); GET_ARGUMENT_P("ssB=",seuil_superieur_du_BLEUE); GET_ARGUMENT_F("attenuation_au_bord=",attenuation_au_bord_d_un_disque); GET_ARGUMENT_F("Dinterieur=",derivee_a_l_interieur_de_la_couronne); GET_ARGUMENT_F("Dexterieur=",derivee_a_l_exterieur_de_la_couronne); GET_ARGUMENT_L("vqr=""vqR=""vQR=",visualiser_les_quarks_REELs); GET_ARGUMENT_L("vqv=""vqV=""vQV=",visualiser_les_quarks_VIRTUELs); GET_ARGUMENT_L("vaqr=""vaqR=""vAQR=",visualiser_les_anti_quarks_REELs); GET_ARGUMENT_L("vaqv=""vaqV=""vAQV=",visualiser_les_anti_quarks_VIRTUELs); GET_ARGUMENT_L("vgr=""vgR=""vGR=",visualiser_les_gluons_REELs); GET_ARGUMENT_L("vgv=""vgV=""vGV=",visualiser_les_gluons_VIRTUELs); GET_ARGUMENT_F("rqR=""rQR=",rayon_de_visualisation_d_un_quark_REEL); GET_ARGUMENT_F("rqV=""rQV=",rayon_de_visualisation_d_un_quark_VIRTUEL); GET_ARGUMENT_I("nnsG=",nombre_negatif_de_spheres_pour_les_gluons); GET_ARGUMENT_I("npsG=",nombre_positif_de_spheres_pour_les_gluons); GET_ARGUMENT_F("dvG=",fraction_de_la_vitesse_pour_les_gluons); GET_ARGUMENT_F("rg=""rG=",rayon_de_visualisation_d_un_gluon); GET_ARGUMENT_L("trace=",tracer_les_evenements); GET_ARGUMENT_L("chronometrer=",chronometrer_la_simulation); GET_ARGUMENT_L("geometrie=""fichier=",creer_la_base_de_donnees_geometriques); GET_ARGUMENT_L("ecf=",editer_la_couleur_en_flottant); GET_ARGUMENT_F("couronne=",epaisseur_de_la_couronne_d_anti_aliasing); GET_ARGUMENT_F("anti_aliasing=",attenuation_d_anti_aliasing_au_bord); GET_ARGUMENT_F("Lx=",ASD1(Lsource,x)); GET_ARGUMENT_F("Ly=",ASD1(Lsource,y)); GET_ARGUMENT_F("Lz=",ASD1(Lsource,z)); GET_ARGUMENT_F("speculaire=",intensite_speculaire); GET_ARGUMENT_L("randomiser=",randomiser_la_visualisation_des_particules); GET_ARGUMENT_F("ri=""interieur=",rayon_interieur_relatif_d_une_particule); GET_ARGUMENT_F("re=""exterieur=",rayon_exterieur_relatif_d_une_particule); GET_ARGUMENT_F("seuil=",seuil_de_randomisation_des_particules); GET_ARGUMENT_F("stereo=",decalage_angulaire_pour_la_stereoscopie); GET_ARGUMENT_I("graine=""g=",graine_du_generateur_d_evenements); GET_ARGUMENT_L("affiner_rdn=",rdnIFnD_____affiner_la_generation); GET_ARGUMENT_L("iterer_rdn=",rdnIFnD_____iterer_la_generation); GET_ARGUMENT_F("position=""fluctuation_position=",distance_de_perturbation_d_une_position); GET_ARGUMENT_F("fluctuation_direction=""direction=",taux_de_fluctuation_d_une_direction); GET_ARGUMENT_L("binariser_couleur=""binariser=",binariser_les_charges_de_couleur); GET_ARGUMENT_F("moderateur=",moderateur_de_la_perturbation_aleatoire_additive_des_trois_composantes); GET_ARGUMENT_L("majorer=",majorer_la_composante_preponderante_de_la_charge_de_couleurs); GET_ARGUMENT_F("ralentissement=",echelle_de_temps); PROCESS_ARGUMENT_F("t0=",instant_initial ,BLOC(VIDE;) ,BLOC(RE_INITIALISATION_DE_L_HORLOGE; ) ); GET_ARGUMENT_F("ph=""T=",periode_initiale_de_l_horloge); GET_ARGUMENT_I("p0=",numero_de_la_periode_courante); GET_ARGUMENT_I("pV=",numero_de_la_premiere_periode_a_visualiser); GET_ARGUMENT_F("dvmqr=""dqr=",duree_de_vie_moyenne_des_quarks_reels); GET_ARGUMENT_F("dvmaqr=""daqr=",duree_de_vie_moyenne_des_anti_quarks_reels); GET_ARGUMENT_F("dvmqv=""dqv=",duree_de_vie_moyenne_des_quarks_virtuels); GET_ARGUMENT_F("dvmaqv=""daqv=",duree_de_vie_moyenne_des_anti_quarks_virtuels); GET_ARGUMENT_F("dvmgr=""dgr=",duree_de_vie_moyenne_des_gluons_reels); GET_ARGUMENT_F("dvmgv=""dgv=",duree_de_vie_moyenne_des_gluons_virtuels); GET_ARGUMENT_F("fadv=",facteur_d_allongement_de_la_duree_de_vie_moyenne_des_particules_collisionnables); GET_ARGUMENT_F("vol=""dv=",duree_de_vol_maximale_relative_a_la_duree_de_vie_moyenne); GET_ARGUMENT_I("particules=",nombre_maximal_de_particules_dans_le_proton); GET_ARGUMENT_L("auto_reguler=",auto_reguler_le_modele); GET_ARGUMENT_F("Tregulation=",taux_d_auto_regulation); GET_ARGUMENT_I("Eregulation=",demi_exposant_d_auto_regulation); GET_ARGUMENT_F("Cregulation=",coefficient_d_auto_regulation); GET_ARGUMENT_L("injection=",injecter_des_particules_virtuelles_autour_des_quarks_de_valence); GET_ARGUMENT_L("injectionI=",initialiser_avec_des_particules_virtuelles_autour_des_quarks_de_valence); GET_ARGUMENT_L("injectionS=",re_initialiser_avec_des_particules_virtuelles_autour_des_quarks_de_valence); GET_ARGUMENT_F("reduction=""evenements=",reduction_du_nombre_d_evenements); GET_ARGUMENT_I("nq=""neq=",nombre_d_evenements_pour_l_injection_de_nuages_de_quarks_virtuels); GET_ARGUMENT_I("neaq=""naq=",nombre_d_evenements_pour_l_injection_de_nuages_d_anti_quarks_virtuels); GET_ARGUMENT_I("ng=""neg=",nombre_d_evenements_pour_l_injection_de_nuages_de_gluons_virtuels); GET_ARGUMENT_F("exageration=",exageration_des_angles_de_polarisation); GET_ARGUMENT_I("nv=""nf=""nefqv=",nombre_d_evenements_pour_les_fluctuations_quantiques_du_vide); GET_ARGUMENT_F("pv=",probabilite_d_evenement_conditionnel_pour_un_point_du_vide); GET_ARGUMENT_F("p_V=",probabilite_de_INCHANGE_V); GET_ARGUMENT_F("p_V___QxAQxG=",probabilite_de_STRONG_CREATION_V___QxAQxG); GET_ARGUMENT_F("a_V___QxAQxG=",angle_polarisation_de_STRONG_CREATION_V___QxAQxG); GET_ARGUMENT_F("p_V___GxGxG=",probabilite_de_STRONG_CREATION_V___GxGxG); GET_ARGUMENT_F("a_V___GxGxG=",angle_polarisation_de_STRONG_CREATION_V___GxGxG); GET_ARGUMENT_F("p_V___GxGxGxG=",probabilite_de_STRONG_CREATION_V___GxGxGxG); GET_ARGUMENT_F("a_V___GxGxGxG=",angle_polarisation_de_STRONG_CREATION_V___GxGxGxG); GET_ARGUMENT_F("pq=",probabilite_d_evenement_conditionnel_pour_un_quark); GET_ARGUMENT_F("p_Q=",probabilite_de_INCHANGE_Q); GET_ARGUMENT_F("p_Q___QxG=",probabilite_de_STRONG_EMISSION_Q___QxG); GET_ARGUMENT_F("a_Q___QxG=",angle_polarisation_de_STRONG_EMISSION_Q___QxG); GET_ARGUMENT_L("i_Q___QxG=",interception_par_un_gluon_lors_de_STRONG_EMISSION_Q___QxG); GET_ARGUMENT_F("paq=",probabilite_d_evenement_conditionnel_pour_un_anti_quark); GET_ARGUMENT_F("p_AQ=",probabilite_de_INCHANGE_AQ); GET_ARGUMENT_F("p_AQ___AQxG=",probabilite_de_STRONG_EMISSION_AQ___AQxG); GET_ARGUMENT_F("a_AQ___AQxG=",angle_polarisation_de_STRONG_EMISSION_AQ___AQxG); GET_ARGUMENT_L("i_AQ___AQxG=",interception_par_un_gluon_lors_de_STRONG_EMISSION_AQ___AQxG); GET_ARGUMENT_F("pg=",probabilite_d_evenement_conditionnel_pour_un_gluon); GET_ARGUMENT_F("p_G=",probabilite_de_INCHANGE_G); GET_ARGUMENT_F("p_G___QxAQ=",probabilite_de_STRONG_TRANSFORMATION_G___QxAQ); GET_ARGUMENT_F("a_G___QxAQ=",angle_polarisation_de_STRONG_TRANSFORMATION_G___QxAQ); GET_ARGUMENT_F("p_G___GxG=",probabilite_de_STRONG_TRANSFORMATION_G___GxG); GET_ARGUMENT_F("a_G___GxG=",angle_polarisation_de_STRONG_TRANSFORMATION_G___GxG); GET_ARGUMENT_F("p_G___GxGxG=",probabilite_de_STRONG_TRANSFORMATION_G___GxGxG); GET_ARGUMENT_F("a_G___GxGxG=",angle_polarisation_de_STRONG_TRANSFORMATION_G___GxGxG); GET_ARGUMENT_F("p_GxGxGxG___V=",probabilite_de_STRONG_ANNHILATION_GxGxGxG___V); GET_ARGUMENT_F("p_GxGxG___V=",probabilite_de_STRONG_ANNHILATION_GxGxG___V); GET_ARGUMENT_F("p_QxAQxG___V=",probabilite_de_STRONG_ANNHILATION_QxAQxG___V); GET_ARGUMENT_F("p_QxG___Q=",probabilite_de_STRONG_ABSORBTION_QxG___Q); GET_ARGUMENT_F("p_AQxG___AQ=",probabilite_de_STRONG_ABSORBTION_AQxG___AQ); GET_ARGUMENT_F("p_QxAQ___G=",probabilite_de_STRONG_TRANSFORMATION_QxAQ___G); GET_ARGUMENT_F("p_GxG___G=",probabilite_de_STRONG_TRANSFORMATION_GxG___G); GET_ARGUMENT_F("majorite=""adolescence=",adolescence_d_une_particule); GET_ARGUMENT_F("1voisinage2=""1v2=""1D1D2=",voisinage_1_D1_D2); GET_ARGUMENT_F("2voisinage2=""2v2=""2D1D2=",voisinage_2_D1_D2); GET_ARGUMENT_F("cutoffi=""cutoff0=",cutoff_d_initialisation); GET_ARGUMENT_F("cutoff=",cutoff_du_champ_global); GET_ARGUMENT_F("MX0R=",MX_quark_REEL_ROUGE); GET_ARGUMENT_F("MY0R=",MY_quark_REEL_ROUGE); GET_ARGUMENT_F("MZ0R=",MZ_quark_REEL_ROUGE); GET_ARGUMENT_F("MX0V=",MX_quark_REEL_VERTE); GET_ARGUMENT_F("MY0V=",MY_quark_REEL_VERTE); GET_ARGUMENT_F("MZ0V=",MZ_quark_REEL_VERTE); GET_ARGUMENT_F("MX0B=",MX_quark_REEL_BLEUE); GET_ARGUMENT_F("MY0B=",MY_quark_REEL_BLEUE); GET_ARGUMENT_F("MZ0B=",MZ_quark_REEL_BLEUE); GET_ARGUMENT_L("caracteristique=",prendre_en_compte_les_distances_caracteristiques); GET_ARGUMENT_F("g0=""G0=",etalement_g0); GET_ARGUMENT_F("f0=",ponderation_g0); GET_ARGUMENT_F("dc1=",distance_caracteristique_g1); GET_ARGUMENT_F("pdc1=",pente_de_la_distance_caracteristique_g1); GET_ARGUMENT_F("g1=""G1=",etalement_g1); GET_ARGUMENT_F("f1=",ponderation_g1); GET_ARGUMENT_F("dc2=",distance_caracteristique_g2); GET_ARGUMENT_F("pdc2=",pente_de_la_distance_caracteristique_g2); GET_ARGUMENT_F("g2=""G2=",etalement_g2); GET_ARGUMENT_F("f2=",ponderation_g2); ) ); EDITION_EVENTUELLE_DES_PARAMETRES; FIN_DE_L_INITIALISATION_DES_INTERPOLATIONS; /* fin d'initialisation des differentes interpolations. ATTENTION : il est imperatif que */ /* 'FIN_DE_L_INITIALISATION_DES_INTERPOLATIONS' et 'FIN_DE_L_INITIALISATION_DE_L_UNIVERS' */ /* soient dans cet ordre tres precis, car l'initialisation de l'univers met en place les */ /* particules REELles dont la position n'est connue que via les parametres d'interpolation. */ FIN_DE_L_INITIALISATION_DE_L_UNIVERS; /* fin d'initialisation de l'univers de la simulation. ATTENTION : il est imperatif que */ /* 'FIN_DE_L_INITIALISATION_DES_INTERPOLATIONS' et 'FIN_DE_L_INITIALISATION_DE_L_UNIVERS' */ /* soient dans cet ordre tres precis, car l'initialisation de l'univers met en place les */ /* particules REELles dont la position n'est connue que via les parametres d'interpolation. */ FIN_D_INITIALISATION_DE_LA_SYNTHESE_D_IMAGE; /* fin d'initialisation de la synthese d'image... */ QUELQUES_VERIFICATIONS_AU_DEBUT_DE_LA_SIMULATION; /* quelques verifications sur la coherence des parametres... */ MEMORISATION_EVENTUELLE_DU_CHAMP_GLOBAL; /* memorisation eventuelle du champ global... */ SIMULATION_DE_LA_STRUCTURE_DYNAMIQUE_D_UN_HADRON; /* simulation de la structure dynamique du nucleon. */ EDITION_EVENTUELLE_DES_PARAMETRES; RETU_Commande; Eblock ECommande