sieve-dev Mesh distribution fails (renumbering?)

Matthew Knepley knepley at gmail.com
Thu Sep 2 08:57:11 CDT 2010


On Thu, Sep 2, 2010 at 3:48 PM, Stefan Kurzbach <stefan.kurzbach at tuhh.de>wrote:

>  Dear Matt,
>
> I have successfully loaded our mesh into a Sieve (containing two triangles
> and one quadrangle) and I can view it in VTK (after correcting the number of
> nodes of the quadrilateral). Unfortunately the mesh distribution with 2 or
> more processors fails (using Chaco) with an invalid point index. I have
> tried debugging the code and found the following source of the error
> (stacktrace attached). Chaco has returned a correct cell partition from what
> I could see in the debug output (also attached), but the renumbering for the
> two sub-sieves seems to be wrong. Do you have an idea what is going wrong?
>

It failing on the checkPoint() which means that the point does not lie in
the "chart", or legal interval for points in
that sieve. Usually this results from violating the implicit numbering
policy for the ISieve, namely that cells are
numbered first, then vertices, and then everything else. If you send your
code, I would be happy to find the
problem.


> Also, I would like to ask you to post your sieve-dev conversation with Shi
> Jin on the mailing list, if possible. I think I will run into similar
> problems eventually.
>

I will post whatever you want, but I am not exactly sure which conversation
you are asking for (we have had
quite a few).

  Thanks,

     Matt


> Thanks,
> Stefan
>
> ---
> Thread [1] (Suspended)
>    9 ALE::Interval<int, ALE::malloc_allocator<int> >::checkPoint()
> ISieve.hh:85 4181d3
>    8 ALE::IFSieve<int, ALE::malloc_allocator<int> >::setConeSize()
> ISieve.hh:1245 412339
>    7 ALE::Partitioner<ALE::Chaco::Partitioner<ALE::malloc_allocator<short>
> >, ALE::malloc_allocator<int> >::sizeLocalSieveV<ALE::IFSieve<int,
> ALE::malloc_allocator<int> >, ALE::ISection<short, int,
> ALE::malloc_allocator<int> >, std::map<int, int, std::less<int>,
> std::allocator<std::pair<int const, int> > > >() Partitioner.hh:1061 551619
>    6 ALE::Partitioner<ALE::Chaco::Partitioner<ALE::malloc_allocator<short>
> >, ALE::malloc_allocator<int>
> >::sizeLocalMeshV<ALE::IMesh<ALE::LabelSifter<int, int,
> ALE::malloc_allocator<ALE::NewSifterDef::Arrow<int, int> > > >,
> ALE::ISection<short, int, ALE::malloc_allocator<int> >, std::map<int, int,
> std::less<int>, std::allocator<std::pair<int const, int> > > >()
> Partitioner.hh:1073 531165
>    5 ALE::DistributionNew<ALE::IMesh<ALE::LabelSifter<int, int,
> ALE::malloc_allocator<ALE::NewSifterDef::Arrow<int, int> > > >,
> ALE::Partitioner<ALE::Chaco::Partitioner<ALE::malloc_allocator<short> >,
> ALE::malloc_allocator<int> >
> >::distributeMeshV<ALE::IMesh<ALE::LabelSifter<int, int,
> ALE::malloc_allocator<ALE::NewSifterDef::Arrow<int, int> > > >,
> std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int>
> > >, ALE::Sifter<int, short, int,
> boost::multi_index::composite_key_compare<std::less<int>, std::less<int>,
> std::less<short>, boost::tuples::null_type, boost::tuples::null_type,
> boost::tuples::null_type, boost::tuples::null_type,
> boost::tuples::null_type, boost::tuples::null_type,
> boost::tuples::null_type>, ALE::SifterDef::RecContainer<int,
> ALE::SifterDef::Rec<int> >, ALE::SifterDef::RecContainer<short,
> ALE::SifterDef::Rec<short> > >, ALE::Sifter<short, int, int,
> boost::multi_index::composite_key_compare<std::less<short>, std::less<int>,
> std::less<int>, boost::tuples::null_type, boost::tuples::null_type,
> boost::tuples::null_type, boost::tuples::null_type,
> boost::tuples::null_type, boost::tuples::null_type,
> boost::tuples::null_type>, ALE::SifterDef::RecContainer<short,
> ALE::SifterDef::Rec<short> >, ALE::SifterDef::RecContainer<int,
> ALE::SifterDef::Rec<int> > > >() Distribution.hh:292 510aba
>    4 ALE::DistributionNew<ALE::IMesh<ALE::LabelSifter<int, int,
> ALE::malloc_allocator<ALE::NewSifterDef::Arrow<int, int> > > >,
> ALE::Partitioner<ALE::Chaco::Partitioner<ALE::malloc_allocator<short> >,
> ALE::malloc_allocator<int> >
> >::distributeMeshAndSectionsV<ALE::IMesh<ALE::LabelSifter<int, int,
> ALE::malloc_allocator<ALE::NewSifterDef::Arrow<int, int> > > > >()
> Distribution.hh:325 4fdcfb
>    3 MeshDistribute() mesh.c:1686 4ece4d
>    2 CreateMesh() createMesh2d.cxx:146 40e938
>    1 main() createMesh2d.cxx:204 40f50b
>
> ---
> viewing Section
> : Cell Partition'
> [0]:   0 dim 1 offset 0   0
> [0]:   1 dim 2 offset 1   1 2
> [1]:   0 dim 1 offset 0   0
> [1]:   1 dim 2 offset 1   1 2
> viewing Section
> : Partition'
> [0]:   0 dim 4 offset 0   0 3 4 5
> [0]:   1 dim 7 offset 4   1 2 4 5 6 7 8
> [1]:   0 dim 4 offset 0   0 3 4 5
> [1]:   1 dim 7 offset 4   1 2 4 5 6 7 8
> [0]Got new tag 2147483519
> [0]Got new tag 2147483519
> [0]Got new tag 2147483519
> [0]Got new tag 2147483518
> [0] Sending data (2) to 1 tag 2147483519
> [0] Sending data (2) to 1 tag 2147483518
> [0] Sending data (1) to 1 tag 2147483519
> [0] Sending data (7) to 1 tag 2147483519
> viewing a Sifter, comm = 1140850688, PETSC_COMM_SELF = 1140850689, commRank
> = 0
> viewing Sifter: 'Send mesh overlap'
> cap --> base:
> [0]: 1--(1)-->1
> [0]: 2--(2)-->1
> [0]: 4--(4)-->1
> [0]: 5--(5)-->1
> [0]: 6--(6)-->1
> [0]: 7--(7)-->1
> [0]: 8--(8)-->1
> [1]: 0--(0)-->0
> [1]: 3--(3)-->0
> [1]: 4--(4)-->0
> [1]: 5--(5)-->0
> viewing a Sifter, comm = 1140850688, PETSC_COMM_SELF = 1140850689, commRank
> = 0
> viewing Sifter: 'Receive mesh overlap'
> cap --> base:
> [0]: empty
> [1]: 0--(1)-->7
> [1]: 0--(2)-->8
> [1]: 0--(4)-->9
> [1]: 0--(5)-->10
> [1]: 0--(6)-->11
> [1]: 0--(7)-->12
> [1]: 0--(8)-->13
> [0]Got new tag 2147483519
> [0]Got new tag 2147483517
> [0]Got new tag 2147483519
> [0]Got new tag 2147483516
> [0] Sending data (7) to 1 tag 2147483519
> [0] Sending data (2) to 1 tag 2147483516
> [0] Sending data (2) to 1 tag 2147483517
> [0] Sending data (7) to 1 tag 2147483519
> viewing Section
> : Overlap Cones'
> [0]: empty
> in kokan_aus_2d(6, 0x14fbaa0, 8, (nil))
> Creating new NumberingFactory
> Creating new real section: coordinates
> Adding coordinates for vertex 3
> Adding coordinates for vertex 4
> Adding coordinates for vertex 5
> Adding coordinates for vertex 6
> Adding coordinates for vertex 7
> Adding coordinates for vertex 8
> [1]Got new tag 2147483519
> [1]Got new tag 2147483519
> [1]Got new tag 2147483519
> [1]Got new tag 2147483518
> [1] Receiving data (2) from 0 tag 2147483519
> [1] Receiving data (2) from 0 tag 2147483518
> [1] Receiving data (1) from 0 tag 2147483519
> [1] Receiving data (7) from 0 tag 2147483519
> viewing a Sifter, comm = 1140850688, PETSC_COMM_SELF = 1140850689, commRank
> = 1
> viewing a Sifter, comm = 1140850688, PETSC_COMM_SELF = 1140850689, commRank
> = 1
>



-- 
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/sieve-dev/attachments/20100902/7ee2b8e0/attachment.htm>


More information about the sieve-dev mailing list