20 #ifndef RB_DATA_SERIALIZATION_H 21 #define RB_DATA_SERIALIZATION_H 23 #include "libmesh/libmesh_config.h" 24 #if defined(LIBMESH_HAVE_CAPNPROTO) 30 #include "libmesh/rb_data.capnp.h" 33 #include "capnp/message.h" 40 class TransientRBEvaluation;
41 class RBEIMEvaluation;
42 class RBSCMEvaluation;
47 namespace RBDataSerialization
85 void write_to_file(
const std::string & path,
bool use_packing =
false);
128 void write_to_file(
const std::string & path,
bool use_packing =
false);
171 void write_to_file(
const std::string & path,
bool use_packing =
false);
185 #if defined(LIBMESH_HAVE_SLEPC) && (LIBMESH_HAVE_GLPK) 218 void write_to_file(
const std::string & path,
bool use_packing =
false);
228 #endif // LIBMESH_HAVE_SLEPC && LIBMESH_HAVE_GLPK 237 RBData::ParameterRanges::Builder & parameter_ranges,
238 RBData::DiscreteParameterList::Builder & discrete_parameters_list);
243 template <
typename RBEvaluationBuilderNumber>
245 RBEvaluationBuilderNumber & rb_eval_builder);
251 template <
typename RBEvaluationBuilderNumber,
typename TransRBEvaluationBuilderNumber>
253 RBEvaluationBuilderNumber & rb_eval_builder,
254 TransRBEvaluationBuilderNumber & trans_rb_eval_builder);
260 template <
typename RBEIMEvaluationBuilderNumber>
262 RBEIMEvaluationBuilderNumber & rb_eim_eval_builder);
264 #if defined(LIBMESH_HAVE_SLEPC) && (LIBMESH_HAVE_GLPK) 273 RBData::RBSCMEvaluation::Builder & rb_scm_eval_builder);
274 #endif // LIBMESH_HAVE_SLEPC && LIBMESH_HAVE_GLPK 280 RBData::Point3D::Builder point_builder);
286 #endif // #if defined(LIBMESH_HAVE_CAPNPROTO) 288 #endif // RB_DATA_SERIALIZATION_H void write_to_file(const std::string &path, bool use_packing=false)
Write the Cap'n'Proto buffer to disk.
RBSCMEvaluationSerialization(RBSCMEvaluation &rb_eval)
Initialize a new buffer using the structure from the Cap'n'Proto schema described in rb_data...
virtual ~RBEvaluationSerialization()
void add_rb_eim_evaluation_data_to_builder(RBEIMEvaluation &rb_eim_eval, RBEIMEvaluationBuilderNumber &rb_eim_eval_builder)
Add data for an RBEIMEvaluation to the builder.
This class serializes an RBEvaluation object using the Cap'n Proto library.
void add_transient_rb_evaluation_data_to_builder(TransientRBEvaluation &trans_rb_eval, RBEvaluationBuilderNumber &rb_eval_builder, TransRBEvaluationBuilderNumber &trans_rb_eval_builder)
Add data for a TransientRBEvaluation to the builder.
This class serializes a TransientRBEvaluation object using the Cap'n Proto library.
This class is part of the rbOOmit framework.
void add_parameter_ranges_to_builder(const RBParametrized &rb_evaluation, RBData::ParameterRanges::Builder ¶meter_ranges, RBData::DiscreteParameterList::Builder &discrete_parameters_list)
Add parameter ranges for continuous and discrete parameters.
void add_rb_evaluation_data_to_builder(RBEvaluation &rb_eval, RBEvaluationBuilderNumber &rb_eval_builder)
Add data for an RBEvaluation to the builder.
RBEIMEvaluation & _rb_eim_eval
The RBEvaluation object that will be written to disk.
The libMesh namespace provides an interface to certain functionality in the library.
RBEvaluationSerialization(RBEvaluation &rb_eval)
Initialize a new buffer using the structure from the Cap'n'Proto schema described in rb_data...
This class serializes an RBEIMEvaluation object using the Cap'n Proto library.
RBEvaluationSerialization & operator=(const RBEvaluationSerialization &)=delete
virtual ~RBSCMEvaluationSerialization()
void write_to_file(const std::string &path, bool use_packing=false)
Write the Cap'n'Proto buffer to disk.
TransientRBEvaluationSerialization(TransientRBEvaluation &rb_eval)
Initialize a new buffer using the structure from the Cap'n'Proto schema described in rb_data...
TransientRBEvaluationSerialization & operator=(const TransientRBEvaluationSerialization &)=delete
void write_to_file(const std::string &path, bool use_packing=false)
Write the Cap'n'Proto buffer to disk.
RBEIMEvaluationSerialization(RBEIMEvaluation &rb_eval)
Initialize a new buffer using the structure from the Cap'n'Proto schema described in rb_data...
void add_point_to_builder(const Point &point, RBData::Point3D::Builder point_builder)
Helper function that adds point data.
RBSCMEvaluation & _rb_scm_eval
The RBEvaluation object that will be written to disk.
This class is part of the rbOOmit framework.
void add_rb_scm_evaluation_data_to_builder(RBSCMEvaluation &rb_scm_eval, RBData::RBSCMEvaluation::Builder &rb_scm_eval_builder)
Add data for an RBSCMEvaluation to the builder.
void write_to_file(const std::string &path, bool use_packing=false)
Write the Cap'n'Proto buffer to disk.
This class is part of the rbOOmit framework.
TransientRBEvaluation & _trans_rb_eval
The RBEvaluation object that will be written to disk.
virtual ~RBEIMEvaluationSerialization()
virtual ~TransientRBEvaluationSerialization()
This class serializes an RBSCMEvaluation object using the Cap'n Proto library.
RBSCMEvaluationSerialization & operator=(const RBSCMEvaluationSerialization &)=delete
RBEvaluation & _rb_eval
The RBEvaluation object that will be written to disk.
This class enables evaluation of an Empirical Interpolation Method (EIM) approximation.
A Point defines a location in LIBMESH_DIM dimensional Real space.
RBEIMEvaluationSerialization & operator=(const RBEIMEvaluationSerialization &)=delete
This class is part of the rbOOmit framework.