Configure reduced coupling

Reduced coupling represents a lower-dimensional geometry in a bulk finite- element problem. The reduced-coupling section controls the representative grid, thickness, transverse cross-section basis, quadrature, and particle search. The Reduced Poisson tutorial introduces these choices through a minimal cylinder; use this page when changing the configuration.

The important distinction is between:

  • the reduced or representative dimension, where coefficients are stored;

  • the represented physical support, where the lifted field is evaluated; and

  • the ambient space dimension, where the support is embedded.

Imported point and cell fields can be named in expressions. A variable radius, for example, is a field in the input mesh and is selected by the Input file fields option before it is used by Thickness. Distributed point ownership and search are handled by the particle-coupling infrastructure.

For joint refinement of the bulk and representative meshes in elasticity and reduced Poisson, see local co-refinement.

Simplex bulk preparation

ReducedPoisson prepares fully distributed bulk meshes on a replicated serial mesh. Its line and point-cloud refinement settings apply before partitioning and before particle ownership is constructed. deal.II particle location on simplex meshes requires conforming vertex neighborhoods, so the application calls GridTools::remove_hanging_nodes with isotropic refinement before finalizing the Domain. This conformity pass can refine cells outside the requested neighborhood. Use one solve/refinement cycle with this backend.

A custom Problem using ReducedCoupling<0, ...> can set prepare_point_cloud_background to prepare its Domain after point positions and thicknesses have been read. The callback receives those two arrays and must finalize the background collectively before returning. Positive-dimensional representatives use the existing preprocess_serial_triangulation hook.

When assembling a custom coupled problem with prescribed bulk values, assemble the reduced datum first and pass it to the four-argument matrix overload:

coupling.assemble_reduced_rhs(reduced_rhs);
coupling.assemble_multiplier_load_matrix(matrix, bulk_dofs, bulk_constraints, reduced_rhs);

The matrix has background rows and representative columns. The overload subtracts its uncondensed transpose action on the prescribed background values from reduced_rhs, then condenses the coupling matrix. The three-argument overload assembles only the matrix.