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