[petsc-users] How to create a mapping of global to local indices?

Matthew Knepley knepley at gmail.com
Wed Jul 3 12:55:28 CDT 2019


On Wed, Jul 3, 2019 at 9:07 AM Dongyu Liu - CITG via petsc-users <
petsc-users at mcs.anl.gov> wrote:

> Thank you, Mark. My question is if I have some node indices like [0, 1, 3,
> 8, 9] handled by the current processor, is that necessary to renumber these
> indices to something like 0 to 4?
>
Yes.


> or is there any alternative?
>
No.

  Thanks,

    Matt

>
> Dongyu
> ------------------------------
> *From:* Mark Adams <mfadams at lbl.gov>
> *Sent:* Wednesday, July 3, 2019 3:54:49 PM
> *To:* Dongyu Liu - CITG
> *Cc:* petsc-users at mcs.anl.gov
> *Subject:* Re: [petsc-users] How to create a mapping of global to local
> indices?
>
> PETSc matrices and vectors are created with a local size n or global size
> N and PETSC_DECIDE instead of n. The global PETSc indices are ordered from
> 0 to n_0 - 1 where n_0 is the number of equations on process 0. This
> numbering continues for all processes.
>
> You can use:
>
> PetscErrorCode <https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscErrorCode.html#PetscErrorCode> MatGetOwnershipRange <https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetOwnershipRange.html#MatGetOwnershipRange>(Mat <https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/Mat.html#Mat> mat,PetscInt <https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscInt.html#PetscInt> *m,PetscInt <https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscInt.html#PetscInt> *n)
>
> To see what your local global indices are (rows m to n-1 are on this
> process and so its the local indices are 0 to (n-m-1)).
>
> Mark
>
>
> On Wed, Jul 3, 2019 at 9:11 AM Dongyu Liu - CITG via petsc-users <
> petsc-users at mcs.anl.gov> wrote:
>
>> Hi,
>>
>>
>> I am running a FEM program using PETSc. In the beginning,  the mesh is
>> partitioned in gmsh, and we read the partitioned mesh using our own reader.
>>
>>
>> Now my question is: How can I get a global to local indices mapping? and
>> do I need to renumber the indices after I read the partitioned mesh?
>>
>>
>> From my understanding, the rows handled by each processor should be
>> consecutive, but the indices of nodes which I directly read from a gmsh
>> file are not. Is this an issue?
>>
>>
>> Best,
>>
>>
>> Dongyu
>>
>>
>>

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

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190703/8431acda/attachment.html>


More information about the petsc-users mailing list