GridGenerator::extract_boundary_mesh for parallel::shared::Triangulation

13 views
Skip to first unread message

Alberto Salvadori

unread,
Jun 7, 2017, 9:14:49 AM6/7/17
to deal.II User Group
Hi all,

I am trying to reproduce the code in Step 38 that extracts the boundary mesh, but I'd love to use a parallel::shared::Triangulation rather than a Triangulation class. In a nutshell, I did this:



template <int dim>

class SmallStrainBeltramiDiffusionAndMechanicalProblem

{

 

public:

  [ ... ]

private:

  [ ... ]


  // Surface manifold dimension


  static const unsigned int manifold_dim = dim-1;


  // FEM member variables  

  parallel::shared::Triangulation<dim>   triangulation;

  parallel::shared::Triangulation<manifold_dim,dim>   manifold_triangulation;

  DoFHandler<dim>  dof_handler;

  DoFHandler<manifold_dim,dim>  manifold_dof_handler;

  MappingQ<manifold_dim,dim>    manifold_mapping;


[ ... ]

}


template <int dim>

void SmallStrainBeltramiDiffusionAndMechanicalProblem<dim>::create_coarse_grid ( bool neumann )

{

 

  const Point<dim> center;


  GridGenerator::hyper_ball (triangulation, center, 1.);

  triangulation.refine_global ( 6 );

  GridGenerator::extract_boundary_mesh (triangulation, manifold_triangulation); //, boundary_ids);

[ ...] 


}

  

I got this error message:

--------------------------------------------------------

An error occurred in line <220> of file <../source/distributed/tria_base.cc> in function

    virtual types::subdomain_id dealii::parallel::Triangulation<1, 2>::locally_owned_subdomain() const

The violated condition was: 

    dim > 1

The name and call sequence of the exception was:

    ExcNotImplemented()

Additional Information: 

You are trying to use functionality in deal.II that is currently not implemented. In many cases, this indicates that there simply didn't appear much of a need for it, or that the author of the original code did not have the time to implement a particular case. If you hit this exception, it is therefore worth the time to look into the code to find out whether you may be able to implement the missing functionality. If you do, please consider providing a patch to the deal.II development sources (see the deal.II website on how to contribute).


Stacktrace:

-----------

#0  2   libdeal_II.g.8.4.1.dylib            0x0000000108b2c3f7 _ZNK6dealii8parallel13TriangulationILi1ELi2EE23locally_owned_subdomainEv + 231: 2   libdeal_II.g.8.4.1.dylib            0x0000000108b2c3f7 _ZNK6dealii8parallel13TriangulationILi1ELi2EE23locally_owned_subdomainEv 

#1  3   libdeal_II.g.8.4.1.dylib            0x00000001081ce7f1 _ZNK6dealii12CellAccessorILi1ELi2EE8is_ghostEv + 577: 3   libdeal_II.g.8.4.1.dylib            0x00000001081ce7f1 _ZNK6dealii12CellAccessorILi1ELi2EE8is_ghostEv 

#2  4   libdeal_II.g.8.4.1.dylib            0x0000000108b2cb8f _ZN6dealii8parallel13TriangulationILi1ELi2EE19update_number_cacheEv + 1455: 4   libdeal_II.g.8.4.1.dylib            0x0000000108b2cb8f _ZN6dealii8parallel13TriangulationILi1ELi2EE19update_number_cacheEv 

#3  5   libdeal_II.g.8.4.1.dylib            0x0000000108b33f6d _ZN6dealii8parallel6shared13TriangulationILi1ELi2EE20create_triangulationERKNSt3__16vectorINS_5PointILi2EdEENS4_9allocatorIS7_EEEERKNS5_INS_8CellDataILi1EEENS8_ISE_EEEERKNS_11SubCellDataE + 413: 5   libdeal_II.g.8.4.1.dylib            0x0000000108b33f6d _ZN6dealii8parallel6shared13TriangulationILi1ELi2EE20create_triangulationERKNSt3__16vectorINS_5PointILi2EdEENS4_9allocatorIS7_EEEERKNS5_INS_8CellDataILi1EEENS8_ISE_EEEERKNS_11SubCellDataE 

#4  6   libdeal_II.g.8.4.1.dylib            0x0000000107c383b9 _ZN6dealii13GridGenerator21extract_boundary_meshINS_8parallel6shared13TriangulationELi2ELi2EEENSt3__13mapINT_IXmiT0_Li1EEXT1_EE13cell_iteratorENS7_IXT0_EXT1_EE13face_iteratorENS5_4lessIS9_EENS5_9allocatorINS5_4pairIKS9_SB_EEEEEERKSA_RS8_RKNS5_3setIhNSC_IhEENSE_IhEEEE + 4537: 6   libdeal_II.g.8.4.1.dylib            0x0000000107c383b9 _ZN6dealii13GridGenerator21extract_boundary_meshINS_8parallel6shared13TriangulationELi2ELi2EEENSt3__13mapINT_IXmiT0_Li1EEXT1_EE13cell_iteratorENS7_IXT0_EXT1_EE13face_iteratorENS5_4lessIS9_EENS5_9allocatorINS5_4pairIKS9_SB_EEEEEERKSA_RS8_RKNS5_3setIhNSC_IhEENSE_IhEEEE 

#5  7   heat-eq                             0x0000000100058754 _ZN20SmallStrainMechanics48SmallStrainBeltramiDiffusionAndMechanicalProblemILi2EE18create_coarse_gridEb + 196: 7   heat-eq                             0x0000000100058754 _ZN20SmallStrainMechanics48SmallStrainBeltramiDiffusionAndMechanicalProblemILi2EE18create_coarse_gridEb 

#6  8   heat-eq                             0x000000010005432f _ZN20SmallStrainMechanics48SmallStrainBeltramiDiffusionAndMechanicalProblemILi2EE16do_timestep_zeroEjPK26TimeIntegrationDataManagerb + 191: 8   heat-eq                             0x000000010005432f _ZN20SmallStrainMechanics48SmallStrainBeltramiDiffusionAndMechanicalProblemILi2EE16do_timestep_zeroEjPK26TimeIntegrationDataManagerb 

#7  9   heat-eq                             0x00000001000343cd _ZN20SmallStrainMechanics48SmallStrainBeltramiDiffusionAndMechanicalProblemILi2EE3runEjb + 717: 9   heat-eq                             0x00000001000343cd _ZN20SmallStrainMechanics48SmallStrainBeltramiDiffusionAndMechanicalProblemILi2EE3runEjb 

#8  10  heat-eq                             0x0000000100033b17 main + 391: 10  heat-eq                             0x0000000100033b17 main 

#9  11  libdyld.dylib                       0x00007fffa8348235 start + 1: 11  libdyld.dylib                       0x00007fffa8348235 start 

--------------------------------------------------------


Am I missing something or attempting at doing something that has not been implemented yet?

Thanks
Alberto


Reply all
Reply to author
Forward
0 new messages