Skip to content
Snippets Groups Projects
Commit 5b1fe7c8 authored by Elias Pipping's avatar Elias Pipping
Browse files

[Extern] HDF5: moved to namespace and new headers

Prior to this change, dune-tectonic was incompatible with
dune-fufem releases/2.4-2 and later, thus also releases/2.5-1

Prior to this change, dune-tectonic is incompatible with
dune-fufem releases/2.4-1 and earlier
parent e4bbeb5f
Branches
No related tags found
No related merge requests found
......@@ -3,6 +3,6 @@
################################
Module: dune-tectonic
Version: 2.4-1
Version: 2.5-1
Maintainer: elias.pipping@fu-berlin.de
Depends: dune-common dune-fufem dune-geometry dune-grid dune-istl dune-solvers dune-tnnmg
......@@ -35,8 +35,7 @@ foreach(_dim 2 3)
add_dune_ug_flags(${_sw_target})
add_dune_ug_flags(${_ugw_target})
set_property(TARGET ${_sw_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${HDF5_INCLUDE_DIR})
target_link_libraries(${_sw_target} ${HDF5_LIBRARIES})
add_dune_hdf5_flags(${_sw_target})
set_property(TARGET ${_sw_target} APPEND PROPERTY COMPILE_DEFINITIONS "MY_DIM=${_dim}")
set_property(TARGET ${_ugw_target} APPEND PROPERTY COMPILE_DEFINITIONS "MY_DIM=${_dim}")
......
......@@ -3,7 +3,7 @@
#include <dune/fufem/functions/basisgridfunction.hh>
#include <dune/fufem/geometry/convexpolyhedron.hh>
#include <dune/fufem/hdf5/hdf5file.hh>
#include <dune/fufem/hdf5/file.hh>
#include "hdf5/frictionalboundary-writer.hh"
#include "hdf5/iteration-writer.hh"
......@@ -21,7 +21,7 @@ class HDF5Writer {
using LocalVector = typename Vector::block_type;
public:
HDF5Writer(HDF5Grouplike &file, Vector const &vertexCoordinates,
HDF5Writer(HDF5::Grouplike &file, Vector const &vertexCoordinates,
VertexBasis const &vertexBasis, Patch const &surface,
Patch const &frictionalBoundary,
ConvexPolyhedron<LocalVector> const &weakPatch)
......@@ -58,7 +58,7 @@ class HDF5Writer {
}
private:
HDF5Grouplike &file_;
HDF5::Grouplike &file_;
IterationWriter iterationWriter_;
TimeWriter<ProgramState> timeWriter_;
......
......@@ -2,12 +2,14 @@
#include "config.h"
#endif
#include <dune/fufem/hdf5/singletonwriter.hh>
#include "frictionalboundary-writer.hh"
#include "restrict.hh"
template <class ProgramState, class GridView>
FrictionalBoundaryWriter<ProgramState, GridView>::FrictionalBoundaryWriter(
HDF5Grouplike &file, Vector const &vertexCoordinates,
HDF5::Grouplike &file, Vector const &vertexCoordinates,
Patch const &frictionalBoundary)
: group_(file, "frictionalBoundary"),
frictionalBoundary_(frictionalBoundary),
......@@ -23,7 +25,7 @@ FrictionalBoundaryWriter<ProgramState, GridView>::FrictionalBoundaryWriter(
frictionalBoundary.numVertices()) {
auto const frictionalBoundaryCoordinates =
restrictToSurface(vertexCoordinates, frictionalBoundary);
HDF5SingletonWriter<2> frictionalBoundaryCoordinateWriter(
HDF5::SingletonWriter<2> frictionalBoundaryCoordinateWriter(
group_, "coordinates", frictionalBoundaryCoordinates.size(),
Vector::block_type::dimension);
setEntry(frictionalBoundaryCoordinateWriter, frictionalBoundaryCoordinates);
......
......@@ -3,8 +3,7 @@
#include <dune/fufem/boundarypatch.hh>
#include <dune/fufem/hdf5/hdf5-sequence-io.hh>
#include <dune/fufem/hdf5/hdf5-singleton-writer.hh>
#include <dune/fufem/hdf5/sequenceio.hh>
template <class ProgramState, class GridView> class FrictionalBoundaryWriter {
using ScalarVector = typename ProgramState::ScalarVector;
......@@ -12,20 +11,20 @@ template <class ProgramState, class GridView> class FrictionalBoundaryWriter {
using Patch = BoundaryPatch<GridView>;
public:
FrictionalBoundaryWriter(HDF5Grouplike &file, Vector const &vertexCoordinates,
FrictionalBoundaryWriter(HDF5::Grouplike &file, Vector const &vertexCoordinates,
Patch const &frictionalBoundary);
template <class Friction>
void write(ProgramState const &programState, Friction &friction);
private:
HDF5Group group_;
HDF5::Group group_;
Patch const &frictionalBoundary_;
HDF5SequenceIO<2> frictionalBoundaryDisplacementWriter_;
HDF5SequenceIO<2> frictionalBoundaryVelocityWriter_;
HDF5SequenceIO<1> frictionalBoundaryStateWriter_;
HDF5SequenceIO<1> frictionalBoundaryCoefficientWriter_;
HDF5::SequenceIO<2> frictionalBoundaryDisplacementWriter_;
HDF5::SequenceIO<2> frictionalBoundaryVelocityWriter_;
HDF5::SequenceIO<1> frictionalBoundaryStateWriter_;
HDF5::SequenceIO<1> frictionalBoundaryCoefficientWriter_;
};
#endif
......@@ -4,7 +4,7 @@
#include "iteration-writer.hh"
IterationWriter::IterationWriter(HDF5Grouplike &file)
IterationWriter::IterationWriter(HDF5::Grouplike &file)
: group_(file, "iterations"),
fpiSubGroup_(group_, "fixedPoint"),
mgSubGroup_(group_, "multiGrid"),
......
#ifndef SRC_HDF_ITERATION_WRITER_HH
#define SRC_HDF_ITERATION_WRITER_HH
#include <dune/fufem/hdf5/hdf5-sequence-io.hh>
#include <dune/fufem/hdf5/sequenceio.hh>
#include "../time-stepping/adaptivetimestepper.hh"
class IterationWriter {
public:
IterationWriter(HDF5Grouplike &file);
IterationWriter(HDF5::Grouplike &file);
void write(size_t timeStep, IterationRegister const &iterationCount);
private:
HDF5Group group_;
HDF5Group fpiSubGroup_;
HDF5Group mgSubGroup_;
HDF5::Group group_;
HDF5::Group fpiSubGroup_;
HDF5::Group mgSubGroup_;
HDF5SequenceIO<0, size_t> finalMGIterationWriter_;
HDF5SequenceIO<0, size_t> finalFPIIterationWriter_;
HDF5SequenceIO<0, size_t> totalMGIterationWriter_;
HDF5SequenceIO<0, size_t> totalFPIIterationWriter_;
HDF5::SequenceIO<0, size_t> finalMGIterationWriter_;
HDF5::SequenceIO<0, size_t> finalFPIIterationWriter_;
HDF5::SequenceIO<0, size_t> totalMGIterationWriter_;
HDF5::SequenceIO<0, size_t> totalFPIIterationWriter_;
};
#endif
......@@ -3,6 +3,7 @@
#endif
#include <dune/fufem/grid/hierarchic-approximation.hh>
#include <dune/fufem/hdf5/singletonwriter.hh>
#include "patchinfo-writer.hh"
......@@ -65,7 +66,7 @@ GridEvaluator<LocalVector, GridView>::evaluate(Function const &f) const {
template <class ProgramState, class VertexBasis, class GridView>
PatchInfoWriter<ProgramState, VertexBasis, GridView>::PatchInfoWriter(
HDF5Grouplike &file, VertexBasis const &vertexBasis,
HDF5::Grouplike &file, VertexBasis const &vertexBasis,
Patch const &frictionalBoundary,
ConvexPolyhedron<LocalVector> const &weakPatch)
: group_(file, "weakPatchGrid"),
......@@ -74,11 +75,11 @@ PatchInfoWriter<ProgramState, VertexBasis, GridView>::PatchInfoWriter(
weakPatchGridVelocityWriter_(
group_, "velocity", gridEvaluator_.xCoordinates.size(),
gridEvaluator_.zCoordinates.size(), Vector::block_type::dimension) {
HDF5SingletonWriter<1> weakPatchGridXCoordinateWriter(
HDF5::SingletonWriter<1> weakPatchGridXCoordinateWriter(
group_, "xCoordinates", gridEvaluator_.xCoordinates.size());
setEntry(weakPatchGridXCoordinateWriter, gridEvaluator_.xCoordinates);
HDF5SingletonWriter<1> weakPatchGridZCoordinateWriter(
HDF5::SingletonWriter<1> weakPatchGridZCoordinateWriter(
group_, "zCoordinates", gridEvaluator_.zCoordinates.size());
setEntry(weakPatchGridZCoordinateWriter, gridEvaluator_.zCoordinates);
}
......
......@@ -6,8 +6,7 @@
#include <dune/fufem/boundarypatch.hh>
#include <dune/fufem/functions/basisgridfunction.hh>
#include <dune/fufem/geometry/convexpolyhedron.hh>
#include <dune/fufem/hdf5/hdf5-sequence-io.hh>
#include <dune/fufem/hdf5/hdf5-singleton-writer.hh>
#include <dune/fufem/hdf5/sequenceio.hh>
#include "../one-body-problem-data/mygeometry.hh"
......@@ -35,18 +34,18 @@ class PatchInfoWriter {
using Patch = BoundaryPatch<GridView>;
public:
PatchInfoWriter(HDF5Grouplike &file, VertexBasis const &vertexBasis,
PatchInfoWriter(HDF5::Grouplike &file, VertexBasis const &vertexBasis,
Patch const &frictionalBoundary,
ConvexPolyhedron<LocalVector> const &weakPatch);
void write(ProgramState const &programState);
private:
HDF5Group group_;
HDF5::Group group_;
VertexBasis const &vertexBasis_;
GridEvaluator<LocalVector, GridView> const gridEvaluator_;
HDF5SequenceIO<3> weakPatchGridVelocityWriter_;
HDF5::SequenceIO<3> weakPatchGridVelocityWriter_;
};
#endif
......@@ -5,7 +5,7 @@
#include "restart-io.hh"
template <class ProgramState>
RestartIO<ProgramState>::RestartIO(HDF5Grouplike &file, size_t vertexCount)
RestartIO<ProgramState>::RestartIO(HDF5::Grouplike &file, size_t vertexCount)
: group_(file, "restarts"),
displacementWriter_(group_, "displacement", vertexCount,
Vector::block_type::dimension),
......
#ifndef SRC_HDF_RESTART_HDF_HH
#define SRC_HDF_RESTART_HDF_HH
#include <dune/fufem/hdf5/hdf5file.hh>
#include <dune/fufem/hdf5/hdf5-sequence-io.hh>
#include <dune/fufem/hdf5/file.hh>
#include <dune/fufem/hdf5/sequenceio.hh>
template <class ProgramState> class RestartIO {
using ScalarVector = typename ProgramState::ScalarVector;
using Vector = typename ProgramState::Vector;
public:
RestartIO(HDF5Grouplike &file, size_t vertexCount);
RestartIO(HDF5::Grouplike &file, size_t vertexCount);
void write(ProgramState const &programState);
void read(size_t timeStep, ProgramState &programState);
private:
HDF5Group group_;
HDF5::Group group_;
HDF5SequenceIO<2> displacementWriter_;
HDF5SequenceIO<2> velocityWriter_;
HDF5SequenceIO<2> accelerationWriter_;
HDF5SequenceIO<1> stateWriter_;
HDF5SequenceIO<1> weightedNormalStressWriter_;
HDF5SequenceIO<0> relativeTimeWriter_;
HDF5SequenceIO<0> relativeTimeIncrementWriter_;
HDF5::SequenceIO<2> displacementWriter_;
HDF5::SequenceIO<2> velocityWriter_;
HDF5::SequenceIO<2> accelerationWriter_;
HDF5::SequenceIO<1> stateWriter_;
HDF5::SequenceIO<1> weightedNormalStressWriter_;
HDF5::SequenceIO<0> relativeTimeWriter_;
HDF5::SequenceIO<0> relativeTimeIncrementWriter_;
};
#endif
......@@ -7,7 +7,7 @@
template <class ProgramState, class GridView>
SurfaceWriter<ProgramState, GridView>::SurfaceWriter(
HDF5Grouplike &file, Vector const &vertexCoordinates, Patch const &surface)
HDF5::Grouplike &file, Vector const &vertexCoordinates, Patch const &surface)
: group_(file, "surface"),
surface_(surface),
surfaceDisplacementWriter_(group_, "displacement", surface.numVertices(),
......@@ -15,7 +15,7 @@ SurfaceWriter<ProgramState, GridView>::SurfaceWriter(
surfaceVelocityWriter_(group_, "velocity", surface.numVertices(),
Vector::block_type::dimension) {
auto const surfaceCoordinates = restrictToSurface(vertexCoordinates, surface);
HDF5SingletonWriter<2> surfaceCoordinateWriter(group_, "coordinates",
HDF5::SingletonWriter<2> surfaceCoordinateWriter(group_, "coordinates",
surfaceCoordinates.size(),
Vector::block_type::dimension);
setEntry(surfaceCoordinateWriter, surfaceCoordinates);
......
......@@ -3,25 +3,25 @@
#include <dune/fufem/boundarypatch.hh>
#include <dune/fufem/hdf5/hdf5-sequence-io.hh>
#include <dune/fufem/hdf5/hdf5-singleton-writer.hh>
#include <dune/fufem/hdf5/sequenceio.hh>
#include <dune/fufem/hdf5/singletonwriter.hh>
template <class ProgramState, class GridView> class SurfaceWriter {
using Vector = typename ProgramState::Vector;
using Patch = BoundaryPatch<GridView>;
public:
SurfaceWriter(HDF5Grouplike &file, Vector const &vertexCoordinates,
SurfaceWriter(HDF5::Grouplike &file, Vector const &vertexCoordinates,
Patch const &surface);
void write(ProgramState const &programState);
private:
HDF5Group group_;
HDF5::Group group_;
Patch const &surface_;
HDF5SequenceIO<2> surfaceDisplacementWriter_;
HDF5SequenceIO<2> surfaceVelocityWriter_;
HDF5::SequenceIO<2> surfaceDisplacementWriter_;
HDF5::SequenceIO<2> surfaceVelocityWriter_;
};
#endif
......@@ -5,7 +5,7 @@
#include "time-writer.hh"
template <class ProgramState>
TimeWriter<ProgramState>::TimeWriter(HDF5Grouplike &file)
TimeWriter<ProgramState>::TimeWriter(HDF5::Grouplike &file)
: file_(file),
relativeTimeWriter_(file_, "relativeTime"),
relativeTimeIncrementWriter_(file_, "relativeTimeIncrement") {}
......
#ifndef SRC_HDF_TIME_WRITER_HH
#define SRC_HDF_TIME_WRITER_HH
#include <dune/fufem/hdf5/hdf5file.hh>
#include <dune/fufem/hdf5/hdf5-sequence-io.hh>
#include <dune/fufem/hdf5/file.hh>
#include <dune/fufem/hdf5/sequenceio.hh>
template <class ProgramState> class TimeWriter {
public:
TimeWriter(HDF5Grouplike &file);
TimeWriter(HDF5::Grouplike &file);
void write(ProgramState const &programState);
private:
HDF5Grouplike &file_;
HDF5SequenceIO<0> relativeTimeWriter_;
HDF5SequenceIO<0> relativeTimeIncrementWriter_;
HDF5::Grouplike &file_;
HDF5::SequenceIO<0> relativeTimeWriter_;
HDF5::SequenceIO<0> relativeTimeIncrementWriter_;
};
#endif
......@@ -35,7 +35,7 @@
#include <dune/tectonic/geocoordinate.hh>
#include <dune/tectonic/myblockproblem.hh>
#include <dune/tectonic/globalfriction.hh>
#include <dune/fufem/hdf5/hdf5file.hh>
#include <dune/fufem/hdf5/file.hh>
#include "assemblers.hh"
#include "diameter.hh"
......@@ -174,7 +174,7 @@ int main(int argc, char *argv[]) {
auto const restartSpacing = parset.get<size_t>("restarts.spacing");
auto const restartTemplate = parset.get<std::string>("restarts.template");
HDF5File ioFile("output.h5");
HDF5::File ioFile("output.h5");
if (firstRestart != 0)
RestartIO<ProgramState<Vector, ScalarVector>>(ioFile, leafVertexCount)
.read(firstRestart, programState);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment