* separately. In other words, there is no need to keep the original object
* from which this object could copy its information, but it might as well
* take over ("move") the data.
+ *
+ * Moving data also enables using tables that are located in shared memory
+ * between multiple MPI processes, rather than copying the data from
+ * shared memory into local memory whenever one creates an
+ * InterpolatedTensorProductGridData object. See the
+ * TableBase::replicate_across_communicator() function on how to share a
+ * data set between multiple processes.
*/
InterpolatedTensorProductGridData(
std::array<std::vector<double>, dim> &&coordinate_values,
* separately. In other words, there is no need to keep the original object
* from which this object could copy its information, but it might as well
* take over ("move") the data.
+ *
+ * Moving data also enables using tables that are located in shared memory
+ * between multiple MPI processes, rather than copying the data from
+ * shared memory into local memory whenever one creates an
+ * InterpolatedUniformGridData object. See the
+ * TableBase::replicate_across_communicator() function on how to share a
+ * data set between multiple processes.
*/
InterpolatedUniformGridData(
std::array<std::pair<double, double>, dim> &&interval_endpoints,
* process and possibly ghost elements that are mirrored from its owning
* process to other processes. Rather, the elements of the current object are
* simply copied to the other processes, and it is useful to think of this
- * operation as creating a set of `const` AlignedVector objects on all
+ * operation as creating a set of `const` TableBase objects on all
* processes that should not be changed any more after the replication
* operation, as this is the only way to ensure that the vectors remain the
* same on all processes. This is particularly true because of the use of