<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi Andrea.<br>
      I tested main in dune-fem-howto-1.4/.example-solver/src<br>
      With petsc 3.3-p6 its compiling fine. Would be nice if you could
      figure out what the compatibility problem<br>
      is between the newer Petsc version and dune-fem.<br>
      Andreas<br>
      <big><big></big></big><br>
      <br>
      On 16/07/14 17:09, Sacconi, Andrea wrote:<br>
    </div>
    <blockquote
      cite="mid:EC7DA3C0917A914BAFB620BB60189EBD14633203@icexch-m2.ic.ac.uk"
      type="cite">
      <pre wrap="">Hi all,

I just installed petsc 3.5.0, and I was curious to see how to use it with dune-fem-1.4.0.
So I tried to play with one of the examples in the howto, but unfortunately I got this compilation error:

In file included from main.cc:43:0:
/usr/local_machine/dune-2.3.1/dune-fem-1.4.0/dune/fem/misc/petsc/petsccommon.hh: In function ‘void Dune::Petsc::initialize(bool, int&, char**&, const char*, const char*, bool)’:
/usr/local_machine/dune-2.3.1/dune-fem-1.4.0/dune/fem/misc/petsc/petsccommon.hh:143:51: error: invalid conversion from ‘Dune::Petsc::ErrorCode (*)(MPI_Comm, int, const char*, const char*, const char*, Dune::Petsc::ErrorCode, PetscErrorType, const char*, void*) {aka int (*)(ompi_communicator_t*, int, const char*, const char*, const char*, int, PetscErrorType, const char*, void*)}’ to ‘PetscErrorCode (*)(MPI_Comm, int, const char*, const char*, PetscErrorCode, PetscErrorType, const char*, void*) {aka int (*)(ompi_communicator_t*, int, const char*, const char*, int, PetscErrorType, const char*, void*)}’ [-fpermissive]
         ::PetscPushErrorHandler( &ErrorHandler, 0 );
                                                   ^
In file included from /usr/local_machine/petsc-3.5.0/include/petscsys.h:1525:0,
                 from /usr/local_machine/petsc-3.5.0/include/petscbag.h:4,
                 from /usr/local_machine/petsc-3.5.0/include/petsc.h:5,
                 from /usr/local_machine/dune-2.3.1/dune-fem-1.4.0/dune/fem/misc/petsc/petsccommon.hh:62,
                 from main.cc:43:
/usr/local_machine/petsc-3.5.0/include/petscerror.h:352:29: error:   initializing argument 1 of ‘PetscErrorCode PetscPushErrorHandler(PetscErrorCode (*)(MPI_Comm, int, const char*, const char*, PetscErrorCode, PetscErrorType, const char*, void*), void*)’ [-fpermissive]
 PETSC_EXTERN PetscErrorCode PetscPushErrorHandler(PetscErrorCode (*handler)(MPI_Comm,int,const char*,const char*,PetscErrorCode,PetscErrorType,const char*,void*),void*);
                             ^
In file included from main.cc:43:0:
/usr/local_machine/dune-2.3.1/dune-fem-1.4.0/dune/fem/misc/petsc/petsccommon.hh: In function ‘void Dune::Petsc::KSPSetOperators(KSP, Mat, Mat, MatStructure)’:
/usr/local_machine/dune-2.3.1/dune-fem-1.4.0/dune/fem/misc/petsc/petsccommon.hh:215:138: error: too many arguments to function ‘PetscErrorCode KSPSetOperators(KSP, Mat, Mat)’
     inline void KSPSetOperators (KSP ksp, Mat Amat, Mat Pmat, MatStructure flag ) { ErrorCheck( ::KSPSetOperators( ksp, Amat, Pmat, flag ) ); }

Is the howto currently working?
If someone of you does manage to use it, which version of petsc do you use? Could it be a problem of compatibility?

Thanks in advance!
Andrea
__________________________________________________________

Andrea Sacconi
PhD student, Applied Mathematics
AMMP Section, Department of Mathematics, Imperial College London,
London SW7 2AZ, UK
<a class="moz-txt-link-abbreviated" href="mailto:a.sacconi11@imperial.ac.uk">a.sacconi11@imperial.ac.uk</a>

_______________________________________________
dune-fem mailing list
<a class="moz-txt-link-abbreviated" href="mailto:dune-fem@dune-project.org">dune-fem@dune-project.org</a>
<a class="moz-txt-link-freetext" href="http://lists.dune-project.org/mailman/listinfo/dune-fem">http://lists.dune-project.org/mailman/listinfo/dune-fem</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>