13#ifndef dealii_non_matching_fe_values_h
14#define dealii_non_matching_fe_values_h
167 template <
typename Number>
202 template <
typename Number>
244 template <
bool level_dof_access>
277 const std::optional<::FEValues<dim>> &
288 const std::optional<::FEValues<dim>> &
298 const std::optional<FEImmersedSurfaceValues<dim>> &
305 template <
typename CellIteratorType>
308 const unsigned int q_index,
309 const unsigned int mapping_index,
310 const unsigned int fe_index);
369 std::deque<std::optional<::FEValues<dim>>>
385 std::deque<std::optional<::FEValues<dim>>>
513 template <
typename Number>
548 template <
typename Number>
572 template <
typename CellIteratorType,
typename CellNeighborIteratorType>
575 const unsigned int face_no,
576 const unsigned int sub_face_no,
577 const CellNeighborIteratorType &cell_neighbor,
578 const unsigned int face_no_neighbor,
579 const unsigned int sub_face_no_neighbor,
592 template <
typename CellIteratorType>
595 const unsigned int face_no,
609 const std::optional<::FEInterfaceValues<dim>> &
621 const std::optional<::FEInterfaceValues<dim>> &
639 template <
typename CellAccessorType>
642 const unsigned int face_no,
643 const unsigned int q_index,
644 const unsigned int active_fe_index,
646 const unsigned int)> &call_reinit);
683 std::optional<::FEInterfaceValues<dim>>
690 std::optional<::FEInterfaceValues<dim>>
723 template <
typename CellIteratorType>
726 const unsigned int face_no,
727 const unsigned int q_index,
728 const unsigned int mapping_index,
729 const unsigned int active_fe_index)
733 const auto reinit_operation =
735 const unsigned int q_index) {
736 fe_interface_values.
reinit(
737 cell, face_no, q_index, mapping_index, active_fe_index);
740 do_reinit(cell, face_no, q_index, active_fe_index, reinit_operation);
746 template <
typename CellIteratorType,
typename CellNeighborIteratorType>
749 const unsigned int face_no,
750 const unsigned int sub_face_no,
751 const CellNeighborIteratorType &cell_neighbor,
752 const unsigned int face_no_neighbor,
753 const unsigned int sub_face_no_neighbor,
754 const unsigned int q_index,
755 const unsigned int mapping_index,
756 const unsigned int active_fe_index)
764 const auto reinit_operation =
766 const unsigned int q_index) {
767 fe_interface_values.
reinit(cell,
772 sub_face_no_neighbor,
778 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)
constexpr unsigned int invalid_unsigned_int