Hello Wolfgang:
I am definitely getting the output twice and I applied the patch and reran "mpiexec -np 2 ./step-17" on my machine. The first part of the error follows this message, the OpenMPI package in Ubuntu 8.10 is version 1.3.2-3. I did some fiddling, and it seems both MPI processes are being given the same ID of 0. I found that in the utilities.cc code the #define DEAL_II_COMPILER_SUPPORTS_MPI not existing would default to functions that return 1 for /get_n_mpi_processes()/ and 0 for /get_this_mpi_process() /which is probably what happens, thus I have two questions:

  1. Am I compiling deal.II correct? I used "/./configure
     --with-petsc=/usr/lib/petscdir/3.0.0
     --with-petsc-arch=linux-gnu-c-opt/" and then "/make debug
     optimized/" and the configure script gives this output:
     /---------------- configuring additional libs ----------------
     checking for PETSc library directory... /usr/lib/petscdir/3.0.0
     checking for PETSc version... 3.0.0
     checking for PETSc library architecture... linux-gnu-c-opt
     checking for PETSc libmpiuni library...

     /I also checked in the makefile, in "/common/Make.global_options/"
     and I do not see the compilers specified as "mpiCC" etc
  2. In utilities.cc, do you think it would be a better idea to throw
     an error if the user's code uses PETSC and PETSC is not available?

Thanks.

Nasser

nas...@nasser-laptop:~/deal.II/examples/step-17$ mpiexec -np 2 ./step-17
Cycle 0:
  Number of active cells:       64
Cycle 0:
  Number of active cells:       64
--------------------------------------------------------
An error occurred in line <163> of file <source/petsc_parallel_vector.cc> in function virtual void dealii::PETScWrappers::MPI::Vector::create_vector(unsigned int, unsigned int)
The violated condition was:
   size() == n
The name and call sequence of the exception was:
   ExcDimensionMismatch (size(), n)
Additional Information:
Dimension 324 not equal to 162


Wolfgang Bangerth wrote:
---BEGIN---METHOD B---

nas...@nasser-laptop:~/deal.II/examples/step-17$ mpiexec -np 2 ./step-17
Cycle 0:
   Number of active cells:       64
Cycle 0:
   Number of active cells:       64

Do you really get this output twice? It should really only be printed once by the pcout object in this program. I suspect this has something to do with the problem.

Separately, can you try the attached patch for lac/source/petsc_parallel_vector.cc and run the program again? Please forward the output, maybe this sheds some light on what's going on.

Best
 W.

===================================================================
--- petsc_parallel_vector.cc    (revision 20002)
+++ petsc_parallel_vector.cc    (working copy)
@@ -165,7 +165,8 @@
                         &vector);
       AssertThrow (ierr == 0, ExcPETScError(ierr));
- Assert (size() == n, ExcInternalError());
+      Assert (size() == n,
+             ExcDimensionMismatch (size(), n));
     }
}
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to