16 #include <deal.II/meshworker/scratch_data.h> 18 DEAL_II_NAMESPACE_OPEN
22 template <
int dim,
int spacedim>
32 , cell_quadrature(quadrature)
33 , face_quadrature(face_quadrature)
34 , cell_update_flags(update_flags)
35 , neighbor_cell_update_flags(update_flags)
36 , face_update_flags(face_update_flags)
37 , neighbor_face_update_flags(face_update_flags)
38 , local_dof_indices(fe.dofs_per_cell)
39 , neighbor_dof_indices(fe.dofs_per_cell)
44 template <
int dim,
int spacedim>
57 , face_quadrature(face_quadrature)
60 , face_update_flags(face_update_flags)
61 , neighbor_face_update_flags(neighbor_face_update_flags)
68 template <
int dim,
int spacedim>
85 template <
int dim,
int spacedim>
98 neighbor_update_flags,
101 neighbor_face_update_flags)
106 template <
int dim,
int spacedim>
125 template <
int dim,
int spacedim>
131 fe_values = std_cxx14::make_unique<FEValues<dim, spacedim>>(
142 template <
int dim,
int spacedim>
146 const unsigned int face_no)
149 fe_face_values = std_cxx14::make_unique<FEFaceValues<dim, spacedim>>(
160 template <
int dim,
int spacedim>
164 const unsigned int face_no,
165 const unsigned int subface_no)
171 std_cxx14::make_unique<FESubfaceValues<dim, spacedim>>(
180 return reinit(cell, face_no);
185 template <
int dim,
int spacedim>
202 template <
int dim,
int spacedim>
206 const unsigned int face_no)
210 std_cxx14::make_unique<FEFaceValues<dim, spacedim>>(
220 template <
int dim,
int spacedim>
224 const unsigned int face_no,
225 const unsigned int subface_no)
231 std_cxx14::make_unique<FESubfaceValues<dim, spacedim>>(
244 template <
int dim,
int spacedim>
249 ExcMessage(
"You have to initialize the cache using one of the " 250 "reinit functions first!"));
256 template <
int dim,
int spacedim>
261 ExcMessage(
"You have to initialize the cache using one of the " 262 "reinit functions first!"));
268 template <
int dim,
int spacedim>
269 const std::vector<Point<spacedim>> &
277 template <
int dim,
int spacedim>
278 const std::vector<double> &
286 template <
int dim,
int spacedim>
287 const std::vector<double> &
295 template <
int dim,
int spacedim>
296 const std::vector<Tensor<1, spacedim>> &
304 template <
int dim,
int spacedim>
305 const std::vector<Tensor<1, spacedim>> &
313 template <
int dim,
int spacedim>
314 const std::vector<types::global_dof_index> &
322 template <
int dim,
int spacedim>
323 const std::vector<types::global_dof_index> &
331 template <
int dim,
int spacedim>
340 template <
int dim,
int spacedim>
348 DEAL_II_NAMESPACE_CLOSE
351 DEAL_II_NAMESPACE_OPEN
354 #include "scratch_data.inst" 356 DEAL_II_NAMESPACE_CLOSE
static const unsigned int invalid_unsigned_int
GeneralDataStorage internal_data_storage
SmartPointer< FEValuesBase< dim, spacedim > > current_fe_values
std::unique_ptr< FEFaceValues< dim, spacedim > > fe_face_values
Quadrature< dim > cell_quadrature
SmartPointer< const Mapping< dim, spacedim > > mapping
const Mapping< dim, spacedim > & get_mapping() const
std::unique_ptr< FEValues< dim, spacedim > > neighbor_fe_values
UpdateFlags neighbor_face_update_flags
const std::vector< types::global_dof_index > & get_local_dof_indices() const
const FEValuesBase< dim, spacedim > & get_current_neighbor_fe_values() const
const FEValues< dim, spacedim > & reinit(const typename DoFHandler< dim, spacedim >::active_cell_iterator &cell)
UpdateFlags neighbor_cell_update_flags
const std::vector< Tensor< 1, spacedim > > & get_neighbor_normal_vectors()
std::vector< types::global_dof_index > neighbor_dof_indices
ScratchData(const Mapping< dim, spacedim > &mapping, const FiniteElement< dim, spacedim > &fe, const Quadrature< dim > &quadrature, const UpdateFlags &update_flags, const Quadrature< dim - 1 > &face_quadrature=Quadrature< dim - 1 >(), const UpdateFlags &face_update_flags=update_default)
GeneralDataStorage & get_general_data_storage()
std::unique_ptr< FESubfaceValues< dim, spacedim > > fe_subface_values
std::unique_ptr< FESubfaceValues< dim, spacedim > > neighbor_fe_subface_values
static ::ExceptionBase & ExcMessage(std::string arg1)
const FEValues< dim, spacedim > & reinit_neighbor(const typename DoFHandler< dim, spacedim >::active_cell_iterator &cell)
#define Assert(cond, exc)
const std::vector< Tensor< 1, spacedim > > & get_normal_vectors() const
Abstract base class for mapping classes.
const std::vector< Point< spacedim > > & get_quadrature_points() const
SmartPointer< FEValuesBase< dim, spacedim > > current_neighbor_fe_values
std::unique_ptr< FEFaceValues< dim, spacedim > > neighbor_fe_face_values
UpdateFlags face_update_flags
GeneralDataStorage user_data_storage
UpdateFlags cell_update_flags
Quadrature< dim - 1 > face_quadrature
std::unique_ptr< FEValues< dim, spacedim > > fe_values
const std::vector< types::global_dof_index > & get_neighbor_dof_indices() const
const FEValuesBase< dim, spacedim > & get_current_fe_values() const
const std::vector< double > & get_neighbor_JxW_values() const
const std::vector< double > & get_JxW_values() const
typename ActiveSelector::active_cell_iterator active_cell_iterator
std::vector< types::global_dof_index > local_dof_indices
SmartPointer< const FiniteElement< dim, spacedim > > fe