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"
40class TransientRBEvaluation;
47namespace 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);
237 RBData::ParameterRanges::Builder & parameter_ranges,
238 RBData::DiscreteParameterList::Builder & discrete_parameters_list);
243template <
typename RBEvaluationBuilderNumber>
245 RBEvaluationBuilderNumber & rb_eval_builder);
251template <
typename RBEvaluationBuilderNumber,
typename TransRBEvaluationBuilderNumber>
253 RBEvaluationBuilderNumber & rb_eval_builder,
254 TransRBEvaluationBuilderNumber & trans_rb_eval_builder);
260template <
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);
280 RBData::Point3D::Builder point_builder);
A Point defines a location in LIBMESH_DIM dimensional Real space.
This class serializes an RBEIMEvaluation object using the Cap'n Proto library.
RBEIMEvaluation & _rb_eim_eval
The RBEvaluation object that will be written to disk.
RBEIMEvaluationSerialization & operator=(const RBEIMEvaluationSerialization &)=delete
void write_to_file(const std::string &path, bool use_packing=false)
Write the Cap'n'Proto buffer to disk.
RBEIMEvaluationSerialization(RBEIMEvaluationSerialization &&)=default
Special functions.
RBEIMEvaluationSerialization(const RBEIMEvaluationSerialization &)=default
virtual ~RBEIMEvaluationSerialization()
This class serializes an RBEvaluation object using the Cap'n Proto library.
RBEvaluationSerialization & operator=(const RBEvaluationSerialization &)=delete
RBEvaluationSerialization(const RBEvaluationSerialization &)=default
void write_to_file(const std::string &path, bool use_packing=false)
Write the Cap'n'Proto buffer to disk.
RBEvaluationSerialization(RBEvaluationSerialization &&)=default
Special functions.
RBEvaluation & _rb_eval
The RBEvaluation object that will be written to disk.
virtual ~RBEvaluationSerialization()
This class serializes an RBSCMEvaluation object using the Cap'n Proto library.
RBSCMEvaluation & _rb_scm_eval
The RBEvaluation object that will be written to disk.
RBSCMEvaluationSerialization(RBSCMEvaluationSerialization &&)=default
Special functions.
RBSCMEvaluationSerialization & operator=(const RBSCMEvaluationSerialization &)=delete
virtual ~RBSCMEvaluationSerialization()
void write_to_file(const std::string &path, bool use_packing=false)
Write the Cap'n'Proto buffer to disk.
RBSCMEvaluationSerialization(const RBSCMEvaluationSerialization &)=default
This class serializes a TransientRBEvaluation object using the Cap'n Proto library.
TransientRBEvaluationSerialization(TransientRBEvaluationSerialization &&)=default
Special functions.
TransientRBEvaluationSerialization(const TransientRBEvaluationSerialization &)=default
void write_to_file(const std::string &path, bool use_packing=false)
Write the Cap'n'Proto buffer to disk.
TransientRBEvaluationSerialization & operator=(const TransientRBEvaluationSerialization &)=delete
virtual ~TransientRBEvaluationSerialization()
TransientRBEvaluation & _trans_rb_eval
The RBEvaluation object that will be written to 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 add_rb_eim_evaluation_data_to_builder(RBEIMEvaluation &rb_eim_eval, RBEIMEvaluationBuilderNumber &rb_eim_eval_builder)
Add data for an RBEIMEvaluation to the builder.
void add_point_to_builder(const Point &point, RBData::Point3D::Builder point_builder)
Helper function that adds point data.
void add_rb_evaluation_data_to_builder(RBEvaluation &rb_eval, RBEvaluationBuilderNumber &rb_eval_builder)
Add data for an RBEvaluation to the builder.
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.
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 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.
The libMesh namespace provides an interface to certain functionality in the library.