.TH "src/include/serif/geometry/deformation/actions.hpp" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*- .ad l .nh .SH NAME src/include/serif/geometry/deformation/actions.hpp .SH SYNOPSIS .br .PP \fR#include \fP .br \fR#include \fP .br \fR#include \fP .br \fR#include 'serif/geometry/deformation/failure\&.hpp'\fP .br \fR#include 'serif/geometry/deformation/detail/action_storage\&.hpp'\fP .br \fR#include 'serif/geometry/deformation/spaces\&.hpp'\fP .br \fR#include 'serif/geometry/deformation/workspace\&.hpp'\fP .br .SS "Namespaces" .in +1c .ti -1c .RI "namespace \fBserif\fP" .br .ti -1c .RI "namespace \fBserif::geometry\fP" .br .ti -1c .RI "namespace \fBserif::geometry::deformation\fP" .br .in -1c .SS "Concepts" .in +1c .ti -1c .RI "concept \fBserif::geometry::deformation::DeformationDimensions\fP" .br .RI "Matching lengths never replace the physical meanings of the input and output spaces\&. " .ti -1c .RI "concept \fBserif::geometry::deformation::LinearDeformationMap\fP" .br .RI "Fixed maps provide just forward and transpose actions with caller-owned scratch\&. " .ti -1c .RI "concept \fBserif::geometry::deformation::DifferentiableDeformationMap\fP" .br .RI "Nonlinear maps explicitly provide every term needed by a Newton force pullback\&. " .ti -1c .RI "concept \fBserif::geometry::deformation::DeformationMap\fP" .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "template \fBDeformationWorkspace\fP< Map > \fBserif::geometry::deformation::make_deformation_workspace\fP (const Map &map)" .br .RI "Allocate action scratch explicitly, once per independent caller\&. " .ti -1c .RI "template \fBDeformationStatus\fP \fBserif::geometry::deformation::build_displacement\fP (const Map &map, std::span< const double > parameters, std::span< double > displacement, \fBDeformationWorkspace\fP< Map > &workspace)" .br .RI "Evaluate physical displacement with caller-owned output and scratch\&. All action outputs must be disjoint from their inputs\&. Workspace storage is reserved for the map and must not supply public input or output spans\&. " .ti -1c .RI "template \fBDeformationStatus\fP \fBserif::geometry::deformation::apply_jacobian\fP (const Map &map, std::span< const double > parameters, std::span< const double > direction, std::span< double > displacement_direction, \fBDeformationWorkspace\fP< Map > &workspace)" .br .RI "Linear maps reuse their primal action; nonlinear maps supply their exact tangent\&. " .ti -1c .RI "template \fBDeformationStatus\fP \fBserif::geometry::deformation::apply_jacobian_transpose\fP (const Map &map, std::span< const double > parameters, std::span< const double > displacement_dual, std::span< double > parameter_dual, \fBDeformationWorkspace\fP< Map > &workspace)" .br .RI "Transfer virtual work from the displacement field to its independent shape coefficients\&. " .ti -1c .RI "template \fBDeformationStatus\fP \fBserif::geometry::deformation::apply_pullback_derivative\fP (const Map &map, std::span< const double > parameters, std::span< const double > direction, std::span< const double > displacement_dual, std::span< double > parameter_dual, \fBDeformationWorkspace\fP< Map > &workspace)" .br .RI "Differentiate the transpose at fixed dual; zero is justified only for a declared linear map\&. " .in -1c .SS "Variables" .in +1c .ti -1c .RI "template constexpr bool \fBserif::geometry::deformation::is_linear_deformation\fP" .br .RI "Linearity is an explicit property of the mathematics, independent of its action interface\&. " .in -1c .SH "Author" .PP Generated automatically by Doxygen for SERiF from the source code\&.