This class serializes a TransientRBEvaluation object using the Cap'n Proto library.
More...
#include <rb_data_serialization.h>
This class serializes a TransientRBEvaluation object using the Cap'n Proto library.
Definition at line 99 of file rb_data_serialization.h.
◆ TransientRBEvaluationSerialization() [1/3]
libMesh::RBDataSerialization::TransientRBEvaluationSerialization::TransientRBEvaluationSerialization |
( |
TransientRBEvaluation & |
rb_eval | ) |
|
Initialize a new buffer using the structure from the Cap'n'Proto schema described in rb_data.capnp.
Definition at line 118 of file rb_data_serialization.C.
TransientRBEvaluation & _trans_rb_eval
The RBEvaluation object that will be written to disk.
◆ TransientRBEvaluationSerialization() [2/3]
Special functions.
- This class contains a reference, so it can't be default copy/move-assigned.
- The destructor is defaulted out of line.
◆ TransientRBEvaluationSerialization() [3/3]
◆ ~TransientRBEvaluationSerialization()
libMesh::RBDataSerialization::TransientRBEvaluationSerialization::~TransientRBEvaluationSerialization |
( |
| ) |
|
|
virtualdefault |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ write_to_file()
void libMesh::RBDataSerialization::TransientRBEvaluationSerialization::write_to_file |
( |
const std::string & |
path | ) |
|
Write the Cap'n'Proto buffer to disk.
Definition at line 125 of file rb_data_serialization.C.
References _trans_rb_eval, libMesh::RBDataSerialization::add_transient_rb_evaluation_data_to_builder(), libMesh::ParallelObject::comm(), and TIMPI::Communicator::rank().
Referenced by main().
127 LOG_SCOPE(
"write_to_file()",
"TransientRBEvaluationSerialization");
131 capnp::MallocMessageBuilder message;
133 #ifndef LIBMESH_USE_COMPLEX_NUMBERS 134 RBData::TransientRBEvaluationReal::Builder trans_rb_eval_builder =
135 message.initRoot<RBData::TransientRBEvaluationReal>();
136 RBData::RBEvaluationReal::Builder rb_eval_builder =
137 trans_rb_eval_builder.initRbEvaluation();
139 RBData::TransientRBEvaluationComplex::Builder trans_rb_eval_builder =
140 message.initRoot<RBData::TransientRBEvaluationComplex>();
141 RBData::RBEvaluationComplex::Builder rb_eval_builder =
142 trans_rb_eval_builder.initRbEvaluation();
147 trans_rb_eval_builder);
149 int fd = open(path.c_str(), O_WRONLY | O_CREAT | O_TRUNC, 0664);
150 libmesh_error_msg_if(!fd,
"Error opening a write-only file descriptor to " + path);
152 capnp::writeMessageToFd(fd, message);
154 int error = close(fd);
155 libmesh_error_msg_if(error,
"Error closing a write-only file descriptor to " + path);
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.
processor_id_type rank() const
const Parallel::Communicator & comm() const
TransientRBEvaluation & _trans_rb_eval
The RBEvaluation object that will be written to disk.
◆ _trans_rb_eval
The documentation for this class was generated from the following files: