[petsc-users] DMPlex Transitive closure

Matthew Knepley knepley at gmail.com
Thu Aug 18 16:14:03 CDT 2022


On Wed, Aug 17, 2022 at 8:31 AM Nicholas Arnold-Medabalimi <
narnoldm at umich.edu> wrote:

> Good Morning
>
> I have been working with the transitive closure to check to see if a node
> point has a cell that is rooted on a process. However, I think I am having
> a more fundamental issue. Even just calling the RestoreTransitiveClosure
> immediately after getting it is throwing a PetscError.(that is removing all
> the calls between the two closure functions. I'm not exactly sure what is
> causing the issue. I have used this method previously, except on cell
> points to get the constituent vertex points. Is there some nuance to using
> the supports instead of the cones?
>

You should initialize closure = NULL in its declaration.

  Thanks,

     Matt


>
> DMPlexGetDepthStratum(dm, 0, &pStart, &pEnd);
> PetscPrintf(PETSC_COMM_WORLD, "Pstart: %d, Pend: %d\n", pStart, pEnd);
> for (int p = pStart; p < pEnd; p++)
>     {
>
>         PetscInt closureSize;
>         PetscInt *closure;
>
>         ierr = DMPlexGetTransitiveClosure(dm, p, PETSC_FALSE, &closureSize,
> &closure);
>         CHKERRQ(ierr);
>         PetscSynchronizedPrintf(PETSC_COMM_WORLD, "rank:%d\n", rank);
>         for (int i = 0; i < (2 * closureSize); i = i + 2)
>         {
>             PetscSynchronizedPrintf(PETSC_COMM_WORLD, "%d\n", closure[i]);
>         }
>         PetscSynchronizedFlush(PETSC_COMM_WORLD, NULL);
>         ierr = DMPlexRestoreTransitiveClosure(dm, p, PETSC_FALSE, &
> closureSize, &closure);
>         CHKERRQ(ierr);
>     }
>
> Results in an error when the RestoreTransitiveClosure is called. I have
> checked and the resulting output for the closures are correct.
>
> Pstart: 510, Pend: 1532
> rank:0
> 510
> 1534
> 1535
> 0
> rank:1
> 492
> 1478
> 1479
> 0
> [1]PETSC ERROR: 2953
> --------------------- Error Message
> --------------------------------------------------------------
> [1]PETSC ERROR: 491
> Object is in wrong state
> [1]PETSC ERROR: Array was not checked out
> [1]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
> [1]PETSC ERROR: Petsc Release Version 3.17.4, Aug 01, 2022
> [1]PETSC ERROR: /home/narnoldm/code/solver-playground/build/bin/pgrid_c on
> a  by narnoldm Wed Aug 17 11:18:20 2022
> [0]PETSC ERROR: [1]PETSC ERROR: Configure options
> --prefix=/home/narnoldm/code/solver-playground/build/external/PETSc
> --with-hdf5-dir=/home/narnoldm/code/solver-playground/build/external/HDF5
> --with-cgns-dir=/home/narnoldm/code/solver-playground/build/external/CGNS
> --download-triangle --download-parmetis --download-metis --with-debugging=1
>
> Any assistance is greatly appreciated.
>
> Sincerely
> Nicholas
>
> --
> Nicholas Arnold-Medabalimi
>
> Ph.D. Candidate
> Computational Aeroscience Lab
> University of Michigan
>


-- 
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/20220818/8a89d618/attachment.html>


More information about the petsc-users mailing list