17 #ifndef dealii_matrix_free_mapping_data_on_the_fly_h 18 #define dealii_matrix_free_mapping_data_on_the_fly_h 21 #include <deal.II/base/config.h> 23 #include <deal.II/base/aligned_vector.h> 24 #include <deal.II/base/exceptions.h> 25 #include <deal.II/base/subscriptor.h> 26 #include <deal.II/base/vectorization.h> 28 #include <deal.II/fe/fe_nothing.h> 29 #include <deal.II/fe/fe_values.h> 30 #include <deal.II/fe/mapping_q1.h> 32 #include <deal.II/matrix_free/mapping_info.h> 33 #include <deal.II/matrix_free/shape_info.h> 36 DEAL_II_NAMESPACE_OPEN
41 namespace MatrixFreeFunctions
61 template <
int dim,
typename Number =
double>
87 reinit(typename ::Triangulation<dim>::cell_iterator cell);
99 typename ::Triangulation<dim>::cell_iterator
108 const ::FEValues<dim> &
159 template <
int dim,
typename Number>
167 MappingInfo<dim, Number>::compute_update_flags(update_flags))
194 template <
int dim,
typename Number>
205 template <
int dim,
typename Number>
208 typename ::Triangulation<dim>::cell_iterator cell)
222 for (
unsigned int d = 0; d < dim; ++d)
223 for (
unsigned int e = 0; e < dim; ++e)
227 for (
unsigned int d = 0; d < dim; ++d)
232 for (
unsigned int d = 0; d < dim; ++d)
244 template <
int dim,
typename Number>
249 typename ::Triangulation<dim>::cell_iterator();
254 template <
int dim,
typename Number>
255 inline typename ::Triangulation<dim>::cell_iterator
263 template <
int dim,
typename Number>
264 inline const ::FEValues<dim> &
272 template <
int dim,
typename Number>
281 template <
int dim,
typename Number>
293 DEAL_II_NAMESPACE_CLOSE
Transformed quadrature weights.
const ::FEValues< dim > & get_fe_values() const
FE_Nothing< dim > fe_dummy
const DerivativeForm< 1, dim, spacedim > & jacobian(const unsigned int quadrature_point) const
AlignedVector< Tensor< 1, spacedim, VectorizedArray< Number > > > normals_times_jacobians[2]
typename::Triangulation< dim >::cell_iterator present_cell
AlignedVector< unsigned int > data_index_offsets
const Quadrature< 1 > & get_quadrature() const
AlignedVector< unsigned int > quadrature_point_offsets
const Tensor< 1, spacedim > & normal_vector(const unsigned int i) const
Transformed quadrature points.
const Triangulation< dim, spacedim >::cell_iterator get_cell() const
::FEValues< dim > fe_values
void resize(const size_type size_in)
UpdateFlags get_update_flags() const
std::vector< QuadratureDescriptor > descriptor
const Quadrature< dim > & get_quadrature() const
SymmetricTensor< 2, dim, Number > invert(const SymmetricTensor< 2, dim, Number > &)
void reinit(typename::Triangulation< dim >::cell_iterator cell)
#define Assert(cond, exc)
const Quadrature< 1 > quadrature_1d
typename::Triangulation< dim >::cell_iterator get_cell() const
SymmetricTensor< rank_, dim, Number > transpose(const SymmetricTensor< rank_, dim, Number > &t)
AlignedVector< Point< spacedim, VectorizedArray< Number > > > quadrature_points
Gradient of volume element.
void reinit(const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, level_dof_access >> &cell)
const unsigned int n_quadrature_points
MappingInfoStorage< dim, dim, Number > mapping_info_storage
bool is_initialized() const
AlignedVector< Tensor< 1, spacedim, VectorizedArray< Number > > > normal_vectors
static::ExceptionBase & ExcNotImplemented()
const Point< spacedim > & quadrature_point(const unsigned int q) const
AlignedVector< Tensor< 2, spacedim, VectorizedArray< Number > > > jacobians[2]
AlignedVector< VectorizedArray< Number > > JxW_values
double JxW(const unsigned int quadrature_point) const
MappingDataOnTheFly(const Mapping< dim > &mapping, const Quadrature< 1 > &quadrature, const UpdateFlags update_flags)
const MappingInfoStorage< dim, dim, Number > & get_data_storage() const