Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::Hdf5ReaderWriter

Lecture/Ecriture au format HDF5. Plus de détails...

#include <arcane/hdf5/Hdf5ReaderWriter.h>

+ Graphe d'héritage de Arcane::Hdf5ReaderWriter:
+ Graphe de collaboration de Arcane::Hdf5ReaderWriter:

Types publics

enum  eOpenMode { OpenModeRead , OpenModeTruncate , OpenModeAppend }
 

Fonctions membres publiques

 Hdf5ReaderWriter (ISubDomain *sd, const String &filename, const String &m_sub_group_name, Integer fileset_size, Integer write_index, Integer index_modulo, eOpenMode om, bool do_verif=false)
 
virtual void initialize ()
 
virtual void beginWrite (const VariableCollection &vars)
 
virtual void endWrite ()
 
virtual void beginRead (const VariableCollection &vars)
 
virtual void endRead ()
 
virtual void setMetaData (const String &meta_data)
 Positionne les infos des méta-données.
 
virtual String metaData ()
 Méta-données.
 
virtual void write (IVariable *v, IData *data)
 Ecrit les données data de la variable var.
 
virtual void read (IVariable *v, IData *data)
 Lit les données data de la variable var.
 
herr_t iterateMe (hid_t group_id, const char *member_name)
 
- 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::IDataReader
virtual ~IDataReader ()
 Libère les ressources.
 
- Fonctions membres publiques hérités de Arcane::IDataWriter
virtual ~IDataWriter ()
 Libère les ressources.
 

Fonctions membres privées

void _writeVal (const String &var_group_name, const String &sub_group_name, const ISerializedData *sdata, const Int32 from_rank=0)
 
void _writeValParallel (IVariable *v, const ISerializedData *sdata)
 Ecriture en parallèle.
 
void _readVal (IVariable *var, IData *data)
 
Ref< ISerializedData_readDim2 (IVariable *v)
 
void _directReadVal (IVariable *v, IData *data)
 
void _directWriteVal (IVariable *v, IData *data)
 
void _checkValid ()
 
String _variableGroupName (IVariable *var)
 
void _receiveRemoteVariables ()
 
void _writeRemoteVariable (ISerializer *sb)
 
void _setMetaData (const String &meta_data, const String &sub_group_name)
 

Attributs privés

IParallelMngm_parallel_mng
 Gestionnaire du parallélisme;.
 
eOpenMode m_open_mode
 Mode d'ouverture.
 
String m_filename
 Nom du fichier.
 
String m_sub_group_name
 Nom du fichier.
 
bool m_is_initialized
 Vrai si déjà initialisé
 
Hdf5Utils::StandardTypes m_types
 
Hdf5Utils::HFile m_file_id
 Identifiant HDF du fichier.
 
Hdf5Utils::HGroup m_sub_group_id
 Identifiant HDF du groupe contenant la protection.
 
Hdf5Utils::HGroup m_variable_group_id
 Identifiant HDF du groupe contenant les variables.
 
StringList m_variables_name
 Liste des noms des variables sauvées.
 
Timer m_io_timer
 
bool m_is_parallel
 Mode parallèle actif: ATTENTION: en cours de test uniquement.
 
Int32 m_my_rank
 
Int32 m_send_rank
 
Int32 m_last_recv_rank
 
Integer m_fileset_size
 
Integer m_index_write
 
Integer m_index_modulo
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arccore::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 

Description détaillée

Lecture/Ecriture au format HDF5.

La version de Hdf5 utilisée est au moins la version 1.4.3.

En ce qui concerne les réels, on ne supporte que la double précision. Ils sont donc stockées sur 8 octets aussi.

Pour les #Real2, #Real2x2, #Real3 et les #Real3x3, on utilise un type composé.

La structure des informations sauvées est la suivante:

  • * toutes les variables sont sauvées dans un groupe qui s'appelle "Variables" * .
  • * pour chaque variable, un sous-groupe du nom de la variable est créé. Ce sous groupe contient les attributs et datasets suivants:
    • * Un attribut de nom "Dims" qui est un tableau de 1 ou 2 éléments de type #Integer qui contient les informations sur les tailles et dimensions de la variable. Cet attribut est toujours présent et sert entre autre à déterminer si les deux autres datasets sont présents. La première valeur (indice 0) est toujours le nombre d'éléments du tableau. Si la variable est un tableau à une dimension, il n'y a pas d'autres valeurs. Si le tableau est bi-dimensionnel, la deuxième valeur est égale à la taille de la première dimension du tableau, les tailles de la deuxième dimensions étant données par l'attribut "Dim2".
    • * Un dataset de nom "Dim2". Ce dataset n'est présent que si la variables est du genre tableau à deux dimensions, lorsque la première dimension n'est pas nulle et que le nombre d'éléments n'est pas nul. Dans ce cas, ce dataset est un tableau de type #Integer dont la taille est égale à celle de la première dimension de la variable et donc chaque valeur est égale à la taille de la deuxième dimension.
    • * Un dataset de nom "Values" contenant les valeurs de la variables. Ce dataset n'est pas présent dans le cas d'une variable de genre tableau dont le nombre d'éléments est nul ou lorsque la variable est temporaire (propriété IVariable::PNoDump). *
A faire:
sauve/relit la liste des groupes d'entités du maillage.
Avertissement
* La gestion des lecture/ecriture dans ce format est à l'heure actuelle au stade expérimental et ne peut pas être utilisée pour assurer une persistence à long terme des données.

Définition à la ligne 75 du fichier hdf5/Hdf5ReaderWriter.h.

Documentation des énumérations membres

◆ eOpenMode

enum Arcane::Hdf5ReaderWriter::eOpenMode

Définition à la ligne 83 du fichier hdf5/Hdf5ReaderWriter.h.

Documentation des constructeurs et destructeur

◆ Hdf5ReaderWriter()

Arcane::Hdf5ReaderWriter::Hdf5ReaderWriter ( ISubDomain sd,
const String filename,
const String m_sub_group_name,
Integer  fileset_size,
Integer  write_index,
Integer  index_modulo,
eOpenMode  om,
bool  do_verif = false 
)

Définition à la ligne 83 du fichier Hdf5ReaderWriter.cc.

◆ ~Hdf5ReaderWriter()

Arcane::Hdf5ReaderWriter::~Hdf5ReaderWriter ( )

Définition à la ligne 217 du fichier Hdf5ReaderWriter.cc.

Documentation des fonctions membres

◆ _checkValid()

void Arcane::Hdf5ReaderWriter::_checkValid ( )
private

Définition à la ligne 225 du fichier Hdf5ReaderWriter.cc.

◆ _directReadVal()

void Arcane::Hdf5ReaderWriter::_directReadVal ( IVariable v,
IData data 
)
private

Définition à la ligne 272 du fichier Hdf5ReaderWriter.cc.

◆ _directWriteVal()

void Arcane::Hdf5ReaderWriter::_directWriteVal ( IVariable v,
IData data 
)
private

Définition à la ligne 283 du fichier Hdf5ReaderWriter.cc.

◆ _readDim2()

Ref< ISerializedData > Arcane::Hdf5ReaderWriter::_readDim2 ( IVariable v)
private

Définition à la ligne 450 du fichier Hdf5ReaderWriter.cc.

◆ _readVal()

void Arcane::Hdf5ReaderWriter::_readVal ( IVariable var,
IData data 
)
private

Définition à la ligne 579 du fichier Hdf5ReaderWriter.cc.

◆ _receiveRemoteVariables()

void Arcane::Hdf5ReaderWriter::_receiveRemoteVariables ( )
private

Définition à la ligne 750 du fichier Hdf5ReaderWriter.cc.

◆ _setMetaData()

void Arcane::Hdf5ReaderWriter::_setMetaData ( const String meta_data,
const String sub_group_name 
)
private

Définition à la ligne 659 du fichier Hdf5ReaderWriter.cc.

◆ _variableGroupName()

String Arcane::Hdf5ReaderWriter::_variableGroupName ( IVariable var)
private

Définition à la ligne 236 du fichier Hdf5ReaderWriter.cc.

◆ _writeRemoteVariable()

void Arcane::Hdf5ReaderWriter::_writeRemoteVariable ( ISerializer sb)
private

Définition à la ligne 775 du fichier Hdf5ReaderWriter.cc.

◆ _writeVal()

void Arcane::Hdf5ReaderWriter::_writeVal ( const String var_group_name,
const String sub_group_name,
const ISerializedData sdata,
const Int32  from_rank = 0 
)
private

Définition à la ligne 320 du fichier Hdf5ReaderWriter.cc.

◆ _writeValParallel()

void Arcane::Hdf5ReaderWriter::_writeValParallel ( IVariable v,
const ISerializedData sdata 
)
private

Ecriture en parallèle.

Avertissement
En cours de test, pas utilisable.

< Nom du groupe.

< Nom du groupe.

Définition à la ligne 249 du fichier Hdf5ReaderWriter.cc.

Références Arcane::DT_Int32, et Arcane::IVariable::fullName().

◆ beginRead()

virtual void Arcane::Hdf5ReaderWriter::beginRead ( const VariableCollection vars)
inlinevirtual

Implémente Arcane::IDataReader.

Définition à la ligne 106 du fichier hdf5/Hdf5ReaderWriter.h.

◆ beginWrite()

virtual void Arcane::Hdf5ReaderWriter::beginWrite ( const VariableCollection vars)
inlinevirtual

Implémente Arcane::IDataWriter.

Définition à la ligne 101 du fichier hdf5/Hdf5ReaderWriter.h.

◆ endRead()

virtual void Arcane::Hdf5ReaderWriter::endRead ( )
inlinevirtual

Implémente Arcane::IDataReader.

Définition à la ligne 110 du fichier hdf5/Hdf5ReaderWriter.h.

◆ endWrite()

void Arcane::Hdf5ReaderWriter::endWrite ( )
virtual

Implémente Arcane::IDataWriter.

Définition à la ligne 723 du fichier Hdf5ReaderWriter.cc.

◆ initialize()

void Arcane::Hdf5ReaderWriter::initialize ( )
virtual

Définition à la ligne 128 du fichier Hdf5ReaderWriter.cc.

◆ iterateMe()

herr_t Arcane::Hdf5ReaderWriter::iterateMe ( hid_t  group_id,
const char member_name 
)

Définition à la ligne 309 du fichier Hdf5ReaderWriter.cc.

◆ metaData()

String Arcane::Hdf5ReaderWriter::metaData ( )
virtual

Méta-données.

Implémente Arcane::IDataReader.

Définition à la ligne 695 du fichier Hdf5ReaderWriter.cc.

◆ read()

void Arcane::Hdf5ReaderWriter::read ( IVariable var,
IData data 
)
virtual

Lit les données data de la variable var.

Implémente Arcane::IDataReader.

Définition à la ligne 611 du fichier Hdf5ReaderWriter.cc.

◆ setMetaData()

void Arcane::Hdf5ReaderWriter::setMetaData ( const String meta_data)
virtual

Positionne les infos des méta-données.

Implémente Arcane::IDataWriter.

Définition à la ligne 620 du fichier Hdf5ReaderWriter.cc.

◆ write()

void Arcane::Hdf5ReaderWriter::write ( IVariable var,
IData data 
)
virtual

Ecrit les données data de la variable var.

Implémente Arcane::IDataWriter.

Définition à la ligne 570 du fichier Hdf5ReaderWriter.cc.

Documentation des données membres

◆ m_file_id

Hdf5Utils::HFile Arcane::Hdf5ReaderWriter::m_file_id
private

Identifiant HDF du fichier.

Définition à la ligne 132 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_filename

String Arcane::Hdf5ReaderWriter::m_filename
private

Nom du fichier.

Définition à la ligne 126 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_fileset_size

Integer Arcane::Hdf5ReaderWriter::m_fileset_size
private

Définition à la ligne 147 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_index_modulo

Integer Arcane::Hdf5ReaderWriter::m_index_modulo
private

Définition à la ligne 149 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_index_write

Integer Arcane::Hdf5ReaderWriter::m_index_write
private

Définition à la ligne 148 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_io_timer

Timer Arcane::Hdf5ReaderWriter::m_io_timer
private

Définition à la ligne 137 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_is_initialized

bool Arcane::Hdf5ReaderWriter::m_is_initialized
private

Vrai si déjà initialisé

Définition à la ligne 128 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_is_parallel

bool Arcane::Hdf5ReaderWriter::m_is_parallel
private

Mode parallèle actif: ATTENTION: en cours de test uniquement.

Définition à la ligne 142 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_last_recv_rank

Int32 Arcane::Hdf5ReaderWriter::m_last_recv_rank
private

Définition à la ligne 145 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_my_rank

Int32 Arcane::Hdf5ReaderWriter::m_my_rank
private

Définition à la ligne 143 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_open_mode

eOpenMode Arcane::Hdf5ReaderWriter::m_open_mode
private

Mode d'ouverture.

Définition à la ligne 125 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_parallel_mng

IParallelMng* Arcane::Hdf5ReaderWriter::m_parallel_mng
private

Gestionnaire du parallélisme;.

Définition à la ligne 124 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_send_rank

Int32 Arcane::Hdf5ReaderWriter::m_send_rank
private

Définition à la ligne 144 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_sub_group_id

Hdf5Utils::HGroup Arcane::Hdf5ReaderWriter::m_sub_group_id
private

Identifiant HDF du groupe contenant la protection.

Définition à la ligne 133 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_sub_group_name

String Arcane::Hdf5ReaderWriter::m_sub_group_name
private

Nom du fichier.

Définition à la ligne 127 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_types

Hdf5Utils::StandardTypes Arcane::Hdf5ReaderWriter::m_types
private

Définition à la ligne 130 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_variable_group_id

Hdf5Utils::HGroup Arcane::Hdf5ReaderWriter::m_variable_group_id
private

Identifiant HDF du groupe contenant les variables.

Définition à la ligne 134 du fichier hdf5/Hdf5ReaderWriter.h.

◆ m_variables_name

StringList Arcane::Hdf5ReaderWriter::m_variables_name
private

Liste des noms des variables sauvées.

Définition à la ligne 136 du fichier hdf5/Hdf5ReaderWriter.h.


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