42 const std::string &dc_type)
46 if (dc_type ==
"visit")
54 else if ( dc_type ==
"sidre" || dc_type ==
"sidre_hdf5")
59 MFEM_ABORT(
"Must build with MFEM_USE_SIDRE=YES for sidre support.");
62 else if ( dc_type ==
"json" ||
63 dc_type ==
"conduit_json" ||
64 dc_type ==
"conduit_bin" ||
67 #ifdef MFEM_USE_CONDUIT
77 MFEM_ABORT(
"Must build with MFEM_USE_CONDUIT=YES for conduit support.");
82 MFEM_ABORT(
"Unsupported Data Collection type:" << dc_type);
88 int main(
int argc,
char *argv[])
96 const char *src_coll_name = NULL;
97 const char *src_coll_type =
"visit";
99 const char *out_coll_name = NULL;
100 const char *out_coll_type =
"visit";
103 args.
AddOption(&src_coll_name,
"-s",
"--source-root-prefix",
104 "Set the source data collection root file prefix.",
true);
105 args.
AddOption(&out_coll_name,
"-o",
"--output-root-prefix",
106 "Set the source data collection root file prefix.",
true);
107 args.
AddOption(&src_cycle,
"-c",
"--cycle",
108 "Set the source cycle index to read.");
109 args.
AddOption(&src_coll_type,
"-st",
"--source-type",
110 "Set the source data collection type. Options:\n"
111 "\t visit: VisItDataCollection (default)\n"
112 "\t sidre or sidre_hdf5: SidreDataCollection\n"
113 "\t json: ConduitDataCollection w/ protocol json\n"
114 "\t conduit_json: ConduitDataCollection w/ protocol conduit_json\n"
115 "\t conduit_bin: ConduitDataCollection w/ protocol conduit_bin\n"
116 "\t hdf5: ConduitDataCollection w/ protocol hdf5");
117 args.
AddOption(&out_coll_type,
"-ot",
"--output-type",
118 "Set the output data collection type. Options:\n"
119 "\t visit: VisItDataCollection (default)\n"
120 "\t sidre or sidre_hdf5: SidreDataCollection\n"
121 "\t json: ConduitDataCollection w/ protocol json\n"
122 "\t conduit_json: ConduitDataCollection w/ protocol conduit_json\n"
123 "\t conduit_bin: ConduitDataCollection w/ protocol conduit_bin\n"
124 "\t hdf5: ConduitDataCollection w/ protocol hdf5");
134 std::string(src_coll_type));
137 std::string(out_coll_type));
139 src->
Load(src_cycle);
141 if (src->
Error() != DataCollection::NO_ERROR)
143 mfem::out <<
"Error loading data collection: "
169 for (DataCollection::FieldMapType::const_iterator it = src_fields.begin();
170 it != src_fields.end();
178 if (out->
Error() != DataCollection::NO_ERROR)
180 mfem::out <<
"Error saving data collection: "
void SetCycle(int c)
Set time cycle (for time-dependent simulations)
double GetTime() const
Get physical time (for time-dependent simulations)
Data collection that uses the Conduit Mesh Blueprint specification.
int Error() const
Get the current error state.
int main(int argc, char *argv[])
double GetTimeStep() const
Get the simulation time step (for time-dependent simulations)
Data collection with Sidre routines following the Conduit mesh blueprint specification.
A simple convenience class that calls MPI_Init() at construction and MPI_Finalize() at destruction...
virtual void RegisterField(const std::string &field_name, GridFunction *gf)
Add a grid function to the collection.
virtual void Save()
Save the collection to disk.
const FieldMapType & GetFieldMap() const
Get a const reference to the internal field map.
int GetCycle() const
Get time cycle (for time-dependent simulations)
Data collection with VisIt I/O routines.
bool Root() const
Return true if WorldRank() == 0.
DataCollection * create_data_collection(const std::string &dc_name, const std::string &dc_type)
void PrintUsage(std::ostream &out) const
void SetTime(double t)
Set physical time (for time-dependent simulations)
void SetOwnData(bool o)
Set the ownership of collection data.
OutStream err(std::cerr)
Global stream used by the library for standard error output. Initially it uses the same std::streambu...
void AddOption(bool *var, const char *enable_short_name, const char *enable_long_name, const char *disable_short_name, const char *disable_long_name, const char *description, bool required=false)
void Disable()
Disable output.
GFieldMap::MapType FieldMapType
void SetTimeStep(double ts)
Set the simulation time step (for time-dependent simulations)
void PrintOptions(std::ostream &out) const
virtual void Load(int cycle_=0)
Load the collection. Not implemented in the base class DataCollection.
Mesh * GetMesh()
Get a pointer to the mesh in the collection.
virtual void SetMesh(Mesh *new_mesh)
Set/change the mesh associated with the collection.
OutStream out(std::cout)
Global stream used by the library for standard output. Initially it uses the same std::streambuf as s...
void SetProtocol(const std::string &protocol)
Set the Conduit relay i/o protocol to use.