I have tried to upgrade to 3.0.0, I could compile the program with MatCreateMPIAIJWithSplitArrays() but somehow cause of the configuration I cannot execute the program. Anyway, does not it work with petsc-2.3.3?
Is there an equivalent mechanism for MatCreateMPIAIJWithSplitArrays() (Like MatMPIAIJSetPreallocationCSR() for MatCreateMPIAIJWithArrays()) ? Thank you very much Regards, Jarunan -- Jarunan PANYASANTISUK MSc. in Computational Mechanics Erasmus Mundus Master Program Ecole Centrale de Nantes 1, rue de la no?, 44321 NANTES, FRANCE Matthew Knepley <knepley at gmail.com> a ??crit? : > On Thu, Jan 15, 2009 at 9:42 AM, Panyasantisuk Jarunan < > Jarunan.Panyasantisuk at eleves.ec-nantes.fr> wrote: > >> When I create a matrix with MatCreateMPIAIJWithSplitArrays, as it doesn't >> copy the values so I have to use MatSetValues to set the internal value? > > > 1) You should upgrade to 3.0.0 > > 2) You should not have to call MatSetValues(). It will use the arrays you > provide. > > Matt > > >> >> -- >> Jarunan PANYASANTISUK >> MSc. in Computational Mechanics >> Erasmus Mundus Master Program >> Ecole Centrale de Nantes >> 1, rue de la no?, 44321 NANTES, FRANCE >> >> >> >> Barry Smith <bsmith at mcs.anl.gov> a ?(c)crit? : >> >> >>> You should be able to use MatCreateMPIAIJWithSplitArrays(), >>> MatCreateMPIAIJWithArrays() or MatMPIAIJSetPreallocationCSR() >>> from Fortran. Are you using PETSc 3.0.0? >>> >>> The arguments for MatCreateMPIAIJWithArrays() or >>> MatMPIAIJSetPreallocationCSR() have the same meaning >>> (in fact MatCreateMPIAIJWithArrays() essentially calls >>> MatCreateMPIAIJWithArrays()). >>> >>> Barry >>> >>> On Jan 14, 2009, at 7:38 AM, Panyasantisuk Jarunan wrote: >>> >>> Oh, I could not use MatCreateMPIAIJWithArrays either but the mechanism >>>> below works. >>>> >>>> call MatCreate(PETSC_COMM_WORLD,D,ierr) >>>> call MatSetSizes(D,N,N,PETSC_DETERMINE,PETSC_DETERMINE, >>>> $ ierr) >>>> call MatSetType(D,MATMPIAIJ,ierr) ! to set type a parallel matrix >>>> call MatSetFromOptions(D,ierr) >>>> call MatMPIAIJSetPreallocationCSR(D,pointer,Column,v,ierr) >>>> >>>> Where pointer is start-row indices a >>>> Column is local column indices >>>> v is value >>>> >>>> Is there the different beteween the start-row indices in >>>> MatMPIAIJSetPreallocationCSR and row indices in >>>> MatCreateMPIAIJWithArrays >>>> ? >>>> >>>> >>>> >>>> Regards, >>>> Jarunan >>>> >>>> >>>> >>>> >>>> Hello, >>>> >>>> To define a matrix with arrays, I cannot use >>>> MatCreateMPIAIJWithSplitArrays in my program which is written in >>>> Fortran: >>>> >>>> call MatCreateMPIAIJWithSplitArrays(PETSC_COMM_WORLD,N,N, >>>> $ PETSC_DETERMINE,PETSC_DETERMINE,pointer,column,v,opointer, >>>> $ oColumn,ov,D,ierr) >>>> >>>> The error is >>>> F:246: undefined reference to `matcreatempiaijwithsplitarrays_' >>>> >>>> I could use MatCreateMPIAIJWithArrays but the off diagonal values are >>>> missing with this command. >>>> >>>> I would be appreciate for any advice. Thank you before hand. >>>> >>>> Regards, >>>> Jarunan >>>> >>>> >>>> >>>> >>>> -- >>>> Jarunan PANYASANTISUK >>>> MSc. in Computational Mechanics >>>> Erasmus Mundus Master Program >>>> Ecole Centrale de Nantes >>>> 1, rue de la no?, 44321 NANTES, FRANCE >>>> >>>> >>>> >>>> >>>> >>>> >>> >>> >> >> >> > > > -- > What most experimenters take for granted before they begin their experiments > is infinitely more interesting than any results to which their experiments > lead. > -- Norbert Wiener >
