Deal all,
I want to weakly impose boundary conditions on, let's say, Laplace problem 
(in fact I'm working on Stokes).  I'm considering [FE_Q<2>(2)^2]   ( that 
is   FESystem<2>[FE_Q<2>(2)^2] + FE_Q<2>(1) for Stokes).
As a MatrixFree loop I'm using:
  this->data->loop(&SymGradMass::local_apply, &SymGradMass::apply_face,
                   &SymGradMass::apply_boundary,
   this, dst, src,
                   /*zero_dst =*/false,
                   MatrixFree<dim, Number>::DataAccessOnFaces::gradients,
                   MatrixFree<dim, Number>::DataAccessOnFaces::gradients);

where apply_face function is empty (only local_apply and apply_boundary 
perform integration ).

 After initializing MatrixFree object with following data:

    typename MatrixFree<dim, Number>::AdditionalData additional_data;
    additional_data.tasks_parallel_scheme =
    MatrixFree<dim,Number>::AdditionalData::none;
    additional_data.mapping_update_flags =
      (update_gradients | update_JxW_values | update_quadrature_points);
    additional_data.mapping_update_flags_boundary_faces =
        (update_gradients | update_JxW_values | update_normal_vectors |
         update_quadrature_points);
    additional_data.mapping_update_flags_inner_faces =
        (update_default);

I get end error (at the end of the email).  It looks like the MatrixFree is 
trying to compute coupling of DoF over face but on the other side that 
information is not provided (by FE?). I suppose this only requires simple 
fix:  in case if 
mapping_update_flags_inner_faces =    update_default
proceed as in standard case (no boundary integrals) - the boundary 
integrals does not generate additional DoF coupling.

Best,
Michał Wichrowski

An error occurred in line <786> of file 
</home/mwichro/lib/dealii/include/deal.II/base/partitioner.h> in function
    dealii::types::global_dof_index 
dealii::Utilities::MPI::Partitioner::local_to_global(unsigned int) const
The violated condition was: 
    static_cast<typename ::dealii::internal::argument_type<void( typename 
std::common_type<decltype(local_index), decltype(local_size() + 
n_ghost_indices_data)>::type)>:: type>(local_index) < static_cast<typename 
::dealii::internal::argument_type<void( typename 
std::common_type<decltype(local_index), decltype(local_size() + 
n_ghost_indices_data)>::type)>:: type>(local_size() + n_ghost_indices_data)
Additional information: 
    Index 4294967295 is not in the half-open range [0,12832).

Stacktrace:
-----------
#0  /home/mwichro/lib/deal.II/lib/libdeal_II.g.so.9.2.0-pre: 
dealii::Utilities::MPI::Partitioner::local_to_global(unsigned int) const
#1  /home/mwichro/lib/deal.II/lib/libdeal_II.g.so.9.2.0-pre: void 
dealii::MatrixFree<2, double, dealii::VectorizedArray<double, 4> 
>::initialize_indices<double>(std::vector<dealii::AffineConstraints<double> 
const*, std::allocator<dealii::AffineConstraints<double> const*> > const&, 
std::vector<dealii::IndexSet, std::allocator<dealii::IndexSet> > const&, 
dealii::MatrixFree<2, double, dealii::VectorizedArray<double, 4> 
>::AdditionalData const&)
#2  /home/mwichro/lib/deal.II/lib/libdeal_II.g.so.9.2.0-pre: void 
dealii::MatrixFree<2, double, dealii::VectorizedArray<double, 4> 
>::internal_reinit<double>(dealii::Mapping<2, 2> const&, 
std::vector<dealii::DoFHandler<2, 2> const*, 
std::allocator<dealii::DoFHandler<2, 2> const*> > const&, 
std::vector<dealii::AffineConstraints<double> const*, 
std::allocator<dealii::AffineConstraints<double> const*> > const&, 
std::vector<dealii::IndexSet, std::allocator<dealii::IndexSet> > const&, 
std::vector<dealii::hp::QCollection<1>, 
std::allocator<dealii::hp::QCollection<1> > > const&, dealii::MatrixFree<2, 
double, dealii::VectorizedArray<double, 4> >::AdditionalData const&)
#3  ./fsi_matrix_free_2d.g: void dealii::MatrixFree<2, double, 
dealii::VectorizedArray<double, 4> >::reinit<dealii::DoFHandler<2, 2>, 
dealii::QGauss<1>, double>(dealii::Mapping<2, 2> const&, 
std::vector<dealii::DoFHandler<2, 2> const*, 
std::allocator<dealii::DoFHandler<2, 2> const*> > const&, 
std::vector<dealii::AffineConstraints<double> const*, 
std::allocator<dealii::AffineConstraints<double> const*> > const&, 
dealii::QGauss<1> const&, dealii::MatrixFree<2, double, 
dealii::VectorizedArray<double, 4> >::AdditionalData const&)
#4  ./fsi_matrix_free_2d.g: StokesSolver<2, 2>::setup_system()
#5  ./fsi_matrix_free_2d.g: StokesSolver<2, 
2>::initialize(std::shared_ptr<dealii::Mapping<2, 2> >&)
#6  ./fsi_matrix_free_2d.g: FSIInterface<2, 
2>::FSIInterface(RunTimeParameters const&)
#7  ./fsi_matrix_free_2d.g: main
--------------------------------------------------------


-- 
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/5cabfdc7-7db3-484d-b705-e31be5c4bd68%40googlegroups.com.

Reply via email to