Compose shape-to-surface and surface-to-volume maps with the complete derivative chain rule.
More...
|
| std::size_t | input_size () const noexcept |
| | Keep solver coordinates in the surface model's native parameter space.
|
| |
| std::size_t | output_size () const noexcept |
| | Expose the displacement field size consumed by the existing geometry mapper.
|
| |
| Workspace | make_workspace () const |
| | Reserve every intermediate once, outside repeated Newton and Krylov actions.
|
| |
| DeformationStatus | apply (std::span< const double > input, std::span< double > output, Workspace &workspace) const |
| | A fixed composition uses the same primal action as its Jacobian.
|
| |
| DeformationStatus | apply_transpose (std::span< const double > dual, std::span< double > output, Workspace &workspace) const |
| | Reverse a fixed composition using one intermediate and no artificial base state.
|
| |
| DeformationStatus | build_displacement (std::span< const double > parameters, std::span< double > displacement, Workspace &workspace) const |
| | Move the surface first, then extend that same vector trace into the volume.
|
| |
| DeformationStatus | apply_jacobian (std::span< const double > parameters, std::span< const double > direction, std::span< double > displacement_direction, Workspace &workspace) const |
| | Evaluate the tangent of each nonlinear factor at the accepted surface displacement.
|
| |
| DeformationStatus | apply_jacobian_transpose (std::span< const double > parameters, std::span< const double > displacement_dual, std::span< double > parameter_dual, Workspace &workspace) const |
| | Reverse both factors in the forward composition, preserving their work pairing.
|
| |
| DeformationStatus | apply_pullback_derivative (std::span< const double > parameters, std::span< const double > direction, std::span< const double > displacement_dual, std::span< double > parameter_dual, Workspace &workspace) const |
| | Retain both the extension curvature and the derivative of the surface transpose.
|
| |
| const SurfaceMap & | surface_map () const noexcept |
| | Expose immutable surface mathematics for reference metrics and diagnostics.
|
| |
template<DeformationMap SurfaceMap, DeformationMap ExtensionMap>
requires std::same_as<typename SurfaceMap::OutputSpace, typename ExtensionMap::InputSpace>
class serif::geometry::deformation::ComposedDeformation< SurfaceMap, ExtensionMap >
Compose shape-to-surface and surface-to-volume maps with the complete derivative chain rule.
- Note
- Numerical factors are immutable and owned. Workspaces belong to callers and must not overlap public inputs or outputs; this class has no preparation state.