Constraint and vessel API names¶
Use names that identify the operation rather than the generic word “coupling”. A multiplier constraint, a prescribed wall pressure, vessel postprocessing, and exchange with an external flow solver are separate operations.
Operation |
Normal API |
Compatibility name |
|---|---|---|
Map multiplier coefficients to bulk loads |
|
Public |
Assemble that matrix from a reduced space |
|
|
Inspect the reduced Poisson load matrix |
|
|
Inspect its global Frobenius norm |
|
|
Solve elasticity and recover vessel wall pressure/radius |
|
|
Select prescribed vessel pressure rather than a displacement constraint |
|
Public |
Select that mode in a parameter file |
|
|
Multiplier constraints¶
The multiplier load matrix has bulk rows and multiplier columns. It is the
transpose of the discrete constraint operator: if the constraint is B u = g,
the bulk reaction is B^T lambda. Transverse reduction is already part of this
operator. It is not a time exchange interface with a flow solver.
The old Elasticity matrix member remains the storage returned by the new accessor. Both names observe identical entries. The old assembly overloads forward to the new overloads, including the affine background correction to the reduced right hand side. No transpose, normalization or numerical operation changes when using the new names.
Vessel elasticity and wall pressure¶
VesselElasticityProblem<dim, spacedim> is the same C++ type as
CoupledElasticityProblem<dim, spacedim>. Existing specializations, derived
classes, constructors and binary instantiations therefore retain their type
identity. Use the vessel name for the tissue problem even when no external flow
solver is present. The coupled_elasticity executable remains an external
staggered coupling application; its exchanged pressure is named
vessel_wall_pressure in the implementation.
The tissue problem recovers normal wall stress from its multiplier field.
pressure_at_immersed_surface and
pressure_at_immersed_surface_by_inclusion name the vessel and inclusion data;
they do not imply that an external solver owns the pressure.
Prescribed pressure mode¶
Use parameters.set_prescribed_vessel_pressure(true) or:
subsection Immersed Problem
set Prescribed vessel pressure = true
end
This mode projects the supplied vessel pressure and applies its transpose load to the displacement equation. With the mode disabled, the static path solves the multiplier saddle-point system instead. The mode does not select an external solver or turn data exchange on or off. Existing restrictions on quasistatic and dynamic point formulations remain unchanged.
Pressure coupling is a ParameterHandler alias for the same entry. It accepts
existing files without a deprecation warning. If a file deliberately sets both
spellings, the last assignment wins, as for repeated assignments to one entry.
The C++ compatibility member and both accessors also share the same boolean;
there is no second value to synchronize.
Modern Constraint, Interaction, ReducedCoupling, and application names
that describe an actual pairing of physical systems retain their meanings.
This migration does not replace the mathematical concept of coupling or
introduce another application hierarchy.