MatCreateMPIAIJWithSplitArrays
Matthew Knepley
knepley at gmail.com
Thu Jan 15 10:06:52 CST 2009
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20090115/c96081a3/attachment.html>
More information about the petsc-users
mailing list