Hi all, Apparently, a long discussion on this topic in 2015 here https://groups.google.com/forum/?fromgroups#!searchin/dealii/hp|sort:relevance/dealii/a7RipcMRI5s/r5pQOr9FSf0J is not enough for myself. I came across an issue which I don't think I saw before.
-------------------------------------------------------- An error occurred in line <859> of file </Users/davydden/libs-sources/deal. ii/davydden/source/fe/fe.cc> in function virtual void dealii::FiniteElement<3, 3>::get_interpolation_matrix(const FiniteElement<dim, spacedim> &, FullMatrix<double> &) const [dim = 3, spacedim = 3] The violated condition was: false Additional information: (none) -------------------------------------------------------- Aborting! ---------------------------------------------------- libc++abi.dylib: terminating with uncaught exception of type dealii:: FiniteElement<3, 3>::ExcInterpolationNotImplemented: -------------------------------------------------------- An error occurred in line <859> of file </Users/davydden/libs-sources/deal. ii/davydden/source/fe/fe.cc> in function virtual void dealii::FiniteElement<3, 3>::get_interpolation_matrix(const FiniteElement<dim, spacedim> &, FullMatrix<double> &) const [dim = 3, spacedim = 3] The violated condition was: false Additional information: (none) -------------------------------------------------------- Backtraces is useless and I can't really check where it is called: * thread #1: tid = 0x3ce73e, 0x00007fff98e0fdd6 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT * frame #0: 0x00007fff98e0fdd6 libsystem_kernel.dylib`__pthread_kill + 10 frame #1: 0x00007fff98efb787 libsystem_pthread.dylib`pthread_kill + 90 frame #2: 0x00007fff98d75420 libsystem_c.dylib`abort + 129 frame #3: 0x00007fff978d285a libc++abi.dylib`abort_message + 266 frame #4: 0x00007fff978f7c37 libc++abi.dylib`default_terminate_handler() + 243 frame #5: 0x00007fff98401ba3 libobjc.A.dylib`_objc_terminate() + 124 frame #6: 0x00007fff978f4d69 libc++abi.dylib`std::__terminate(void (*)()) + 8 frame #7: 0x00007fff978f49f2 libc++abi.dylib`__cxa_rethrow + 99 frame #8: 0x00000001000318a5 CO_arpack_04_hp.debug`main(argc=1, argv=0x00007fff5fbfee40) + 8261 at CO_arpack_04_hp.cc:91 frame #9: 0x00007fff98ce1255 libdyld.dylib`start + 1 All that is happening for a simple p-only refinement of 16 elements in a mesh from FE_Q<3>(1) to FE_Q<3>(2). I am quite certain that interpolation matrix should be there. I will be trying to re-produce this in a small unit test, but meanwhile wanted to post here just in case i miss something obvious. The calls are as follows: /. std::vector<typename Triangulation<dim>::active_cell_iterator> p_cells = get_cells_to_be_p_refined(); // and clear h-refinement flag /.SolutionTransfer<...> soltrans(...) /.store a copy of solution vector /.triangulation.prepare_coarsening_and_refinement (); /.soltrans.prepare_for_coarsening_and_refinement (...); /.triangulation.execute_coarsening_and_refinement (); and only now loop through stored p_cells and increment active_fe_index: typename hp::DoFHandler<dim>::active_cell_iterator dof_cell (&triangulation, p_cell[i]->level(), p_cell[i]->index(), &dof_handler); dof_cell->set_active_fe_index(dof_cell->active_fe_index()+1); followed by setup_system() and soltrans.interpolate() For debuging, i output cell->level(), cell->index() and cell->active_fe_index() and all looks reasonable. number of elements, as expected, don't change and number of dofs increase. The only think I can immediately think of is the fact that I store <active_cell_iterators> to Tria. I could have instead saved iterators of DoFHandler, but this should not make a difference. Regards, Denis. -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.