[petsc-users] DMMeshCreateMeshFromAdjacency

Dharmendar Reddy dharmareddy84 at gmail.com
Sun Mar 3 16:04:50 CST 2013


Hello,
        We use cratisian mesh for certain problems only. The user gives the
mesh file as one of the inputs. I do not know a-priori what mesh is
created.

On a related note, I am solving a system of equations where i need to use a
fine cartisian mesh for one equation (Schrodinger)  but i would prefer a
coarse traiangular or tetrahedral element mesh for another
eqaution(Poisson). Is there an interface to interpolate data from one mesh
to another?

If i create a DM with a coarse mesh, Can i give the mesh a set of vertices
such that after re meshing the DM has the given vertices as mesh nodes ? I
tried using the gmsh to create a mesh with give set of vertices inside a
region but had no success.

Thanks
Reddy

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

> On Sun, Mar 3, 2013 at 3:48 PM, Dharmendar Reddy <dharmareddy84 at gmail.com>wrote:
>
>> 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.
>>
>
> 1) If you have a Cartesian mesh, use DMDA. This is no point in an
> unstructured mesh.
>
> 2) Yes, you can extract a submesh based upon labeled vertices using
> DMPlexCreateSubmesh(). It will have
>     a map between points in the submesh and original mesh.
>
>
>> 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 ?
>>
>
>     Matt
>
>
>> 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
>>
>
>
>
> --
> 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/5667406e/attachment.html>


More information about the petsc-users mailing list