Lecture de variables au format HDF5. Plus de détails...
Classes | |
class | CorrespondanceInfo |
Infos de correspondance entre les uids sauvés et ceux du maillage courant pour le groupe group. Plus de détails... | |
class | TimeVariableInfoBase |
Fonctions membres publiques | |
Hdf5VariableReaderHelper2 (IMesh *mesh, const String &hdf5_file_name) | |
void | setVariables (ConstArrayView< IVariable * > vars) |
Spécifie les variables qu'on souhaite relire. | |
void | open (bool is_start) |
Ouvre le fichier contenant les informations de lecture. | |
void | readAndUpdateTimeVariables (Real wanted_time) |
Lecture et mise à jour des variables. | |
void | notifyRestore () |
Notification d'un retout-arrière. | |
Real2 | timeInterval (IVariable *var) |
Fonctions membres publiques hérités de Arcane::Hdf5VariableReaderHelperBase | |
Hdf5VariableReaderHelperBase (IMesh *mesh) | |
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 privées | |
template<typename DataType > | |
void | _readAndUpdateVariable (TimeVariableInfoBase *vi, Real wanted_time, HFile &hfile) |
bool | _isWanted (const String &var_name, const String &var_family) |
void | _checkCreateCorrespondance (Hdf5VariableInfoBase *var, HFile &file_id, const String &group_path, bool is_start) |
void | _createCorrespondance (IVariable *var, CorrespondanceInfo *ci, Int64ConstArrayView saved_uids, Real3ConstArrayView saved_centers) |
Recherche à quel entité du maillage sauvegardé correspondant une entité du maillage actuel. | |
Attributs privés | |
UniqueArray< IVariable * > | m_wanted_vars |
ScopedPtrT< IXmlDocumentHolder > | m_xml_document_holder |
UniqueArray< TimeVariableInfoBase * > | m_time_variables |
std::map< String, CorrespondanceInfo * > | m_correspondance_map |
Membres hérités additionnels | |
Fonctions membres protégées hérités de Arcane::Hdf5VariableReaderHelperBase | |
void | _readStandardArray (IVariable *var, RealArray &buffer, hid_t file_id, const String &path) |
void | _readVariable (IVariable *var, RealArray &buffer, HFile &hfile, const String &path) |
void | _checkValidVariable (IVariable *var) |
Fonctions membres protégées hérités de Arccore::TraceAccessor | |
void | _setLocalVerboseLevel (Int32 v) |
Int32 | _localVerboseLevel () const |
Attributs protégés hérités de Arcane::Hdf5VariableReaderHelperBase | |
IMesh * | m_mesh |
Hdf5Utils::StandardTypes | m_types |
String | m_hdf5_file_name |
bool | m_is_verbose |
Lecture de variables au format HDF5.
Définition à la ligne 535 du fichier Hdf5VariableReader.cc.
Arcane::Hdf5VariableReaderHelper2::Hdf5VariableReaderHelper2 | ( | IMesh * | mesh, |
const String & | hdf5_file_name | ||
) |
Définition à la ligne 695 du fichier Hdf5VariableReader.cc.
Arcane::Hdf5VariableReaderHelper2::~Hdf5VariableReaderHelper2 | ( | ) |
Définition à la ligne 705 du fichier Hdf5VariableReader.cc.
|
private |
Définition à la ligne 781 du fichier Hdf5VariableReader.cc.
|
private |
Recherche à quel entité du maillage sauvegardé correspondant une entité du maillage actuel.
Lorsqu'on relit les valeurs des variables d'un fichier, on supporte le fait que le maillage actuel n'est pas forcément le même que le maillage sauvegardé. Dans ce cas, les uniqueId des entités ne correspondent pas. Il faut donc chercher à quel entité sauvée correspondant chaque entité du maillage actuel. Pour savoir laquelle utiliser, on prend celle du maillage d'origine la plus proche de celle du maillage actuel. Comme seules les coordonnées initiales sont sauvées, cela ne fonctionne correctement que lors de l'initialisation. Il ne faut pas faire ce traitement en reprise. On sauvegarde donc cette information dans une variable. TODO: Il faudrait pouvoir utiliser un autre algorithme que juste l'entité la plus proche.
Définition à la ligne 824 du fichier Hdf5VariableReader.cc.
Références Arcane::IParallelMng::allGatherVariable(), ENUMERATE_ITEM, Arccore::TraceAccessor::info(), Arcane::Item::isOwn(), Arcane::ItemWithNodes::nbNode(), Arcane::ItemWithNodes::nodeIds(), Arcane::IMesh::nodesCoordinates(), Arcane::IMesh::parallelMng(), Arcane::Item::toItemWithNodes(), et Arcane::Item::toNode().
|
private |
Définition à la ligne 887 du fichier Hdf5VariableReader.cc.
|
private |
Définition à la ligne 905 du fichier Hdf5VariableReader.cc.
void Arcane::Hdf5VariableReaderHelper2::notifyRestore | ( | ) |
Notification d'un retout-arrière.
Définition à la ligne 1030 du fichier Hdf5VariableReader.cc.
Ouvre le fichier contenant les informations de lecture.
is_start est vrai lors du démarrage d'un cas. Si ce n'est pas le cas, il n'y a pas besoin de lire les variables d'initialisation.
Définition à la ligne 716 du fichier Hdf5VariableReader.cc.
Références ARCANE_FATAL, Arcane::IParallelMng::broadcastMemoryBuffer(), Arcane::Hdf5Utils::StandardArrayT< DataType >::directRead(), Arccore::TraceAccessor::fatal(), Arccore::TraceAccessor::info(), Arcane::IParallelMng::isMasterIO(), Arcane::IParallelMng::masterIORank(), Arccore::String::null(), et Arcane::IMesh::parallelMng().
Référencé par Arcane::ManualHdf5VariableReader::initialize().
void Arcane::Hdf5VariableReaderHelper2::readAndUpdateTimeVariables | ( | Real | wanted_time | ) |
Lecture et mise à jour des variables.
Définition à la ligne 1006 du fichier Hdf5VariableReader.cc.
Références Arcane::IVariable::dataType(), Arcane::DT_Real, et Arcane::DT_Real3.
Référencé par Arcane::ManualHdf5VariableReader::updateVariables().
|
inline |
Spécifie les variables qu'on souhaite relire.
Cette méthode doit être appelée avant open(). Si cette méthode n'est pas appelée, on essaie de relire toutes les variables sauvegardées dans le fichier.
Définition à la ligne 643 du fichier Hdf5VariableReader.cc.
Référencé par Arcane::ManualHdf5VariableReader::initialize().
Définition à la ligne 662 du fichier Hdf5VariableReader.cc.
|
private |
Définition à la ligne 679 du fichier Hdf5VariableReader.cc.
|
private |
Définition à la ligne 678 du fichier Hdf5VariableReader.cc.
|
private |
Définition à la ligne 676 du fichier Hdf5VariableReader.cc.
|
private |
Définition à la ligne 677 du fichier Hdf5VariableReader.cc.