Interface d'une variable. Plus de détails...
#include <arcane/core/IVariable.h>
Types publics | |
enum | eDependType { DPT_PreviousTime , DPT_CurrentTime } |
Type des dépendances. Plus de détails... | |
enum | { PNoDump = (1 << 0) , PNoNeedSync = (1 << 1) , PHasTrace = (1 << 2) , PSubDomainDepend = (1 << 3) , PSubDomainPrivate = (1 << 4) , PExecutionDepend = (1 << 5) , PPrivate = (1 << 6) , PTemporary = (1 << 7) , PNoRestore = (1 << 8) , PNoExchange = (1 << 9) , PPersistant = (1 << 10) , PNoReplicaSync = (1 << 11) } |
Propriétés d'une variable. Plus de détails... | |
Fonctions membres publiques | |
virtual | ~IVariable ()=default |
Libère les ressources. | |
virtual ISubDomain * | subDomain ()=0 |
Sous-domaine associé à la variable (TODO rendre obsolète fin 2023) | |
virtual IVariableMng * | variableMng () const =0 |
Gestionnaire de variable associé à la variable. | |
virtual Real | allocatedMemory () const =0 |
Taille mémoire (en Koctet) utilisée par la variable. | |
virtual String | name () const =0 |
Nom de la variable. | |
virtual String | fullName () const =0 |
Nom complet de la variable (avec le préfixe de la famille) | |
virtual eDataType | dataType () const =0 |
Type de la donnée gérée par la variable (Real, Integer, ...) | |
virtual eItemKind | itemKind () const =0 |
Type des entités du maillage sur lequel repose la variable. | |
virtual Integer | dimension () const =0 |
Dimension de la variable. | |
virtual Integer | multiTag () const =0 |
Indique si la variable est un tableau à taille multiple. | |
virtual Integer | nbElement () const =0 |
Nombre d'éléments de la variable. | |
virtual int | property () const =0 |
Retourne les propriétés de la variable. | |
virtual void | notifyReferencePropertyChanged ()=0 |
Indique que les propriétés d'une des références à cette variable ont changé (interne) | |
virtual void | addVariableRef (VariableRef *var_ref)=0 |
Ajoute une référence à cette variable. | |
virtual void | removeVariableRef (VariableRef *var_ref)=0 |
Supprime une référence à cette variable. | |
virtual VariableRef * | firstReference () const =0 |
Première réference (ou null) sur cette variable. | |
virtual Integer | nbReference () const =0 |
Nombre de références sur cette variable. | |
virtual void | setTraceInfo (Integer id, eTraceType tt)=0 |
virtual void | resize (Integer new_size)=0 |
Positionne le nombre d'éléments pour une variable tableau. | |
virtual void | resizeFromGroup ()=0 |
Positionne le nombre d'éléments pour une variable du maillage. | |
virtual void | shrinkMemory ()=0 |
Libère l'éventuelle mémoire supplémentaire allouée pour les données. | |
virtual void | setAllocationInfo (const DataAllocationInfo &v)=0 |
Positionne les informations sur l'allocation. | |
virtual DataAllocationInfo | allocationInfo () const =0 |
Informations sur l'allocation. | |
virtual bool | initialize (const ItemGroup &group, const String &value)=0 |
Initialise la variable sur un groupe. | |
Opérations de vérification | |
virtual Integer | checkIfSync (Integer max_print=0)=0 |
Vérifie si la variable est bien synchronisée. | |
virtual Integer | checkIfSame (IDataReader *reader, Integer max_print, bool compare_ghost)=0 |
Vérifie que la variable est identique à une valeur de référence. | |
virtual Integer | checkIfSameOnAllReplica (Integer max_print=0)=0 |
Vérifie si la variable a les mêmes valeurs sur tous les réplicas. | |
virtual void | synchronize ()=0 |
Synchronise la variable. | |
virtual void | synchronize (Int32ConstArrayView local_ids) |
Synchronise la variable sur une liste d'entités. | |
virtual IMesh * | mesh () const =0 |
Maillage auquel est associé la variable. | |
virtual MeshHandle | meshHandle () const =0 |
Maillage auquel est associé la variable. | |
virtual ItemGroup | itemGroup () const =0 |
Groupe du maillage associé. | |
virtual String | itemGroupName () const =0 |
Nom du groupe d'entité associée. | |
virtual IItemFamily * | itemFamily () const =0 |
Famille d'entité associée. | |
virtual String | itemFamilyName () const =0 |
Nom de la famille associée (nul si aucune). | |
virtual String | meshName () const =0 |
Nom du maillage associé (nul si aucun). | |
virtual VariableMetaData * | createMetaData () const =0 |
Créé une instance contenant les meta-données de la variable. | |
virtual Ref< VariableMetaData > | createMetaDataRef () const =0 |
Créé une instance contenant les meta-données de la variable. | |
virtual void | syncReferences ()=0 |
Synchronise les références. | |
virtual void | setUsed (bool v)=0 |
Positionne l'état d'utilisation de la variable. | |
virtual bool | isUsed () const =0 |
Etat d'utilisation de la variable. | |
virtual bool | isPartial () const =0 |
Indique si la variable est partielle. | |
virtual void | copyItemsValues (Int32ConstArrayView source, Int32ConstArrayView destination)=0 |
Copie les valeurs des entités numéros source dans les entités numéro destination. | |
virtual void | copyItemsMeanValues (Int32ConstArrayView first_source, Int32ConstArrayView second_source, Int32ConstArrayView destination)=0 |
Copie les moyennes des valeurs des entités numéros first_source et second_source dans les entités numéros destination. | |
virtual void | compact (Int32ConstArrayView new_to_old_ids)=0 |
Compacte les valeurs de la variable. | |
virtual void | changeGroupIds (Int32ConstArrayView old_to_new_ids)=0 |
pH : EXPERIMENTAL | |
virtual IData * | data ()=0 |
Données associées à la variable. | |
virtual const IData * | data () const =0 |
Données associées à la variable. | |
virtual IDataFactoryMng * | dataFactoryMng () const =0 |
Fabrique de données associées à la variable. | |
Opérations de sérialisation | |
virtual void | serialize (ISerializer *sbuffer, IDataOperation *operation=0)=0 |
virtual void | serialize (ISerializer *sbuffer, Int32ConstArrayView ids, IDataOperation *operation=0)=0 |
Sérialize la variable pour les identifiants ids. | |
virtual ARCANE_DEPRECATED_2018 void | write (IDataWriter *writer)=0 |
Sauve la variable. | |
virtual ARCANE_DEPRECATED_2018 void | read (IDataReader *reader)=0 |
virtual void | notifyEndRead ()=0 |
Notifie de la modification externe de data(). | |
virtual void | notifyBeginWrite ()=0 |
Notifie du début d'écriture de data(). | |
virtual IObservable * | writeObservable ()=0 |
Observable en écriture. | |
virtual IObservable * | readObservable ()=0 |
Observable en lecture. | |
virtual IObservable * | onSizeChangedObservable ()=0 |
Observable en redimensionnement. | |
virtual void | addTag (const String &tagname, const String &tagvalue)=0 |
Ajoute le tag tagname avev la valeur tagvalue. | |
virtual void | removeTag (const String &tagname)=0 |
Supprime le tag tagname. | |
virtual bool | hasTag (const String &tagname)=0 |
true si la variable possède le tag tagname | |
virtual String | tagValue (const String &tagname)=0 |
Valeur du tag tagname. La chaîne est nulle si le tag n'existe pas. | |
virtual void | print (std::ostream &o) const =0 |
Imprime les valeurs de la variable sur le flot o. | |
Amis | |
class | VariableMng |
Gestion des dépendances | |
virtual void | update ()=0 |
Recalcule la variable si nécessaire. | |
virtual void | update (Real wanted_time)=0 |
virtual void | setUpToDate ()=0 |
Indique que la variable vient d'être mise à jour. | |
virtual Int64 | modifiedTime ()=0 |
Temps auquel la variable a été mise à jour. | |
virtual void | addDepend (IVariable *var, eDependType dt)=0 |
Ajoute var à la liste des dépendances. | |
virtual void | addDepend (IVariable *var, eDependType dt, const TraceInfo &tinfo)=0 |
Ajoute var à la liste des dépendances avec les infos de trace tinfo. | |
virtual void | removeDepend (IVariable *var)=0 |
Supprime var de la liste des dépendances. | |
virtual void | setComputeFunction (IVariableComputeFunction *v)=0 |
Positionne la fonction de recalcul de la variable. | |
virtual IVariableComputeFunction * | computeFunction ()=0 |
Fonction utilisée pour mettre à jour la variable. | |
virtual void | dependInfos (Array< VariableDependInfo > &infos)=0 |
Infos de dépendances. | |
virtual IMemoryAccessTrace * | memoryAccessTrace () const =0 |
virtual void | setIsSynchronized ()=0 |
Indique que la variable est synchronisée. | |
virtual void | setIsSynchronized (const ItemGroup &item_group)=0 |
Indique que la variable est synchronisée sur le group item_group. | |
virtual IVariableInternal * | _internalApi ()=0 |
API interne à Arcane. | |
static Int64 | incrementModifiedTime () |
Incrémente le compteur de modification et retourne sa valeur avant modification. | |
Interface d'une variable.
Par défaut, c'est la classe Variable qui implémente cette interface.
Définition à la ligne 53 du fichier IVariable.h.
Propriétés d'une variable.
Définition à la ligne 69 du fichier IVariable.h.
Type des dépendances.
Définition à la ligne 58 du fichier IVariable.h.
|
pure virtual |
API interne à Arcane.
Implémenté dans Arcane::Variable.
|
pure virtual |
Ajoute var à la liste des dépendances.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::addDependCurrentTime(), Arcane::VariableRef::addDependCurrentTime(), Arcane::VariableRef::addDependPreviousTime(), et Arcane::VariableRef::addDependPreviousTime().
|
pure virtual |
Ajoute var à la liste des dépendances avec les infos de trace tinfo.
Implémenté dans Arcane::Variable.
|
pure virtual |
Ajoute le tag tagname avev la valeur tagvalue.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::addTag().
|
pure virtual |
Ajoute une référence à cette variable.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::registerVariable().
|
pure virtual |
Taille mémoire (en Koctet) utilisée par la variable.
Implémenté dans Arcane::Array2VariableT< T >, Arcane::VariableArrayT< T >, et Arcane::VariableScalarT< T >.
|
pure virtual |
Informations sur l'allocation.
Implémenté dans Arcane::Variable.
|
pure virtual |
pH : EXPERIMENTAL
Implémenté dans Arcane::Variable.
|
pure virtual |
Vérifie que la variable est identique à une valeur de référence.
Cette opération vérifie que les valeurs de la variable sont identique à une valeur de référence qui est lu à partir du lecteur reader.
Pour chaque valeur différente de la référence, un message est affiché.
max_print | nombre maximum de messages à afficher. Si 0, aucun élément n'est affiché. Si positif, affiche au plus max_print élément. Si négatif, tous les éléments sont affichés. |
compare_ghost | si vrai, compare les valeurs à la fois sur les entités propres et les entités fantômes. Sinon, ne fait la comparaison que sur les entités propres. |
|
pure virtual |
Vérifie si la variable a les mêmes valeurs sur tous les réplicas.
Compare les valeurs de la variable avec celle du même sous-domaine des autres réplicas. Pour chaque élément différent, un message est affiché.
Cette méthode est collective sur le même sous-domaine des autres réplica. Il ne faut donc l'appeler que si la variable existe sur tous les sous-domaines sinon cela provoque un blocage.
Cette méthode ne fonctionne que pour les variables sur les types numériques. Dans ce cas, elle renvoie une exception de type NotSupportedException.
max_print | nombre maximum de messages à afficher. Si 0, aucun élément n'est affiché. Si positif, affiche au plus max_print élément. Si négatif, tous les éléments sont affichés. Pour chaque élément différent est affiché la valeur minimale et maximale. |
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::checkIfSameOnAllReplica().
|
pure virtual |
Vérifie si la variable est bien synchronisée.
Cette opération ne fonctionne que pour les variables de maillage.
Un variable est synchronisée lorsque ses valeurs sont les mêmes sur tous les sous-domaines à la fois sur les éléments propres et les éléments fantômes.
Pour chaque élément non synchronisé, un message est affiché.
max_print | nombre maximum de messages à afficher. Si 0, aucun élément n'est affiché. Si positif, affiche au plus max_print élément. Si négatif, tous les éléments sont affichés. |
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::checkIfSync().
|
pure virtual |
Compacte les valeurs de la variable.
Cette opération est interne à Arcane et doit se faire en conjonction avec la famille d'entité correspondant à cette variable.
Implémenté dans Arcane::VariableScalarT< T >, Arcane::Array2VariableT< T >, et Arcane::VariableArrayT< T >.
Référencé par Arcane::ItemGroupPartialVariableObserver::executeCompact(), Arcane::mesh::IncrementalItemConnectivityBase::notifySourceFamilyLocalIdChanged(), et Arcane::mesh::OneItemIncrementalItemConnectivity::notifySourceFamilyLocalIdChanged().
|
pure virtual |
Fonction utilisée pour mettre à jour la variable.
Implémenté dans Arcane::Variable.
|
pure virtual |
Copie les moyennes des valeurs des entités numéros first_source et second_source dans les entités numéros destination.
first_source | liste des localId de la 1ère source |
second_source | liste des localId de la 2ème source |
destination | liste des localId destination |
Implémenté dans Arcane::VariableArrayT< T >, Arcane::VariableArrayT< T >, Arcane::Array2VariableT< T >, Arcane::VariableArrayT< T >, et Arcane::VariableScalarT< T >.
|
pure virtual |
Copie les valeurs des entités numéros source dans les entités numéro destination.
source | liste des localId source |
destination | liste des localId destination |
Implémenté dans Arcane::Array2VariableT< T >, Arcane::VariableArrayT< T >, et Arcane::VariableScalarT< T >.
Référencé par Arcane::ItemGroupPartialVariableObserver::executeReduce().
|
pure virtual |
Créé une instance contenant les meta-données de la variable.
L'instance retournée doit être détruite par l'appel à l'opérateur delete.
Implémenté dans Arcane::Variable.
|
pure virtual |
Créé une instance contenant les meta-données de la variable.
Implémenté dans Arcane::Variable.
Données associées à la variable.
Implémenté dans Arcane::Array2VariableT< T >, Arcane::VariableArrayT< T >, et Arcane::VariableScalarT< T >.
Données associées à la variable.
Implémenté dans Arcane::Array2VariableT< T >, Arcane::VariableArrayT< T >, et Arcane::VariableScalarT< T >.
Référencé par Arcane::Variable::_setData(), Arcane::Variable::allocationInfo(), Arcane::VariableUtilsInternal::fillFloat64Array(), Arcane::VariableUtilsInternal::getDataInternal(), Arcane::Variable::read(), Arcane::Variable::setAllocationInfo(), Arcane::VariableUtilsInternal::setFromMemoryBuffer(), et Arcane::Variable::write().
|
pure virtual |
Fabrique de données associées à la variable.
Implémenté dans Arcane::Variable.
Référencé par Arcane::mesh::ItemFamily::reduceFromGhostItems().
Type de la donnée gérée par la variable (Real, Integer, ...)
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::dataType(), Arcane::BadVariableKindTypeException::explain(), et Arcane::Hdf5VariableReaderHelper2::readAndUpdateTimeVariables().
|
pure virtual |
Infos de dépendances.
Remplit le tableau infos avec les infos de dépendance.
Implémenté dans Arcane::Variable.
|
pure virtual |
Dimension de la variable.
Les valeurs possibles sont les suivantes:
Implémenté dans Arcane::Variable.
Référencé par Arcane::BadVariableKindTypeException::explain().
|
pure virtual |
Première réference (ou null) sur cette variable.
Implémenté dans Arcane::Variable.
Nom complet de la variable (avec le préfixe de la famille)
Implémenté dans Arcane::Variable.
Référencé par Arcane::Hdf5ReaderWriter::_writeValParallel(), Arcane::VariableMng::removeAllVariables(), et Arcane::VariableCollection::sortByName().
true si la variable possède le tag tagname
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::hasTag(), et Arcane::MeshUtils::markMeshConnectivitiesAsMostlyReadOnly().
|
static |
Incrémente le compteur de modification et retourne sa valeur avant modification.
Définition à la ligne 196 du fichier Variable.cc.
Référencé par Arcane::Variable::setUpToDate(), et Arcane::Materials::MeshMaterialVariable::setUpToDate().
|
pure virtual |
Initialise la variable sur un groupe.
Initialise la variable avec la valeur value pour tous les éléments du groupe group.
Cette opération n'est utilisable qu'avec les variables de maillage.
group_name | groupe. Il doit correspondre à un groupe existant du type de la variable (par exemple CellGroup pour une variable au maille). |
value | valeur d'initialisation. La chaîne doit pouvoir être convertie en le type de la variable. |
true | en cas d'erreur ou si la variable n'est pas une variable du maillage. |
false | si l'initialisation est un succès. |
Implémenté dans Arcane::Variable, et Arcane::VariableArrayT< T >.
Indique si la variable est partielle.
Une variable est partielle lorsqu'elle n'est pas définie sur toutes les entités d'une famille. Dans ce cas, group()!=itemFamily()->allItems().
Implémenté dans Arcane::Variable.
Référencé par Arcane::DumpWEnsight7::_writeRealValT(), Arcane::DumpWEnsight7::_writeRealValT(), Arcane::DumpWEnsight7::writeVal(), et Arcane::DumpWEnsight7::writeVal().
Etat d'utilisation de la variable.
Implémenté dans Arcane::Variable.
Référencé par Arcane::DumpWEnsight7::_isValidVariable().
|
pure virtual |
Famille d'entité associée.
Si une variable n'est pas utilisée ou pas encore allouée, la valeur retournée est nulle. Cependant, la variable peut quand même être associée à une famille. Dans ce cas, il faut utiliser la fonction itemFamilyName() pour récupérer le nom de cette famille.
Implémenté dans Arcane::Variable.
Référencé par Arcane::GetVariablesValuesParallelOperation::getVariableValues(), et Arcane::mesh::ItemFamily::reduceFromGhostItems().
Nom de la famille associée (nul si aucune).
Implémenté dans Arcane::Variable.
Groupe du maillage associé.
Si une variable n'est pas utilisée ou pas encore allouée, la valeur retournée est le group nul. Cependant, la variable peut quand même être associée à un groupe. Dans ce cas, il faut utiliser la fonction itemGroupName() pour récupérer le nom de ce groupe.
Implémenté dans Arcane::Variable.
Référencé par Arcane::DumpWEnsight7::_writeRealValT(), Arcane::DumpWEnsight7::_writeRealValT(), Arcane::Parallel::VariableParallelOperationBase::addVariable(), Arcane::VariableMng::detachMeshVariables(), Arcane::ItemGroupPartialVariableObserver::executeCompact(), Arcane::ItemGroupPartialVariableObserver::executeExtend(), Arcane::ItemGroupPartialVariableObserver::executeInvalidate(), Arcane::ItemGroupPartialVariableObserver::executeReduce(), Arcane::mesh::ItemFamily::reduceFromGhostItems(), Arcane::DumpWEnsight7::writeVal(), et Arcane::DumpWEnsight7::writeVal().
Nom du groupe d'entité associée.
Implémenté dans Arcane::Variable.
Référencé par Arcane::BadPartialVariableItemGroupNameException::explain().
Type des entités du maillage sur lequel repose la variable.
Pour les variables scalaire ou tableau, il n'y a pas de type et la méthode retourne IK_Unknown. Pour les autres variables, retourne le type de l'élément de maillage (Node, Cell, ...), à savoir:
Implémenté dans Arcane::Variable.
Référencé par Arcane::VerifierService::_getVariables(), Arcane::VariableRef::_internalInit(), Arcane::DumpWEnsight7::_isValidVariable(), Arcane::DumpWEnsight7::_writeRealValT(), Arcane::DumpWEnsight7::_writeRealValT(), Arcane::BadVariableKindTypeException::explain(), Arcane::DumpWEnsight7::writeVal(), Arcane::DumpWUCD::writeVal(), Arcane::DumpWEnsight7::writeVal(), et Arcane::DumpWUCD::writeVal().
Maillage auquel est associé la variable.
Cette opération n'est significative que pour les variables sur des entités du maillage.
Implémenté dans Arcane::Variable.
|
pure virtual |
Maillage auquel est associé la variable.
Cette opération n'est significative que pour les variables sur des entités du maillage.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VerifierService::_getVariables(), Arcane::GeomShapeMng::initialize(), et Arcane::MeshUtils::markMeshConnectivitiesAsMostlyReadOnly().
Nom du maillage associé (nul si aucun).
Implémenté dans Arcane::Variable.
|
pure virtual |
Temps auquel la variable a été mise à jour.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::modifiedTime().
|
pure virtual |
Indique si la variable est un tableau à taille multiple.
Cette valeur n'est utile que pour les tableaux 2D ou plus.
Implémenté dans Arcane::Variable.
Nom de la variable.
Implémenté dans Arcane::Variable.
Référencé par Arcane::DumpWEnsight7::_writeRealValT(), Arcane::DumpWEnsight7::_writeRealValT(), Arcane::DumpWEnsight7::_writeRealValT(), Arcane::BadVariableKindTypeException::explain(), Arcane::BadPartialVariableItemGroupNameException::explain(), Arcane::VariableRef::name(), Arcane::DumpWEnsight7::writeVal(), Arcane::DumpWUCD::writeVal(), Arcane::DumpWEnsight7::writeVal(), Arcane::DumpWUCD::writeVal(), et Arcane::DumpWEnsight7::writeVal().
|
pure virtual |
Nombre d'éléments de la variable.
Les valeurs retournées dépendent de la dimension de la variable:
Implémenté dans Arcane::Array2VariableT< T >, Arcane::VariableArrayT< T >, et Arcane::VariableScalarT< T >.
|
pure virtual |
Nombre de références sur cette variable.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableMng::removeAllVariables().
Notifie du début d'écriture de data().
Cette méthode déclenche les observables enregistrés dans writeObservable().
Implémenté dans Arcane::Variable.
Notifie de la modification externe de data().
Signale à l'instance la fin d'une opération de lecture qui a modifié data(). Cette méthode doit donc être appelée dès qu'on a effectué une modication de data(). Cette méthode déclenche les observables enregistrés dans readObservable().
Implémenté dans Arcane::Variable.
Indique que les propriétés d'une des références à cette variable ont changé (interne)
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::setProperty(), et Arcane::VariableRef::unsetProperty().
|
pure virtual |
Observable en redimensionnement.
Les observateurs enregistrés dans cet observable sont appelés lorsque le nombre d'éléments de la variable change. C'est le cas par exemple après un remaillage pour une variable aux mailles
Implémenté dans Arcane::Variable.
Imprime les valeurs de la variable sur le flot o.
Implémenté dans Arcane::Array2VariableT< T >, Arcane::VariableArrayT< T >, et Arcane::VariableScalarT< T >.
Référencé par Arcane::VariableRef::print().
Retourne les propriétés de la variable.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VerifierService::_getVariables(), et Arcane::VariableRef::property().
|
pure virtual |
Relit la variable.
Implémenté dans Arcane::Variable.
|
pure virtual |
Observable en lecture.
Les observateurs enregistrés dans cet observable sont appelés après avoir lu la variable (opération read).
Implémenté dans Arcane::Variable.
Supprime var de la liste des dépendances.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::removeDepend().
Supprime le tag tagname.
Si le tag tagname n'est pas dans la liste, rien ne se passe.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::removeTag().
|
pure virtual |
Supprime une référence à cette variable.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::unregisterVariable().
Positionne le nombre d'éléments pour une variable tableau.
Lorsque la variable est du type tableau 1D ou 2D, positionne le nombre d'éléments du tableau à new_size. Pour un tableau 2D, c'est le nombre d'éléments de la première dimension qui est modifié.
Cette opération ne doit pas être appelée pour les variables du maillage car le nombre d'éléments est déterminé automatiquement en fonction du nombre d'entités du groupe sur lequel elle s'appuie. Pour ce type de variable, il faut appeler resizeFromGroup().
Cette opération synchronise les références (syncReferences()).
Implémenté dans Arcane::Variable.
Positionne le nombre d'éléments pour une variable du maillage.
Réalloue la taille de la variable du maillage à partir du groupe sur laquelle elle s'appuie.
Cette opération n'a d'effet que pour les variables du maillage. Pour les autres, aucun action n'est effectuée.
Cette opération synchronise les références (syncReferences()).
Implémenté dans Arcane::Variable.
Référencé par Arcane::ItemGroupPartialVariableObserver::executeExtend(), Arcane::ItemGroupPartialVariableObserver::executeInvalidate(), Arcane::ItemGroupPartialVariableObserver::executeReduce(), et Arcane::mesh::DynamicMesh::updateGhostLayerFromParent().
|
pure virtual |
Sérialize la variable.
L'opération opération n'est significative qu'en lecture (ISerializer::ModeGet)
Implémenté dans Arcane::Variable.
|
pure virtual |
Sérialize la variable pour les identifiants ids.
La sérialisation dépend de la dimension de la variable. Pour les variables scalaires (dimension=0), rien n'est fait. Pour les variables tableaux ou du maillage, ids correspond a un tableau d'indirection de la première dimension.
L'opération opération n'est significative qu'en lecture (ISerializer::ModeGet)
Implémenté dans Arcane::Variable.
|
pure virtual |
Positionne les informations sur l'allocation.
Implémenté dans Arcane::Variable.
Référencé par Arcane::MeshUtils::markMeshConnectivitiesAsMostlyReadOnly().
|
pure virtual |
Positionne la fonction de recalcul de la variable.
La fonction spécifiée v doit être allouée via l'opérateur new. Si une fonction de recalcule existait déjà, elle est détruite (via l'opérateur delete) et remplacée par celle-ci.
Implémenté dans Arcane::Variable.
Indique que la variable est synchronisée.
Cette opération est collective.
Implémenté dans Arcane::Array2VariableT< T >, Arcane::VariableArrayT< T >, et Arcane::VariableScalarT< T >.
Indique que la variable est synchronisée sur le group item_group.
Cette opération est collective.
Implémenté dans Arcane::Array2VariableT< T >, Arcane::VariableArrayT< T >, et Arcane::VariableScalarT< T >.
Indique que la variable vient d'être mise à jour.
Pour une gestion correcte des dépendances, il faut que cette propriété soit appelée toutes les fois où la mise à jour d'une variable a été effectuée.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::setUpToDate().
Positionne l'état d'utilisation de la variable.
Si \v est faux, la variable devient inutilisable et toutes les ressources associées sont libérées.
Si \v est vrai, la variable est considérée comme utilisée et s'il s'agit d'une variable du maillage et que setItemGroup() n'a pas été appelé, la variable est allouée sur le groupe de toutes les entités.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableMng::detachMeshVariables().
Libère l'éventuelle mémoire supplémentaire allouée pour les données.
Cette méthode n'est utilie que pour les variables non scalaires
Implémenté dans Arcane::Array2VariableT< T >, Arcane::VariableArrayT< T >, et Arcane::VariableScalarT< T >.
Référencé par Arcane::ItemGroupImpl::shrinkMemory().
|
pure virtual |
Sous-domaine associé à la variable (TODO rendre obsolète fin 2023)
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::subDomain().
Synchronise la variable.
La synchronisation ne peut se faire que sur les variables du maillage.
Implémenté dans Arcane::Array2VariableT< T >, Arcane::VariableArrayT< T >, et Arcane::VariableScalarT< T >.
|
virtual |
Synchronise la variable sur une liste d'entités.
La synchronisation ne peut se faire que sur les variables du maillage. Seules les entités listées dans local_ids seront synchronisées. Attention : une entité présente dans cette liste sur un sous-domaine doit être présente dans cette liste pour tout autre sous-domaine qui possède cette entité.
Réimplémentée dans Arcane::Array2VariableT< T >, Arcane::VariableArrayT< T >, et Arcane::VariableScalarT< T >.
Définition à la ligne 284 du fichier InterfaceImpl.cc.
Références ARCANE_THROW.
Synchronise les références.
Synchronise les valeurs des références (VariableRef) à cette variable avec la valeur actuelle de la variable. Cette méthode est appelé automatiquement lorsqu'une variable scalaire est modifiée ou le nombre d'éléments d'une variable tableau change.
Implémenté dans Arcane::Variable.
Valeur du tag tagname. La chaîne est nulle si le tag n'existe pas.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::tagValue().
Recalcule la variable si nécessaire.
Par le mécanisme de dépendances, cette opération est appelée récursivement sur toutes les variables dont dépend l'instance. La fonction de recalcul computeFunction() est ensuite appelée s'il s'avère qu'une des variables dont elle dépend a été modifiée plus récemment.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::update().
|
pure virtual |
Gestionnaire de variable associé à la variable.
Implémenté dans Arcane::Variable.
Référencé par Arcane::VariableRef::variableMng().
|
pure virtual |
|
pure virtual |
Observable en écriture.
Les observateurs enregistrés dans cet observable sont appelés avant d'écrire la variable (opération write()).
Implémenté dans Arcane::Variable.
|
friend |
Définition à la ligne 164 du fichier IVariable.h.