[petsc-users] Coordinate format internal reordering
Matthew Knepley
knepley at gmail.com
Thu Oct 19 07:50:46 CDT 2023
On Thu, Oct 19, 2023 at 6:51 AM Enrico <degregori at dkrz.de> wrote:
> Hello,
>
> if I create an application ordering using AOCreateBasic, should I
> provide the same array for const PetscInt myapp[] and const PetscInt
> mypetsc[] in order to get the same ordering of the application within
> PETSC?
>
Are you asking if the identity permutation can be constructed using the
same array twice? Yes.
> And once I define the ordering so that the local vector and matrix are
> defined in PETSC as in my application, how can I use it to create the
> actual vector and matrix?
>
The vectors and matrices do not change. The AO is a permutation. You can
use it to permute
a vector into another order, or to convert on index to another.
Thanks,
Matt
> Thanks in advance for the help.
>
> Cheers,
> Enrico
>
> On 18/10/2023 13:39, Matthew Knepley wrote:
> > On Wed, Oct 18, 2023 at 5:55 AM Enrico <degregori at dkrz.de
> > <mailto:degregori at dkrz.de>> wrote:
> >
> > Hello,
> >
> > I'm trying to use Petsc to solve a linear system in an application.
> I'm
> > using the coordinate format to define the matrix and the vector (it
> > should work better on GPU but at the moment every test is on CPU).
> > After
> > the call to VecSetValuesCOO, I've noticed that the vector is storing
> > the
> > data in a different way from my application. For example with two
> > processes in the application
> >
> > process 0 owns cells 2, 3, 4
> >
> > process 1 owns cells 0, 1, 5
> >
> > But in the vector data structure of Petsc
> >
> > process 0 owns cells 0, 1, 2
> >
> > process 1 owns cells 3, 4, 5
> >
> > This is in principle not a big issue, but after solving the linear
> > system I get the solution vector x and I want to get the values in
> the
> > correct processes. Is there a way to get vector values from other
> > processes or to get a mapping so that I can do it myself?
> >
> >
> > By definition, PETSc vectors and matrices own contiguous row blocks. If
> > you want to have another,
> > global ordering, we support that with
> > https://petsc.org/main/manualpages/AO/
> > <https://petsc.org/main/manualpages/AO/>
> >
> > Thanks,
> >
> > Matt
> >
> > Cheers,
> > Enrico Degregori
> >
> >
> >
> > --
> > 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/>
>
--
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/20231019/40012622/attachment.html>
More information about the petsc-users
mailing list