diff --git a/dune.module b/dune.module index 2ee4c409a6a9319dd337a490fbb656b0fccc75f3..df08e2c5fbb61f4694dd562dbc272898b5648068 100644 --- a/dune.module +++ b/dune.module @@ -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 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 448285648e8450f3d3dda354ddfa2093268d6cc8..ef471d7d9bb70cba4ca7a51fa8ff854fe605ae07 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -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}") diff --git a/src/hdf5-writer.hh b/src/hdf5-writer.hh index e4e5358e5a78ef582cf9f9ca47c29a425d3f7296..02de2b278b542448491920e1244bf4726f778155 100644 --- a/src/hdf5-writer.hh +++ b/src/hdf5-writer.hh @@ -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_; diff --git a/src/hdf5/frictionalboundary-writer.cc b/src/hdf5/frictionalboundary-writer.cc index b98290dfc103da2ded9f903c1d04a5ea1cf128d2..e78b70f3f56bae4ed46d44b1d7aed9d4bc3554ea 100644 --- a/src/hdf5/frictionalboundary-writer.cc +++ b/src/hdf5/frictionalboundary-writer.cc @@ -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); diff --git a/src/hdf5/frictionalboundary-writer.hh b/src/hdf5/frictionalboundary-writer.hh index 772b82df1e0ea82cca3ae8a30d820480bd7c0aa6..705b7fb21baf88873032eefe793e1290df750515 100644 --- a/src/hdf5/frictionalboundary-writer.hh +++ b/src/hdf5/frictionalboundary-writer.hh @@ -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 diff --git a/src/hdf5/iteration-writer.cc b/src/hdf5/iteration-writer.cc index e48f091b970f2e4f657241d95717fca99e8e34b4..568c1cf5056e9fae81d43f594dc7b7704b4740e8 100644 --- a/src/hdf5/iteration-writer.cc +++ b/src/hdf5/iteration-writer.cc @@ -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"), diff --git a/src/hdf5/iteration-writer.hh b/src/hdf5/iteration-writer.hh index 377ae7494650c245d7c643ed5ee2c09e4f0e8bca..f3cb6e064ec3a4df7eaeb28869f39fe1bbe72f47 100644 --- a/src/hdf5/iteration-writer.hh +++ b/src/hdf5/iteration-writer.hh @@ -1,24 +1,24 @@ #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 diff --git a/src/hdf5/patchinfo-writer.cc b/src/hdf5/patchinfo-writer.cc index 253848c3aae2b70bd789da8c430cd1e924c8f6ed..2df15c5fdfd991d451341ab26616a16b2d3aade2 100644 --- a/src/hdf5/patchinfo-writer.cc +++ b/src/hdf5/patchinfo-writer.cc @@ -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); } diff --git a/src/hdf5/patchinfo-writer.hh b/src/hdf5/patchinfo-writer.hh index 23e988aa3c143b2191433559f5489a0322b512f5..82dea3646910d28bd401c2eb5d35ae7465d2e648 100644 --- a/src/hdf5/patchinfo-writer.hh +++ b/src/hdf5/patchinfo-writer.hh @@ -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 diff --git a/src/hdf5/restart-io.cc b/src/hdf5/restart-io.cc index c7fc74222443b8516a5c610297d48e41e6e61110..8fe3c59a504c41a4e0187019854c3a63c921120a 100644 --- a/src/hdf5/restart-io.cc +++ b/src/hdf5/restart-io.cc @@ -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), diff --git a/src/hdf5/restart-io.hh b/src/hdf5/restart-io.hh index c42b102279a443aefe4ad1dfc700385c2b82e29b..94b60d67f72e858cfdda918a8a452186fcbd4394 100644 --- a/src/hdf5/restart-io.hh +++ b/src/hdf5/restart-io.hh @@ -1,29 +1,29 @@ #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 diff --git a/src/hdf5/surface-writer.cc b/src/hdf5/surface-writer.cc index 51b9508a98970715173b3941aa87f7630d494d19..bdab1213b181fbe18a70657b0f8cc6eb28c4a949 100644 --- a/src/hdf5/surface-writer.cc +++ b/src/hdf5/surface-writer.cc @@ -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); diff --git a/src/hdf5/surface-writer.hh b/src/hdf5/surface-writer.hh index 7ac92a4c96cee5c7ed194a9414660c812ea4be92..e0ed4263edb289b8d91ca81d228f428ec7402957 100644 --- a/src/hdf5/surface-writer.hh +++ b/src/hdf5/surface-writer.hh @@ -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 diff --git a/src/hdf5/time-writer.cc b/src/hdf5/time-writer.cc index 1c1419461347592b48dcbdf57848abf4afcf5bcf..56e2c9325e89896454b6a60034ffddf11d449faa 100644 --- a/src/hdf5/time-writer.cc +++ b/src/hdf5/time-writer.cc @@ -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") {} diff --git a/src/hdf5/time-writer.hh b/src/hdf5/time-writer.hh index e8f7241790f0466487630cac1e209e2950d70de1..02c2c73bcd530bb2087bdd86d6756a3bee237cb9 100644 --- a/src/hdf5/time-writer.hh +++ b/src/hdf5/time-writer.hh @@ -1,17 +1,17 @@ #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 diff --git a/src/one-body-problem.cc b/src/one-body-problem.cc index e5da5529e02333b9c36d7f4d4b4e4320124ce473..2b7db539003313269c9e1b39dab5848e6349ba73 100644 --- a/src/one-body-problem.cc +++ b/src/one-body-problem.cc @@ -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);