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