MatCreateMPIAIJ

Xiaoxu Wang xiwang at dragon.rutgers.edu
Wed Oct 4 14:00:57 CDT 2006


Does it work as long as the global length is several times of the local 
length?

Thanks
Xiaoxu

Matthew Knepley wrote:

> On 10/4/06, *Xiaoxu Wang* <xiwang at dragon.rutgers.edu 
> <mailto:xiwang at dragon.rutgers.edu>> wrote:
>
>     Hi, Thank you for your help already. Can anybody tell me how to
>     set the
>     size of local matrix? Can I set it arbitrarily?
>
>
> Yes, you can. If you also set the global size it must be consistent.
>
>    Matt
>
>     Xiaoxu
>
>     Xiaoxu Wang wrote:
>
>     >
>     > The error is at line 1023 of " plog.c".
>     > ---------------
>     > An unhandled exception of type 'System.NullReferenceException'
>     > occurred in Unknown Module.
>     >
>     > Additional information: Object reference not set to an instance
>     of an
>     > object.
>     > ----------------
>     >
>     > The matrix I am trying to initialize is the stiffness matrix K of
>     > finite element methods. Later the dynamical system is solved
>     as  (I +
>     > Dt*K) U(t+1) = U(t) + Dt.F(t) by calling KSPSolve. Any idea how
>     to set
>     > the number of local rows?  I am running the code on PC now, but want
>     > to keep MatCreateMPIAIJ in it.
>     > Xiaoxu
>     > ----- Original Message ----- From: "Barry Smith" <
>     bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov>>
>     > To: <petsc-users at mcs.anl.gov <mailto:petsc-users at mcs.anl.gov>>
>     > Sent: Tuesday, October 03, 2006 8:32 AM
>     > Subject: Re: MatCreateMPIAIJ
>     >
>     >
>     >>
>     >>
>     >> On Mon, 2 Oct 2006, Xiaoxu Wang wrote:
>     >>
>     >>> Hi,
>     >>>
>     >>>      I am a beginner on PETSC. This is my question about
>     >>> MatCreateMPIAIJ. I
>     >>> have a sparse matrix and only know the total number of
>     nonzeros each
>     >>> row. The
>     >>> number of local rows and the number of local columns has been
>     set to
>     >>> PETSC_DECIDE. Therefore I don't know the size of each portion
>     and it
>     >>> is hard
>     >>> to tell d_nnz and o_nnz. I use the total number of nunzeros as
>     d_nnz
>     >>> and get
>     >>> an allocation error.
>     >>
>     >>
>     >>
>     >>   It would be helpful to know the exact error message:
>     >>
>     >>>  How to deal  with  this problem?  Should  I  explicitly
>     >>> specify the number of local rows and the number of local
>     columns and
>     >>> calculate
>     >>> d_nnz and o_nnz? Or let PETSC decide the number of local rows and
>     >>> the number
>     >>> of local columns, and  then use another function to get these
>     >>> values? Any
>     >>> other better solution?
>     >>
>     >>
>     >>
>     >>   You should specifically set the number of local rows and columns
>     >> and then
>     >> compute the values of d_nnz and o_nnz. How you determine d_nnz and
>     >> o_nnz is
>     >> problem dependent and depends on what type of discretization
>     you are
>     >> using:
>     >> finite differences, elements etc.
>     >>
>     >>
>     >>   Barry
>     >>
>     >>>
>     >>> Thanks a lot,
>     >>> Xiaoxu
>     >>>
>     >>>
>     >>
>     >>
>     >
>
>
>
>
> -- 
> "Failure has a thousand explanations. Success doesn't need one" -- Sir 
> Alec Guiness 





More information about the petsc-users mailing list