> 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
