Commit 17f3607f authored by Bernd Flemisch's avatar Bernd Flemisch
Browse files

[restart] revert usage of BackupRestoreFacility

The BackupRestoreFacility does not work with ALUGrid 1.52. It also does
not work with dune-alugrid in combination with Dumux due to
technicalities that are documented in FS#237.

Therefore, the restart with adaptive grids currently does only work with
ALUGrid 1.52, not with dune-alugrid.

Reviewed and approved by natalies.



git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@13495 2fb0f335-1f38-0410-981e-8018bf24f1b0
parent fc6dd0f1
...@@ -70,13 +70,21 @@ struct GridRestartCheck<Dune::SGrid<dim, dim>, dim> ...@@ -70,13 +70,21 @@ struct GridRestartCheck<Dune::SGrid<dim, dim>, dim>
template<int dim> template<int dim>
struct GridRestartCheck<Dune::ALUGrid<dim, dim, Dune::cube, Dune::nonconforming>, dim> struct GridRestartCheck<Dune::ALUGrid<dim, dim, Dune::cube, Dune::nonconforming>, dim>
{ {
#if HAVE_ALUGRID
static const bool allowRestart = true; static const bool allowRestart = true;
#else
static const bool allowRestart = false;
#endif
}; };
template<int dim> template<int dim>
struct GridRestartCheck<Dune::ALUGrid<dim, dim, Dune::simplex, Dune::conforming>, dim> struct GridRestartCheck<Dune::ALUGrid<dim, dim, Dune::simplex, Dune::conforming>, dim>
{ {
#if HAVE_ALUGRID
static const bool allowRestart = true; static const bool allowRestart = true;
#else
static const bool allowRestart = false;
#endif
}; };
#endif #endif
...@@ -110,13 +118,18 @@ public: ...@@ -110,13 +118,18 @@ public:
template<class Problem> template<class Problem>
static void serializeGrid(Problem& problem) static void serializeGrid(Problem& problem)
{ {
DUNE_THROW(Dune::NotImplemented,
"Adaptive restart functionality currently only works for ALUGrid (not dune-alugrid).");
} }
/*! /*!
* \brief Restart the grid from the file. * \brief Restart the grid from the file.
*/ */
template<class Problem> template<class Problem>
static void restartGrid(Problem& problem) static void restartGrid(Problem& problem)
{ {
DUNE_THROW(Dune::NotImplemented,
"Adaptive restart functionality currently only works for ALUGrid (not dune-alugrid).");
} }
}; };
...@@ -133,18 +146,26 @@ public: ...@@ -133,18 +146,26 @@ public:
template<class Problem> template<class Problem>
static void serializeGrid(Problem& problem) static void serializeGrid(Problem& problem)
{ {
Dune::BackupRestoreFacility<Grid>::backup( std::string gridName = restartGridFileName_(problem);
problem.grid(), restartGridFileName_(problem)); double time = problem.timeManager().time();
problem.grid().template writeGrid<Dune::xdr> (gridName, time);
// TODO use the BackupRestoreFacility with dune-alugrid, see FS#237
//Dune::BackupRestoreFacility<Grid>::backup(
// problem.grid(), restartGridFileName_(problem));
} }
/*! /*!
* \brief Restart the grid from the file. * \brief Restart the grid from the file.
*/ */
template<class Problem> template<class Problem>
static void restartGrid(Problem& problem) static void restartGrid(Problem& problem)
{ {
problem.setGrid(*Dune::BackupRestoreFacility<Grid>::restore( std::string gridName = restartGridFileName_(problem);
restartGridFileName_(problem))); double time = problem.timeManager().time();
problem.grid().template readGrid<Dune::xdr> (gridName, time);
// TODO use the BackupRestoreFacility with dune-alugrid, see FS#237
//problem.setGrid(*Dune::BackupRestoreFacility<Grid>::restore(
// restartGridFileName_(problem)));
} }
private: private:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment