Template Class ReducedCoupling

Inheritance Relationships

Base Types

Class Documentation

template<int reduced_dim, int dim, int spacedim = dim, int n_components = 1>
class ReducedCoupling : public ImmersX::TensorProductSpace<reduced_dim, dim, dim, 1>, public ImmersX::ParticleCoupling<dim>

Combines tensor-product space and particle coupling for lower-dimensional Lagrange multipliers.

This class inherits from TensorProductSpace and ParticleCoupling, providing methods to initialize, assemble coupling matrices, and handle constraints for reduced coupling problems in the context of immersed or embedded finite element methods.

Template Parameters:
  • reduced_dim – The reduced dimension of the problem.

  • dim – The dimension of the background domain.

  • spacedim – The space dimension (default: dim).

  • n_components – Number of components (default: 1).

Public Functions

ReducedCoupling(parallel::TriangulationBase<spacedim> &background_tria, const ReducedCouplingParameters<reduced_dim, dim, spacedim, n_components> &par)

Constructor that initializes the ReducedCoupling object with background triangulation and parameters.

Parameters:
  • background_tria – The background domain triangulation.

  • par – The tensor-product coupling parameters.

void initialize(const Mapping<spacedim> &mapping = StaticMappingQ1<spacedim>::mapping)

Initialize the tensor product space and particle coupling.

Parameters:

mapping – The mapping to use (default: StaticMappingQ1).

void set_time(const double time)

Set the time used by the reduced right-hand-side function.

void assemble_coupling_sparsity(DynamicSparsityPattern &dsp, const DoFHandler<spacedim> &dh, const AffineConstraints<double> &constraints) const

Assemble the sparsity pattern for the coupling matrix.

Parameters:
  • dsp – The dynamic sparsity pattern to fill.

  • dh – The DoFHandler for the background domain.

  • constraints – The affine constraints to apply.

template<typename MatrixType>
inline void assemble_coupling_matrix(MatrixType &coupling_matrix, const DoFHandler<spacedim> &dh, const AffineConstraints<double> &constraints) const

Assemble the coupling matrix between background and reduced spaces.

Template Parameters:

MatrixType – The matrix type (e.g., SparseMatrix<double>).

Parameters:
  • coupling_matrix – The matrix to assemble.

  • dh – The DoFHandler for the background domain.

  • constraints – The affine constraints to apply.

template<typename MatrixType>
inline void assemble_coupling_mass_matrix(MatrixType &mass_matrix) const
template<typename VectorType>
inline void assemble_reduced_rhs(VectorType &reduced_rhs) const

Assemble the right-hand side vector for the reduced space.

Computes the right-hand side induced by coefficient functions on the reduced domain. The selected transverse basis is integrated over the reference cross section, so the local cross-section measure scales both the reduced mass matrix and the assembled right-hand side. A constant reduced expression therefore produces a constant represented datum when the constant mode is selected.

Template Parameters:

VectorType – The vector type (e.g., Vector<double>).

Parameters:

reduced_rhs – The right-hand side vector to assemble.

const AffineConstraints<double> &get_coupling_constraints() const

Get the affine constraints associated with the coupling.

Returns:

The affine constraints.