> I need to run deal.ii  with complex numbers enabled for petsc. My petsc
> config is
> ./config/configure.py  --with-cc=mpicc --with-cxx=mpiCC --with-fc=mpif90
> --with-clanguage=C++
> --with-shared=1 --with-dynamic=1 --with-scalar-type=complex --with-x=0
>
> 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.

As for the actual thing that goes wrong, there seem to be two things in our 
code that are creating trouble. The first is that we can't compare
   some_complex_number == 0
This should be relatively simple to fix by using
   some_complex_number == PetscScalar()
instead. You'll easily be able to find these places one by one by looking 
at the error messages. The other thing -- the errors in 
petsc_matrix_base.h -- are equally trivial: we do something like
   const double value = values[j];
which should have read
   const PetscScalar value = values[j];
instead. That, too, should not be too hard to fix.

So if you're willing to invest half an hour, I'm sure you can at least get 
through fixing the various places in lac/ where things don't compile right 
now. I don't know what's going to happen in deal.II/ later on, but it 
would be a start. Let us know if this is a way you'd be interested in 
going and we'd be happy to assist you and include patches into future 
releases.

Best
 W.

-------------------------------------------------------------------------
Wolfgang Bangerth                email:            [email protected]
                                 www: http://www.math.tamu.edu/~bangerth/

_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to