15#ifndef dealii_non_matching_fe_values
16#define dealii_non_matching_fe_values
169 template <
typename VectorType>
175 const VectorType &level_set,
204 template <
typename VectorType>
212 const VectorType &level_set,
223 template <
bool level_dof_access>
236 const std::optional<::FEValues<dim>> &
247 const std::optional<::FEValues<dim>> &
257 const std::optional<FEImmersedSurfaceValues<dim>> &
318 std::deque<std::optional<::FEValues<dim>>>
334 std::deque<std::optional<::FEValues<dim>>>
462 template <
typename VectorType>
468 const VectorType &level_set,
497 template <
typename VectorType>
505 const VectorType &level_set,
521 template <
typename CellIteratorType,
typename CellNeighborIteratorType>
524 const unsigned int face_no,
525 const unsigned int sub_face_no,
526 const CellNeighborIteratorType &cell_neighbor,
527 const unsigned int face_no_neighbor,
528 const unsigned int sub_face_no_neighbor);
538 template <
typename CellIteratorType>
540 reinit(
const CellIteratorType &cell,
const unsigned int face_no);
551 const std::optional<::FEInterfaceValues<dim>> &
563 const std::optional<::FEInterfaceValues<dim>> &
581 template <
bool level_dof_access>
585 const unsigned int face_no,
639 std::deque<std::optional<::FEInterfaceValues<dim>>>
656 std::deque<std::optional<::FEInterfaceValues<dim>>>
689 template <
typename CellIteratorType>
692 const unsigned int face_no)
696 const auto reinit_operation =
698 fe_interface_values.reinit(cell, face_no);
701 do_reinit(cell, face_no, reinit_operation);
707 template <
typename CellIteratorType,
typename CellNeighborIteratorType>
710 const unsigned int face_no,
711 const unsigned int sub_face_no,
712 const CellNeighborIteratorType &cell_neighbor,
713 const unsigned int face_no_neighbor,
714 const unsigned int sub_face_no_neighbor)
722 const auto reinit_operation =
728 sub_face_no_neighbor](
730 fe_interface_values.reinit(cell,
735 sub_face_no_neighbor);
738 do_reinit(cell, face_no, reinit_operation);
const std::optional<::FEInterfaceValues< dim > > & get_outside_fe_values() const
const SmartPointer< const hp::FECollection< dim > > fe_collection
void initialize(const hp::QCollection< dim - 1 > &q_collection)
const SmartPointer< const hp::MappingCollection< dim > > mapping_collection
const hp::QCollection< 1 > q_collection_1D
typename FaceQuadratureGenerator< dim >::AdditionalData AdditionalData
const RegionUpdateFlags region_update_flags
LocationToLevelSet current_face_location
std::deque< std::optional<::FEInterfaceValues< dim > > > fe_values_inside_full_quadrature
const std::optional<::FEInterfaceValues< dim > > & get_inside_fe_values() const
const SmartPointer< const MeshClassifier< dim > > mesh_classifier
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)
std::deque< std::optional<::FEInterfaceValues< dim > > > fe_values_outside_full_quadrature
std::optional<::FEInterfaceValues< dim > > fe_values_inside
void reinit(const CellIteratorType &cell, const unsigned int face_no)
DiscreteFaceQuadratureGenerator< dim > face_quadrature_generator
void do_reinit(const TriaIterator< DoFCellAccessor< dim, dim, level_dof_access > > &cell, const unsigned int face_no, const std::function< void(::FEInterfaceValues< dim > &)> &call_reinit)
unsigned int active_fe_index
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 SmartPointer< const hp::FECollection< dim > > fe_collection
const std::optional<::FEValues< dim > > & get_outside_fe_values() const
void initialize(const hp::QCollection< dim > &q_collection)
const std::optional< FEImmersedSurfaceValues< dim > > & get_surface_fe_values() const
const SmartPointer< const MeshClassifier< dim > > mesh_classifier
const hp::QCollection< 1 > q_collection_1D
const RegionUpdateFlags region_update_flags
void reinit(const TriaIterator< DoFCellAccessor< dim, dim, level_dof_access > > &cell)
std::optional<::FEValues< dim > > fe_values_inside
const SmartPointer< const hp::MappingCollection< dim > > mapping_collection
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