[petsc-users] [petsc-maint] Fwd: DMPlex global to natural problem using DmPlexGetVertexNumbering or DMPlexGlobalToNatural
Danyang Su
danyang.su at gmail.com
Thu Nov 29 23:13:19 CST 2018
On 18-11-29 06:13 PM, Matthew Knepley wrote:
> On Thu, Nov 29, 2018 at 7:40 PM Danyang Su via petsc-maint
> <petsc-maint at mcs.anl.gov <mailto:petsc-maint at mcs.anl.gov>> wrote:
>
> Dear PETSc developers & users,
>
> Sorry to bother you again. I just encounter some difficulties in
> DMPlex
> global to natural order. This is not the very necessary function
> in my
> code. But it's best to have it in case someone wants to feed code
> with
> initial conditions or parameters from external file using natural
> ordering.
>
> First I tried to use DmPlexGetVertexNumbering which seems pretty
> straightforward, but I always get error saying "You need a ISO C
> conforming compiler to use the glibc headers". I use Gfortran on
> Linux.
>
> Then I switched to use Label to save global-natural order before
> distributing the mesh, everything works fine. The only problem is
> that
> it takes a very long time during mesh distribution when the size
> of mesh
> is very big.
>
> Finally I tried to use GlobalToNatural ordering. Set Natural order to
> TRUE before calling DMPlexDistribute and then call
> DMPlexSetMigrationSF.
> However, the function DMPlexGlobalToNaturalEnd seems doing nothing as
> the returned vector is always unchanged. I got some help from Josh
> who
> has done similar work before. But I still cannot figure out what is
> wrong in the code.
>
>
> Can you run the example that Blaise recommended? Sometimes its easiest
> to start
> with an example and change it into your code.
I cannot compile ex26 due to missing exodusII.h file. Error information is
make ex26
/home/dsu/Soft/PETSc/petsc-3.10.2/linux-gnu-dbg/bin/mpicc -o ex26.o -c
-Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas
-fstack-protector -fvisibility=hidden -g3
-I/home/dsu/Soft/PETSc/petsc-3.10.2/include
-I/home/dsu/Soft/PETSc/petsc-3.10.2/linux-gnu-dbg/include `pwd`/ex26.c
/home/dsu/Soft/PETSc/petsc-3.10.2/src/dm/impls/plex/examples/tests/ex26.c:10:22:
fatal error: exodusII.h: No such file or directory
compilation terminated.
/home/dsu/Soft/PETSc/petsc-3.10.2/lib/petsc/conf/rules:359: recipe for
target 'ex26.o' failed
Anyway, I will look at this example to get familiar with GlobalToNatural
related functions.
Thanks,
Danyang
>
> Thanks,
>
> Matt
>
> Attached is the code section with related functions included,
> together
> with a mesh and output of global vector and natural vector. If
> something
> is wrong in the code, it should be in these four functions. The
> related
> functions are called in the following order.
>
> call solver_dd_create_dmplex
>
> call solver_dd_mapping_set_dmplex
>
> call solver_dd_DMDACreate_flow
>
> !call solver_dd_DMDACreate_react Not used in current testing
>
> call solver_dd_mapping_global_natural
>
> I really appreciate your help.
>
> Regards,
>
> Danyang
>
>
>
> --
> 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
>
> https://www.cse.buffalo.edu/~knepley/
> <http://www.cse.buffalo.edu/%7Eknepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20181129/b779b2fe/attachment-0001.html>
More information about the petsc-users
mailing list