[petsc-users] DMPlex<Vec,Mat>SetClosure

Matthew Knepley knepley at gmail.com
Mon Apr 15 19:41:06 CDT 2013


On Mon, Apr 15, 2013 at 7:36 PM, Dharmendar Reddy
<dharmareddy84 at gmail.com>wrote:

> I did realize that after some digging. I fixed that part. Thanks for the
> updates to dmsneslocal.
>
> If i am on the branch next, do i get access to all the changes you push to
> knepley/plex ?
>

Yes, once I merge it into next.

  Matt


>
> On Mon, Apr 15, 2013 at 7:20 PM, Matthew Knepley <knepley at gmail.com>wrote:
>
>> On Sat, Apr 13, 2013 at 9:51 PM, Dharmendar Reddy <
>> dharmareddy84 at gmail.com> wrote:
>>
>>> Hello,
>>>          Got it. I understand the reason for errors. I was using
>>> XXXSetF90 functions in my code so i was using allocatable arrays. I thought
>>> all set/getvlaues had corresponding F90 functions. I was trying to define
>>> and use things consistently in the code.
>>> I can fix the compile errors using pointers now.
>>>
>>> Now, can i request for Fortran interface for DMPlexMatSetClosure ?
>>>
>>
>> Pushed.
>>
>>
>>
>>> will you be adding Fortran interfaces to  the functions listed below ?
>>>
>>> FEMModules.F90:(.text+0xbfe0): undefined reference to
>>> `dmplexgetdefaultsection_'
>>>
>>
>> This is just DMGetDefaultSection().
>>
>>    Matt
>>
>>
>>> FEMModules.F90:(.text+0xc048): undefined reference to
>>> `petscsectiongetconstraintdof_
>>>
>>> Solver.F90:(.text+0xaa1): undefined reference to
>>> `dmsnessetjacobianlocal_'
>>> Solver.F90:(.text+0xabc): undefined reference to
>>> `dmsnessetfunctionlocal_'
>>>
>>> Thanks
>>> Reddy
>>>
>>>
>>> On Sat, Apr 13, 2013 at 9:32 PM, Matthew Knepley <knepley at gmail.com>wrote:
>>>
>>>> On Sat, Apr 13, 2013 at 9:18 PM, Dharmendar Reddy <
>>>> dharmareddy84 at gmail.com> wrote:
>>>>
>>>>> I am getting bunch of erros in my code related to DMPlex
>>>>>
>>>>> If i use DMPlexVecSetClosure I get the following error.
>>>>>
>>>>> A pointer dummy argument may only be argument associated with a
>>>>> pointer.   [FELM]
>>>>>     call
>>>>> DMPlexVecSetClosure(dm,PETSC_NULL_OBJECT,F,cellId,Felm,ADD_VALUES,ierr)
>>>>>
>>>>> Felm is defined as  : PetscScalar,allocatable :: Felm(:)
>>>>>
>>>>
>>>> Did you look at the sample code?
>>>>
>>>>
>>>> http://www.mcs.anl.gov/petsc/petsc-dev/src/dm/impls/plex/examples/tests/ex2f90.F.html
>>>>
>>>> You define pointers. You can see what function I have defined by
>>>> looking at the header
>>>>
>>>>
>>>> https://bitbucket.org/petsc/petsc/src/62a20339e027b37fab44424f1466054586f1dc85/include/finclude/ftn-custom/petscdmplex.h90?at=master
>>>>
>>>> and its clear from the file that DMPlexMatSetClosure() has not been
>>>> defined in Fortran.
>>>>
>>>>    Matt
>>>>
>>>>
>>>>> I do a similar call to DMPlexMatSetClosure, i get no error.
>>>>>
>>>>> Now if i use DMPlexVecSetClosureF90, code compiles, but i see
>>>>> undefined reference error during link stage:
>>>>>
>>>>> FEMModules.F90:(.text+0xba77): undefined reference to
>>>>> `dmplexvecsetclosuref90_'
>>>>>
>>>>> FEMModules.F90:(.text+0xbea9): undefined reference to
>>>>> `dmplexmatsetclosure_'
>>>>>
>>>>> FEMModules.F90:(.text+0xbfe0): undefined reference to
>>>>> `dmplexgetdefaultsection_'
>>>>> FEMModules.F90:(.text+0xc048): undefined reference to
>>>>> `petscsectiongetconstraintdof_
>>>>>
>>>>> Solver.F90:(.text+0xaa1): undefined reference to
>>>>> `dmsnessetjacobianlocal_'
>>>>> Solver.F90:(.text+0xabc): undefined reference to
>>>>> `dmsnessetfunctionlocal_'
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Apr 13, 2013 at 8:22 PM, Matthew Knepley <knepley at gmail.com>wrote:
>>>>>
>>>>>> On Sat, Apr 13, 2013 at 8:20 PM, Dharmendar Reddy <
>>>>>> dharmareddy84 at gmail.com> wrote:
>>>>>>
>>>>>>> Hello,
>>>>>>>         I am getting an undefined reference error ::
>>>>>>> FEMModules.F90:(.text+0xba77): undefined reference to
>>>>>>> `dmplexvecsetclosuref90_'
>>>>>>> FEMModules.F90:(.text+0xbea9): undefined reference to
>>>>>>> `dmplexmatsetclosuref90_'
>>>>>>>
>>>>>>> I can see that DMPlexVecSetClosure is defined in
>>>>>>>
>>>>>>> /finclude/ftn-custom/petscdmplex.h90:159:
>>>>>>>
>>>>>>> but the name is DMPlexVecSetClosure instead of
>>>>>>> DMPlexVecSetClosureF90.
>>>>>>>
>>>>>>> And there is no DMPlexMatSetClosureF90
>>>>>>>
>>>>>>>
>>>>>>> What should i do ?
>>>>>>>
>>>>>>
>>>>>> I was not consistent here with the naming. Since an F77 version was
>>>>>> not possible, I did not
>>>>>> add F90. That is probably wrong, however I would like to scrap the
>>>>>> F77 version of Plex since
>>>>>> everyone uses F90 now and the extra letters are annoying. Go ahead
>>>>>> and use the function.
>>>>>>
>>>>>>     Matt
>>>>>>
>>>>>>
>>>>>>> Thanks
>>>>>>> Reddy
>>>>>>> --
>>>>>>> -----------------------------------------------------
>>>>>>> Dharmendar Reddy Palle
>>>>>>> Graduate Student
>>>>>>> Microelectronics Research center,
>>>>>>> University of Texas at Austin,
>>>>>>> 10100 Burnet Road, Bldg. 160
>>>>>>> MER 2.608F, TX 78758-4445
>>>>>>> e-mail: dharmareddy84 at gmail.com
>>>>>>> Phone: +1-512-350-9082
>>>>>>> United States of America.
>>>>>>> Homepage: https://webspace.utexas.edu/~dpr342
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> 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
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> -----------------------------------------------------
>>>>> Dharmendar Reddy Palle
>>>>> Graduate Student
>>>>> Microelectronics Research center,
>>>>> University of Texas at Austin,
>>>>> 10100 Burnet Road, Bldg. 160
>>>>> MER 2.608F, TX 78758-4445
>>>>> e-mail: dharmareddy84 at gmail.com
>>>>> Phone: +1-512-350-9082
>>>>> United States of America.
>>>>> Homepage: https://webspace.utexas.edu/~dpr342
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> 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
>>>>
>>>
>>>
>>>
>>> --
>>> -----------------------------------------------------
>>> Dharmendar Reddy Palle
>>> Graduate Student
>>> Microelectronics Research center,
>>> University of Texas at Austin,
>>> 10100 Burnet Road, Bldg. 160
>>> MER 2.608F, TX 78758-4445
>>> e-mail: dharmareddy84 at gmail.com
>>> Phone: +1-512-350-9082
>>> United States of America.
>>> Homepage: https://webspace.utexas.edu/~dpr342
>>>
>>
>>
>>
>> --
>> 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
>>
>
>
>
> --
> -----------------------------------------------------
> Dharmendar Reddy Palle
> Graduate Student
> Microelectronics Research center,
> University of Texas at Austin,
> 10100 Burnet Road, Bldg. 160
> MER 2.608F, TX 78758-4445
> e-mail: dharmareddy84 at gmail.com
> Phone: +1-512-350-9082
> United States of America.
> Homepage: https://webspace.utexas.edu/~dpr342
>



-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130415/cf6fa854/attachment.html>


More information about the petsc-users mailing list