MatCreateMPIAIJWithSplitArrays
Panyasantisuk Jarunan
Jarunan.Panyasantisuk at eleves.ec-nantes.fr
Fri Jan 23 10:07:03 CST 2009
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
>
More information about the petsc-users
mailing list