Fonctions membres publiques | |
PDESRandomNumberGeneratorService (const ServiceBuildInfo &sbi) | |
bool | initSeed () override |
Méthode permettant d'initialiser le service. | |
bool | initSeed (ByteArrayView seed) override |
Méthode permettant d'initialiser le service. | |
ByteUniqueArray | emptySeed () override |
Méthode permettant de récupérer une graine vide de bonne taille. | |
ByteConstArrayView | viewSeed () override |
Méthode permettant de récupérer une vue constante sur la graine actuelle. | |
Integer | neededSizeOfSeed () override |
Méthode permettant de connaitre la taille de seed nécessaire pour l'implémentation. | |
bool | isLeapSeedSupported () override |
Méthode permettant de savoir si les sauts sont permis sur le générateur de graines. | |
ByteUniqueArray | generateRandomSeed (Integer leap=0) override |
Méthode permettant de générer une graine "enfant" à partir d'une graine "parent". | |
ByteUniqueArray | generateRandomSeed (ByteArrayView parent_seed, Integer leap=0) override |
Méthode permettant de générer une graine "enfant" à partir d'une graine "parent". | |
bool | isLeapNumberSupported () override |
Méthode permettant de savoir si les sauts sont permis sur le générateur de nombres. | |
Real | generateRandomNumber (Integer leap) override |
Méthode permettant de générer un nombre aléatoire avec la graine en mémoire. | |
Real | generateRandomNumber (ByteArrayView seed, Integer leap=0) override |
Méthode permettant de générer un nombre aléatoire avec la graine transmise en paramètre. | |
Fonctions membres publiques hérités de ArcanePDESRandomNumberGeneratorObject | |
ArcanePDESRandomNumberGeneratorObject (const Arcane::ServiceBuildInfo &sbi) | |
Constructeur. | |
virtual | ~ArcanePDESRandomNumberGeneratorObject () |
Destructeur. | |
CaseOptionsPDESRandomNumberGenerator * | options () const |
Options du jeu de données du service. | |
Fonctions membres publiques hérités de Arcane::BasicService | |
~BasicService () override | |
Libère les ressources. | |
virtual ISubDomain * | subDomain () |
Fonctions membres publiques hérités de Arcane::AbstractService | |
virtual | ~AbstractService () |
Destructeur. | |
virtual void | build () |
Construction de niveau build du service. | |
virtual IServiceInfo * | serviceInfo () const |
Accès aux informations du service. | |
virtual IBase * | serviceParent () const |
Accès à l'interface de base des principaux objets Arcane. | |
virtual IService * | serviceInterface () |
Retourne l'interface bas niveau IService du service. | |
Fonctions membres publiques hérités de Arccore::TraceAccessor | |
TraceAccessor (ITraceMng *m) | |
Construit un accesseur via le gestionnaire de trace m. | |
TraceAccessor (const TraceAccessor &rhs) | |
Constructeur par recopie. | |
TraceAccessor & | operator= (const TraceAccessor &rhs) |
Opérateur de recopie. | |
virtual | ~TraceAccessor () |
Libère les ressources. | |
ITraceMng * | traceMng () const |
Gestionnaire de trace. | |
TraceMessage | info () const |
Flot pour un message d'information. | |
TraceMessage | pinfo () const |
Flot pour un message d'information en parallèle. | |
TraceMessage | info (char category) const |
Flot pour un message d'information d'une catégorie donnée. | |
TraceMessage | pinfo (char category) const |
Flot pour un message d'information parallèle d'une catégorie donnée. | |
TraceMessage | info (bool v) const |
Flot pour un message d'information. | |
TraceMessage | warning () const |
Flot pour un message d'avertissement. | |
TraceMessage | pwarning () const |
TraceMessage | error () const |
Flot pour un message d'erreur. | |
TraceMessage | perror () const |
TraceMessage | log () const |
Flot pour un message de log. | |
TraceMessage | plog () const |
Flot pour un message de log. | |
TraceMessage | logdate () const |
Flot pour un message de log précédé de la date. | |
TraceMessage | fatal () const |
Flot pour un message d'erreur fatale. | |
TraceMessage | pfatal () const |
Flot pour un message d'erreur fatale en parallèle. | |
TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
Flot pour un message de debug. | |
Trace::eDebugLevel | configDbgLevel () const |
Niveau debug du fichier de configuration. | |
TraceMessage | info (Int32 verbose_level) const |
Flot pour un message d'information d'un niveau donné | |
TraceMessage | linfo () const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
TraceMessage | linfo (Int32 relative_level) const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
void | fatalMessage (const StandaloneTraceMessage &o) const |
Fonctions membres publiques hérités de Arcane::IService | |
virtual | ~IService () |
Libère les ressources. | |
Fonctions membres publiques hérités de Arcane::MeshAccessor | |
MeshAccessor (ISubDomain *sd) | |
MeshAccessor (IMesh *mesh) | |
MeshAccessor (const MeshHandle &mesh_handle) | |
Integer | nbCell () const |
Retourne le nombre de mailles du maillage. | |
Integer | nbFace () const |
Retourne le nombre de faces du maillage. | |
Integer | nbEdge () const |
Retourne le nombre d'arêtes du maillage. | |
Integer | nbNode () const |
Retourne le nombre de noeuds du maillage. | |
VariableNodeReal3 & | nodesCoordinates () const |
Retourne les coordonnées des noeuds du maillage. | |
NodeGroup | allNodes () const |
Retourne le groupe contenant tous les noeuds. | |
EdgeGroup | allEdges () const |
Retourne le groupe contenant toutes les arêtes. | |
FaceGroup | allFaces () const |
Retourne le groupe contenant toutes les faces. | |
CellGroup | allCells () const |
Retourne le groupe contenant toutes les mailles. | |
FaceGroup | outerFaces () const |
Retourne le groupe contenant toutes les faces de le frontière. | |
NodeGroup | ownNodes () const |
Retourne le groupe contenant tous les noeuds propres à ce domaine. | |
CellGroup | ownCells () const |
Retourne le groupe contenant toutes les mailles propres à ce domaine. | |
FaceGroup | ownFaces () const |
Groupe contenant toutes les faces propres à ce domaine. | |
EdgeGroup | ownEdges () const |
Groupe contenant toutes les arêtes propres à ce domaine. | |
IMesh * | mesh () const |
const MeshHandle & | meshHandle () const |
Fonctions membres publiques hérités de Arcane::CommonVariables | |
CommonVariables (IModule *c) | |
Construit les références des variables communes pour le module c. | |
CommonVariables (IVariableMng *variable_mng) | |
Construit les références des variables communes pour le gestionnaire variable_mng. | |
CommonVariables (ISubDomain *sd) | |
Construit les références des variables communes pour le sous-domaine sd. | |
virtual | ~CommonVariables () |
Libère les ressources. | |
Int32 | globalIteration () const |
Numéro de l'itération courante. | |
Real | globalTime () const |
Temps courant. | |
Real | globalOldTime () const |
Temps courant précédent. | |
Real | globalFinalTime () const |
Temps final de la simulation. | |
Real | globalDeltaT () const |
Delta T courant. | |
Real | globalCPUTime () const |
Temps CPU utilisé (en seconde) | |
Real | globalOldCPUTime () const |
Temps CPU utilisé précédent (en seconde) | |
Real | globalElapsedTime () const |
Temps horloge (elapsed) utilisé (en seconde) | |
Real | globalOldElapsedTime () const |
Temps horloge (elapsed) utilisé précédent (en seconde) | |
Fonctions membres protégées | |
void | _breakupUInt64 (uint64_t uint64_in, uint32_t *front_bits, uint32_t *back_bits) |
Méthode permettant de découper un uint64 en deux uint32. | |
uint64_t | _reconstructUInt64 (uint32_t front_bits, uint32_t back_bits) |
Méthode permettant de regrouper deux uint32 en un uint64. | |
void | _psdes (uint32_t *lword, uint32_t *irword) |
Algorithme Pseudo-DES du livre : Numerical Recipes in C The Art of Scientific Computing Second Edition. | |
uint64_t | _hashState (uint64_t initial_number) |
Méthode permettant de générer une nouvelle graine avec l'algorithme pseudo-DES. | |
Real | _ran4 (Int64 *seed, Integer leap) |
Méthode permettant de générer des nombres pseudo-aléatoire à partir d'une graine. | |
Fonctions membres protégées hérités de Arcane::BasicService | |
BasicService (const ServiceBuildInfo &) | |
Fonctions membres protégées hérités de Arcane::AbstractService | |
AbstractService (const ServiceBuildInfo &) | |
Constructeur à partir d'un ServiceBuildInfo. | |
Fonctions membres protégées hérités de Arccore::TraceAccessor | |
void | _setLocalVerboseLevel (Int32 v) |
Int32 | _localVerboseLevel () const |
Fonctions membres protégées hérités de Arcane::IService | |
IService () | |
Constructeur. | |
Attributs protégés | |
Int64 | m_seed |
const Integer | m_size_of_seed = sizeof(Int64) |
bool | m_with_option |
Membres hérités additionnels | |
Fonctions membres publiques statiques hérités de ArcanePDESRandomNumberGeneratorObject | |
template<typename ServiceClassType > | |
static void | fillServiceInfo (Arcane::ServiceInfo *si) |
Attributs publics hérités de Arcane::CommonVariables | |
VariableScalarInt32 | m_global_iteration |
Itération courante. | |
VariableScalarReal | m_global_time |
Temps actuel. | |
VariableScalarReal | m_global_deltat |
Delta T global. | |
VariableScalarReal | m_global_old_time |
Temps précédent le temps actuel. | |
VariableScalarReal | m_global_old_deltat |
Delta T au temps précédent le temps global. | |
VariableScalarReal | m_global_final_time |
Temps final du cas. | |
VariableScalarReal | m_global_old_cpu_time |
Temps précédent CPU utilisé (en seconde) | |
VariableScalarReal | m_global_cpu_time |
Temps CPU utilisé (en seconde) | |
VariableScalarReal | m_global_old_elapsed_time |
Temps précédent horloge utilisé (en seconde) | |
VariableScalarReal | m_global_elapsed_time |
Temps horloge utilisé (en seconde) | |
Définition à la ligne 38 du fichier PDESRandomNumberGeneratorService.h.
|
inline |
Définition à la ligne 42 du fichier PDESRandomNumberGeneratorService.h.
|
inlinevirtual |
Définition à la ligne 49 du fichier PDESRandomNumberGeneratorService.h.
|
protected |
Méthode permettant de découper un uint64 en deux uint32.
uint64_in | Le uint64 à découper en deux. |
front_bits | Les 32 bits de poids fort. |
back_bits | Les 32 bits de poids faible. |
Définition à la ligne 133 du fichier PDESRandomNumberGeneratorService.cc.
Référencé par _hashState(), et _ran4().
Méthode permettant de générer une nouvelle graine avec l'algorithme pseudo-DES.
initial_number | La graine "parent". |
Définition à la ligne 201 du fichier PDESRandomNumberGeneratorService.cc.
Références _breakupUInt64(), _psdes(), et _reconstructUInt64().
Référencé par generateRandomSeed(), et generateRandomSeed().
|
protected |
Algorithme Pseudo-DES du livre : Numerical Recipes in C The Art of Scientific Computing Second Edition.
(Pages 302-303)
lword | Moitié de gauche. |
irword | Moitié de droite. |
Définition à la ligne 175 du fichier PDESRandomNumberGeneratorService.cc.
Référencé par _hashState(), et _ran4().
|
protected |
Méthode permettant de générer des nombres pseudo-aléatoire à partir d'une graine.
Inspiré de l'algorithme ran4 du livre : Numerical Recipes in C The Art of Scientific Computing Second Edition
(Pages 303-304)
seed | La graine. |
leap | Le saut. |
Définition à la ligne 227 du fichier PDESRandomNumberGeneratorService.cc.
Références _breakupUInt64(), _psdes(), et _reconstructUInt64().
Référencé par generateRandomNumber(), generateRandomNumber(), generateRandomSeed(), et generateRandomSeed().
|
protected |
Méthode permettant de regrouper deux uint32 en un uint64.
front_bits | Les 32 bits de poids fort. |
back_bits | Les 32 bits de poids faible. |
Définition à la ligne 147 du fichier PDESRandomNumberGeneratorService.cc.
Référencé par _hashState(), et _ran4().
|
overridevirtual |
Méthode permettant de récupérer une graine vide de bonne taille.
Implémente Arcane::IRandomNumberGenerator.
Définition à la ligne 60 du fichier PDESRandomNumberGeneratorService.cc.
|
overridevirtual |
Méthode permettant de générer un nombre aléatoire avec la graine transmise en paramètre.
Cette méthode n'utilise pas la graine en mémoire mais la graine en paramètre. Si la graine en paramètre n'a pas la bonne taille, une erreur sera émise.
seed | [IN/OUT] La graine. |
leap | Le saut à effectuer (0 = le nombre n+1+0 / 1 = le nombre n+1+1). |
Implémente Arcane::IRandomNumberGenerator.
Définition à la ligne 112 du fichier PDESRandomNumberGeneratorService.cc.
Références _ran4(), ARCANE_FATAL, Arccore::ArrayView< T >::data(), et Arccore::ArrayView< T >::size().
|
overridevirtual |
Méthode permettant de générer un nombre aléatoire avec la graine en mémoire.
leap | Le saut à effectuer (0 = le nombre n+1+0 / 1 = le nombre n+1+1). |
Implémente Arcane::IRandomNumberGenerator.
Définition à la ligne 105 du fichier PDESRandomNumberGeneratorService.cc.
Références _ran4().
|
overridevirtual |
Méthode permettant de générer une graine "enfant" à partir d'une graine "parent".
Cette méthode n'utilise pas la graine en mémoire mais la graine en paramètre. Si la graine en paramètre n'a pas la bonne taille, une erreur sera émise.
parent_seed | [IN/OUT] La graine "parent". |
leap | Le saut à effectuer (0 = la graine n+1+0 / 1 = la graine n+1+1). |
Implémente Arcane::IRandomNumberGenerator.
Définition à la ligne 87 du fichier PDESRandomNumberGeneratorService.cc.
Références _hashState(), _ran4(), ARCANE_FATAL, et Arcane::RNGSeedHelper::copy().
|
overridevirtual |
Méthode permettant de générer une graine "enfant" à partir d'une graine "parent".
leap | Le saut à effectuer (0 = la graine n+1+0 / 1 = la graine n+1+1). |
Implémente Arcane::IRandomNumberGenerator.
Définition à la ligne 73 du fichier PDESRandomNumberGeneratorService.cc.
Références _hashState(), _ran4(), et Arcane::RNGSeedHelper::copy().
|
overridevirtual |
Méthode permettant d'initialiser le service.
Avec la graine en option (ou la graine par défaut si l'on est en mode singleton).
Implémente Arcane::IRandomNumberGenerator.
Définition à la ligne 31 du fichier PDESRandomNumberGeneratorService.cc.
Références ArcanePDESRandomNumberGeneratorObject::options().
|
overridevirtual |
Méthode permettant d'initialiser le service.
Si la graine n'a pas la bonne taille, false sera retourné.
seed | La graine d'origine. |
Implémente Arcane::IRandomNumberGenerator.
Définition à la ligne 43 du fichier PDESRandomNumberGeneratorService.cc.
|
inlineoverridevirtual |
Méthode permettant de savoir si les sauts sont permis sur le générateur de nombres.
Implémente Arcane::IRandomNumberGenerator.
Définition à la ligne 64 du fichier PDESRandomNumberGeneratorService.h.
|
inlineoverridevirtual |
Méthode permettant de savoir si les sauts sont permis sur le générateur de graines.
Implémente Arcane::IRandomNumberGenerator.
Définition à la ligne 60 du fichier PDESRandomNumberGeneratorService.h.
|
overridevirtual |
Méthode permettant de connaitre la taille de seed nécessaire pour l'implémentation.
Implémente Arcane::IRandomNumberGenerator.
Définition à la ligne 66 du fichier PDESRandomNumberGeneratorService.cc.
|
overridevirtual |
Méthode permettant de récupérer une vue constante sur la graine actuelle.
Implémente Arcane::IRandomNumberGenerator.
Définition à la ligne 54 du fichier PDESRandomNumberGeneratorService.cc.
Références Arcane::RNGSeedHelper::constView().
|
protected |
Définition à la ligne 76 du fichier PDESRandomNumberGeneratorService.h.
|
protected |
Définition à la ligne 77 du fichier PDESRandomNumberGeneratorService.h.
|
protected |
Définition à la ligne 78 du fichier PDESRandomNumberGeneratorService.h.