[petsc-users] DMPlex Fortran examples

Dharmendar Reddy dharmareddy84 at gmail.com
Tue Mar 5 21:52:02 CST 2013


Hello,
         I am having trouble with a couple of DMPlex routines.
 I was doing tests on various function calls that i may need to write a
test Poisson problem.

First issue is with DMPlexComputeCellGeometry. For a rectangle cell
geometry, I get , v0, J, invJ, and detJ as zero.

DMPlexGetConeSize gives run time error

DMPlexVecGetClosure gives runtime error, Should not this call be
DMPlexVecGetClosureF90 ? is there such interface ? I remember doing a
procedure like VecGetArrayF90 and VecRestoreArrayF90 when i had to pass
pointer which need to be restored.

I have attached test case with the make file and error.log. Please have a
look at it.
you need to run:
make all debug=0
./testDMView

Also, I have trouble compiling the code with debug=1 which uses petsc
configured in debug mode everything else being same (you can see the
configure options in the error.log).
I get this error message:
login1$ make all debug=1
make: *** /home1/00924/Reddy135/LocalApps/petsc-dev/mpi_rScalar: Is a
directory.  Stop
.


On Tue, Mar 5, 2013 at 9:22 AM, Matthew Knepley <knepley at gmail.com> wrote:

> On Tue, Mar 5, 2013 at 10:20 AM, Dharmendar Reddy <dharmareddy84 at gmail.com
> > wrote:
>
>> Thanks, so numDof is basically number of dof per topological entity of a
>> cell.  Did i get this right ?
>>
>
> Yes, dof per field per topological entity (sieve point depth).
>
>    Matt
>
>
>> +!     Let u be defined on vertices
>>
>>  +      numDof(0*(dim+1)+1)     = 1 (should not be number of nodes)
>>
>>  +!     Let v be defined on cells
>>
>>  +      numDof(1*(dim+1)+dim+1) = dim
>>
>>  +!     Let v be defined on faces
>>
>>  +      numDof(2*(dim+1)+dim)   = dim-1 (similarly, should not be number of faces time (dim-1))
>>
>>
>>
>>
>> On Tue, Mar 5, 2013 at 9:06 AM, Matthew Knepley <knepley at gmail.com>wrote:
>>
>>> On Tue, Mar 5, 2013 at 2:18 AM, Dharmendar Reddy <
>>> dharmareddy84 at gmail.com> wrote:
>>>
>>>> Hello,
>>>>
>>>>          Trying to understand the DMPlexCreateSection first. I have
>>>> created a test case, can you please have a look at it? Actually the code
>>>> has a link error on my system with petsc-dev.  I used DMPlexeCreateBoxMesh
>>>> to create the mesh. Looks like there is no Fortran interface to that
>>>> function. If i comment out the dmplexcreateboxmesh. It does create and
>>>> executable.
>>>>
>>>
>>> I have now pushed your example, slightly changed, to the repository:
>>>
>>>   src/dm/impls/plex/examples/tutorials/ex1.c/ex1f90.F
>>>
>>> and you can run with -dim 2 or -dim 3.
>>>
>>>   Thanks,
>>>
>>>      Matt
>>>
>>>
>>>> petscDMTest_v2.o: In function `MAIN__':
>>>> petscDMTest_v2.F90:(.text+0x9b): undefined reference to
>>>> `dmplexcreateboxmesh_'
>>>> make: [testDMMeshv2] Error 1 (ignored)
>>>>
>>>> Also, If include finclude/petsc.h90 instead of finclude/petsch.h i get
>>>> compile error :
>>>>
>>>> petscDMTest_v2.F90(73): error #6691: A pointer dummy argument may only
>>>> be argument a
>>>> ssociated with a pointer.   [NUMCOMP]
>>>>   call DMPlexCreateSection(dmMesh, topologyDim, numField, numComp,
>>>> numDof, &
>>>> ----------------------------------------------------------^
>>>> petscDMTest_v2.F90(73): error #6691: A pointer dummy argument may only
>>>> be argument a
>>>> ssociated with a pointer.   [NUMDOF]
>>>>   call DMPlexCreateSection(dmMesh, topologyDim, numField, numComp,
>>>> numDof, &
>>>> -------------------------------------------------------------------^
>>>> petscDMTest_v2.F90(74): error #6691: A pointer dummy argument may only
>>>> be argument a
>>>> ssociated with a pointer.   [BCFIELD]
>>>>                            numBC, bcField, bcPointIS,section,ierr)
>>>> ----------------------------------^
>>>> petscDMTest_v2.F90(74): error #6691: A pointer dummy argument may only
>>>> be argument a
>>>> ssociated with a pointer.   [BCPOINTIS]
>>>>                            numBC, bcField, bcPointIS,section,ierr)
>>>> -------------------------------------------^
>>>>
>>>> Please have a look at the attached test case and Makefile
>>>>
>>>>
>>>> On Mon, Mar 4, 2013 at 7:39 PM, Matthew Knepley <knepley at gmail.com>wrote:
>>>>
>>>>> On Mon, Mar 4, 2013 at 7:50 PM, Dharmendar Reddy <
>>>>> dharmareddy84 at gmail.com> wrote:
>>>>>
>>>>>> Hello,
>>>>>>          Is there a DMPlex based fortran example for solving a pde
>>>>>> such as laplace ? Even a c example will do. I am not able to understand the
>>>>>> terminology of chart, cone etc. Is there a paper or user guide to learn
>>>>>> more about the definitions of terms such as chart cone stratum ? I remember
>>>>>> reading a presentation file by mathew about sieve. Is there a newer
>>>>>> tutorial with terminology mapped to the new DMPlex/DMMesh functions.
>>>>>>
>>>>>
>>>>> There is a fully worked out Stokes example (SNES ex62) and a Finite
>>>>> Volume example (TS ex11),
>>>>> and there are a few tests. You should not need much of that stuff for
>>>>> defining a problem. I am
>>>>> writing up a paper about ex11 right now. There is a short manual
>>>>> section on unstructured grids as well.
>>>>>
>>>>> I think the key thing to understand is how to define a data layout
>>>>> over the mesh using a PetscSection.
>>>>> Once that is done, all the DM functions work as normal, and the last
>>>>> hard part is coding your residual
>>>>> loop. I have support for FEM schemes, but its undocumented and
>>>>> slightly complex in order to allow
>>>>> GPU assembly, so you may be more comfortable with your own element
>>>>> loop to start.
>>>>>
>>>>>   Thanks,
>>>>>
>>>>>      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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130305/419c2591/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Makefile
Type: application/octet-stream
Size: 1138 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130305/419c2591/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testDMView.F90
Type: application/octet-stream
Size: 4083 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130305/419c2591/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: error.log
Type: application/octet-stream
Size: 2997 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130305/419c2591/attachment-0005.obj>


More information about the petsc-users mailing list