> > I get a whole lot of errors, the essence of which are the
> > following. I believe that the errors have something to
> > do with complex numbers being enabled.
> 
> Most probably. In essence, the classes in PETScWrappers were
> definitely implemented with the real, not the complex case in mind.
> I'm not sure anyone has ever tried whether it would work with complex
> numbers, and so I'm not surprised that it wouldn't work.

Long before these errors occur, I am getting the messages below which,
as I understand it, mean that dealii no longer knows what a
PETScScalar is. I am finding this hard to track down, but I am sure it
is the first thing to fix.

Arvind, do you get nothing that looks like this when you try to
compile dealii with petsc --with-scalar-type=complex ?? 
In my messages I need to scroll right to the top (through a few thousand
lines or so).


=====lac==============debug========== constraint_matrix.cc
In file included
from 
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/backward/complex.h:31,
from /home/tyoung/research.code/petsc-3.0.0-p3/include/petscmath.h:57,
from /home/tyoung/research.code/petsc-3.0.0-p3/include/petsc.h:353,
from /home/tyoung/research.code/petsc-3.0.0-p3/include/petscis.h:7,
from /home/tyoung/research.code/petsc-3.0.0-p3/include/petscvec.h:9,
from /home/tyoung/research.code/petsc-3.0.0-p3/include/petscmat.h:6,
from /home/tyoung/research.code/deal.II/lac/include/lac/petsc_matrix_base.h:24,
from 
/home/tyoung/research.code/deal.II/lac/include/lac/petsc_sparse_matrix.h:19,
from 
/home/tyoung/research.code/deal.II/lac/include/lac/petsc_block_sparse_matrix.h:20,
from 
/home/tyoung/research.code/deal.II/lac/include/lac/constraint_matrix.templates.h:25,
from
source/constraint_matrix.cc:16: 
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/backward/backward_warning.h:32:2:
warning: #warning This file includes at least one deprecated or
antiquated header. Please consider using one of the 32 headers found in
section 17.4.1.2 of the C++ standard. Examples include substituting the
<X> header for the <X.h> header for C++ includes, or <iostream> instead
of the deprecated header <iostream.h>. To disable this warning use
-Wno-deprecated. 
/home/tyoung/research.code/petsc-3.0.0-p3/include/petscmath.h:92:
error: expected initializer before
'PetscScalar' /home/tyoung/research.code/petsc-3.0.0-p3/include/petscmath.h:181:
error: 'PetscScalar' does not name a
type /home/tyoung/research.code/petsc-3.0.0-p3/include/petscmath.h:212:
error: 'PetscScalar' does not name a
type 

The offending petsc lines are:
typedef double complex PetscScalar;                     (l 92)
typedef PetscScalar MatScalar;                          (l 181)
extern  PetscScalar PETSC_DLLEXPORT PETSC_i;            (l 212)

My guess is that the line 
#include <complex>, or #include "petscksp.h" 
is needed somewhere in dealii. Perhaps it is something else I've missed?

Question: What and Where? I fail to get this simple part to work
correctly. Patching the errors that really do come from the dealii
petsc_matrix_base.* etc, should then be fairly straightforward...

Can you help me out with this part to get me started?

Thanks in advance.
Best,
        Toby



-- 

Toby D. Young
Philosphy-Physics
Assitant Professor (Adiunkt)
Polish Academy of Sciences
Warszawa, Polska

www:   http://www.ippt.gov.pl/~tyoung
skype: stenografia
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to