#include <deal.II/non_matching/quadrature_generator.h>
Public Member Functions | |
UpThroughDimensionCreator (const hp::QCollection< 1 > &q_collection1D, const AdditionalQGeneratorData &additional_data) | |
void | generate (const std::vector< std::reference_wrapper< const Function< dim > > > &level_sets, const BoundingBox< dim > &box, const Quadrature< dim - 1 > &low_dim_quadrature, const unsigned int height_function_direction, QPartitioning< dim > &q_partitioning) |
void | set_1D_quadrature (const unsigned int q_index) |
Private Member Functions | |
void | create_surface_point (const Point< dim - 1 > &point, const double weight, const std::vector< std::reference_wrapper< const Function< dim > > > &level_sets, const BoundingBox< dim > &box, const unsigned int height_function_direction, ImmersedSurfaceQuadrature< dim > &surface_quadrature) |
Private Attributes | |
const SmartPointer< const hp::QCollection< 1 > > | q_collection1D |
const AdditionalQGeneratorData | additional_data |
unsigned int | q_index |
std::vector< Functions::PointRestriction< dim - 1 > > | point_restrictions |
RootFinder | root_finder |
std::vector< double > | roots |
This class is responsible for creating quadrature points for the
To be precise, let
For each lower dimensional quadrature point,
In each interval,
When
where
Definition at line 896 of file quadrature_generator.h.
NonMatching::internal::QuadratureGeneratorImplementation::UpThroughDimensionCreator< dim, spacedim >::UpThroughDimensionCreator | ( | const hp::QCollection< 1 > & | q_collection1D, |
const AdditionalQGeneratorData & | additional_data ) |
Constructor. Takes the same parameters as QuadratureGenerator.
Definition at line 732 of file quadrature_generator.cc.
void NonMatching::internal::QuadratureGeneratorImplementation::UpThroughDimensionCreator< dim, spacedim >::generate | ( | const std::vector< std::reference_wrapper< const Function< dim > > > & | level_sets, |
const BoundingBox< dim > & | box, | ||
const Quadrature< dim - 1 > & | low_dim_quadrature, | ||
const unsigned int | height_function_direction, | ||
QPartitioning< dim > & | q_partitioning ) |
Create q_partitioning
.
Definition at line 748 of file quadrature_generator.cc.
void NonMatching::internal::QuadratureGeneratorImplementation::UpThroughDimensionCreator< dim, spacedim >::set_1D_quadrature | ( | const unsigned int | q_index | ) |
Set which 1d-quadrature in the collection passed to the constructor should be used to create the immersed quadratures.
Definition at line 858 of file quadrature_generator.cc.
|
private |
Create a surface quadrature point from the lower-dimensional point and add it to surface_quadrature.
This function is only called when
Definition at line 804 of file quadrature_generator.cc.
|
private |
One dimensional quadrature rules used to create the immersed quadratures.
Definition at line 949 of file quadrature_generator.h.
|
private |
Stores options/settings for the algorithm.
Definition at line 954 of file quadrature_generator.h.
|
private |
Which quadrature rule in the above collection that is used to create the immersed quadrature rules.
Definition at line 960 of file quadrature_generator.h.
|
private |
1d-functions, that are restrictions of each dim-dimensional level set function passed to generate() to some
Definition at line 966 of file quadrature_generator.h.
|
private |
Class used to find the roots of the above 1d-restictions.
Definition at line 971 of file quadrature_generator.h.
|
private |
The roots of the functions in point_restrictions. This will be the values of the height functions,
Definition at line 979 of file quadrature_generator.h.