![]() |
deal.II version GIT relicensing-3512-g0a98d4ed9f 2025-06-14 14:10:00+00:00
|
The 1d-base case of the recursive algorithm QGenerator<dim, spacedim>.
Let \(L\) and \(R\) be the left and right bounds of the one-dimensional BoundingBox. This interval is partitioned into \([x_0, x_1, ..., x_n]\) where \(x_0 = L\), \(x_n = R\), and the remaining \(x_i\) are the roots of the level set functions in the interval \([L, R]\). In each interval, \([x_i, x_{i+1}]\), quadrature points are distributed according to a 1d-quadrature rule. These points are added to one of the regions of QPartitioning determined from the signs of the level set functions on the interval (see documentation of QPartitioning).
If spacedim = 1 the points \([x_1, x_{n-1}]\) are also added as surface quadrature points to QPartitioning::surface.
Definition at line 1273 of file quadrature_generator.h.
Public Member Functions | |
QGenerator (const hp::QCollection< 1 > &quadratures1D, const AdditionalQGeneratorData &additional_data) | |
void | generate (const std::vector< std::reference_wrapper< const Function< 1 > > > &level_sets, const BoundingBox< 1 > &box, const unsigned int n_box_splits) |
void | set_1D_quadrature (const unsigned int q_index) |
void | clear_quadratures () |
const QPartitioning< dim > & | get_quadratures () const |
Protected Attributes | |
const AdditionalQGeneratorData | additional_data |
unsigned int | q_index |
const ObserverPointer< const hp::QCollection< 1 > > | q_collection1D |
QPartitioning< dim > | q_partitioning |
Private Member Functions | |
void | create_surface_points (const std::vector< std::reference_wrapper< const Function< 1 > > > &level_sets) |
Private Attributes | |
RootFinder | root_finder |
std::vector< double > | roots |
const unsigned int | direction = 0 |
const Point< 0 > | zero_dim_point |
const double | unit_weight = 1 |
NonMatching::internal::QuadratureGeneratorImplementation::QGenerator< 1, spacedim >::QGenerator | ( | const hp::QCollection< 1 > & | quadratures1D, |
const AdditionalQGeneratorData & | additional_data | ||
) |
Constructor. Takes the same parameters QuadratureGenerator.
Definition at line 1210 of file quadrature_generator.cc.
void NonMatching::internal::QuadratureGeneratorImplementation::QGenerator< 1, spacedim >::generate | ( | const std::vector< std::reference_wrapper< const Function< 1 > > > & | level_sets, |
const BoundingBox< 1 > & | box, | ||
const unsigned int | n_box_splits | ||
) |
Creates quadrature points over the interval defined by the incoming box and adds these quadrature points to the internally stored QPartitioning. These quadratures can then be obtained using the get_quadratures-function.
Definition at line 1226 of file quadrature_generator.cc.
void NonMatching::internal::QuadratureGeneratorImplementation::QGenerator< 1, 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 1287 of file quadrature_generator.cc.
|
private |
Adds the point defined by coordinate to the surface quadrature of ImmersedQuadrature with unit weight.
Definition at line 1258 of file quadrature_generator.cc.
|
inherited |
Clear the quadratures created by the previous call to generate().
Definition at line 1033 of file quadrature_generator.cc.
|
inherited |
Return the created quadratures.
Definition at line 1039 of file quadrature_generator.cc.
|
private |
Class used to find the roots of the functions passed to generate().
Definition at line 1314 of file quadrature_generator.h.
|
private |
Roots of the functions passed to generate().
Definition at line 1319 of file quadrature_generator.h.
|
private |
This would be the height-function direction in higher dimensions, but in 1d there is only one coordinate direction.
Definition at line 1325 of file quadrature_generator.h.
|
private |
To reuse the distribute_points_between_roots()-function we need a zero-dimensional quadrature point with unit weight.
Definition at line 1331 of file quadrature_generator.h.
|
private |
Definition at line 1332 of file quadrature_generator.h.
|
protectedinherited |
Stores options/settings for the algorithm.
Definition at line 1045 of file quadrature_generator.h.
|
protectedinherited |
Which 1d-quadrature in the collection we should use to generate the immersed quadrature.
Definition at line 1051 of file quadrature_generator.h.
|
protectedinherited |
Index of the quadrature in q_collection1d that should use to generate the immersed quadrature rules.
Definition at line 1057 of file quadrature_generator.h.
|
protectedinherited |
Quadratures that the derived classes create.
Definition at line 1062 of file quadrature_generator.h.