Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::PDESRandomNumberGeneratorService
+ Graphe d'héritage de Arcane::PDESRandomNumberGeneratorService:
+ Graphe de collaboration de Arcane::PDESRandomNumberGeneratorService:

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.
 
CaseOptionsPDESRandomNumberGeneratoroptions () 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 ISubDomainsubDomain ()
 
- Fonctions membres publiques hérités de Arcane::AbstractService
virtual ~AbstractService ()
 Destructeur.
 
virtual void build ()
 Construction de niveau build du service.
 
virtual IServiceInfoserviceInfo () const
 Accès aux informations du service.
 
virtual IBaseserviceParent () const
 Accès à l'interface de base des principaux objets Arcane.
 
virtual IServiceserviceInterface ()
 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.
 
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
 
virtual ~TraceAccessor ()
 Libère les ressources.
 
ITraceMngtraceMng () 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.
 
VariableNodeReal3nodesCoordinates () 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.
 
IMeshmesh () const
 
const MeshHandlemeshHandle () 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)
 

Description détaillée

Définition à la ligne 38 du fichier PDESRandomNumberGeneratorService.h.

Documentation des constructeurs et destructeur

◆ PDESRandomNumberGeneratorService()

Arcane::PDESRandomNumberGeneratorService::PDESRandomNumberGeneratorService ( const ServiceBuildInfo sbi)
inline

Définition à la ligne 42 du fichier PDESRandomNumberGeneratorService.h.

◆ ~PDESRandomNumberGeneratorService()

virtual Arcane::PDESRandomNumberGeneratorService::~PDESRandomNumberGeneratorService ( )
inlinevirtual

Définition à la ligne 49 du fichier PDESRandomNumberGeneratorService.h.

Documentation des fonctions membres

◆ _breakupUInt64()

void Arcane::PDESRandomNumberGeneratorService::_breakupUInt64 ( uint64_t  uint64_in,
uint32_t front_bits,
uint32_t back_bits 
)
protected

Méthode permettant de découper un uint64 en deux uint32.

Paramètres
uint64_inLe uint64 à découper en deux.
front_bitsLes 32 bits de poids fort.
back_bitsLes 32 bits de poids faible.

Définition à la ligne 133 du fichier PDESRandomNumberGeneratorService.cc.

Référencé par _hashState(), et _ran4().

◆ _hashState()

uint64_t Arcane::PDESRandomNumberGeneratorService::_hashState ( uint64_t  initial_number)
protected

Méthode permettant de générer une nouvelle graine avec l'algorithme pseudo-DES.

Paramètres
initial_numberLa graine "parent".
Renvoie
uint64_t La graine "enfant".

Définition à la ligne 201 du fichier PDESRandomNumberGeneratorService.cc.

Références _breakupUInt64(), _psdes(), et _reconstructUInt64().

Référencé par generateRandomSeed(), et generateRandomSeed().

◆ _psdes()

void Arcane::PDESRandomNumberGeneratorService::_psdes ( uint32_t lword,
uint32_t irword 
)
protected

Algorithme Pseudo-DES du livre : Numerical Recipes in C The Art of Scientific Computing Second Edition.

(Pages 302-303)

Paramètres
lwordMoitié de gauche.
irwordMoitié de droite.

Définition à la ligne 175 du fichier PDESRandomNumberGeneratorService.cc.

Référencé par _hashState(), et _ran4().

◆ _ran4()

Real Arcane::PDESRandomNumberGeneratorService::_ran4 ( Int64 *  seed,
Integer  leap 
)
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)

Paramètres
seedLa graine.
leapLe 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().

◆ _reconstructUInt64()

uint64_t Arcane::PDESRandomNumberGeneratorService::_reconstructUInt64 ( uint32_t  front_bits,
uint32_t  back_bits 
)
protected

Méthode permettant de regrouper deux uint32 en un uint64.

Paramètres
front_bitsLes 32 bits de poids fort.
back_bitsLes 32 bits de poids faible.
Renvoie
uint64_t Le uint64 reconstitué.

Définition à la ligne 147 du fichier PDESRandomNumberGeneratorService.cc.

Référencé par _hashState(), et _ran4().

◆ emptySeed()

ByteUniqueArray Arcane::PDESRandomNumberGeneratorService::emptySeed ( )
overridevirtual

Méthode permettant de récupérer une graine vide de bonne taille.

Renvoie
ByteUniqueArray La graine vide.

Implémente Arcane::IRandomNumberGenerator.

Définition à la ligne 60 du fichier PDESRandomNumberGeneratorService.cc.

◆ generateRandomNumber() [1/2]

Real Arcane::PDESRandomNumberGeneratorService::generateRandomNumber ( ByteArrayView  seed,
Integer  leap = 0 
)
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.

Paramètres
seed[IN/OUT] La graine.
leapLe saut à effectuer (0 = le nombre n+1+0 / 1 = le nombre n+1+1).
Renvoie
Real Le nombre généré (entre 0 et 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().

◆ generateRandomNumber() [2/2]

Real Arcane::PDESRandomNumberGeneratorService::generateRandomNumber ( Integer  leap)
overridevirtual

Méthode permettant de générer un nombre aléatoire avec la graine en mémoire.

Paramètres
leapLe saut à effectuer (0 = le nombre n+1+0 / 1 = le nombre n+1+1).
Renvoie
Real Le nombre généré (entre 0 et 1).

Implémente Arcane::IRandomNumberGenerator.

Définition à la ligne 105 du fichier PDESRandomNumberGeneratorService.cc.

Références _ran4().

◆ generateRandomSeed() [1/2]

ByteUniqueArray Arcane::PDESRandomNumberGeneratorService::generateRandomSeed ( ByteArrayView  parent_seed,
Integer  leap = 0 
)
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.

Paramètres
parent_seed[IN/OUT] La graine "parent".
leapLe saut à effectuer (0 = la graine n+1+0 / 1 = la graine n+1+1).
Renvoie
ByteUniqueArray La nouvelle graine généré à partir de la graine "parent".

Implémente Arcane::IRandomNumberGenerator.

Définition à la ligne 87 du fichier PDESRandomNumberGeneratorService.cc.

Références _hashState(), _ran4(), ARCANE_FATAL, et Arcane::RNGSeedHelper::copy().

◆ generateRandomSeed() [2/2]

ByteUniqueArray Arcane::PDESRandomNumberGeneratorService::generateRandomSeed ( Integer  leap = 0)
overridevirtual

Méthode permettant de générer une graine "enfant" à partir d'une graine "parent".

Paramètres
leapLe saut à effectuer (0 = la graine n+1+0 / 1 = la graine n+1+1).
Renvoie
ByteUniqueArray La nouvelle graine généré à partir de la graine en mémoire.

Implémente Arcane::IRandomNumberGenerator.

Définition à la ligne 73 du fichier PDESRandomNumberGeneratorService.cc.

Références _hashState(), _ran4(), et Arcane::RNGSeedHelper::copy().

◆ initSeed() [1/2]

bool Arcane::PDESRandomNumberGeneratorService::initSeed ( )
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).

Renvoie
true Si l'initialisation a bien eu lieu.
false Si l'initialisation n'a pas eu lieu.

Implémente Arcane::IRandomNumberGenerator.

Définition à la ligne 31 du fichier PDESRandomNumberGeneratorService.cc.

Références ArcanePDESRandomNumberGeneratorObject::options().

◆ initSeed() [2/2]

bool Arcane::PDESRandomNumberGeneratorService::initSeed ( ByteArrayView  seed)
overridevirtual

Méthode permettant d'initialiser le service.

Si la graine n'a pas la bonne taille, false sera retourné.

Paramètres
seedLa graine d'origine.
Renvoie
true Si l'initialisation a bien eu lieu.
false Si l'initialisation n'a pas eu lieu.

Implémente Arcane::IRandomNumberGenerator.

Définition à la ligne 43 du fichier PDESRandomNumberGeneratorService.cc.

◆ isLeapNumberSupported()

bool Arcane::PDESRandomNumberGeneratorService::isLeapNumberSupported ( )
inlineoverridevirtual

Méthode permettant de savoir si les sauts sont permis sur le générateur de nombres.

Renvoie
true Si oui.
false Si non.

Implémente Arcane::IRandomNumberGenerator.

Définition à la ligne 64 du fichier PDESRandomNumberGeneratorService.h.

◆ isLeapSeedSupported()

bool Arcane::PDESRandomNumberGeneratorService::isLeapSeedSupported ( )
inlineoverridevirtual

Méthode permettant de savoir si les sauts sont permis sur le générateur de graines.

Renvoie
true Si oui.
false Si non.

Implémente Arcane::IRandomNumberGenerator.

Définition à la ligne 60 du fichier PDESRandomNumberGeneratorService.h.

◆ neededSizeOfSeed()

Integer Arcane::PDESRandomNumberGeneratorService::neededSizeOfSeed ( )
overridevirtual

Méthode permettant de connaitre la taille de seed nécessaire pour l'implémentation.

Renvoie
Integer La taille de seed nécessaire (en octet).

Implémente Arcane::IRandomNumberGenerator.

Définition à la ligne 66 du fichier PDESRandomNumberGeneratorService.cc.

◆ viewSeed()

ByteConstArrayView Arcane::PDESRandomNumberGeneratorService::viewSeed ( )
overridevirtual

Méthode permettant de récupérer une vue constante sur la graine actuelle.

Renvoie
ByteArrayView La graine.

Implémente Arcane::IRandomNumberGenerator.

Définition à la ligne 54 du fichier PDESRandomNumberGeneratorService.cc.

Références Arcane::RNGSeedHelper::constView().

Documentation des données membres

◆ m_seed

Int64 Arcane::PDESRandomNumberGeneratorService::m_seed
protected

Définition à la ligne 76 du fichier PDESRandomNumberGeneratorService.h.

◆ m_size_of_seed

const Integer Arcane::PDESRandomNumberGeneratorService::m_size_of_seed = sizeof(Int64)
protected

Définition à la ligne 77 du fichier PDESRandomNumberGeneratorService.h.

◆ m_with_option

bool Arcane::PDESRandomNumberGeneratorService::m_with_option
protected

Définition à la ligne 78 du fichier PDESRandomNumberGeneratorService.h.


La documentation de cette classe a été générée à partir des fichiers suivants :