[petsc-users] Problem with Mat.setpreallocationNNZ in petsc4py

Matthew Knepley knepley at gmail.com
Sat Jul 7 12:17:38 CDT 2012


On Sat, Jul 7, 2012 at 11:08 AM, Xin Zhao <sean.null at gmail.com> wrote:

> So if it is written as
> if PETSc.COMM_WORLD.get_Rank() == 0:
> L.setPreallocationNNZ((3,2))
>
> will it achieve what I intend to do?
>

No. No no no. You do not have to call setPreallocation(). That is why I
said (twice) that
the matrix is already preallocated. If something is "already preallocated",
it does not
have to be allocated again.

   Matt


>
>
> On Sat, Jul 7, 2012 at 6:04 PM, Matthew Knepley <knepley at gmail.com> wrote:
>
>> On Sat, Jul 7, 2012 at 11:02 AM, Xin Zhao <sean.null at gmail.com> wrote:
>>
>>> yeap...sorry...
>>> L=DA.createMat()
>>>
>>> then
>>> L.setPreallocationNNZ((3,2))
>>>
>>
>> As I said, its already preallocated.
>>
>>   Matt
>>
>>
>>> On Sat, Jul 7, 2012 at 6:01 PM, Matthew Knepley <knepley at gmail.com>wrote:
>>>
>>>> On Sat, Jul 7, 2012 at 10:58 AM, Xin Zhao <sean.null at gmail.com> wrote:
>>>>
>>>>> Dear all,
>>>>>
>>>>> I generate a matrix L by
>>>>> DA =PETSc.DA().create(...some...)
>>>>> L = DA.create()
>>>>>
>>>>
>>>> Is this createMatrix()? The matrix returned from a DA is already
>>>> preallocated.
>>>>
>>>>    Matt
>>>>
>>>>
>>>>> Then I want to preallocate memory for L
>>>>> L.setPreallocationNNZ((3,2))
>>>>> This works when for mpiexec -np 1
>>>>> but it gives the error message below when mpiexec -np 4
>>>>>
>>>>> [3] MatAnyAIJSetPreallocation() line 311 in
>>>>> petsc4py-1.2/src/include/custom.h
>>>>> [3] Operation done in wrong order
>>>>> [3] matrix is already preallocated
>>>>>
>>>>> How to solve this?
>>>>>
>>>>> Thanks in advance.
>>>>>
>>>>> Cheers,
>>>>> Xin
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> 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
>>
>
>


-- 
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/20120707/3097e4b6/attachment-0001.html>


More information about the petsc-users mailing list