Hi,
I am trying to simulate a reaction-diffusion system containing two
species on a square domain(structured mesh) with periodic boundary
conditions enforced on the concentration fields on opposite edges. After
testing my implementation on a single processor I obtain the following
error message :
*---------------------------------------------------------
TimerOutput objects finalize timed values printed to the
screen by communicating over MPI in their
destructors.
Since an exception is
currently uncaught, this
synchronization (and subsequent output) will be skipped
to avoid a possible deadlock.
---------------------------------------------------------
----------------------------------------------------
Exception on processing:
--------------------------------------------------------
An error occurred in line <2107> of file
</home/aadi/dealii-9.2.0/source/grid/grid_tools_dof_handlers.cc> in
function void
dealii::GridTools::match_periodic_face_pairs(std::set<std::pair<CellIterator,
unsigned int> >&, std::set<std::pair<typename
dealii::identity<RangeType>::type, unsigned int> >&, int,
std::vector<dealii::GridTools::PeriodicFacePair<CellIterator> >&, const
dealii::Tensor<1, typename FaceIterator::AccessorType:: space_dimension>&,
const dealii::FullMatrix<double>&) [with CellIterator =
dealii::TriaIterator<dealii::CellAccessor<2, 2> >; typename
dealii::identity<RangeType>::type =
dealii::TriaIterator<dealii::CellAccessor<2, 2> >; typename
FaceIterator::AccessorType = dealii::CellAccessor<2, 2>]
The violated condition was:
n_matches == pairs1.size()
&& pairs2.size() == 0
Additional
information:
Unmatched faces on periodic boundaries
--------------------------------------------------------
Aborting! *
*Additional Details* : The error message is associated with the
*create_mesh()* method of the problem class whose implementation I have
included below. The part highlighted in red is the cause of the error
message :
template <int dim>
void Schnakenberg<dim>::create_mesh()
{
TimerOutput::Scope t(computing_timer, "setup");
GridGenerator::hyper_cube(triangulation, min_coord, max_coord, true);
std::vector<GridTools::PeriodicFacePair<
typename parallel::distributed::Triangulation<dim>::cell_iterator>>
periodicity_vector;
GridTools::collect_periodic_faces(triangulation,
0,
1,
0,
periodicity_vector);
GridTools::collect_periodic_faces(triangulation,
2,
3,
0,
periodicity_vector);
triangulation.add_periodicity(periodicity_vector);
triangulation.refine_global(refine_factor);
}
Also, I am curious as to what the '*direction*' argument in the
*GridTools::collect_periodic_faces* function should be for a scalar
solution field. I would appreciate some insight on this. Thank you.
Best,
Aaditya
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/d5cbad41-ea65-461d-ac3e-021fee0b5f82n%40googlegroups.com.