46 const Eigen::VectorXd &
values()
const;
Interface for all interprocess communication classes.
Eigen::VectorXd _gradients
Buffer for serialized gradients of stamples.
static SerializedStamples serialize(const cplscheme::CouplingData &data)
Serializes a given CouplingData into SerializedStamples.
int _timeSteps
number of timesteps stored in SerializedStamples
void allocate(const cplscheme::CouplingData &data)
void deserializeInto(precice::span< const double > timeStamps, cplscheme::CouplingData &data)
Deserialize data from this SerializedStamples into provided CouplingData.
void deserialize(precice::span< const double > timeStamps, cplscheme::CouplingData &data) const
Deserialize _values and (if required by data) _gradients into timeStepsStorage of data....
static SerializedStamples empty(int nTimeSteps, const cplscheme::CouplingData &data)
Create SerializedStamples with allocated buffers according to size of CouplingData.
const Eigen::VectorXd & gradients() const
const reference to serialized gradients. Used for sending serialized gradients.
void serializeValues(const cplscheme::CouplingData &data)
Serialize values from timeStepsStorage of data into _values.
SerializedStamples()=default
Eigen::VectorXd _values
Buffer for serialized values of stamples.
void serializeGradients(const cplscheme::CouplingData &data)
Serialize gradients from timeStepsStorage of data into _gradients.
int nTimeSteps() const
Returns number of timeSteps.
const Eigen::VectorXd & values() const
const reference to serialized values. Used for sending serialized values.
A C++ 11 implementation of the non-owning C++20 std::span type.
contains serialization logic
contains the data communication abstraction layer.