MatCreateMPIAIJWithSplitArrays

Matthew Knepley knepley at gmail.com
Fri Jan 23 10:12:53 CST 2009


On Fri, Jan 23, 2009 at 10:07 AM, Panyasantisuk Jarunan
<Jarunan.Panyasantisuk at eleves.ec-nantes.fr> wrote:
> 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()) ?

When you report an error, please send the entire error message. In
this case, I need to see
the compiler error or I have absolutely no idea what is going on.

  Matt

> 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 Ã(c)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
>>
>
>
>
>



-- 
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