KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
Namespaces | Macros | Functions
hdf5_file.cpp File Reference
#include <algorithm>
#include <array>
#include <numeric>
#include <regex>
#include <sstream>
#include <utility>
#include "includes/kratos_parameters.h"
#include "input_output/logger.h"
#include "utilities/builtin_timer.h"
#include "utilities/data_type_traits.h"
#include "utilities/string_utilities.h"
#include "custom_utilities/data_type_utilities.h"
#include "hdf5_file.h"
Include dependency graph for hdf5_file.cpp:

Namespaces

 Kratos
 REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
 
 Kratos::HDF5
 
 Kratos::HDF5::Internals
 

Macros

#define KRATOS_HDF5_CALL_WITH_RETURN(RETURN_VALUE, METHOD, ...)
 
#define KRATOS_HDF5_CALL(METHOD, ...)
 
#define KRATOS_HDF5_FILE_DATA_SET_METHOD_INSTANTIATION(...)
 
#define KRATOS_HDF5_FILE_ATTRIBUTE_METHOD_INSTANTIATION(...)
 

Functions

bool Kratos::HDF5::Internals::IsPath (const std::string &rPath)
 Check if string is a valid path. More...
 
std::vector< hsize_t > Kratos::HDF5::Internals::GetDataDimensions (const File &rFile, const std::string &rPath)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_ATTRIBUTE_METHOD_INSTANTIATION (int)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_ATTRIBUTE_METHOD_INSTANTIATION (double)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_ATTRIBUTE_METHOD_INSTANTIATION (std::string)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_ATTRIBUTE_METHOD_INSTANTIATION (Vector< int >)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_ATTRIBUTE_METHOD_INSTANTIATION (Vector< double >)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_ATTRIBUTE_METHOD_INSTANTIATION (array_1d< double, 3 >)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_ATTRIBUTE_METHOD_INSTANTIATION (array_1d< double, 4 >)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_ATTRIBUTE_METHOD_INSTANTIATION (array_1d< double, 6 >)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_ATTRIBUTE_METHOD_INSTANTIATION (array_1d< double, 9 >)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_DATA_SET_METHOD_INSTANTIATION (Vector< int >)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_DATA_SET_METHOD_INSTANTIATION (Vector< double >)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_DATA_SET_METHOD_INSTANTIATION (Vector< array_1d< double, 3 >>)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_DATA_SET_METHOD_INSTANTIATION (Vector< array_1d< double, 4 >>)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_DATA_SET_METHOD_INSTANTIATION (Vector< array_1d< double, 6 >>)
 
 Kratos::HDF5::KRATOS_HDF5_FILE_DATA_SET_METHOD_INSTANTIATION (Vector< array_1d< double, 9 >>)
 

Macro Definition Documentation

◆ KRATOS_HDF5_CALL

#define KRATOS_HDF5_CALL (   METHOD,
  ... 
)
Value:
{ \
const auto error = METHOD(__VA_ARGS__); \
KRATOS_ERROR_IF(error < 0) << "Error occured in " << #METHOD \
<< " [ hdf5 error code = " << error << " ].\n"; \
}
float error
Definition: PecletTest.py:102

◆ KRATOS_HDF5_CALL_WITH_RETURN

#define KRATOS_HDF5_CALL_WITH_RETURN (   RETURN_VALUE,
  METHOD,
  ... 
)
Value:
RETURN_VALUE = METHOD(__VA_ARGS__); \
KRATOS_ERROR_IF(RETURN_VALUE < 0) \
<< "Error occured in " << #METHOD \
<< " [ hdf5 error code = " << RETURN_VALUE << " ].\n";

◆ KRATOS_HDF5_FILE_ATTRIBUTE_METHOD_INSTANTIATION

#define KRATOS_HDF5_FILE_ATTRIBUTE_METHOD_INSTANTIATION (   ...)
Value:
template KRATOS_API(HDF5_APPLICATION) bool File::HasAttributeType<__VA_ARGS__>(const std::string&, const std::string&) const; \
template KRATOS_API(HDF5_APPLICATION) void File::WriteAttribute(const std::string&, const std::string&, const __VA_ARGS__&); \
template KRATOS_API(HDF5_APPLICATION) void File::ReadAttribute(const std::string&, const std::string&, __VA_ARGS__&) const; \
#define KRATOS_API(...)
Definition: kratos_export_api.h:40

◆ KRATOS_HDF5_FILE_DATA_SET_METHOD_INSTANTIATION

#define KRATOS_HDF5_FILE_DATA_SET_METHOD_INSTANTIATION (   ...)
Value:
template KRATOS_API(HDF5_APPLICATION) void File::WriteDataSetImpl<__VA_ARGS__, File::DataTransferMode::Collective>(const std::string&, const __VA_ARGS__&, WriteInfo&); \
template KRATOS_API(HDF5_APPLICATION) void File::ReadDataSetImpl<__VA_ARGS__, File::DataTransferMode::Collective>(const std::string&, __VA_ARGS__&, const unsigned, const unsigned) const; \
template KRATOS_API(HDF5_APPLICATION) void File::WriteDataSetImpl<__VA_ARGS__, File::DataTransferMode::Independent>(const std::string&, const __VA_ARGS__&, WriteInfo&); \
template KRATOS_API(HDF5_APPLICATION) void File::ReadDataSetImpl<__VA_ARGS__, File::DataTransferMode::Independent>(const std::string&, __VA_ARGS__&, const unsigned, const unsigned) const; \
template KRATOS_API(HDF5_APPLICATION) void File::WriteDataSet(const std::string&, const __VA_ARGS__&, WriteInfo&); \
template KRATOS_API(HDF5_APPLICATION) void File::WriteDataSetIndependent(const std::string&, const __VA_ARGS__&, WriteInfo&); \
template KRATOS_API(HDF5_APPLICATION) void File::ReadDataSet(const std::string&, __VA_ARGS__&, const unsigned, const unsigned) const; \
template KRATOS_API(HDF5_APPLICATION) void File::ReadDataSetIndependent(const std::string&, __VA_ARGS__&, const unsigned, const unsigned) const; \