Template Class ReferenceCrossSection

Class Documentation

template<int dim, int spacedim = dim, int n_components = 1>
class ReferenceCrossSection

Handles the construction and management of a reference inclusion geometry and its basis.

Used in reduced basis immersed boundary methods, this class initializes and stores a full finite element space, computes basis functions, and provides access to quadrature rules and mass matrices.

Template Parameters:
  • dim – The intrinsic dimension of the inclusion.

  • spacedim – The embedding dimension.

  • n_components – Number of components per field variable.

Public Functions

ReferenceCrossSection(const ReferenceCrossSectionParameters<dim, spacedim, n_components> &par)

Constructs the ReferenceCrossSection from parameters.

const Quadrature<spacedim> &get_global_quadrature() const

Returns the global quadrature object in the embedding space.

const std::vector<Vector<double>> &get_basis_functions() const

Returns the list of selected basis functions.

const double &shape_value(const unsigned int i, const unsigned int q, const unsigned int comp) const

the component comp of the ith selected reference basis function, at the quadrature point index q,

const SparseMatrix<double> &get_mass_matrix() const

Returns the mass matrix corresponding to selected basis functions.

unsigned int n_selected_basis() const

Returns the number of selected basis functions.

unsigned int max_n_basis() const

Returns the total number of available basis functions.

Quadrature<spacedim> get_transformed_quadrature(const Point<spacedim> &new_origin, const Tensor<1, spacedim> &new_vertical, const double scale) const

Returns quadrature transformed by translation, orientation, and scale.

unsigned int n_quadrature_points() const

Returns number of quadrature points in the global quadrature.

void initialize()

Initializes the reference inclusion domain.

double measure(const double scale = 1.0) const

Compute the cross section measure for the inclusion.

The returned value is exact w.r.t. to the used quadrature formula, i.e., it is the integral of one on the cross section. If a scale is provided, the measure is multiplied by the scale^dim.

Parameters:

scale – The scaling factor for the measure.