11 #include "IO/Observer/ArrayComponentId.hpp"
12 #include "IO/Observer/Tags.hpp"
14 #include "Parallel/Invoke.hpp"
15 #include "Parallel/NodeLock.hpp"
21 namespace ThreadedActions {
33 typename ParallelComponent,
typename DbTagsList,
typename Metavariables,
36 static void apply(db::DataBox<DbTagsList>& box,
45 db::mutate<Tags::H5FileLock>(
49 file_lock = in_file_lock;
56 const auto& file_prefix = Parallel::get<Tags::VolumeFileName>(cache);
58 file_prefix + std::to_string(sys::my_node()) +
".h5",
true);
59 const size_t version_number = 0;
60 auto& output_dataset =
62 output_dataset.
append(data_row);
Definition: ElementReceiveInterpPoints.hpp:15
ObjectType & try_insert(const std::string &path, Args &&... args) noexcept
Inserts an object like insert if it does not exist, returns the object if it does.
Definition: File.hpp:269
Represents a multicolumn dat file inside an HDF5 file.
Definition: Dat.hpp:42
A typesafe wrapper for a lock for synchronization of shared resources on a given node,...
Definition: NodeLock.hpp:25
HIDDEN_SYMBOLS void append(const std::vector< double > &data)
Definition: Dat.cpp:155
void close_current_object() const noexcept
Definition: File.hpp:151
Append data to an h5::Dat subfile of Tags::VolumeFileName.
Definition: WriteSimpleData.hpp:31
gsl::not_null< T * > make_not_null(T *ptr) noexcept
Construct a not_null from a pointer. Often this will be done as an implicit conversion,...
Definition: Gsl.hpp:880
typename Requires_detail::requires_impl< B >::template_error_type_failed_to_meet_requirements_on_template_parameters Requires
Express requirements on the template parameters of a function or class, replaces std::enable_if_t
Definition: Requires.hpp:67
Require a pointer to not be a nullptr
Definition: ReadSpecThirdOrderPiecewisePolynomial.hpp:13