Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
827 lines
51 KiB
XML
827 lines
51 KiB
XML
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
|
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.13.2" xml:lang="en-US">
|
|
<compounddef id="namespaceserif_1_1geometry_1_1deformation" kind="namespace" language="C++">
|
|
<compoundname>serif::geometry::deformation</compoundname>
|
|
<innerclass refid="classserif_1_1geometry_1_1deformation_1_1_composed_deformation" prot="public">serif::geometry::deformation::ComposedDeformation</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_deformation_failure" prot="public">serif::geometry::deformation::DeformationFailure</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_deformation_linearization" prot="public">serif::geometry::deformation::DeformationLinearization</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_domain_deformation" prot="public">serif::geometry::deformation::DomainDeformation</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_empty_deformation_workspace" prot="public">serif::geometry::deformation::EmptyDeformationWorkspace</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_fixed_infinity_radial_extension" prot="public">serif::geometry::deformation::FixedInfinityRadialExtension</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit" prot="public">serif::geometry::deformation::GeometryStepLimit</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_options" prot="public">serif::geometry::deformation::GeometryStepOptions</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_nodal_radial_surface" prot="public">serif::geometry::deformation::NodalRadialSurface</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_power_law_radial_extension" prot="public">serif::geometry::deformation::PowerLawRadialExtension</innerclass>
|
|
<innerclass refid="classserif_1_1geometry_1_1deformation_1_1_radial_extension" prot="public">serif::geometry::deformation::RadialExtension</innerclass>
|
|
<innerclass refid="classserif_1_1geometry_1_1deformation_1_1_radial_interpolation" prot="public">serif::geometry::deformation::RadialInterpolation</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_radial_interpolation_data" prot="public">serif::geometry::deformation::RadialInterpolationData</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_reference_surface" prot="public">serif::geometry::deformation::ReferenceSurface</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_spherical_harmonic_mode" prot="public">serif::geometry::deformation::SphericalHarmonicMode</innerclass>
|
|
<innerclass refid="structserif_1_1geometry_1_1deformation_1_1_spherical_harmonic_surface" prot="public">serif::geometry::deformation::SphericalHarmonicSurface</innerclass>
|
|
<innerclass refid="classserif_1_1geometry_1_1deformation_1_1_surface_embedding" prot="public">serif::geometry::deformation::SurfaceEmbedding</innerclass>
|
|
<innernamespace refid="namespaceserif_1_1geometry_1_1deformation_1_1backend">serif::geometry::deformation::backend</innernamespace>
|
|
<innernamespace refid="namespaceserif_1_1geometry_1_1deformation_1_1detail">serif::geometry::deformation::detail</innernamespace>
|
|
<innernamespace refid="namespaceserif_1_1geometry_1_1deformation_1_1keys">serif::geometry::deformation::keys</innernamespace>
|
|
<innernamespace refid="namespaceserif_1_1geometry_1_1deformation_1_1spaces">serif::geometry::deformation::spaces</innernamespace>
|
|
<sectiondef kind="enum">
|
|
<memberdef kind="enum" id="namespaceserif_1_1geometry_1_1deformation_1abff36c0dd3d8b9c916a2e928ab69a871" prot="public" static="no" strong="yes">
|
|
<type></type>
|
|
<name>DeformationFailureReason</name>
|
|
<qualifiedname>serif::geometry::deformation::DeformationFailureReason</qualifiedname>
|
|
<enumvalue id="namespaceserif_1_1geometry_1_1deformation_1abff36c0dd3d8b9c916a2e928ab69a871a9cc57114b319994e90322314a00521d4" prot="public">
|
|
<name>invalid_configuration</name>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<enumvalue id="namespaceserif_1_1geometry_1_1deformation_1abff36c0dd3d8b9c916a2e928ab69a871ad73416fa06a45d748a7c8d4349054cbb" prot="public">
|
|
<name>incompatible_discretization</name>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<enumvalue id="namespaceserif_1_1geometry_1_1deformation_1abff36c0dd3d8b9c916a2e928ab69a871a0181b84c792eb178181854d09c8fe7b9" prot="public">
|
|
<name>invalid_size</name>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<enumvalue id="namespaceserif_1_1geometry_1_1deformation_1abff36c0dd3d8b9c916a2e928ab69a871a4013d0a2d04acba5257678a15922a094" prot="public">
|
|
<name>non_finite</name>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<enumvalue id="namespaceserif_1_1geometry_1_1deformation_1abff36c0dd3d8b9c916a2e928ab69a871a9a8a2ae86e6fce17b9be87ec37249370" prot="public">
|
|
<name>unresolved_surface</name>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<enumvalue id="namespaceserif_1_1geometry_1_1deformation_1abff36c0dd3d8b9c916a2e928ab69a871a146816aaee11d5a21b09baac60c9812e" prot="public">
|
|
<name>invalid_geometry</name>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
</enumvalue>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/failure.hpp" line="7" column="5" bodyfile="src/include/serif/geometry/deformation/failure.hpp" bodystart="7" bodyend="14"/>
|
|
</memberdef>
|
|
</sectiondef>
|
|
<sectiondef kind="typedef">
|
|
<memberdef kind="typedef" id="namespaceserif_1_1geometry_1_1deformation_1a08306ee593c172f4877facc061e98f97" prot="public" static="no">
|
|
<type>std::expected< void, <ref refid="structserif_1_1geometry_1_1deformation_1_1_deformation_failure" kindref="compound">DeformationFailure</ref> ></type>
|
|
<definition>using serif::geometry::deformation::DeformationStatus = std::expected<void, DeformationFailure></definition>
|
|
<argsstring></argsstring>
|
|
<name>DeformationStatus</name>
|
|
<qualifiedname>serif::geometry::deformation::DeformationStatus</qualifiedname>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/failure.hpp" line="24" column="5" bodyfile="src/include/serif/geometry/deformation/failure.hpp" bodystart="24" bodyend="-1"/>
|
|
</memberdef>
|
|
<memberdef kind="typedef" id="namespaceserif_1_1geometry_1_1deformation_1ae1f99a74025eac52e6ff4a4b77fb41c6" prot="public" static="no">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>typename Map</type>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>typename Map::Workspace</type>
|
|
<definition>using serif::geometry::deformation::DeformationWorkspace = typename Map::Workspace</definition>
|
|
<argsstring></argsstring>
|
|
<name>DeformationWorkspace</name>
|
|
<qualifiedname>serif::geometry::deformation::DeformationWorkspace</qualifiedname>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/workspace.hpp" line="11" column="5" bodyfile="src/include/serif/geometry/deformation/workspace.hpp" bodystart="11" bodyend="-1"/>
|
|
</memberdef>
|
|
</sectiondef>
|
|
<sectiondef kind="var">
|
|
<memberdef kind="variable" id="namespaceserif_1_1geometry_1_1deformation_1a6947f0057c614e85f67ad79f50a11606" prot="public" static="no" constexpr="yes" mutable="no">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>typename Map</type>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>bool</type>
|
|
<definition>bool serif::geometry::deformation::is_linear_deformation</definition>
|
|
<argsstring></argsstring>
|
|
<name>is_linear_deformation</name>
|
|
<qualifiedname>serif::geometry::deformation::is_linear_deformation</qualifiedname>
|
|
<initializer>= requires
|
|
{
|
|
requires Map::is_linear;
|
|
}</initializer>
|
|
<briefdescription>
|
|
<para>Linearity is an explicit property of the mathematics, independent of its action interface. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/actions.hpp" line="16" column="27" bodyfile="src/include/serif/geometry/deformation/actions.hpp" bodystart="16" bodyend="19"/>
|
|
</memberdef>
|
|
</sectiondef>
|
|
<sectiondef kind="func">
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1aa3ab7cc89a2262523938808363fda865" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>Map</declname>
|
|
<defname>Map</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1ae1f99a74025eac52e6ff4a4b77fb41c6" kindref="member">DeformationWorkspace</ref>< Map ></type>
|
|
<definition>DeformationWorkspace< Map > serif::geometry::deformation::make_deformation_workspace</definition>
|
|
<argsstring>(const Map &map)</argsstring>
|
|
<name>make_deformation_workspace</name>
|
|
<qualifiedname>serif::geometry::deformation::make_deformation_workspace</qualifiedname>
|
|
<param>
|
|
<type>const Map &</type>
|
|
<declname>map</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Allocate action scratch explicitly, once per independent caller. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/actions.hpp" line="60" column="27" bodyfile="src/include/serif/geometry/deformation/actions.hpp" bodystart="60" bodyend="70"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1ad539328115ca03a435d339f2c551a21b" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>Map</declname>
|
|
<defname>Map</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1a08306ee593c172f4877facc061e98f97" kindref="member">DeformationStatus</ref></type>
|
|
<definition>DeformationStatus serif::geometry::deformation::build_displacement</definition>
|
|
<argsstring>(const Map &map, std::span< const double > parameters, std::span< double > displacement, DeformationWorkspace< Map > &workspace)</argsstring>
|
|
<name>build_displacement</name>
|
|
<qualifiedname>serif::geometry::deformation::build_displacement</qualifiedname>
|
|
<param>
|
|
<type>const Map &</type>
|
|
<declname>map</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>parameters</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< double ></type>
|
|
<declname>displacement</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1ae1f99a74025eac52e6ff4a4b77fb41c6" kindref="member">DeformationWorkspace</ref>< Map > &</type>
|
|
<declname>workspace</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>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. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/actions.hpp" line="78" column="24" bodyfile="src/include/serif/geometry/deformation/actions.hpp" bodystart="78" bodyend="92"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a47622764fd6178445526c8b3d984a6b2" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>Map</declname>
|
|
<defname>Map</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1a08306ee593c172f4877facc061e98f97" kindref="member">DeformationStatus</ref></type>
|
|
<definition>DeformationStatus serif::geometry::deformation::apply_jacobian</definition>
|
|
<argsstring>(const Map &map, std::span< const double > parameters, std::span< const double > direction, std::span< double > displacement_direction, DeformationWorkspace< Map > &workspace)</argsstring>
|
|
<name>apply_jacobian</name>
|
|
<qualifiedname>serif::geometry::deformation::apply_jacobian</qualifiedname>
|
|
<param>
|
|
<type>const Map &</type>
|
|
<declname>map</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>parameters</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>direction</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< double ></type>
|
|
<declname>displacement_direction</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1ae1f99a74025eac52e6ff4a4b77fb41c6" kindref="member">DeformationWorkspace</ref>< Map > &</type>
|
|
<declname>workspace</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Linear maps reuse their primal action; nonlinear maps supply their exact tangent. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/actions.hpp" line="96" column="24" bodyfile="src/include/serif/geometry/deformation/actions.hpp" bodystart="96" bodyend="114"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a28c839bb898ee76ac62ceaddadcba6b1" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>Map</declname>
|
|
<defname>Map</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1a08306ee593c172f4877facc061e98f97" kindref="member">DeformationStatus</ref></type>
|
|
<definition>DeformationStatus serif::geometry::deformation::apply_jacobian_transpose</definition>
|
|
<argsstring>(const Map &map, std::span< const double > parameters, std::span< const double > displacement_dual, std::span< double > parameter_dual, DeformationWorkspace< Map > &workspace)</argsstring>
|
|
<name>apply_jacobian_transpose</name>
|
|
<qualifiedname>serif::geometry::deformation::apply_jacobian_transpose</qualifiedname>
|
|
<param>
|
|
<type>const Map &</type>
|
|
<declname>map</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>parameters</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>displacement_dual</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< double ></type>
|
|
<declname>parameter_dual</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1ae1f99a74025eac52e6ff4a4b77fb41c6" kindref="member">DeformationWorkspace</ref>< Map > &</type>
|
|
<declname>workspace</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Transfer virtual work from the displacement field to its independent shape coefficients. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/actions.hpp" line="118" column="24" bodyfile="src/include/serif/geometry/deformation/actions.hpp" bodystart="118" bodyend="136"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a5738813c140911a0c9ec69eec58af8e7" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>Map</declname>
|
|
<defname>Map</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1a08306ee593c172f4877facc061e98f97" kindref="member">DeformationStatus</ref></type>
|
|
<definition>DeformationStatus serif::geometry::deformation::apply_pullback_derivative</definition>
|
|
<argsstring>(const Map &map, std::span< const double > parameters, std::span< const double > direction, std::span< const double > displacement_dual, std::span< double > parameter_dual, DeformationWorkspace< Map > &workspace)</argsstring>
|
|
<name>apply_pullback_derivative</name>
|
|
<qualifiedname>serif::geometry::deformation::apply_pullback_derivative</qualifiedname>
|
|
<param>
|
|
<type>const Map &</type>
|
|
<declname>map</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>parameters</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>direction</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>displacement_dual</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< double ></type>
|
|
<declname>parameter_dual</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1ae1f99a74025eac52e6ff4a4b77fb41c6" kindref="member">DeformationWorkspace</ref>< Map > &</type>
|
|
<declname>workspace</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Differentiate the transpose at fixed dual; zero is justified only for a declared linear map. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/actions.hpp" line="140" column="24" bodyfile="src/include/serif/geometry/deformation/actions.hpp" bodystart="140" bodyend="155"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a43ceea2db7df958a0bec16629328afc4" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>SurfaceMap</declname>
|
|
<defname>SurfaceMap</defname>
|
|
</param>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>ExtensionMap</declname>
|
|
<defname>ExtensionMap</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>std::expected< <ref refid="classserif_1_1geometry_1_1deformation_1_1_composed_deformation" kindref="compound">ComposedDeformation</ref>< SurfaceMap, ExtensionMap >, <ref refid="structserif_1_1geometry_1_1deformation_1_1_deformation_failure" kindref="compound">DeformationFailure</ref> ></type>
|
|
<definition>std::expected< ComposedDeformation< SurfaceMap, ExtensionMap >, DeformationFailure > serif::geometry::deformation::compose_deformation</definition>
|
|
<argsstring>(std::shared_ptr< const SurfaceMap > surface, std::shared_ptr< const ExtensionMap > extension)</argsstring>
|
|
<name>compose_deformation</name>
|
|
<qualifiedname>serif::geometry::deformation::compose_deformation</qualifiedname>
|
|
<param>
|
|
<type>std::shared_ptr< const SurfaceMap ></type>
|
|
<declname>surface</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::shared_ptr< const ExtensionMap ></type>
|
|
<declname>extension</declname>
|
|
</param>
|
|
<requiresclause>std::same_as<typename SurfaceMap::OutputSpace, typename ExtensionMap::InputSpace> </requiresclause>
|
|
<briefdescription>
|
|
<para>Validate factor sizes before constructing an owning mathematical composition. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/composition.hpp" line="209" column="20" bodyfile="src/include/serif/geometry/deformation/composition.hpp" bodystart="209" bodyend="216"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a08faf47d7228e20ed4bae4a86c3b12f0" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>SurfaceMap</declname>
|
|
<defname>SurfaceMap</defname>
|
|
</param>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>ExtensionMap</declname>
|
|
<defname>ExtensionMap</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>auto</type>
|
|
<definition>auto serif::geometry::deformation::make_deformation_computations</definition>
|
|
<argsstring>()</argsstring>
|
|
<name>make_deformation_computations</name>
|
|
<qualifiedname>serif::geometry::deformation::make_deformation_computations</qualifiedname>
|
|
<requiresclause>std::same_as<typename SurfaceMap::OutputSpace, typename ExtensionMap::InputSpace> </requiresclause>
|
|
<briefdescription>
|
|
<para>Declare the numerical composition as ordinary dependency computations. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para><simplesect kind="note"><para>Shared immutable factors, coefficient snapshots, and results belong to the dependency cache. Analytical actions remain independent functions. </para>
|
|
</simplesect>
|
|
</para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/computations.hpp" line="69" column="11" bodyfile="src/include/serif/geometry/deformation/computations.hpp" bodystart="69" bodyend="100"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a6f1a3c9e7423e2e4945a75e91eb70b3b" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>SurfaceMap</declname>
|
|
<defname>SurfaceMap</defname>
|
|
</param>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>ExtensionMap</declname>
|
|
<defname>ExtensionMap</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>auto</type>
|
|
<definition>auto serif::geometry::deformation::make_deformation_graph</definition>
|
|
<argsstring>()</argsstring>
|
|
<name>make_deformation_graph</name>
|
|
<qualifiedname>serif::geometry::deformation::make_deformation_graph</qualifiedname>
|
|
<requiresclause>std::same_as<typename SurfaceMap::OutputSpace, typename ExtensionMap::InputSpace> </requiresclause>
|
|
<briefdescription>
|
|
<para>Compose independently compiled mathematical factors without introducing a prepared-operator facade. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/computations.hpp" line="105" column="11" bodyfile="src/include/serif/geometry/deformation/computations.hpp" bodystart="105" bodyend="110"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a371fc6cc353f2df9f7752d802c2155da" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1a08306ee593c172f4877facc061e98f97" kindref="member">DeformationStatus</ref></type>
|
|
<definition>DeformationStatus serif::geometry::deformation::validate_deformation_values</definition>
|
|
<argsstring>(std::span< const double > values, std::size_t expected_size)</argsstring>
|
|
<name>validate_deformation_values</name>
|
|
<qualifiedname>serif::geometry::deformation::validate_deformation_values</qualifiedname>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>values</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::size_t</type>
|
|
<declname>expected_size</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Reject incompatible lengths and non-finite values before evaluating a deformation action. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/detail/action_storage.hpp" line="13" column="31" bodyfile="src/include/serif/geometry/deformation/detail/action_storage.hpp" bodystart="13" bodyend="27"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a7c97f13afaf99ecbde93c21ab3f9f771" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>Map</declname>
|
|
<defname>Map</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>std::expected< std::vector< double >, <ref refid="structserif_1_1geometry_1_1deformation_1_1_deformation_failure" kindref="compound">DeformationFailure</ref> ></type>
|
|
<definition>std::expected< std::vector< double >, DeformationFailure > serif::geometry::deformation::evaluate_displacement</definition>
|
|
<argsstring>(const Map &map, std::span< const double > parameters)</argsstring>
|
|
<name>evaluate_displacement</name>
|
|
<qualifiedname>serif::geometry::deformation::evaluate_displacement</qualifiedname>
|
|
<param>
|
|
<type>const Map &</type>
|
|
<declname>map</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>parameters</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Allocate a result for graph publication while leaving repeated low-level actions allocation-free. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/linearization.hpp" line="17" column="20" bodyfile="src/include/serif/geometry/deformation/linearization.hpp" bodystart="17" bodyend="24"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a1c527e713dfc9f833b3e0bd1b757c731" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>Map</declname>
|
|
<defname>Map</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1a08306ee593c172f4877facc061e98f97" kindref="member">DeformationStatus</ref></type>
|
|
<definition>DeformationStatus serif::geometry::deformation::apply_jacobian</definition>
|
|
<argsstring>(const DeformationLinearization< Map > &state, std::span< const double > direction, std::span< double > output, DeformationWorkspace< Map > &workspace)</argsstring>
|
|
<name>apply_jacobian</name>
|
|
<qualifiedname>serif::geometry::deformation::apply_jacobian</qualifiedname>
|
|
<param>
|
|
<type>const <ref refid="structserif_1_1geometry_1_1deformation_1_1_deformation_linearization" kindref="compound">DeformationLinearization</ref>< Map > &</type>
|
|
<declname>state</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>direction</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< double ></type>
|
|
<declname>output</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1ae1f99a74025eac52e6ff4a4b77fb41c6" kindref="member">DeformationWorkspace</ref>< Map > &</type>
|
|
<declname>workspace</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Evaluate a tangent about the cache's accepted shape, not the caller's next trial state. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/linearization.hpp" line="28" column="24" bodyfile="src/include/serif/geometry/deformation/linearization.hpp" bodystart="28" bodyend="33"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a7e4a280dbda654cc0d4b9b462752e757" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>Map</declname>
|
|
<defname>Map</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1a08306ee593c172f4877facc061e98f97" kindref="member">DeformationStatus</ref></type>
|
|
<definition>DeformationStatus serif::geometry::deformation::apply_jacobian_transpose</definition>
|
|
<argsstring>(const DeformationLinearization< Map > &state, std::span< const double > dual, std::span< double > output, DeformationWorkspace< Map > &workspace)</argsstring>
|
|
<name>apply_jacobian_transpose</name>
|
|
<qualifiedname>serif::geometry::deformation::apply_jacobian_transpose</qualifiedname>
|
|
<param>
|
|
<type>const <ref refid="structserif_1_1geometry_1_1deformation_1_1_deformation_linearization" kindref="compound">DeformationLinearization</ref>< Map > &</type>
|
|
<declname>state</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>dual</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< double ></type>
|
|
<declname>output</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1ae1f99a74025eac52e6ff4a4b77fb41c6" kindref="member">DeformationWorkspace</ref>< Map > &</type>
|
|
<declname>workspace</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Pull displacement forces back to the accepted independent shape coordinates. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/linearization.hpp" line="37" column="24" bodyfile="src/include/serif/geometry/deformation/linearization.hpp" bodystart="37" bodyend="42"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1aeabb23372e9ed935ed539925bf56b316" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>DeformationMap</type>
|
|
<declname>Map</declname>
|
|
<defname>Map</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1a08306ee593c172f4877facc061e98f97" kindref="member">DeformationStatus</ref></type>
|
|
<definition>DeformationStatus serif::geometry::deformation::apply_pullback_derivative</definition>
|
|
<argsstring>(const DeformationLinearization< Map > &state, std::span< const double > direction, std::span< const double > dual, std::span< double > output, DeformationWorkspace< Map > &workspace)</argsstring>
|
|
<name>apply_pullback_derivative</name>
|
|
<qualifiedname>serif::geometry::deformation::apply_pullback_derivative</qualifiedname>
|
|
<param>
|
|
<type>const <ref refid="structserif_1_1geometry_1_1deformation_1_1_deformation_linearization" kindref="compound">DeformationLinearization</ref>< Map > &</type>
|
|
<declname>state</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>direction</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const double ></type>
|
|
<declname>dual</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< double ></type>
|
|
<declname>output</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="namespaceserif_1_1geometry_1_1deformation_1ae1f99a74025eac52e6ff4a4b77fb41c6" kindref="member">DeformationWorkspace</ref>< Map > &</type>
|
|
<declname>workspace</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Keep the geometric contribution to the Newton force derivative available for nonlinear models. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/linearization.hpp" line="46" column="24" bodyfile="src/include/serif/geometry/deformation/linearization.hpp" bodystart="46" bodyend="51"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a9744ea82df8c839a005c29235aecdb03" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<type>std::expected< <ref refid="classserif_1_1geometry_1_1deformation_1_1_radial_extension" kindref="compound">RadialExtension</ref>, <ref refid="structserif_1_1geometry_1_1deformation_1_1_deformation_failure" kindref="compound">DeformationFailure</ref> ></type>
|
|
<definition>std::expected< RadialExtension, DeformationFailure > serif::geometry::deformation::make_radial_extension</definition>
|
|
<argsstring>(std::shared_ptr< const RadialInterpolation > interpolation, PowerLawRadialExtension interior={}, FixedInfinityRadialExtension vacuum={})</argsstring>
|
|
<name>make_radial_extension</name>
|
|
<qualifiedname>serif::geometry::deformation::make_radial_extension</qualifiedname>
|
|
<param>
|
|
<type>std::shared_ptr< const <ref refid="classserif_1_1geometry_1_1deformation_1_1_radial_interpolation" kindref="compound">RadialInterpolation</ref> ></type>
|
|
<declname>interpolation</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="structserif_1_1geometry_1_1deformation_1_1_power_law_radial_extension" kindref="compound">PowerLawRadialExtension</ref></type>
|
|
<declname>interior</declname>
|
|
<defval>{}</defval>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="structserif_1_1geometry_1_1deformation_1_1_fixed_infinity_radial_extension" kindref="compound">FixedInfinityRadialExtension</ref></type>
|
|
<declname>vacuum</declname>
|
|
<defval>{}</defval>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Compile regional weights while sharing the immutable surface interpolation. The interpolation factory has already established every reference-table invariant. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/lib/serif/geometry/deformation/radial_extension.cpp" line="71" column="19" bodyfile="src/lib/serif/geometry/deformation/radial_extension.cpp" bodystart="71" bodyend="103" declfile="src/include/serif/geometry/deformation/radial_extension.hpp" declline="73" declcolumn="20"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a81d1d0df5d554d5af5149549b484a0bb" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<type>std::expected< <ref refid="classserif_1_1geometry_1_1deformation_1_1_radial_interpolation" kindref="compound">RadialInterpolation</ref>, <ref refid="structserif_1_1geometry_1_1deformation_1_1_deformation_failure" kindref="compound">DeformationFailure</ref> ></type>
|
|
<definition>std::expected< RadialInterpolation, DeformationFailure > serif::geometry::deformation::make_radial_interpolation</definition>
|
|
<argsstring>(RadialInterpolationData data)</argsstring>
|
|
<name>make_radial_interpolation</name>
|
|
<qualifiedname>serif::geometry::deformation::make_radial_interpolation</qualifiedname>
|
|
<param>
|
|
<type><ref refid="structserif_1_1geometry_1_1deformation_1_1_radial_interpolation_data" kindref="compound">RadialInterpolationData</ref></type>
|
|
<declname>data</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Check imported or backend-generated reference rows once before sharing them with radial laws. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/lib/serif/geometry/deformation/radial_interpolation.cpp" line="7" column="19" bodyfile="src/lib/serif/geometry/deformation/radial_interpolation.cpp" bodystart="7" bodyend="67" declfile="src/include/serif/geometry/deformation/radial_interpolation.hpp" declline="51" declcolumn="20"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1acb2008299cc4c40f49e8c9c0086e5356" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<type>std::expected< <ref refid="classserif_1_1geometry_1_1deformation_1_1_surface_embedding" kindref="compound">SurfaceEmbedding</ref>, <ref refid="structserif_1_1geometry_1_1deformation_1_1_deformation_failure" kindref="compound">DeformationFailure</ref> ></type>
|
|
<definition>std::expected< SurfaceEmbedding, DeformationFailure > serif::geometry::deformation::build_surface_embedding</definition>
|
|
<argsstring>(const NodalRadialSurface &model, std::span< const std::array< double, 3 > > positions)</argsstring>
|
|
<name>build_surface_embedding</name>
|
|
<qualifiedname>serif::geometry::deformation::build_surface_embedding</qualifiedname>
|
|
<param>
|
|
<type>const <ref refid="structserif_1_1geometry_1_1deformation_1_1_nodal_radial_surface" kindref="compound">NodalRadialSurface</ref> &</type>
|
|
<declname>model</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const std::array< double, 3 > ></type>
|
|
<declname>positions</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Compile fixed radial directions from ordered physical reference positions without retaining backend objects. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/lib/serif/geometry/deformation/surface_embedding.cpp" line="146" column="19" bodyfile="src/lib/serif/geometry/deformation/surface_embedding.cpp" bodystart="146" bodyend="183" declfile="src/include/serif/geometry/deformation/surface_embedding.hpp" declline="86" declcolumn="20"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a21c05b3c7115c90ea951ee87a1efc714" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<type>std::expected< <ref refid="classserif_1_1geometry_1_1deformation_1_1_surface_embedding" kindref="compound">SurfaceEmbedding</ref>, <ref refid="structserif_1_1geometry_1_1deformation_1_1_deformation_failure" kindref="compound">DeformationFailure</ref> ></type>
|
|
<definition>std::expected< SurfaceEmbedding, DeformationFailure > serif::geometry::deformation::build_surface_embedding</definition>
|
|
<argsstring>(const SphericalHarmonicSurface &model, std::span< const std::array< double, 3 > > positions)</argsstring>
|
|
<name>build_surface_embedding</name>
|
|
<qualifiedname>serif::geometry::deformation::build_surface_embedding</qualifiedname>
|
|
<param>
|
|
<type>const <ref refid="structserif_1_1geometry_1_1deformation_1_1_spherical_harmonic_surface" kindref="compound">SphericalHarmonicSurface</ref> &</type>
|
|
<declname>model</declname>
|
|
</param>
|
|
<param>
|
|
<type>std::span< const std::array< double, 3 > ></type>
|
|
<declname>positions</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Sample physically normalized real harmonics and reject unresolved modes without renormalizing or dropping coordinates. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/lib/serif/geometry/deformation/surface_embedding.cpp" line="185" column="19" bodyfile="src/lib/serif/geometry/deformation/surface_embedding.cpp" bodystart="185" bodyend="209" declfile="src/include/serif/geometry/deformation/surface_embedding.hpp" declline="89" declcolumn="20"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a10e993d0c69b24df4bb3cd1a5ac12e9f" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>typename Surface</type>
|
|
</param>
|
|
<param>
|
|
<type>typename Interior</type>
|
|
</param>
|
|
<param>
|
|
<type>typename Vacuum</type>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>auto</type>
|
|
<definition>auto serif::geometry::deformation::backend::mfem::make_deformation_inputs</definition>
|
|
<argsstring>(const DomainDeformation< Surface, Interior, Vacuum > &model, const ReferenceDiscretization &discretization, const std::vector< double > &coefficients)</argsstring>
|
|
<name>make_deformation_inputs</name>
|
|
<qualifiedname>serif::geometry::deformation::make_deformation_inputs</qualifiedname>
|
|
<param>
|
|
<type>const <ref refid="structserif_1_1geometry_1_1deformation_1_1_domain_deformation" kindref="compound">DomainDeformation</ref>< Surface, Interior, Vacuum > &</type>
|
|
<declname>model</declname>
|
|
</param>
|
|
<param>
|
|
<type>const ReferenceDiscretization &</type>
|
|
<declname>discretization</declname>
|
|
</param>
|
|
<param>
|
|
<type>const std::vector< double > &</type>
|
|
<declname>coefficients</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Bind physical choices and a borrowed shape vector without evaluating deformation. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para><simplesect kind="note"><para>Meshes, spaces, and the vector must outlive the context. Borrowing the container retains its current storage and size even if the caller subsequently resizes it. Coordinate edits must notify MFEM through its normal node-update API. </para>
|
|
</simplesect>
|
|
</para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/finite_elements.hpp" line="6" column="5" bodyfile="src/include/serif/backend/mfem/geometry/deformation/inputs.hpp" bodystart="138" bodyend="140"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a11cb43141841879bf3dc270b02b22cb8" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>typename Surface</type>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>auto</type>
|
|
<definition>auto serif::geometry::deformation::backend::mfem::make_deformation_graph</definition>
|
|
<argsstring>()</argsstring>
|
|
<name>make_deformation_graph</name>
|
|
<qualifiedname>serif::geometry::deformation::make_deformation_graph</qualifiedname>
|
|
<briefdescription>
|
|
<para>Provide a standalone graph while leaving the same computations available for equation composition. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/finite_elements.hpp" line="7" column="5" bodyfile="src/include/serif/backend/mfem/geometry/deformation/computations.hpp" bodystart="160" bodyend="167"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1ad5adf6fb962f3bd5e82121270d4f5701" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>typename Surface</type>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>auto</type>
|
|
<definition>auto serif::geometry::deformation::backend::mfem::make_deformation_computations</definition>
|
|
<argsstring>()</argsstring>
|
|
<name>make_deformation_computations</name>
|
|
<qualifiedname>serif::geometry::deformation::make_deformation_computations</qualifiedname>
|
|
<requiresclause>requires(const Surface& model, std::span<const std::array<double, 3>> positions) { { build_surface_embedding(model, positions) } -> std::same_as<std::expected<SurfaceEmbedding, DeformationFailure>>; } </requiresclause>
|
|
<briefdescription>
|
|
<para>Compile fixed reference factors and evaluate shape motion with one dependency engine. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para><simplesect kind="note"><para>Configuration values are named context inputs. Factories declare work; try_prepare performs it explicitly. </para>
|
|
</simplesect>
|
|
</para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/geometry/deformation/finite_elements.hpp" line="8" column="5" bodyfile="src/include/serif/backend/mfem/geometry/deformation/computations.hpp" bodystart="126" bodyend="156"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1deformation_1a4bda42409c67b56f9bc36ea69c7655ee" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>discretization::domain::schema::IsSchema</type>
|
|
<declname>Schema</declname>
|
|
<defname>Schema</defname>
|
|
<defval>discretization::domain::schema::CoreEnvelopeVacuumDomainSchema</defval>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>ReferenceDiscretization</type>
|
|
<definition>ReferenceDiscretization serif::geometry::deformation::backend::mfem::deformation_discretization</definition>
|
|
<argsstring>(const ::mfem::FiniteElementSpace &scalar_space, const ::mfem::FiniteElementSpace &displacement_space, ::mfem::Mesh &logical_mesh)</argsstring>
|
|
<name>deformation_discretization</name>
|
|
<qualifiedname>serif::geometry::deformation::deformation_discretization</qualifiedname>
|
|
<param>
|
|
<type>const ::mfem::FiniteElementSpace &</type>
|
|
<declname>scalar_space</declname>
|
|
</param>
|
|
<param>
|
|
<type>const ::mfem::FiniteElementSpace &</type>
|
|
<declname>displacement_space</declname>
|
|
</param>
|
|
<param>
|
|
<type>::mfem::Mesh &</type>
|
|
<declname>logical_mesh</declname>
|
|
</param>
|
|
<requiresclause>(Schema::template contains_domain<discretization::domain::StellarDomains>() && Schema::template contains_domain<discretization::domain::VacuumDomain>() && Schema::template contains_boundary<discretization::domain::StellarSurfaceBoundary>() && Schema::template contains_boundary<discretization::domain::InfinitySurfaceBoundary>()) </requiresclause>
|
|
<briefdescription>
|
|
<para>Resolve physical domain names through the schema rather than hard-coded MFEM attributes. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/model/finite_elements.hpp" line="12" column="5" bodyfile="src/include/serif/backend/mfem/geometry/deformation/inputs.hpp" bodystart="91" bodyend="109"/>
|
|
</memberdef>
|
|
</sectiondef>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<location file="src/compile_time_checks/serif/geometry/surface_storage_meanfield.cpp" line="5" column="1"/>
|
|
</compounddef>
|
|
</doxygen>
|