15#ifndef dealii_non_matching_fe_values
16#define dealii_non_matching_fe_values
169 template <
typename Number>
204 template <
typename Number>
246 template <
bool level_dof_access>
279 const std::optional<::FEValues<dim>> &
290 const std::optional<::FEValues<dim>> &
300 const std::optional<FEImmersedSurfaceValues<dim>> &
307 template <
typename CellIteratorType>
310 const unsigned int q_index,
311 const unsigned int mapping_index,
312 const unsigned int fe_index);
371 std::deque<std::optional<::FEValues<dim>>>
387 std::deque<std::optional<::FEValues<dim>>>
515 template <
typename Number>
550 template <
typename Number>
574 template <
typename CellIteratorType,
typename CellNeighborIteratorType>
577 const unsigned int face_no,
578 const unsigned int sub_face_no,
579 const CellNeighborIteratorType &cell_neighbor,
580 const unsigned int face_no_neighbor,
581 const unsigned int sub_face_no_neighbor,
594 template <
typename CellIteratorType>
597 const unsigned int face_no,
611 const std::optional<::FEInterfaceValues<dim>> &
623 const std::optional<::FEInterfaceValues<dim>> &
641 template <
typename CellAccessorType>
644 const unsigned int face_no,
645 const unsigned int q_index,
646 const unsigned int active_fe_index,
648 const unsigned int)> &call_reinit);
685 std::optional<::FEInterfaceValues<dim>>
692 std::optional<::FEInterfaceValues<dim>>
725 template <
typename CellIteratorType>
728 const unsigned int face_no,
729 const unsigned int q_index,
730 const unsigned int mapping_index,
731 const unsigned int active_fe_index)
735 const auto reinit_operation =
737 const unsigned int q_index) {
738 fe_interface_values.
reinit(
739 cell, face_no, q_index, mapping_index, active_fe_index);
742 do_reinit(cell, face_no, q_index, active_fe_index, reinit_operation);
748 template <
typename CellIteratorType,
typename CellNeighborIteratorType>
751 const unsigned int face_no,
752 const unsigned int sub_face_no,
753 const CellNeighborIteratorType &cell_neighbor,
754 const unsigned int face_no_neighbor,
755 const unsigned int sub_face_no_neighbor,
756 const unsigned int q_index,
757 const unsigned int mapping_index,
758 const unsigned int active_fe_index)
766 const auto reinit_operation =
768 const unsigned int q_index) {
769 fe_interface_values.
reinit(cell,
774 sub_face_no_neighbor,
780 do_reinit(cell, face_no, q_index, active_fe_index, reinit_operation);
void reinit(const CellIteratorType &cell, const unsigned int face_no, const unsigned int sub_face_no, const CellNeighborIteratorType &cell_neighbor, const unsigned int face_no_neighbor, const unsigned int sub_face_no_neighbor, const unsigned int q_index=numbers::invalid_unsigned_int, const unsigned int mapping_index=numbers::invalid_unsigned_int, const unsigned int fe_index=numbers::invalid_unsigned_int, const unsigned int fe_index_neighbor=numbers::invalid_unsigned_int)
const std::optional<::FEInterfaceValues< dim > > & get_outside_fe_values() const
void initialize(const hp::QCollection< dim - 1 > &q_collection)
const ObserverPointer< const hp::MappingCollection< dim > > mapping_collection
const hp::QCollection< 1 > q_collection_1D
void reinit(const CellIteratorType &cell, const unsigned int face_no, const unsigned int sub_face_no, const CellNeighborIteratorType &cell_neighbor, const unsigned int face_no_neighbor, const unsigned int sub_face_no_neighbor, const unsigned int q_index=numbers::invalid_unsigned_int, const unsigned int mapping_index=numbers::invalid_unsigned_int, const unsigned int fe_index=numbers::invalid_unsigned_int)
typename FaceQuadratureGenerator< dim >::AdditionalData AdditionalData
const RegionUpdateFlags region_update_flags
void reinit(const CellIteratorType &cell, const unsigned int face_no, const unsigned int q_index=numbers::invalid_unsigned_int, const unsigned int mapping_index=numbers::invalid_unsigned_int, const unsigned int fe_index=numbers::invalid_unsigned_int)
void do_reinit(const TriaIterator< CellAccessorType > &cell, const unsigned int face_no, const unsigned int q_index, const unsigned int active_fe_index, const std::function< void(::FEInterfaceValues< dim > &, const unsigned int)> &call_reinit)
LocationToLevelSet current_face_location
const ObserverPointer< const MeshClassifier< dim > > mesh_classifier
std::optional<::FEInterfaceValues< dim > > fe_values_inside_full_quadrature
const std::optional<::FEInterfaceValues< dim > > & get_inside_fe_values() const
const ObserverPointer< const hp::FECollection< dim > > fe_collection
std::optional<::FEInterfaceValues< dim > > fe_values_outside_full_quadrature
std::optional<::FEInterfaceValues< dim > > fe_values_inside
DiscreteFaceQuadratureGenerator< dim > face_quadrature_generator
std::optional<::FEInterfaceValues< dim > > fe_values_outside
std::optional< NonMatching::FEImmersedSurfaceValues< dim > > fe_values_surface
std::deque< std::optional<::FEValues< dim > > > fe_values_inside_full_quadrature
std::optional<::FEValues< dim > > fe_values_outside
LocationToLevelSet current_cell_location
const ObserverPointer< const hp::FECollection< dim > > fe_collection
const std::optional<::FEValues< dim > > & get_outside_fe_values() const
const ObserverPointer< const MeshClassifier< dim > > mesh_classifier
void initialize(const hp::QCollection< dim > &q_collection)
const std::optional< FEImmersedSurfaceValues< dim > > & get_surface_fe_values() const
void reinit_internal(const CellIteratorType &cell, const unsigned int q_index, const unsigned int mapping_index, const unsigned int fe_index)
const hp::QCollection< 1 > q_collection_1D
const ObserverPointer< const hp::MappingCollection< dim > > mapping_collection
const RegionUpdateFlags region_update_flags
void reinit(const TriaIterator< DoFCellAccessor< dim, dim, level_dof_access > > &cell, const unsigned int q_index=numbers::invalid_unsigned_int, const unsigned int mapping_index=numbers::invalid_unsigned_int)
std::optional<::FEValues< dim > > fe_values_inside
typename QuadratureGenerator< dim >::AdditionalData AdditionalData
DiscreteQuadratureGenerator< dim > quadrature_generator
std::deque< std::optional<::FEValues< dim > > > fe_values_outside_full_quadrature
unsigned int active_fe_index
const std::optional<::FEValues< dim > > & get_inside_fe_values() const
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcNotImplemented()
#define Assert(cond, exc)
static const unsigned int invalid_unsigned_int