Forked from
agnumpde / dune-tectonic
11 commits ahead of the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
restart-io.cc 2.17 KiB
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "restart-io.hh"
template <class ProgramState>
RestartIO<ProgramState>::RestartIO(HDF5::Grouplike &group, size_t vertexCount)
: displacementWriter_(group, "displacement", vertexCount,
Vector::block_type::dimension),
velocityWriter_(group, "velocity", vertexCount,
Vector::block_type::dimension),
accelerationWriter_(group, "acceleration", vertexCount,
Vector::block_type::dimension),
stateWriter_(group, "state", vertexCount),
weightedNormalStressWriter_(group, "weightedNormalStress", vertexCount),
relativeTimeWriter_(group, "relativeTime"),
relativeTimeIncrementWriter_(group, "relativeTimeIncrement") {}
template <class ProgramState>
void RestartIO<ProgramState>::write(ProgramState const &programState) {
// TODO
addEntry(displacementWriter_, programState.timeStep, programState.u[0]);
addEntry(velocityWriter_, programState.timeStep, programState.v[0]);
addEntry(accelerationWriter_, programState.timeStep, programState.a[0]);
addEntry(stateWriter_, programState.timeStep, programState.alpha[0]);
addEntry(weightedNormalStressWriter_, programState.timeStep,
programState.weightedNormalStress[0]);
addEntry(relativeTimeWriter_, programState.timeStep,
programState.relativeTime);
addEntry(relativeTimeIncrementWriter_, programState.timeStep,
programState.relativeTau);
}
template <class ProgramState>
void RestartIO<ProgramState>::read(size_t timeStep,
ProgramState &programState) {
programState.timeStep = timeStep;
// TODO
readEntry(displacementWriter_, timeStep, programState.u[0]);
readEntry(velocityWriter_, timeStep, programState.v[0]);
readEntry(accelerationWriter_, timeStep, programState.a[0]);
readEntry(stateWriter_, timeStep, programState.alpha[0]);
readEntry(weightedNormalStressWriter_, timeStep,
programState.weightedNormalStress[0]);
readEntry(relativeTimeWriter_, timeStep, programState.relativeTime);
readEntry(relativeTimeIncrementWriter_, timeStep, programState.relativeTau);
}
#include "restart-io_tmpl.cc"