Hi Michael,
> template. This seems to be again confirmed when make reaches the
> grid_refinement class because it fails with template related errors (I
> presume exactly what you saw):
>
> source/grid/grid_refinement.cc:508: error: non-template used as template
> [...]
Yes. The attached patch takes care of this.
> trilinos library so maybe I can get some answers from them. Pretty
> much all compilers on the cluster are 3.3.3 but I see that they were
> built in 2006 so hopefully they have moved forward and maybe these
> issues will convince the cluster admin to get a newer version of the
> compilers.
That would definitely make some sense, though I think we have the ambition
to support compilers back to gcc 3.2.x or so at least. I have to admit
that our usual testing process should have caught these issues with gcc
3.3 but that we haven't gotten the script that displays test results for
different compilers (and PETSc versions, for that matter) back online
after the move of some of our stuff to commercially hosted web space. As a
result, we essentially only tested with those compilers that we use daily,
which is gcc 4.x. I hope we can avoid the sort of problems we've had with
6.2.0 -- all compatibility problems with different compilers and PETSc
versions -- in the future if we get those scripts running again.
> On the other cluster and the Trilinos front I can confirm that when I
> compiled --with-mpi-incdir=/... ,--with-mpi-libdir=/... and
> --enable-mpi, the mpi headers were installed correctly and deal.II
> compiled first time. The --enable-mpi switch seems to be needed even
> if you give mpi lib and inc directories.
Yes: --enable-mpi switches on MPI support, and the other options only
override the default locations in which ./configure looks for MPI support
stuff.
Best
W.
-------------------------------------------------------------------------
Wolfgang Bangerth email: [email protected]
www: http://www.math.tamu.edu/~bangerth/
Index: deal.II/source/grid/grid_refinement.cc
===================================================================
--- deal.II/source/grid/grid_refinement.cc (revision 18933)
+++ deal.II/source/grid/grid_refinement.cc (revision 18934)
@@ -503,28 +503,32 @@
template
void
GridRefinement::
-refine (Triangulation<deal_II_dimension> &,
+refine<deal_II_dimension,Vector<float>,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
const Vector<float> &,
const double);
template
void
GridRefinement::
-refine (Triangulation<deal_II_dimension> &,
+refine<deal_II_dimension,Vector<double>,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
const Vector<double> &,
const double);
template
void
GridRefinement::
-coarsen (Triangulation<deal_II_dimension> &,
+coarsen<deal_II_dimension,Vector<float>,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
const Vector<float> &,
const double);
template
void
GridRefinement::
-coarsen (Triangulation<deal_II_dimension> &,
+coarsen<deal_II_dimension,Vector<double>,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
const Vector<double> &,
const double);
@@ -532,122 +536,182 @@
template
void
GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension> &,
- const Vector<double> &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,Vector<double>,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const Vector<double> &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension> &,
- const Vector<float> &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,Vector<float>,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
+ const Vector<float> &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension> &,
- const Vector<double> &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,Vector<double>,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
+ const Vector<double> &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension> &,
- const Vector<float> &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,Vector<float>,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
+ const Vector<float> &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension> &,
- const Vector<float> &);
+refine_and_coarsen_optimize<deal_II_dimension,Vector<float>,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const Vector<float> &);
template
void
GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension> &,
- const Vector<double> &);
+refine_and_coarsen_optimize<deal_II_dimension,Vector<double>,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const Vector<double> &);
#ifdef DEAL_II_USE_PETSC
template
void
GridRefinement::
-refine (Triangulation<deal_II_dimension> &,
- const PETScWrappers::Vector &,
- const double);
+refine<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
+ const PETScWrappers::Vector &,
+ const double);
template
void
GridRefinement::
-coarsen (Triangulation<deal_II_dimension> &,
- const PETScWrappers::Vector &,
- const double);
+coarsen<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const PETScWrappers::Vector &,
+ const double);
template
void
GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension> &,
- const PETScWrappers::Vector &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const PETScWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension> &,
- const PETScWrappers::Vector &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const PETScWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension> &,
- const PETScWrappers::Vector &);
+refine_and_coarsen_optimize<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const PETScWrappers::Vector &);
#endif
-//<<<<<<< .working
+#ifdef DEAL_II_USE_TRILINOS
+template
+void
+GridRefinement::
+refine<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &,
+ const double);
+template
+void
+GridRefinement::
+coarsen<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &,
+ const double);
+
+template
+void
+GridRefinement::
+refine_and_coarsen_fixed_number<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
+
+template
+void
+GridRefinement::
+refine_and_coarsen_fixed_fraction<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
+
+template
+void
+GridRefinement::
+refine_and_coarsen_optimize<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &);
+#endif
+
+
+
#if deal_II_dimension != 3
// explicit instantiations
template
void
GridRefinement::
-refine (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+refine<deal_II_dimension,Vector<float>,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
const Vector<float> &,
const double);
template
void
GridRefinement::
-refine (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+refine<deal_II_dimension,Vector<double>,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
const Vector<double> &,
const double);
template
void
GridRefinement::
-coarsen (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+coarsen<deal_II_dimension,Vector<float>,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
const Vector<float> &,
const double);
template
void
GridRefinement::
-coarsen (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+coarsen<deal_II_dimension,Vector<double>,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
const Vector<double> &,
const double);
@@ -655,136 +719,151 @@
template
void
GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
- const Vector<double> &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,Vector<double>,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const Vector<double> &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
- const Vector<float> &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,Vector<float>,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const Vector<float> &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
- const Vector<double> &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,Vector<double>,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const Vector<double> &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
- const Vector<float> &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,Vector<float>,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const Vector<float> &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
- const Vector<float> &);
+refine_and_coarsen_optimize<deal_II_dimension,Vector<float>,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const Vector<float> &);
template
void
GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
- const Vector<double> &);
+refine_and_coarsen_optimize<deal_II_dimension,Vector<double>,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const Vector<double> &);
#ifdef DEAL_II_USE_PETSC
template
void
GridRefinement::
-refine (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
- const PETScWrappers::Vector &,
- const double);
+refine<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const PETScWrappers::Vector &,
+ const double);
template
void
GridRefinement::
-coarsen (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
- const PETScWrappers::Vector &,
- const double);
+coarsen<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const PETScWrappers::Vector &,
+ const double);
template
void
GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
- const PETScWrappers::Vector &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const PETScWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
- const PETScWrappers::Vector &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const PETScWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
- const PETScWrappers::Vector &);
+refine_and_coarsen_optimize<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const PETScWrappers::Vector &);
#endif
-#endif
-
-//=======
-
#ifdef DEAL_II_USE_TRILINOS
template
void
GridRefinement::
-refine (Triangulation<deal_II_dimension> &,
- const TrilinosWrappers::Vector &,
- const double);
+refine<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const TrilinosWrappers::Vector &,
+ const double);
template
void
GridRefinement::
-coarsen (Triangulation<deal_II_dimension> &,
- const TrilinosWrappers::Vector &,
- const double);
+coarsen<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const TrilinosWrappers::Vector &,
+ const double);
template
void
GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension> &,
- const TrilinosWrappers::Vector &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const TrilinosWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension> &,
- const TrilinosWrappers::Vector &,
- const double,
- const double,
- const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const TrilinosWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
template
void
GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension> &,
- const TrilinosWrappers::Vector &);
+refine_and_coarsen_optimize<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const TrilinosWrappers::Vector &);
#endif
+
+#endif
+
DEAL_II_NAMESPACE_CLOSE
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii