<ol>
+ <li> Changed: It is now possible to restore a parallel Triangulation
+ (and solutions) with a different number of processors it was saved with
+ using Triangulation::save() and Triangulation::load().
+ <br>
+ (Timo Heister, 2013/11/02)
+ </li>
+
<li> Added support for Windows: It is now possible again to use gcc on Windows
in order to compile the library. We support gcc-4.8.1 on Cygwin64 and MinGW-w64.
<br>
- (Matthias Maier, 2013/11/1)
+ (Matthias Maier, 2013/11/01)
</li>
<li> Changed: step-9, step-13 and step-14 have been converted to use the
/**
* Load the refinement information saved with save() back in. The mesh
- * must contain the same coarse mesh that was used in save(). You need
- * to load with the same number of CPUs that you saved with.
+ * must contain the same coarse mesh that was used in save(). You no
+ * longer need to load with the same number of CPUs that you saved with.
*/
void load(const char *filename);
std::string fname=std::string(filename)+".info";
std::ifstream f(fname.c_str());
f >> numcpus >> attached_size >> attached_count;
- if (numcpus != Utilities::MPI::n_mpi_processes (mpi_communicator))
- throw ExcInternalError();
}
attached_data_size = 0;
this,
&connectivity);
+ if (numcpus != Utilities::MPI::n_mpi_processes (mpi_communicator))
+ {
+ // We are changing the number of CPUs so we need to repartition.
+ // Note that p4est actually distributes the cells between the changed
+ // number of CPUs and so everything works without this call, but
+ // this command changes the distribution for some reason, so we
+ // will leave it in here.
+ dealii::internal::p4est::functions<dim>::
+ partition (parallel_forest,
+ /* prepare coarsening */ 1,
+ /* weight_callback */ NULL);
+
+
+ }
+
try
{
copy_local_forest_to_triangulation ();