Echangeur de particules basique (utilise une réduction bloquante). Plus de détails...
#include <arcane/mesh/BasicParticleExchanger.h>
Fonctions membres publiques | |
BasicParticleExchanger (const ServiceBuildInfo &sbi) | |
void | build () override |
Construction de niveau build du service. | |
void | initialize (IItemFamily *item_family) override |
Initialize l'échangeur pour la familly item_family. | |
void | beginNewExchange (Integer nb_particle) override |
Commence un nouvel échange de particules. | |
IItemFamily * | itemFamily () override |
Famille associée. | |
bool | exchangeItems (Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send, ItemGroup item_group, IFunctor *functor) override |
Échange des particules entre sous-domaines. | |
bool | exchangeItems (Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send, Int32Array *new_particle_local_ids, IFunctor *functor) override |
Échange des particules entre sous-domaines. | |
void | sendItems (Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send) override |
bool | waitMessages (Integer nb_pending_particles, Int32Array *new_particle_local_ids, IFunctor *functor) override |
void | addNewParticles (Integer nb_particle) override |
Ajoute nb_particle dans l'échange actuel. | |
void | setVerboseLevel (Integer level) override |
Positionne le niveau de verbosité (0 pour aucune message) | |
Integer | verboseLevel () const override |
Niveau de verbosité | |
IAsyncParticleExchanger * | asyncParticleExchanger () override |
Gestion de l'asynchronisme (retourne nullptr si fonctionnalité non disponible) | |
void | reset () |
Fonctions membres publiques hérités de Arcane::ArcaneBasicParticleExchangerObject | |
ArcaneBasicParticleExchangerObject (const Arcane::ServiceBuildInfo &sbi) | |
Constructeur. | |
virtual | ~ArcaneBasicParticleExchangerObject () |
Destructeur. | |
CaseOptionsBasicParticleExchanger * | 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 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) | |
Amis | |
class | AsyncParticleExchanger |
Echangeur de particules basique (utilise une réduction bloquante).
Définition à la ligne 68 du fichier BasicParticleExchanger.h.
|
explicit |
Définition à la ligne 36 du fichier BasicParticleExchanger.cc.
|
override |
Définition à la ligne 45 du fichier BasicParticleExchanger.cc.
|
private |
Définition à la ligne 270 du fichier BasicParticleExchanger.cc.
|
private |
Définition à la ligne 617 du fichier BasicParticleExchanger.cc.
|
private |
Définition à la ligne 78 du fichier BasicParticleExchanger.cc.
|
private |
Définition à la ligne 522 du fichier BasicParticleExchanger.cc.
|
private |
Définition à la ligne 196 du fichier BasicParticleExchanger.cc.
|
private |
Définition à la ligne 426 du fichier BasicParticleExchanger.cc.
|
private |
Définition à la ligne 450 du fichier BasicParticleExchanger.cc.
|
private |
Définition à la ligne 337 du fichier BasicParticleExchanger.cc.
|
private |
Définition à la ligne 380 du fichier BasicParticleExchanger.cc.
|
overridevirtual |
Ajoute nb_particle dans l'échange actuel.
Cette méthode permet d'indiquer que de nouvelles particules vont participer à l'échanger, par exemple suite à leur création.
Implémente Arcane::IParticleExchanger.
Définition à la ligne 607 du fichier BasicParticleExchanger.cc.
|
inlineoverridevirtual |
Gestion de l'asynchronisme (retourne nullptr si fonctionnalité non disponible)
Implémente Arcane::IParticleExchanger.
Définition à la ligne 105 du fichier BasicParticleExchanger.h.
|
overridevirtual |
Commence un nouvel échange de particules.
nb_particule est le nombre de particules du sous-domaine qui vont prendre part à un éventuel échange.
Cette méthode est collective et doit être appelée par tout les sous-domaines.
Implémente Arcane::IParticleExchanger.
Définition à la ligne 89 du fichier BasicParticleExchanger.cc.
Références Arcane::IParallelMng::computeMinMaxSum().
Construction de niveau build du service.
L'appel à build est effectué au moment de sa construction, usuellement au niveau de sa lecture dans les options en phase1.
Réimplémentée à partir de Arcane::AbstractService.
Définition à la ligne 80 du fichier BasicParticleExchanger.h.
|
overridevirtual |
Échange des particules entre sous-domaines.
Cette opération envoie les particules de la famille item_family dont les indices locaux sont donnés par la liste local_ids aux sous-domaines specifiés par sub_domains_to_send, et réceptionne de ces mêmes sous-domaines celles dont ce sous-domaine est propriétaire. Les particules envoyées sont supprimées de la famille item_family et celles recues ajoutées.
Les variables reposant sur la famille item_family sont transférées en même temps que les particules.
Cette opération est collective et bloquante.
Si new_particle_local_ids n'est pas nul, il contiendra en retour le tableau des indices locaux des nouvelles entitées.
Si wait_functor n'est pas nul, le fonctor est appelé pendant l'envoie et la réception des messages. Il est alors possible de faire des opérations. Les opérations ne doivent pas utiliser de particules, ni des variables sur les particules de la famille échangée.
a true si toutes les phases d'échange sont terminés
a false sinon
Implémente Arcane::IParticleExchanger.
Définition à la ligne 177 du fichier BasicParticleExchanger.cc.
|
overridevirtual |
Échange des particules entre sous-domaines.
Cette opération envoie les particules de la famille item_family dont les indices locaux sont donnés par la liste local_ids aux sous-domaines specifiés par sub_domains_to_send, et réceptionne de ces mêmes sous-domaines celles dont ce sous-domaine est propriétaire. Les particules envoyées sont supprimées de la famille item_family et celles recues ajoutées.
Les variables reposant sur la famille item_family sont transférées en même temps que les particules.
Cette opération est collective et bloquante.
Si item_group n'est pas nul, il contiendra en retour la liste des nouvelles entités.
Si wait_functor n'est pas nul, le fonctor est appelé pendant l'envoie et la réception des messages. Il est alors possible de faire des opérations. Les opérations ne doivent pas utiliser de particules, ni des variables sur les particules de la famille échangée.
a true si toutes les phases d'échange sont terminés
a false sinon
Implémente Arcane::IParticleExchanger.
Définition à la ligne 158 du fichier BasicParticleExchanger.cc.
|
overridevirtual |
Initialize l'échangeur pour la familly item_family.
Implémente Arcane::IParticleExchanger.
Définition à la ligne 58 du fichier BasicParticleExchanger.cc.
Références ARCANE_CHECK_POINTER.
|
inlineoverridevirtual |
Famille associée.
Implémente Arcane::IParticleExchanger.
Définition à la ligne 86 du fichier BasicParticleExchanger.h.
void Arcane::mesh::BasicParticleExchanger::reset | ( | ) |
Définition à la ligne 596 du fichier BasicParticleExchanger.cc.
|
overridevirtual |
Implémente Arcane::IParticleExchanger.
Définition à la ligne 138 du fichier BasicParticleExchanger.cc.
|
inlineoverridevirtual |
Positionne le niveau de verbosité (0 pour aucune message)
Implémente Arcane::IParticleExchanger.
Définition à la ligne 103 du fichier BasicParticleExchanger.h.
|
inlineoverridevirtual |
Niveau de verbosité
Implémente Arcane::IParticleExchanger.
Définition à la ligne 104 du fichier BasicParticleExchanger.h.
|
overridevirtual |
Implémente Arcane::IParticleExchanger.
Définition à la ligne 328 du fichier BasicParticleExchanger.cc.
|
friend |
Définition à la ligne 71 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 115 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 141 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 146 du fichier BasicParticleExchanger.h.
Définition à la ligne 137 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 113 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 142 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 140 du fichier BasicParticleExchanger.h.
|
private |
Nombre maximum de messages à envoyer avant de faire la réduction sur le nombre de particules. Si (-1) alors pas de limite.
Définition à la ligne 154 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 133 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 138 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 143 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 135 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 114 du fichier BasicParticleExchanger.h.
|
private |
Liste des message en attente d'envoie.
Définition à la ligne 128 du fichier BasicParticleExchanger.h.
Définition à la ligne 139 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 117 du fichier BasicParticleExchanger.h.
|
private |
Numéro du message. Utile pour le débug.
Définition à la ligne 148 du fichier BasicParticleExchanger.h.
Définition à la ligne 120 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 121 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 122 du fichier BasicParticleExchanger.h.
|
private |
Liste des variables à échanger.
Définition à la ligne 125 du fichier BasicParticleExchanger.h.
|
private |
Définition à la ligne 145 du fichier BasicParticleExchanger.h.
|
private |
Liste des message envoyés mais en cours de traitement.
Définition à la ligne 131 du fichier BasicParticleExchanger.h.