9#include "ioad_export.h"
18 class IOAD_EXPORT
AdiosWrapper :
private adios2::ADIOS,
private adios2::IO,
private adios2::Engine
25 adios2::StepStatus BeginStep();
31 void DefineVariable(
const std::string &name,
const adios2::Dims &shape = adios2::Dims(),
32 const adios2::Dims &start = adios2::Dims(),
33 const adios2::Dims &count = adios2::Dims(),
34 const bool constantDims =
false);
35 template <
typename T>
void Put(
const std::string &name,
const T *value);
37 template <
typename T>
void DefineAttribute(
const std::string &name,
const T &value);
39 template <
typename T>
void InquireAndPut(
const std::string &name,
const T *value);
41 T
GetAttribute(
const std::string &attribute_name,
bool ignore_missing =
false,
42 T default_value = T());
44 template <
typename T>
void GetSync(adios2::Variable<T> var, T *data);
46 template <
typename T>
void GetSync(std::string var_name, T *data);
48 template <
typename T>
void GetSync(adios2::Variable<T> var, T &data);
49 template <
typename T>
void GetSync(std::string var_name, T &data);
53 const std::string &variable_name =
"");
55 T
GetMetaVariable(
const std::string &meta_name,
const std::string &variable_name =
"");
56 std::pair<std::string, std::string> DecodeMetaName(std::string name)
const;
57 std::string EncodeMetaVariable(
const std::string &meta_name,
58 const std::string &variable_name =
"")
const;
62 using adios2::Engine::AllStepsBlocksInfo;
63 using adios2::IO::AvailableVariables;
64 using adios2::IO::InquireAttribute;
65 using adios2::IO::InquireVariable;
69 adios2::Engine EngineInit(
const std::string &filename,
bool is_input);
71 const std::string m_MetaSeparator{
"::"};
78 int count_real_begin = 0;
83#include "adios/AdiosWrapper.hpp"
int Ioss_MPI_Comm
Definition Ioss_CodeTypes.h:64
Definition AdiosWrapper.h:19
bool m_IsStreaming
Definition AdiosWrapper.h:77
T GetAttribute(const std::string &attribute_name, bool ignore_missing=false, T default_value=T())
bool IsStreaming() const
Definition AdiosWrapper.h:60
AdiosWrapper(AdiosWrapper &&wrapper)
void DefineAttribute(const std::string &name, const T &value)
T GetMetaVariable(const std::string &meta_name, const std::string &variable_name="")
void DefineVariable(const std::string &name, const adios2::Dims &shape=adios2::Dims(), const adios2::Dims &start=adios2::Dims(), const adios2::Dims &count=adios2::Dims(), const bool constantDims=false)
bool m_OpenStep
Definition AdiosWrapper.h:76
void PutMetaVariable(const std::string &meta_name, T value, const std::string &variable_name="")
void GetSync(std::string var_name, T &data)
const int m_Rank
Definition AdiosWrapper.h:73
void GetSync(adios2::Variable< T > var, T *data)
void InquireAndPut(const std::string &name, const T *value)
const Ioss_MPI_Comm m_Communicator
Definition AdiosWrapper.h:74
void GetSync(std::string var_name, T *data)
void GetSync(adios2::Variable< T > var, T &data)
void DefineMetaVariable(const std::string &meta_name, const std::string &variable_name="")
void Put(const std::string &name, const T *value)
A collection of Ioss::Property objects.
Definition Ioss_PropertyManager.h:36
A namespace for the adios database format.
Definition AdiosWrapper.C:11