[petsc-users] [petsc4py] Assembly fails
Matthew Knepley
knepley at gmail.com
Wed Mar 25 11:37:15 CDT 2020
On Wed, Mar 25, 2020 at 12:29 PM Alejandro Aragon - 3ME <
A.M.Aragon at tudelft.nl> wrote:
> Dear everyone,
>
> I’m new to petsc4py and I’m trying to run a simple finite element code
> that uses DMPLEX to load a .msh file (created by Gmsh). In version 3.10 the
> code was working but I recently upgraded to 3.12 and I get the following
> error:
>
> (.pydev) ➜ testmodule git:(e0bc9ae) ✗ mpirun -np 2 python
> testmodule/__main__.py
> {3: <testmodule.constitutive.elastic.Elastic object at 0x10feea520>}
> {3: <testmodule.constitutive.elastic.Elastic object at 0x10d96d520>}
> Traceback (most recent call last):
> File "testmodule/__main__.py", line 32, in <module>
> sys.exit(main(sys.argv))
> File "testmodule/__main__.py", line 29, in main
> step.solve(m)
> File
> "/Users/aaragon/Local/testmodule/testmodule/fem/analysis/static.py", line
> 33, in solve
> self.Amat.assemblyBegin(assembly=0) # FINAL_ASSEMBLY = 0
> File "PETSc/Mat.pyx", line 1039, in petsc4py.PETSc.Mat.assemblyBegin
> petsc4py.PETSc.Error: error code 63
> [1] MatAssemblyBegin() line 5182 in
> /private/tmp/pip-install-zurcx_6k/petsc/src/mat/interface/matrix.c
> [1] MatAssemblyBegin_MPIAIJ() line 810 in
> /private/tmp/pip-install-zurcx_6k/petsc/src/mat/impls/aij/mpi/mpiaij.c
> [1] MatStashScatterBegin_Private() line 462 in
> /private/tmp/pip-install-zurcx_6k/petsc/src/mat/utils/matstash.c
> [1] MatStashScatterBegin_BTS() line 931 in
> /private/tmp/pip-install-zurcx_6k/petsc/src/mat/utils/matstash.c
> [1] PetscCommBuildTwoSidedFReq() line 555 in
> /private/tmp/pip-install-zurcx_6k/petsc/src/sys/utils/mpits.c
> [1] Argument out of range
> [1] toranks[0] 2 not in comm size 2
> Traceback (most recent call last):
> File "testmodule/__main__.py", line 32, in <module>
> sys.exit(main(sys.argv))
> File "testmodule/__main__.py", line 29, in main
> step.solve(m)
> File
> "/Users/aaragon/Local/testmodule/testmodule/fem/analysis/static.py", line
> 33, in solve
> self.Amat.assemblyBegin(assembly=0) # FINAL_ASSEMBLY = 0
> File "PETSc/Mat.pyx", line 1039, in petsc4py.PETSc.Mat.assemblyBegin
> petsc4py.PETSc.Error: error code 63
> [0] MatAssemblyBegin() line 5182 in
> /private/tmp/pip-install-zurcx_6k/petsc/src/mat/interface/matrix.c
> [0] MatAssemblyBegin_MPIAIJ() line 810 in
> /private/tmp/pip-install-zurcx_6k/petsc/src/mat/impls/aij/mpi/mpiaij.c
> [0] MatStashScatterBegin_Private() line 462 in
> /private/tmp/pip-install-zurcx_6k/petsc/src/mat/utils/matstash.c
> [0] MatStashScatterBegin_BTS() line 931 in
> /private/tmp/pip-install-zurcx_6k/petsc/src/mat/utils/matstash.c
> [0] PetscCommBuildTwoSidedFReq() line 555 in
> /private/tmp/pip-install-zurcx_6k/petsc/src/sys/utils/mpits.c
> [0] Argument out of range
> [0] toranks[0] 2 not in comm size 2
> -------------------------------------------------------
> Primary job terminated normally, but 1 process returned
> a non-zero exit code.. Per user-direction, the job has been aborted.
> -------------------------------------------------------
> --------------------------------------------------------------------------
> mpirun detected that one or more processes exited with non-zero status,
> thus causing
> the job to be terminated. The first process to do so was:
>
> Process name: [[46994,1],0]
> Exit code: 1
> --------------------------------------------------------------------------
>
>
> This is in the call to assembly, which looks like this:
>
> # Begins assembling the matrix. This routine should be called after completing all calls to MatSetValues().
> self.Amat.assemblyBegin(assembly=0) # FINAL_ASSEMBLY = 0
> # Completes assembling the matrix. This routine should be called after MatAssemblyBegin().
> self.Amat.assemblyEnd(assembly=0)
>
> I would appreciate if someone can give me some insight on what has changed
> in the new version of petsc4py (or petsc for that matter) to make this code
> work again.
>
It looks like you have an inconsistent build, or a memory overwrite. Since
you are in Python, I suspect the former. Can you build
PETSc from scratch and try this? Does it work in serial? Can you send a
small code that reproduces this?
Thanks,
Matt
> Best regards,
>
> — Alejandro
>
>
--
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/20200325/da38a168/attachment.html>
More information about the petsc-users
mailing list