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)
147 lines
6.6 KiB
Groff
147 lines
6.6 KiB
Groff
.TH "serif::geometry::deformation::RadialExtension" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
serif::geometry::deformation::RadialExtension \- Extend one interleaved surface vector into the MFEM component-block volume layout\&. Stellar ownership wins at shared nodes\&. Both actions use the same scalar interpolation, so their pairing is Euclidean virtual work without an additional surface-area weight\&.
|
|
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.PP
|
|
\fR#include <radial_extension\&.hpp>\fP
|
|
.SS "Public Types"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "using \fBWorkspace\fP = \fBEmptyDeformationWorkspace\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBInputSpace\fP = \fBspaces::SurfaceDisplacement\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBOutputSpace\fP = \fBspaces::VolumeDisplacement\fP"
|
|
.br
|
|
.in -1c
|
|
.SS "Public Member Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "const std::shared_ptr< const \fBRadialInterpolation\fP > & \fBinterpolation\fP () const noexcept"
|
|
.br
|
|
.RI "Expose shared interpolation read-only for diagnostics and independent geometry checks\&. "
|
|
.ti -1c
|
|
.RI "std::span< const double > \fBradial_weights\fP () const noexcept"
|
|
.br
|
|
.RI "Expose the ownership-selected radial response without permitting mutation\&. "
|
|
.ti -1c
|
|
.RI "std::size_t \fBinput_size\fP () const noexcept"
|
|
.br
|
|
.RI "Return the interleaved Cartesian surface-vector size\&. "
|
|
.ti -1c
|
|
.RI "std::size_t \fBoutput_size\fP () const noexcept"
|
|
.br
|
|
.RI "Return the Cartesian component-block volume-vector size\&. "
|
|
.ti -1c
|
|
.RI "\fBDeformationStatus\fP \fBapply\fP (std::span< const double > surface_displacement, std::span< double > volume_displacement, \fBWorkspace\fP={}) const"
|
|
.br
|
|
.RI "Apply the fused radial extension without allocating action scratch\&. Input and output must not overlap\&. Discard output if an action reports failure\&. "
|
|
.ti -1c
|
|
.RI "\fBDeformationStatus\fP \fBapply_transpose\fP (std::span< const double > volume_force, std::span< double > surface_force, \fBWorkspace\fP={}) const"
|
|
.br
|
|
.RI "Transfer volume forces to surface forces using exactly the forward ownership\&. "
|
|
.in -1c
|
|
.SS "Static Public Attributes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "static constexpr bool \fBis_linear\fP = true"
|
|
.br
|
|
.in -1c
|
|
.SS "Private Member Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "\fBRadialExtension\fP (std::shared_ptr< const \fBRadialInterpolation\fP > \fBinterpolation\fP, std::vector< double > \fBradial_weights\fP)"
|
|
.br
|
|
.RI "Store already validated data without performing hidden numerical preparation\&. "
|
|
.in -1c
|
|
.SS "Private Attributes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "std::shared_ptr< const \fBRadialInterpolation\fP > \fBm_interpolation\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "std::vector< double > \fBm_radial_weights\fP"
|
|
.br
|
|
.in -1c
|
|
.SS "Friends"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "std::expected< \fBRadialExtension\fP, \fBDeformationFailure\fP > \fBmake_radial_extension\fP (std::shared_ptr< const \fBRadialInterpolation\fP > \fBinterpolation\fP, \fBPowerLawRadialExtension\fP interior={}, \fBFixedInfinityRadialExtension\fP vacuum={})"
|
|
.br
|
|
.RI "Compile regional weights while sharing the immutable surface interpolation\&. The interpolation factory has already established every reference-table invariant\&. "
|
|
.in -1c
|
|
.SH "Detailed Description"
|
|
.PP
|
|
Extend one interleaved surface vector into the MFEM component-block volume layout\&. Stellar ownership wins at shared nodes\&. Both actions use the same scalar interpolation, so their pairing is Euclidean virtual work without an additional surface-area weight\&.
|
|
.SH "Member Typedef Documentation"
|
|
.PP
|
|
.SS "using \fBserif::geometry::deformation::RadialExtension::InputSpace\fP = \fBspaces::SurfaceDisplacement\fP"
|
|
|
|
.SS "using \fBserif::geometry::deformation::RadialExtension::OutputSpace\fP = \fBspaces::VolumeDisplacement\fP"
|
|
|
|
.SS "using \fBserif::geometry::deformation::RadialExtension::Workspace\fP = \fBEmptyDeformationWorkspace\fP"
|
|
|
|
.SH "Constructor & Destructor Documentation"
|
|
.PP
|
|
.SS "serif::geometry::deformation::RadialExtension::RadialExtension (std::shared_ptr< const \fBRadialInterpolation\fP > interpolation, std::vector< double > radial_weights)\fR [private]\fP"
|
|
|
|
.PP
|
|
Store already validated data without performing hidden numerical preparation\&.
|
|
.SH "Member Function Documentation"
|
|
.PP
|
|
.SS "\fBDeformationStatus\fP serif::geometry::deformation::RadialExtension::apply (std::span< const double > surface_displacement, std::span< double > volume_displacement, \fBWorkspace\fP = \fR{}\fP) const\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Apply the fused radial extension without allocating action scratch\&. Input and output must not overlap\&. Discard output if an action reports failure\&.
|
|
.SS "\fBDeformationStatus\fP serif::geometry::deformation::RadialExtension::apply_transpose (std::span< const double > volume_force, std::span< double > surface_force, \fBWorkspace\fP = \fR{}\fP) const\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Transfer volume forces to surface forces using exactly the forward ownership\&.
|
|
.SS "std::size_t serif::geometry::deformation::RadialExtension::input_size () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Return the interleaved Cartesian surface-vector size\&.
|
|
.SS "const std::shared_ptr< const \fBRadialInterpolation\fP > & serif::geometry::deformation::RadialExtension::interpolation () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Expose shared interpolation read-only for diagnostics and independent geometry checks\&.
|
|
.SS "std::size_t serif::geometry::deformation::RadialExtension::output_size () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Return the Cartesian component-block volume-vector size\&.
|
|
.SS "std::span< const double > serif::geometry::deformation::RadialExtension::radial_weights () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [noexcept]\fP"
|
|
|
|
.PP
|
|
Expose the ownership-selected radial response without permitting mutation\&.
|
|
.SH "Friends And Related Symbol Documentation"
|
|
.PP
|
|
.SS "std::expected< \fBRadialExtension\fP, \fBDeformationFailure\fP > make_radial_extension (std::shared_ptr< const \fBRadialInterpolation\fP > interpolation, \fBPowerLawRadialExtension\fP interior = \fR{}\fP, \fBFixedInfinityRadialExtension\fP vacuum = \fR{}\fP)\fR [friend]\fP"
|
|
|
|
.PP
|
|
Compile regional weights while sharing the immutable surface interpolation\&. The interpolation factory has already established every reference-table invariant\&.
|
|
.SH "Member Data Documentation"
|
|
.PP
|
|
.SS "bool serif::geometry::deformation::RadialExtension::is_linear = true\fR [static]\fP, \fR [constexpr]\fP"
|
|
|
|
.SS "std::shared_ptr<const \fBRadialInterpolation\fP> serif::geometry::deformation::RadialExtension::m_interpolation\fR [private]\fP"
|
|
|
|
.SS "std::vector<double> serif::geometry::deformation::RadialExtension::m_radial_weights\fR [private]\fP"
|
|
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|