16#ifndef dealii_non_matching_fe_values
17#define dealii_non_matching_fe_values
170 template <
class VectorType>
176 const VectorType & level_set,
205 template <
class VectorType>
213 const VectorType & level_set,
224 template <
bool level_dof_access>
237 const std_cxx17::optional<::FEValues<dim>> &
248 const std_cxx17::optional<::FEValues<dim>> &
258 const std_cxx17::optional<FEImmersedSurfaceValues<dim>> &
319 std::deque<std_cxx17::optional<::FEValues<dim>>>
335 std::deque<std_cxx17::optional<::FEValues<dim>>>
363 std_cxx17::optional<NonMatching::FEImmersedSurfaceValues<dim>>
464 template <
class VectorType>
470 const VectorType & level_set,
499 template <
class VectorType>
507 const VectorType & level_set,
523 template <
class CellIteratorType,
class CellNeighborIteratorType>
526 const unsigned int face_no,
527 const unsigned int sub_face_no,
528 const CellNeighborIteratorType &cell_neighbor,
529 const unsigned int face_no_neighbor,
530 const unsigned int sub_face_no_neighbor);
540 template <
class CellIteratorType>
542 reinit(
const CellIteratorType &cell,
const unsigned int face_no);
553 const std_cxx17::optional<::FEInterfaceValues<dim>> &
565 const std_cxx17::optional<::FEInterfaceValues<dim>> &
583 template <
bool level_dof_access>
587 const unsigned int face_no,
641 std::deque<std_cxx17::optional<::FEInterfaceValues<dim>>>
658 std::deque<std_cxx17::optional<::FEInterfaceValues<dim>>>
691 template <
class CellIteratorType>
694 const unsigned int face_no)
698 const auto reinit_operation =
700 fe_interface_values.reinit(cell, face_no);
703 do_reinit(cell, face_no, reinit_operation);
709 template <
class CellIteratorType,
class CellNeighborIteratorType>
712 const unsigned int face_no,
713 const unsigned int sub_face_no,
714 const CellNeighborIteratorType &cell_neighbor,
715 const unsigned int face_no_neighbor,
716 const unsigned int sub_face_no_neighbor)
724 const auto reinit_operation =
730 sub_face_no_neighbor](
732 fe_interface_values.reinit(cell,
737 sub_face_no_neighbor);
740 do_reinit(cell, face_no, reinit_operation);
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
std::deque< std_cxx17::optional<::FEInterfaceValues< dim > > > fe_values_inside_full_quadrature
typename FaceQuadratureGenerator< dim >::AdditionalData AdditionalData
const std_cxx17::optional<::FEInterfaceValues< dim > > & get_inside_fe_values() const
const RegionUpdateFlags region_update_flags
LocationToLevelSet current_face_location
std_cxx17::optional<::FEInterfaceValues< dim > > fe_values_inside
std::deque< std_cxx17::optional<::FEInterfaceValues< dim > > > fe_values_outside_full_quadrature
const std_cxx17::optional<::FEInterfaceValues< dim > > & get_outside_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_cxx17::optional<::FEInterfaceValues< dim > > fe_values_outside
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::deque< std_cxx17::optional<::FEValues< dim > > > fe_values_inside_full_quadrature
LocationToLevelSet current_cell_location
const SmartPointer< const hp::FECollection< dim > > fe_collection
void initialize(const hp::QCollection< dim > &q_collection)
std::deque< std_cxx17::optional<::FEValues< dim > > > fe_values_outside_full_quadrature
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_cxx17::optional< NonMatching::FEImmersedSurfaceValues< dim > > fe_values_surface
std_cxx17::optional<::FEValues< dim > > fe_values_outside
const std_cxx17::optional<::FEValues< dim > > & get_outside_fe_values() const
const SmartPointer< const hp::MappingCollection< dim > > mapping_collection
typename QuadratureGenerator< dim >::AdditionalData AdditionalData
DiscreteQuadratureGenerator< dim > quadrature_generator
std_cxx17::optional<::FEValues< dim > > fe_values_inside
unsigned int active_fe_index
const std_cxx17::optional< FEImmersedSurfaceValues< dim > > & get_surface_fe_values() const
const std_cxx17::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