libMesh
Public Member Functions | Private Attributes | List of all members
libMesh::RBDataSerialization::RBSCMEvaluationSerialization Class Reference

This class serializes an RBSCMEvaluation object using the Cap'n Proto library. More...

#include <rb_data_serialization.h>

Public Member Functions

 RBSCMEvaluationSerialization (RBSCMEvaluation &rb_eval)
 Initialize a new buffer using the structure from the Cap'n'Proto schema described in rb_data.capnp. More...
 
virtual ~RBSCMEvaluationSerialization ()
 Destructor. More...
 
void write_to_file (const std::string &path)
 Write the Cap'n'Proto buffer to disk. More...
 

Private Attributes

RBSCMEvaluation_rb_scm_eval
 The RBEvaluation object that will be written to disk. More...
 

Detailed Description

This class serializes an RBSCMEvaluation object using the Cap'n Proto library.

Definition at line 161 of file rb_data_serialization.h.

Constructor & Destructor Documentation

◆ RBSCMEvaluationSerialization()

libMesh::RBDataSerialization::RBSCMEvaluationSerialization::RBSCMEvaluationSerialization ( RBSCMEvaluation rb_eval)

Initialize a new buffer using the structure from the Cap'n'Proto schema described in rb_data.capnp.

Definition at line 221 of file rb_data_serialization.C.

222  :
223  _rb_scm_eval(rb_scm_eval)
224 {
225 }

◆ ~RBSCMEvaluationSerialization()

libMesh::RBDataSerialization::RBSCMEvaluationSerialization::~RBSCMEvaluationSerialization ( )
virtual

Destructor.

Definition at line 227 of file rb_data_serialization.C.

228 {
229 }

Member Function Documentation

◆ write_to_file()

void libMesh::RBDataSerialization::RBSCMEvaluationSerialization::write_to_file ( const std::string &  path)

Write the Cap'n'Proto buffer to disk.

Definition at line 231 of file rb_data_serialization.C.

232 {
233  LOG_SCOPE("write_to_file()", "RBSCMEvaluationSerialization");
234 
235  if (_rb_scm_eval.comm().rank() == 0)
236  {
237  capnp::MallocMessageBuilder message;
238 
239  RBData::RBSCMEvaluation::Builder rb_scm_eval_builder =
240  message.initRoot<RBData::RBSCMEvaluation>();
241 
243 
244  int fd = open(path.c_str(), O_WRONLY | O_CREAT | O_TRUNC, 0664);
245  if (!fd)
246  libmesh_error_msg("Error opening a write-only file descriptor to " + path);
247 
248  capnp::writeMessageToFd(fd, message);
249 
250  int error = close(fd);
251  if (error)
252  libmesh_error_msg("Error closing a write-only file descriptor to " + path);
253  }
254 }

References _rb_scm_eval, libMesh::RBDataSerialization::add_rb_scm_evaluation_data_to_builder(), and libMesh::ParallelObject::comm().

Referenced by main().

Member Data Documentation

◆ _rb_scm_eval

RBSCMEvaluation& libMesh::RBDataSerialization::RBSCMEvaluationSerialization::_rb_scm_eval
private

The RBEvaluation object that will be written to disk.

Definition at line 186 of file rb_data_serialization.h.

Referenced by write_to_file().


The documentation for this class was generated from the following files:
libMesh::ParallelObject::comm
const Parallel::Communicator & comm() const
Definition: parallel_object.h:94
libMesh::RBDataSerialization::add_rb_scm_evaluation_data_to_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.
Definition: rb_data_serialization.C:666
libMesh::RBDataSerialization::RBSCMEvaluationSerialization::_rb_scm_eval
RBSCMEvaluation & _rb_scm_eval
The RBEvaluation object that will be written to disk.
Definition: rb_data_serialization.h:186