Re: [petsc-users] About DMDA (and extracting its ordering)

2019-02-28 Thread Appel, Thibaut via petsc-users
Hi Matthew, I’ve just attached on that page https://bitbucket.org/petsc/petsc/issues/262 the same source code written in C that runs just fine from what I can see. Which means there’s either a bug in ISLocalToGlobalMappingGetIndicesF90 or something missing in the documentation. Best, Thibaut

Re: [petsc-users] About DMDA (and extracting its ordering)

2019-02-25 Thread Thibaut Appel via petsc-users
Hi Matthew, The file in the link you sent does not call DMGetLocalToGlobalMapping nor ISLocalToGlobalMappingGetIndicesF90 though? Anyway, everything you wanted is there: https://bitbucket.org/petsc/petsc/issues/262/fortran-unassociated-pointer-with Thibaut On 25/02/2019 12:03, Matthew Knep

Re: [petsc-users] About DMDA (and extracting its ordering)

2019-02-25 Thread Matthew Knepley via petsc-users
On Mon, Feb 25, 2019 at 3:19 AM Appel, Thibaut wrote: > Hi Matthew, > > Yes I need F90 and the syntax in the file / yours > > PetscInt, pointer :: id_ltog(:) > > > Is the exact same as > > PetscInt, dimension(:), pointer :: id_ltog > > > They’re both modern fortran ”correct” > > Anyways I tried b

Re: [petsc-users] About DMDA (and extracting its ordering)

2019-02-25 Thread Appel, Thibaut via petsc-users
Hi Matthew, Yes I need F90 and the syntax in the file / yours PetscInt, pointer :: id_ltog(:) Is the exact same as PetscInt, dimension(:), pointer :: id_ltog They’re both modern fortran ”correct” Anyways I tried both and I still get the same error message. Thibaut On 24 Feb 2019, at 23:38, Ma

Re: [petsc-users] About DMDA (and extracting its ordering)

2019-02-24 Thread Appel, Thibaut via petsc-users
Is that for the id_ltog argument? I tried declaring it as IS, and you can’t declare an deferred-shape array as target. Same message. XXX(:) is syntactic sugar for dimension(:) :: XXX I’m really confused because this https://www.mcs.anl.gov/petsc/petsc-current/src/ksp/ksp/examples/tutorials/ex14f

Re: [petsc-users] About DMDA (and extracting its ordering)

2019-02-24 Thread Appel, Thibaut via petsc-users
Hi Matthew, With the following data declaration and routines calls: DM :: da ISLocalToGlobalMapping :: ltog PetscInt, DIMENSION(:), POINTER :: id_ltog CALL DMDACreate2D(PETSC_COMM_WORLD,DM_BOUNDARY_NONE,DM_BOUNDARY_NONE,DMDA_STENCIL_STAR,(nx+1),(ny+1), & PETSC_DECI

Re: [petsc-users] About DMDA (and extracting its ordering)

2019-02-22 Thread Appel, Thibaut via petsc-users
Hi Matthew, I think I need the whole G2L not just the sizes. Build my own matrix, create a “fake” DMDA, extract the G2L mapping and apply it to my preallocation/assembly routines (where I would basically replace my natural ordering with the DMDA ordering from the G2L mapping) (cf the mail I sen

Re: [petsc-users] About DMDA (and extracting its ordering)

2019-02-22 Thread Thibaut Appel via petsc-users
I reckon that what corresponds best to my situation is to create my own MPIAIJ matrix, recover the DMDA local to global mapping, preallocate myself and fill my values with MatSetValues. However, what is the correct way to call ISLocalToGlobalMappingGetIndices in Fortran? It seems there's somet

Re: [petsc-users] About DMDA (and extracting its ordering)

2019-02-21 Thread Thibaut Appel via petsc-users
Hi Matthew, Is your first part of your answer (using DMDASetBlockFills) valid only in the case I create a DMDA object? Yes I think that is the kind of stencil I am using. I could know how the stencil looks like exactly, but I preallocate looping, for each process on all the elements of the s

[petsc-users] About DMDA (and extracting its ordering)

2019-02-21 Thread Thibaut Appel via petsc-users
Dear PETSc developers/users, I’m solving linear PDEs on a regular grid with high-order finite differences, assembling an MPIAIJ matrix to solve linear systems or eigenvalue problems. I’ve been using vertex major, natural ordering for the parallelism with PetscSplitOwnership (yielding rectangul