[petsc-users] DMMeshCreateMeshFromAdjacency

Dharmendar Reddy dharmareddy84 at gmail.com
Sun Mar 3 14:48:40 CST 2013


So i should use petsc-dev ? I will try that.

I there any way i can have access to submesh? Consider a this scenario.
I have a two dimensional mesh in a rectangle with a uniform deltaX and
deltaY gridding. Is there any way i can get submesh at say x = (i-1)*deltaX
where  say i = 1 to N. The dofs on the submesh will should be mapped to
dofs on the original mesh. The submesh in this case will be  a 1D mesh
along y-axis.

I can create each DM with input celllist and create maps after that but i
am wondering if this can be done via DMgetsubDM kind of call ?

Thanks
Reddy

On Sun, Mar 3, 2013 at 2:11 PM, Matthew Knepley <knepley at gmail.com> wrote:

> On Sun, Mar 3, 2013 at 2:37 PM, Dharmendar Reddy <dharmareddy84 at gmail.com>wrote:
>
>> Hello,
>>
>>          Thanks. I will have the code compiled with-cxx and with-sieve.
>> The error is understandable when i look at the following line from
>> meshcreate.c
>>
>> 312:   if (interpolate) {SETERRQ <http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/SETERRQ.html#SETERRQ>(comm, PETSC_ERR_SUP, "Interpolation (creation of faces and edges) is not yet supported.");}
>>
>>
>> Any idea if this feature will be implimented? I am trying to import mesh from gmsh.
>> I have a Fortran code which will genrate list for faces and edges for a given mesh.
>>
>> Is there a DMMEsh interface through which i can input list of edges and faces ?
>>
>>
> DMMesh was an initial implementation of these ideas, but did not interface
> well with
> solvers, so it has been rewritten in C as DMPlex. The interface is almost
> exactly the
> same, and if you want increased functionality I would encourage you to
> switch. For
> example, DMMeshCreateMeshFromAdjacency() becomes
>
>   DMPlexCreateFromCellList()
>
> and you can follow this with
>
>   DMInterpolate()
>
> to automatically create the edges and faces.
>
>   Thanks,
>
>      Matt
>
>
>> Thanks
>> Reddy
>>
>>
>>
>> On Sun, Mar 3, 2013 at 12:23 AM, Satish Balay <balay at mcs.anl.gov> wrote:
>>
>>> BTW: I don't get compile errors with this code using petsc-3.3 built
>>> with:
>>>
>>>  --with-clanguage=cxx --with-sieve=1 --with-boost=1
>>>
>>> [the code fails to run though..]
>>>
>>> Satish
>>>
>>> ---------
>>>
>>> asterix:/home/balay/download-pine>make
>>> PETSC_DIR=/home/balay/petsc-dist-test PETSC_ARCH=asterix64-sieve
>>> petscDMTest_v2
>>> /home/balay/soft/linux64/mpich2-1.1/bin/mpif90 -c  -fPIC -Wall
>>> -Wno-unused-variable -Wno-unused-dummy-argument -g
>>> -I/home/balay/petsc-dist-test/include
>>> -I/home/balay/petsc-dist-test/asterix64-sieve/include
>>> -I/home/balay/petsc-dist-test/include/sieve
>>> -I/home/balay/soft/linux64/mpich2-1.1/include
>>> -I/home/balay/soft/mpich2-1.5/include    -o petscDMTest_v2.o
>>> petscDMTest_v2.F90
>>> /home/balay/soft/linux64/mpich2-1.1/bin/mpif90 -fPIC -Wall
>>> -Wno-unused-variable -Wno-unused-dummy-argument -g   -o petscDMTest_v2
>>> petscDMTest_v2.o
>>>  -Wl,-rpath,/home/balay/petsc-dist-test/asterix64-sieve/lib
>>> -L/home/balay/petsc-dist-test/asterix64-sieve/lib  -lpetsc -lX11 -lpthread
>>> -llapack -lblas -lm -Wl,-rpath,/home/balay/soft/mpich2-1.5/lib
>>> -L/home/balay/soft/mpich2-1.5/lib
>>> -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/4.7.2
>>> -L/usr/lib/gcc/x86_64-redhat-linux/4.7.2 -lmpichf90 -lgfortran -lm
>>> -lgfortran -lm -lquadmath -lm -lmpichcxx -lstdc++ -ldl -lmpich -lopa -lmpl
>>> -lrt -lgcc_s -ldl
>>> /usr/bin/rm -f petscDMTest_v2.o
>>> asterix:/home/balay/download-pine>./petscDMTest_v2
>>> [0]PETSC ERROR: --------------------- Error Message
>>> ------------------------------------
>>> [0]PETSC ERROR: No support for this operation for this object type!
>>> [0]PETSC ERROR: Interpolation (creation of faces and edges) is not yet
>>> supported.!
>>> [0]PETSC ERROR:
>>> ------------------------------------------------------------------------
>>> [0]PETSC ERROR: Petsc Release Version 3.3.0, Patch 6, unknown
>>> [0]PETSC ERROR: See docs/changes/index.html for recent updates.
>>> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>>> [0]PETSC ERROR: See docs/index.html for manual pages.
>>> [0]PETSC ERROR:
>>> ------------------------------------------------------------------------
>>> [0]PETSC ERROR: ./petscDMTest_v2 on a asterix64 named asterix by balay
>>> Sun Mar  3 00:21:29 2013
>>> [0]PETSC ERROR: Libraries linked from
>>> /home/balay/petsc-dist-test/asterix64-sieve/lib
>>> [0]PETSC ERROR: Configure run at Sun Mar  3 00:15:25 2013
>>> [0]PETSC ERROR: Configure options
>>> --with-mpi-dir=/home/balay/soft/linux64/mpich2-1.1
>>> --with-shared-libraries=1 --with-clanguage=cxx --with-sieve=1
>>> PETSC_ARCH=asterix64-sieve --with-boost=1
>>> [0]PETSC ERROR:
>>> ------------------------------------------------------------------------
>>> [0]PETSC ERROR: DMMeshCreateMeshFromAdjacency() line 312 in
>>> /home/balay/petsc-dist-test/src/dm/impls/mesh/meshcreate.c
>>>  Surcessfully Loaded mesh into DM
>>> asterix:/home/balay/download-pine>
>>>
>>>
>>>
>>>
>>>
>>> On Sat, 2 Mar 2013, Satish Balay wrote:
>>>
>>> > Fortran compiler doesn't care about presence or absence of interface
>>> > defintions. If they exist - then it does extra prototype checks. If
>>> > they don't exist - it assumes f77 and chugs along].
>>> >
>>> > Did you build petsc with sieve [and cxx]?  send make.log for this
>>> > petsc build. Also what do you get for:
>>> >
>>> > nm -Ao libpetsc.a |grep -i DMMeshCreateMeshFromAdjacency
>>> >
>>> > You can followup this issue [with logs] on petsc-maint.
>>> >
>>> > Satish
>>> >
>>> >
>>> > On Sat, 2 Mar 2013, Dharmendar Reddy wrote:
>>> >
>>> > > As you said, I do not need, PETSC_USE_FORTRAN_INTERFACES. The
>>> interface to
>>> > > dmmeshcreatefromadjacency is not defined in
>>> > >
>>> > > finclude/ftn-custom/petscdmmesh.h90
>>> > >
>>> > > it is only defined in
>>> > >
>>> > > finclude/ftn-auto/petscdmmesh.h90
>>> > >
>>> > >
>>> > > On Sat, Mar 2, 2013 at 7:51 PM, Dharmendar Reddy <
>>> dharmareddy84 at gmail.com>wrote:
>>> > >
>>> > > > Hello,
>>> > > >         Sorry, I was going to create a test case. Anyways here is
>>> the
>>> > > > error message
>>> > > >
>>> > > > petscDMTest_v2.o: In function `MAIN__':
>>> > > > petscDMTest_v2.F90:(.text+0x354): undefined reference to
>>> > > > `dmmeshcreatemeshfromad
>>> > > > jacency_'
>>> > > > make: [testDMMesh] Error 1 (ignored)
>>> > > >
>>> > > > I have attached a test case and makefile.  make all should gen
>>> rate the
>>> > > > executable.
>>> > > >
>>> > > > Thanks
>>> > > > Reddy
>>> > > >
>>> > > >
>>> > > > On Sat, Mar 2, 2013 at 7:10 PM, Satish Balay <balay at mcs.anl.gov>
>>> wrote:
>>> > > >
>>> > > >> On Sat, 2 Mar 2013, Dharmendar Reddy wrote:
>>> > > >>
>>> > > >> > Hello,
>>> > > >> >         I am trying to use DMMeshCreateMeshFromAdjacency in a
>>> Fortran
>>> > > >> code.
>>> > > >> > I get undefined reference error.
>>> > > >>
>>> > > >> What error? please copy/paste
>>> > > >>
>>> > > >> > I include the following file in my program
>>> > > >> > #include "finclude/petsc.h90"
>>> > > >> >
>>> > > >> > I see that fortran interface to DMMeshCreateMeshFromAdjacency
>>> is defined
>>> > > >> > only in
>>> > > >> >
>>> > > >> > finclude/ftn-auto/petscdmmesh.h90
>>> > > >> >
>>> > > >> > I am not able to figure out if PETSC_USE_FORTRAN_INTERFACES is
>>> defined.
>>> > > >> I
>>> > > >> > did not compile the code. I am runing the code on TACC
>>> stampede. I tried
>>> > > >> > adding
>>> > > >> >
>>> > > >> > #define PETSC_USE_FORTRAN_INTERFACES 1
>>> > > >> > in my program before the petsc inlcude line but i still get
>>> error.
>>> > > >>
>>> > > >> 1. again 'get error' doesn't tell us anything.
>>> > > >>
>>> > > >> And you shouldn't need PETSC_USE_FORTRAN_INTERFACES to use
>>> > > >> DMMeshCreateMeshFromAdjacency
>>> > > >>
>>> > > >> Satish
>>> > > >>
>>> > > >> >
>>> > > >> >
>>> > > >> > 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
>>> > > >
>>> > >
>>> > >
>>> > >
>>> > >
>>> >
>>> >
>>>
>>>
>>
>>
>> --
>> -----------------------------------------------------
>> 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/20130303/83efee92/attachment.html>


More information about the petsc-users mailing list