Dear deal.II community,

For a software project at FAU Erlangen-Nuremberg, I implemented a 
distributed memory parallel version of a homogenization problem.

Since we handle periodicity with an offset value, I implemented the 
periodic BC in the following manner:


   1. Read mesh
   2. Collect periodic faces (triangulation)
   3. Add periodic faces to triangulation
   4. Collect periodic faces (dofHandler)
   5. Make periodic constraint and set inhomogeneity to periodic DOFs on 
   the boundary.

Next step would be to add a mesh refinement. My first try was adding 
`triangulation.refine_global(nGlobalRefinement);` after the third step.

Unfortunately, when we try to access cells with `!cell.is_artificial()` 
from the resulting vector of `collect_periodic_faces()` to get all locally 
relevant boundary cells to add the inhomogeneity, the following assertion 
is raised:

The violated condition was: 
this->active()
Additional information: 
is_artificial() can only be called on active cells!

Looking at the doc of `collect_periodic_faces` (This function will collect 
periodic face pairs on the coarsest mesh level of the given mesh (a 
Triangulation 
<https://www.dealii.org/9.0.0/doxygen/deal.II/classTriangulation.html> or 
DoFHandler 
<https://www.dealii.org/9.0.0/doxygen/deal.II/classDoFHandler.html>) and 
add them to the vector matched_pairs leaving the original contents 
intact.)  the resulting vector will only contain parent cells, on which the 
call `is_artifiical()` is not possible. 

So we thought if we change the `cell_iterator` in `collect_periodic_faces` 
to `active_cell_iterator` we get a vector containing the child cells (on 
which `is_artifical()` is allowed)? Because we would assume that child 
cells are active and therefore, our previous approach would work again. But 
this did not help either.

If this question might be a bit to complex, I would also prepare a minimal 
example.

Is there a going round to get a similar results as with 
`collect_periodic_faces`, i.e. a vector containing all refined periodic 
cells. 

Thanks for your support in advance.

Best, Maurice


-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/8ba32635-dbf3-41ca-b2f3-b44760702e60n%40googlegroups.com.

Reply via email to