Yes, I have the #include at the top of the code. Thank you very much for your help. I’ll let you know if I have any improvements from my side. Looking forward to hearing from you.
Thanks, Monica > On 30 Jun 2023, at 15:08, Matthew Knepley <knep...@gmail.com> wrote: > > On Fri, Jun 30, 2023 at 8:38 AM Ngoc Mai Monica Huynh > <ngocmaimonica.hu...@unipv.it <mailto:ngocmaimonica.hu...@unipv.it>> wrote: > Yes, it compiles and run correctly > > Okay, then we try to alter that example until it looks like your test. > > One thing is the #include at the top. Do you have that in your code? If > Fortran does not find the interface, > then it will just SEGV. > > Thanks, > > Matt > > Monica > >> On 30 Jun 2023, at 12:50, Matthew Knepley <knep...@gmail.com >> <mailto:knep...@gmail.com>> wrote: >> >> On Fri, Jun 30, 2023 at 6:47 AM Ngoc Mai Monica Huynh >> <ngocmaimonica.hu...@unipv.it <mailto:ngocmaimonica.hu...@unipv.it>> wrote: >> Hi, >> >> I have no problem now in compiling, thank you for providing the Fortran >> interface. >> I have a follow up question. >> When running the code, I get this error, which I’m pretty sure it is related >> to DMDAGetElements(), since up to that line everything works fine. >> >> [0]PETSC ERROR: >> ------------------------------------------------------------------------ >> [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, >> probably memory access out of range >> [0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger >> [0]PETSC ERROR: or see https://petsc.org/release/faq/#valgrind >> <https://petsc.org/release/faq/#valgrind> and https://petsc.org/release/faq/ >> <https://petsc.org/release/faq/> >> [0]PETSC ERROR: --------------------- Stack Frames >> ------------------------------------ >> [0]PETSC ERROR: No error traceback is available, the problem could be in the >> main program. >> -------------------------------------------------------------------------- >> MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD >> with errorcode 59. >> >> NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. >> You may or may not see output from other processes, depending on >> exactly when Open MPI kills them. >> ————————————————————————————————————— >> >> The lines of code I’m working on are the following: >> >> integer ierr >> >> MPI_Comm comm >> DM da3d >> ISLocalToGlobalMapping map >> PetscInt nel,nen >> PetscInt, pointer :: e_loc(:) >> >> call DMDACreate3d(comm,DM_BOUNDARY_NONE,DM_BOUNDARY_NONE, >> & DM_BOUNDARY_NONE,DMDA_STENCIL_BOX,433,41,29, >> & 8,2,1,3,1,PETSC_NULL_INTEGER, >> & PETSC_NULL_INTEGER,PETSC_NULL_INTEGER, >> & da3d,ierr) >> call DMSetMatType(da3d,MATIS,ierr) >> call DMSetFromOptions(da3d,ierr) >> call DMDASetElementType(da3d,DMDA_ELEMENT_Q1,ierr) >> call DMSetUp(da3d,ierr) >> call DMGetLocalToGlobalMapping(da3d,map,ierr) >> >> call DMDAGetElements(da3d,nel,nen,e_loc,ierr) >> >> By printing in a dummy way any kind of message before and after >> DMDAGetElements(), I cannot pass over it. >> Unfortunately, I cannot run with the debug option on this machine. >> Am I calling the routine in a wrong way? >> >> Does >> >> src/dm/tutorials/ex11f90.F90 >> >> run for you? >> >> Thanks, >> >> Matt >> >> Thanks, >> Monica >> >> >>> On 29 Jun 2023, at 21:09, Matthew Knepley <knep...@gmail.com >>> <mailto:knep...@gmail.com>> wrote: >>> >>> On Thu, Jun 29, 2023 at 3:05 PM Ngoc Mai Monica Huynh >>> <ngocmaimonica.hu...@unipv.it <mailto:ngocmaimonica.hu...@unipv.it>> wrote: >>> Thank you. >>> Does this mean that DMDARestoreElements() is supported as well now? >>> >>> Yes. >>> >>> Thanks, >>> >>> Matt >>> >>> Monica >>> >>> >>>> Il giorno 29 giu 2023, alle ore 20:17, Barry Smith <bsm...@petsc.dev >>>> <mailto:bsm...@petsc.dev>> ha scritto: >>>> >>>> >>>> >>>> The code is ready in the branch >>>> barry/2023-06-29/add-dmdagetelements-fortran >>>> https://gitlab.com/petsc/petsc/-/merge_requests/6647 >>>> <https://gitlab.com/petsc/petsc/-/merge_requests/6647> >>>> >>>> Barry >>>> >>>> >>>>> On Jun 29, 2023, at 12:41 PM, Ngoc Mai Monica Huynh >>>>> <ngocmaimonica.hu...@unipv.it <mailto:ngocmaimonica.hu...@unipv.it>> >>>>> wrote: >>>>> >>>>> That would be amazing, thank you very much! >>>>> Monica >>>>> >>>>>> On 29 Jun 2023, at 18:38, Barry Smith <bsm...@petsc.dev >>>>>> <mailto:bsm...@petsc.dev>> wrote: >>>>>> >>>>>> >>>>>> I can provide the Fortran interface this afternoon. >>>>>> >>>>>> Barry >>>>>> >>>>>> >>>>>>> On Jun 29, 2023, at 10:48 AM, Ngoc Mai Monica Huynh >>>>>>> <ngocmaimonica.hu...@unipv.it <mailto:ngocmaimonica.hu...@unipv.it>> >>>>>>> wrote: >>>>>>> >>>>>>> Hi everyone, >>>>>>> >>>>>>> I would need to use the routine DMDAGetElements() in our Fortran code. >>>>>>> However, as I read from the manual, there is no Fortran support for >>>>>>> this routine. >>>>>>> Is there any similar alternative there? >>>>>>> >>>>>>> Many thanks! >>>>>>> Best regards, >>>>>>> Monica Huynh >>>>>> >>>>> >>>> >>> >>> >>> -- >>> 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/> > > > -- > 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/>