call MatGetSize(petsc_matrix%A_PetSC,m,n) call MatMatMult(A,B,MAT_INITIAL_MATRIX,PETSC_DEFAULT_DOUBLE_PRECISION,C)
missing the final ierr argument. On Apr 28, 2014, at 4:26 AM, Danny Lathouwers - TNW <[email protected]> wrote: > Dear users, > > I encountered some basic problems when using PETSc with Fortran90. To > illustrate the problem easiest I made a simple problem (attached). > There is a petsc.f90 that contains a module with all PETSc specific coding > (initializations, etc). > I have a main with some easy declarations and calls. There also is a f90_kind > for type definition (essentially for the ‘double precision’). Note that I > wrap the matrices in Fortran structures so that I can keep the code free from > PETSc except petsc.f90. > The file ‘output’ is what I get. > > The program fills two diagonal matrices of size 10. This seems to work fine. > > The call to get_info should print the number of rows and columns of a matrix: > it thinks the number of columns is 0. > > Another routine mat_prod does matrix-matrix multiplication through > MatMatMult. This seg faults. > > I also tried the above with all kinds of includes instead of the > ‘use’-manner. This gave the same results. > > It seems like the interfacing is not working as it should. Am I missing a > ‘use’ statement or a compile option? > strangely enough the matrix construction does work fine. > > I hope anyone might shed some light on this. > > Thank you. > Danny > <f90_kind.f90><main.f90><petsc.f90><Makefile><output>
