[petsc-users] DMPlex Fortran examples

Matthew Knepley knepley at gmail.com
Tue Mar 5 09:22:25 CST 2013


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


More information about the petsc-users mailing list