[petsc-users] PetscSF Fortran interface

Nicholas Arnold-Medabalimi narnoldm at umich.edu
Tue Jan 10 11:09:48 CST 2023


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 <junchao.zhang at gmail.com>
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 <
> narnoldm at umich.edu> 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 <
>> narnoldm at umich.edu> 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 <junchao.zhang at gmail.com>
>>> wrote:
>>>
>>>>
>>>>
>>>>
>>>> On Sat, Nov 19, 2022 at 8:05 PM Nicholas Arnold-Medabalimi <
>>>> narnoldm at umich.edu> 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 <junchao.zhang at gmail.com>
>>>>> 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 <
>>>>>> narnoldm at umich.edu> 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 <
>>>>>>> junchao.zhang at gmail.com> 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 <
>>>>>>>> narnoldm at umich.edu> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230110/5841a106/attachment-0001.html>


More information about the petsc-users mailing list