20#ifndef RB_DATA_DESERIALIZATION_H
21#define RB_DATA_DESERIALIZATION_H
24#include "libmesh/libmesh_config.h"
25#if defined(LIBMESH_HAVE_CAPNPROTO)
28#include "libmesh/rb_data.capnp.h"
31#include "capnp/message.h"
41class TransientRBEvaluation;
49namespace RBDataDeserialization
88 bool read_error_bound_data,
89 bool use_packing =
false);
133 bool read_error_bound_data,
134 bool use_packing =
false);
178 bool use_packing =
false);
192#if defined(LIBMESH_HAVE_SLEPC) && (LIBMESH_HAVE_GLPK)
226 bool use_packing =
false);
243 RBData::ParameterRanges::Reader & parameter_ranges,
244 RBData::DiscreteParameterList::Reader & discrete_parameters_list);
249template <
typename RBEvaluationReaderNumber>
251 RBEvaluationReaderNumber & rb_evaluation_reader,
252 bool read_error_bound_data);
258template <
typename RBEvaluationReaderNumber,
typename TransRBEvaluationReaderNumber>
260 RBEvaluationReaderNumber & rb_evaluation_reader,
261 TransRBEvaluationReaderNumber & trans_rb_eval_reader,
262 bool read_error_bound_data);
268template <
typename RBEIMEvaluationReaderNumber>
270 RBEIMEvaluationReaderNumber & rb_eim_eval_reader);
272#if defined(LIBMESH_HAVE_SLEPC) && (LIBMESH_HAVE_GLPK)
281 RBData::RBSCMEvaluation::Reader & rb_scm_eval_reader);
A Point defines a location in LIBMESH_DIM dimensional Real space.
This class de-serializes a RBEIMEvaluation object using the Cap'n Proto library.
RBEIMEvaluationDeserialization(const RBEIMEvaluationDeserialization &)=default
void read_from_file(const std::string &path, bool use_packing=false)
Read the Cap'n'Proto buffer from disk.
RBEIMEvaluation & _rb_eim_eval
The RBEIMEvaluation object we will read into.
RBEIMEvaluationDeserialization & operator=(const RBEIMEvaluationDeserialization &)=delete
virtual ~RBEIMEvaluationDeserialization()
RBEIMEvaluationDeserialization(RBEIMEvaluationDeserialization &&)=default
Special functions.
This class de-serializes an RBEvaluation object using the Cap'n Proto library.
virtual ~RBEvaluationDeserialization()
RBEvaluationDeserialization(RBEvaluationDeserialization &&)=default
Special functions.
RBEvaluationDeserialization & operator=(const RBEvaluationDeserialization &)=delete
RBEvaluation & _rb_eval
The RBEvaluation object that we will read into.
RBEvaluationDeserialization(const RBEvaluationDeserialization &)=default
void read_from_file(const std::string &path, bool read_error_bound_data, bool use_packing=false)
Read the Cap'n'Proto buffer from disk.
This class de-serializes a RBSCMEvaluation object using the Cap'n Proto library.
RBSCMEvaluation & _rb_scm_eval
The RBSCMEvaluation object we will read into.
RBSCMEvaluationDeserialization & operator=(const RBSCMEvaluationDeserialization &)=delete
virtual ~RBSCMEvaluationDeserialization()
RBSCMEvaluationDeserialization(RBSCMEvaluationDeserialization &&)=default
Special functions.
RBSCMEvaluationDeserialization(const RBSCMEvaluationDeserialization &)=default
void read_from_file(const std::string &path, bool use_packing=false)
Read the Cap'n'Proto buffer from disk.
This class de-serializes a TransientRBEvaluation object using the Cap'n Proto library.
virtual ~TransientRBEvaluationDeserialization()
TransientRBEvaluation & _trans_rb_eval
The TransientRBEvaluation object that we will read into.
TransientRBEvaluationDeserialization & operator=(const TransientRBEvaluationDeserialization &)=delete
TransientRBEvaluationDeserialization(const TransientRBEvaluationDeserialization &)=default
TransientRBEvaluationDeserialization(TransientRBEvaluationDeserialization &&)=default
Special functions.
void read_from_file(const std::string &path, bool read_error_bound_data, bool use_packing=false)
Read the Cap'n'Proto buffer from disk.
This class enables evaluation of an Empirical Interpolation Method (EIM) approximation.
This class is part of the rbOOmit framework.
This class is part of the rbOOmit framework.
This class is part of the rbOOmit framework.
This class is part of the rbOOmit framework.
void load_point(RBData::Point3D::Reader point_reader, Point &point)
Helper function that loads point data.
void load_transient_rb_evaluation_data(TransientRBEvaluation &trans_rb_eval, RBEvaluationReaderNumber &rb_evaluation_reader, TransRBEvaluationReaderNumber &trans_rb_eval_reader, bool read_error_bound_data)
Load an RB evaluation from a corresponding reader structure in the buffer.
void load_rb_evaluation_data(RBEvaluation &rb_evaluation, RBEvaluationReaderNumber &rb_evaluation_reader, bool read_error_bound_data)
Load an RB evaluation from a corresponding reader structure in the buffer.
void load_rb_scm_evaluation_data(RBSCMEvaluation &rb_scm_eval, RBData::RBSCMEvaluation::Reader &rb_scm_eval_reader)
Load an SCM RB evaluation from a corresponding reader structure in the buffer.
void load_rb_eim_evaluation_data(RBEIMEvaluation &rb_eim_eval, RBEIMEvaluationReaderNumber &rb_eim_eval_reader)
Load an EIM RB evaluation from a corresponding reader structure in the buffer.
void load_parameter_ranges(RBParametrized &rb_evaluation, RBData::ParameterRanges::Reader ¶meter_ranges, RBData::DiscreteParameterList::Reader &discrete_parameters_list)
Load parameter ranges and discrete parameter values into an RBEvaluation from the corresponding struc...
The libMesh namespace provides an interface to certain functionality in the library.