deal.II version GIT relicensing-2291-g668cd86249 2024-12-24 11:30:00+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
quadrature_generator.cc File Reference
#include <deal.II/base/function_tools.h>
#include "deal.II/fe/fe_q.h"
#include "deal.II/fe/fe_q_iso_q1.h"
#include <deal.II/grid/reference_cell.h>
#include <deal.II/lac/block_vector.h>
#include <deal.II/lac/la_parallel_block_vector.h>
#include <deal.II/lac/la_parallel_vector.h>
#include <deal.II/lac/petsc_block_vector.h>
#include <deal.II/lac/petsc_vector.h>
#include <deal.II/lac/trilinos_epetra_vector.h>
#include <deal.II/lac/trilinos_parallel_block_vector.h>
#include <deal.II/lac/trilinos_tpetra_vector.h>
#include <deal.II/lac/trilinos_vector.h>
#include <deal.II/lac/vector.h>
#include <deal.II/matrix_free/fe_point_evaluation.h>
#include <deal.II/non_matching/quadrature_generator.h>
#include <boost/math/special_functions/relative_difference.hpp>
#include <boost/math/special_functions/sign.hpp>
#include <boost/math/tools/roots.hpp>
#include <algorithm>
#include <vector>
#include "quadrature_generator.inst"

Go to the source code of this file.

Classes

class  NonMatching::internal::DiscreteQuadratureGeneratorImplementation::RefSpaceFEFieldFunction< dim, Number >
 

Namespaces

namespace  NonMatching
 
namespace  NonMatching::internal
 
namespace  NonMatching::internal::QuadratureGeneratorImplementation
 
namespace  NonMatching::internal::DiscreteQuadratureGeneratorImplementation
 

Functions

template<int dim>
void NonMatching::internal::QuadratureGeneratorImplementation::tensor_point_with_1D_quadrature (const Point< dim - 1 > &point, const double weight, const Quadrature< 1 > &quadrature1D, const double start, const double end, const unsigned int component_in_dim, ExtendableQuadrature< dim > &quadrature)
 
template<int dim>
void NonMatching::internal::QuadratureGeneratorImplementation::add_tensor_product (const Quadrature< dim - 1 > &lower, const Quadrature< 1 > &quadrature1D, const double start, const double end, const unsigned int component_in_dim, ExtendableQuadrature< dim > &quadrature)
 
template<int dim>
Definiteness NonMatching::internal::QuadratureGeneratorImplementation::pointwise_definiteness (const std::vector< std::reference_wrapper< const Function< dim > > > &functions, const Point< dim > &point)
 
template<int dim>
void NonMatching::internal::QuadratureGeneratorImplementation::take_min_max_at_vertices (const Function< dim > &function, const BoundingBox< dim > &box, std::pair< double, double > &value_bounds)
 
template<int dim>
void NonMatching::internal::QuadratureGeneratorImplementation::estimate_function_bounds (const std::vector< std::reference_wrapper< const Function< dim > > > &functions, const BoundingBox< dim > &box, std::vector< FunctionBounds< dim > > &all_function_bounds)
 
template<int dim>
std::pair< double, double > NonMatching::internal::QuadratureGeneratorImplementation::find_extreme_values (const std::vector< FunctionBounds< dim > > &all_function_bounds)
 
bool NonMatching::internal::QuadratureGeneratorImplementation::is_indefinite (const std::pair< double, double > &function_bounds)
 
double NonMatching::internal::QuadratureGeneratorImplementation::lower_bound_on_abs (const std::pair< double, double > &function_bounds)
 
template<int dim>
std::optional< HeightDirectionDataNonMatching::internal::QuadratureGeneratorImplementation::find_best_height_direction (const std::vector< FunctionBounds< dim > > &all_function_bounds)
 
template<int dim>
bool NonMatching::internal::QuadratureGeneratorImplementation::one_positive_one_negative_definite (const std::vector< FunctionBounds< dim > > &all_function_bounds)
 
template<int dim>
void NonMatching::internal::QuadratureGeneratorImplementation::map_quadrature_to_box (const Quadrature< dim > &unit_quadrature, const BoundingBox< dim > &box, ExtendableQuadrature< dim > &quadrature)
 
template<int dim>
void NonMatching::internal::QuadratureGeneratorImplementation::restrict_to_top_and_bottom (const std::vector< std::reference_wrapper< const Function< dim > > > &functions, const BoundingBox< dim > &box, const unsigned int direction, std::vector< Functions::CoordinateRestriction< dim - 1 > > &restrictions)
 
template<int dim>
void NonMatching::internal::QuadratureGeneratorImplementation::restrict_to_point (const std::vector< std::reference_wrapper< const Function< dim > > > &functions, const Point< dim - 1 > &point, const unsigned int open_direction, std::vector< Functions::PointRestriction< dim - 1 > > &restrictions)
 
template<int dim>
void NonMatching::internal::QuadratureGeneratorImplementation::distribute_points_between_roots (const Quadrature< 1 > &quadrature1D, const BoundingBox< 1 > &interval, const std::vector< double > &roots, const Point< dim - 1 > &point, const double weight, const unsigned int height_function_direction, const std::vector< std::reference_wrapper< const Function< 1 > > > &level_sets, const AdditionalQGeneratorData &additional_data, QPartitioning< dim > &q_partitioning)
 
template<int dim>
Point< dim > NonMatching::internal::QuadratureGeneratorImplementation::face_projection_closest_zero_contour (const Point< dim - 1 > &point, const unsigned int direction, const BoundingBox< dim > &box, const Function< dim > &level_set)
 
template<int dim>
std::optional< unsigned intNonMatching::internal::QuadratureGeneratorImplementation::direction_of_largest_extent (const BoundingBox< dim > &box)
 
template<int dim>
unsigned int NonMatching::internal::QuadratureGeneratorImplementation::compute_split_direction (const BoundingBox< dim > &box, const std::optional< HeightDirectionData > &height_direction_data)
 
template<int dim>
BoundingBox< dim > NonMatching::internal::QuadratureGeneratorImplementation::left_half (const BoundingBox< dim > &box, const unsigned int direction)
 
template<int dim>
BoundingBox< dim > NonMatching::internal::QuadratureGeneratorImplementation::right_half (const BoundingBox< dim > &box, const unsigned int direction)
 
static ::ExceptionBaseNonMatching::internal::DiscreteQuadratureGeneratorImplementation::ExcCellNotSet ()
 
static ::ExceptionBaseNonMatching::internal::DiscreteQuadratureGeneratorImplementation::ExcReferenceCellNotHypercube ()
 
template<int dim>
BoundingBox< dim > NonMatching::internal::DiscreteQuadratureGeneratorImplementation::create_subcell_box (const BoundingBox< dim > &unit_box, const std::array< unsigned int, dim > &subcell_indices, const unsigned int n_subdivisions)
 
template<int dim>
std::vector< unsigned intNonMatching::internal::DiscreteQuadratureGeneratorImplementation::setup_lexicographic_mask (const std::array< unsigned int, dim > &subcell_indices, unsigned int dofs_per_line)