Hi, Nicholas, It seems we have implemented it, but with another name, PetscSFCreateSectionSFF90, see https://gitlab.com/petsc/petsc/-/merge_requests/5386 Try it to see if it works!
--Junchao Zhang On Tue, Jan 10, 2023 at 11:45 AM Nicholas Arnold-Medabalimi < [email protected]> wrote: > Er to be honest I still can't get my stub to compile properly, and I don't > know how to go about making a merge request. But here is what I am > attempting right now. Let me know how best to proceed > > > Its not exactly clear to me how to setup up the remote offset properly. > > in src/vec/is/sf/interface/ftn-custom/zsf.c > > PETSC_EXTERN void petscsfcreatesectionsf(PetscSF *sf, PetscSection > *rootSection, F90Array1d *aremoteOffsets, PetscSection *leafSection, > PetscSF *sectionSF, int * ierr PETSC_F90_2PTR_PROTO(remoteoffsetsd)) > { > > int * remoteOffsets; > *ierr = F90Array1dAccess(aremoteOffsets, PETSC_INT, (void**) > &remoteOffsets PETSC_F90_2PTR_PARAM(remoteoffsetsd));if (*ierr) return; > *ierr = PetscSFCreateSectionSF(*sf,*rootSection, > &remoteOffsets,*leafSection,*sectionSF);if (*ierr) return; > > } > > This is the sticking point. > > Sincerely > Nicholas > > > On Tue, Jan 10, 2023 at 12:38 PM Junchao Zhang <[email protected]> > wrote: > >> Hi, Nicholas, >> Could you make a merge request to PETSc and then our Fortran experts >> can comment on your MR? >> Thanks. >> >> --Junchao Zhang >> >> >> On Tue, Jan 10, 2023 at 11:10 AM Nicholas Arnold-Medabalimi < >> [email protected]> wrote: >> >>> Hi Junchao >>> >>> I think I'm almost there, but I could use some insight into how to use >>> the PETSC_F90_2PTR_PROTO and F90Array1dAccess for the remoteOffset >>> parameter input so if another function comes up, I can add it myself >>> without wasting your time. >>> I am very grateful for your help and time. >>> >>> Sincerely >>> Nicholas >>> >>> On Tue, Jan 10, 2023 at 10:55 AM Junchao Zhang <[email protected]> >>> wrote: >>> >>>> Hi, Nicholas, >>>> I am not a fortran guy, but I will try to add petscsfcreatesectionsf. >>>> >>>> Thanks. >>>> --Junchao Zhang >>>> >>>> >>>> On Tue, Jan 10, 2023 at 12:50 AM Nicholas Arnold-Medabalimi < >>>> [email protected]> wrote: >>>> >>>>> I think it should be something like this, but I'm not very fluent in >>>>> Fortran C interop syntax. Any advice would be appreciated. Thanks >>>>> >>>>> PETSC_EXTERN void petscsfcreatesectionsf(PetscSF *sf, PetscSection * >>>>> rootSection, F90Array1d *aremoteOffsets, PetscSection *leafSection, >>>>> PetscSF *sectionSF, int * ierr PETSC_F90_2PTR_PROTO(remoteoffsetsd)) >>>>> { >>>>> >>>>> int * remoteOffsets; >>>>> *ierr = F90Array1dAccess(aremoteOffsets, PETSC_INT, (void**) & >>>>> remoteOffsets PETSC_F90_2PTR_PARAM(remoteoffsetsd));if (*ierr) return; >>>>> *ierr = PetscSFCreateSectionSF(*sf,*rootSection, &remoteOffsets,* >>>>> leafSection,*sectionSF);if (*ierr) return; >>>>> >>>>> } >>>>> >>>>> On Mon, Jan 9, 2023 at 11:41 PM Nicholas Arnold-Medabalimi < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Junchao >>>>>> >>>>>> Thanks again for your help in November. I've been using the your >>>>>> merge request branch quite heavily. Would it be possible to add a >>>>>> petscsfcreatesectionsf interface as well? >>>>>> I'm trying to write it myself using your commits as a guide but I >>>>>> have been struggling with handling the section parameter properly. >>>>>> >>>>>> Sincerely >>>>>> Nicholas >>>>>> >>>>>> On Sat, Nov 19, 2022 at 9:44 PM Junchao Zhang < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Sat, Nov 19, 2022 at 8:05 PM Nicholas Arnold-Medabalimi < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi >>>>>>>> >>>>>>>> Thanks, this is awesome. Thanks for the very prompt fix. Just one >>>>>>>> question: will the array outputs on the fortran side copies (and need >>>>>>>> to be >>>>>>>> deallocated) or direct access to the dmplex? >>>>>>>> >>>>>>> Direct access to internal data; no need to deallocate >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> Sincerely >>>>>>>> Nicholas >>>>>>>> >>>>>>>> On Sat, Nov 19, 2022 at 8:21 PM Junchao Zhang < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi, Nicholas, >>>>>>>>> See this MR, >>>>>>>>> https://gitlab.com/petsc/petsc/-/merge_requests/5860 >>>>>>>>> It is in testing, but you can try branch >>>>>>>>> jczhang/add-petscsf-fortran to see if it works for you. >>>>>>>>> >>>>>>>>> Thanks. >>>>>>>>> --Junchao Zhang >>>>>>>>> >>>>>>>>> On Sat, Nov 19, 2022 at 4:16 PM Nicholas Arnold-Medabalimi < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hi Junchao >>>>>>>>>> >>>>>>>>>> Thanks. I was wondering if there is any update on this. I may >>>>>>>>>> write a small interface for those two routines myself in the interim >>>>>>>>>> but >>>>>>>>>> I'd appreciate any insight you have. >>>>>>>>>> >>>>>>>>>> Sincerely >>>>>>>>>> Nicholas >>>>>>>>>> >>>>>>>>>> On Wed, Nov 16, 2022 at 10:39 PM Junchao Zhang < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi, Nicholas, >>>>>>>>>>> I will have a look and get back to you. >>>>>>>>>>> Thanks. >>>>>>>>>>> --Junchao Zhang >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Wed, Nov 16, 2022 at 9:27 PM Nicholas Arnold-Medabalimi < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Petsc Users >>>>>>>>>>>> >>>>>>>>>>>> I'm in the process of adding some Petsc for mesh management >>>>>>>>>>>> into an existing Fortran Solver. It has been relatively >>>>>>>>>>>> straightforward so >>>>>>>>>>>> far but I am running into an issue with using PetscSF routines. >>>>>>>>>>>> Some like >>>>>>>>>>>> the PetscSFGetGraph work no problem but a few of my routines >>>>>>>>>>>> require the >>>>>>>>>>>> use of PetscSFGetLeafRanks and PetscSFGetRootRanks and those don't >>>>>>>>>>>> seem to >>>>>>>>>>>> be in the fortran interface and I just get a linking error. I also >>>>>>>>>>>> don't >>>>>>>>>>>> seem to see a PetscSF file in the finclude. Any clarification or >>>>>>>>>>>> assistance >>>>>>>>>>>> would be appreciated. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Sincerely >>>>>>>>>>>> Nicholas >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Nicholas Arnold-Medabalimi >>>>>>>>>>>> >>>>>>>>>>>> Ph.D. Candidate >>>>>>>>>>>> Computational Aeroscience Lab >>>>>>>>>>>> University of Michigan >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Nicholas Arnold-Medabalimi >>>>>>>>>> >>>>>>>>>> Ph.D. Candidate >>>>>>>>>> Computational Aeroscience Lab >>>>>>>>>> University of Michigan >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Nicholas Arnold-Medabalimi >>>>>>>> >>>>>>>> Ph.D. Candidate >>>>>>>> Computational Aeroscience Lab >>>>>>>> University of Michigan >>>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>>> Nicholas Arnold-Medabalimi >>>>>> >>>>>> Ph.D. Candidate >>>>>> Computational Aeroscience Lab >>>>>> University of Michigan >>>>>> >>>>> >>>>> >>>>> -- >>>>> Nicholas Arnold-Medabalimi >>>>> >>>>> Ph.D. Candidate >>>>> Computational Aeroscience Lab >>>>> University of Michigan >>>>> >>>> >>> >>> -- >>> Nicholas Arnold-Medabalimi >>> >>> Ph.D. Candidate >>> Computational Aeroscience Lab >>> University of Michigan >>> >> > > -- > Nicholas Arnold-Medabalimi > > Ph.D. Candidate > Computational Aeroscience Lab > University of Michigan >
