/*************************************************************************************************************************************/ /* */ /* D I M E N S I O N N E M E N T S T A T I Q U E C O M M U N A C E R T A I N S P R O G R A M M E S */ /* D E S D I F F E R E N T E S L I S T E S U T I L E S : */ /* */ /* */ /* Nota : */ /* */ /* Un moyen simple de connaitre cette */ /* valeur est d'utiliser la commande : */ /* */ /* use $xrv/particule.10$X nombre_maximal_de_points_visualisables */ /* */ /* Au passage, les programmes qui n'utilisent */ /* pas 'v $xrv/dimensionnement.01$vv$I' mais */ /* qui definissent 'NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION' */ /* peuvent, en general, beneficier de cette "technique". C'est */ /* ainsi le cas de : */ /* */ /* use $xrk/rdn_walk.52$X nombre_maximal_de_points_visualisables */ /* */ /* par exemple... */ /* */ /* */ /* Author of '$xrv/dimensionnement.01$vv$I' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 20111209165227). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N S D E B A S E E T U N I V E R S E L L E S : */ /* */ /*************************************************************************************************************************************/ /* Definition de 'NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION' (c'est-a-dire du maximal */ /* de periodes de la simulation). On pourrait s'etonner de la necessite d'une aussi grande */ /* valeur, mais en fait, d'une part ce parametre peut definir le nombre d'elements de */ /* certains vecteurs ('v $xrq/nucleon.Lf.2$I NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION'). */ /* D'autre part, il intervient dans la definition de 'NOMBRE_MAXIMAL_DE_POINTS_GERABLES' */ /* ('v $xrk/N_aimants.11$K NOMBRE_MAXIMAL_DE_POINTS_GERABLES' par exemple) via 'MIN2(...)'. */ #if ( (defined(CMAP28)) \ ) # define NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION \ GRO10(GRO8(CENT_MILLE)) \ /* Le 20111210083810 la valeur 'GRO4(GRO8(CENT_MILLE))' a ete augmentee de facon */ \ /* substantielle afin d'etre au moins egale a ce qu'il se passe sur '$LACT1A' par */ \ /* exemple... */ \ /* */ \ /* On notera que sur '$CMAP28', a cause de 'v $Fdeguise_CMAP', on ne connait pas a priori */ \ /* le '$MemorySizeMB' des MACHINEs sur lesquelles s'executeront les programmes concernes. */ \ /* On ne peut donc pas utiliser ici '$MemorySizeMB' comme on le fait sur '$LACT19' ou encore */ \ /* sur '$LACT1A'. Dans le cas de l'utilisation de '$MemorySizeMB' c'est celui de la MACHINE */ \ /* sur laquelle serait compile ce '$X' qui serait utilise. Je rappelle au passage que */ \ /* '$MemorySizeMB' est transmis a 'v $xcc/cpp$Z d_SYSTEME' via la variable '$d_SYSTEME' */ \ /* ('v $Fmachine DMemorySizeMB='). */ \ /* */ \ /* Enfin, il est important de rappeler que 'NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION' */ \ /* sert a dimensionner de facon STATIQUE (et non pas dynamique !) des vecteurs... */ #Aif ( (defined(CMAP28)) \ ) #Eif ( (defined(CMAP28)) \ ) #if ( (defined(LACT19)) \ ) # define FRACTION_DE_LA_MEMOIRE_POUR_UNE_ALLOCATION_STATIQUE \ GRO3(CENT) # define NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION \ bDIV(MEGA(bDIV(MemorySizeMB,FRACTION_DE_LA_MEMOIRE_POUR_UNE_ALLOCATION_STATIQUE)),size_Float) /* Introduit sous cette forme le 20111210083810. A cette date on consacre donc 1/300 ieme */ /* de la memoire a chaque vecteur... */ #Aif ( (defined(LACT19)) \ ) #Eif ( (defined(LACT19)) \ ) #if ( (defined(LACT1A)) \ ) # define FRACTION_DE_LA_MEMOIRE_POUR_UNE_ALLOCATION_STATIQUE \ GRO3(CENT) # define NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION \ bDIV(MEGA(bDIV(MemorySizeMB,FRACTION_DE_LA_MEMOIRE_POUR_UNE_ALLOCATION_STATIQUE)),size_Float) #Aif ( (defined(LACT1A)) \ ) #Eif ( (defined(LACT1A)) \ ) #if ( (defined(LACT1B)) \ ) # define FRACTION_DE_LA_MEMOIRE_POUR_UNE_ALLOCATION_STATIQUE \ GRO3(CENT) # define NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION \ bDIV(MEGA(bDIV(MemorySizeMB,FRACTION_DE_LA_MEMOIRE_POUR_UNE_ALLOCATION_STATIQUE)),size_Float) #Aif ( (defined(LACT1B)) \ ) #Eif ( (defined(LACT1B)) \ ) #ifdef LACT14 # define NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION \ GRO4(CENT_MILLE) #Aifdef LACT14 #Eifdef LACT14 #ifdef LACT15 # define NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION \ GRO8(CENT_MILLE) #Aifdef LACT15 #Eifdef LACT15 #ifdef LACT16 # define NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION \ GRO2(GRO12(CENT_MILLE)) #Aifdef LACT16 #Eifdef LACT16 #ifdef LACT17 # define NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION \ GRO2(GRO12(CENT_MILLE)) #Aifdef LACT17 #Eifdef LACT17 #ifdef LACT18 # define NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION \ GRO3(GRO10(CENT_MILLE)) #Aifdef LACT18 #Eifdef LACT18 #ifdef LACT27 # define NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION \ GRO1(CENT_MILLE) #Aifdef LACT27 #Eifdef LACT27 #ifdef LACT29 # define NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION \ GRO3(CENT_MILLE) #Aifdef LACT29 #Eifdef LACT29 #ifdef NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION # define NOMBRE_MAXIMAL_DE_POINTS_VISUALISABLES \ NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION \ /* Cette constante est destinee a dimensionner les listes "lineaires" de memorisation des */ \ /* points a visualiser... */ #Aifdef NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION #Eifdef NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION