Dear all,
I'm trying to use matrix-free with discontinuous Galerkin elements for 
variable coefficient problem.  The face integral require access to value of 
coefficient. For the cell I've done the following thing:
//Vectors of values, stored in object:
  AlignedVector< VectorizedArray<Number> > mu;
  AlignedVector< VectorizedArray<Number> > rho;
//Filling the vectors:
  const unsigned int n_cells = this->data->n_macro_cells();
  rho.resize  (n_cells);
  mu.resize  (n_cells);
  for (unsigned int cell=0; cell<n_cells; ++cell)
    {
  for(unsigned int element=0; element<this->data->n_components_filled(cell) 
; ++element){
  const unsigned int  ID=this->data->get_cell_iterator(cell,element,0 
)->material_id();
  rho[cell][element] = rho_map.at(ID) ;
  mu[cell][element]  = miu_map.at(ID) ;
  }
    }
For the faces I am trying to do something like that:
//Vectors of values, stored in object:
  AlignedVector< VectorizedArray<Number> > mu_inner_faces;

//Filling the vectors:
  const unsigned int n_faces=this->data->n_inner_face_batches();
  mu_inner_faces.resize(n_faces);
  for (unsigned int face=0; face<n_faces; ++face){
  const internal::MatrixFreeFunctions::FaceToCellTopology
  < VectorizedArray< Number >::n_array_elements > 
face2cell_info=this->data->get_face_info(face);

  for(unsigned int element=0;
  element<this->data->n_active_entries_per_face_batch(face) ;
  ++element){
  const unsigned int interior_cell = face2cell_info.cells_interior[element];
    const unsigned int exterior_cell = 
face2cell_info.cells_exterior[element];
   
   ??????????????????????????????????????

  }
  }

If I understood correctly interior_cell and exterior_cell will be numbers 
of cell.
 I have no idea how to get cell iterators from that information. I even 
found that MAtrixFree class contains attribute
std::vector< std::pair< unsigned int, unsigned int > >  cell_level_index 
<https://dealii.org/current/doxygen/deal.II/classMatrixFree.html#acef3e0d7d294a05dca57f290583ba629>
but unfortunately it is private and  there is no  getter for that. 

I will also need to get user_index from each face and create from that 
another AlignedVector of parameters. This operations will be done only once 
so I do not care much about efficiency.
Best, 
Michal

-- 
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/b3c0fccd-7a76-4d90-a573-74719d281c37%40googlegroups.com.

Reply via email to