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)
159 lines
7.7 KiB
Groff
159 lines
7.7 KiB
Groff
.TH "serif::backend::mfem::serialize" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
serif::backend::mfem::serialize
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.SS "Namespaces"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "namespace \fBdetail\fP"
|
|
.br
|
|
.in -1c
|
|
.SS "Classes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "struct \fBResources\fP"
|
|
.br
|
|
.RI "Own meshes and finite-element resources in reverse dependency order, for creation and archive restoration\&. "
|
|
.ti -1c
|
|
.RI "class \fBResourceWriter\fP"
|
|
.br
|
|
.RI "Collect shared meshes, collections and spaces once while recording their associations\&. "
|
|
.ti -1c
|
|
.RI "struct \fBSaveOptions\fP"
|
|
.br
|
|
.RI "Choose whether reference meshes travel with the archive or are resolved by their content identity\&. "
|
|
.in -1c
|
|
.SS "Typedefs"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "template<typename Original> using \fBRestoredConfiguration\fP"
|
|
.br
|
|
.RI "Rebuild a configured model with owned equations and FE resources while retaining its numerical choices\&. "
|
|
.ti -1c
|
|
.RI "template<typename Original> using \fBRestoredDiscretization\fP"
|
|
.br
|
|
.RI "Retain all compile-time physical choices while replacing an opaque user owner with archive-owned resources\&. "
|
|
.ti -1c
|
|
.RI "using \fBMeshResolver\fP = std::function<\fButils::serialize::Result\fP<std::string>(std::string_view)>"
|
|
.br
|
|
.RI "Supply native MFEM mesh text for the requested content fingerprint when a mesh was omitted\&. "
|
|
.in -1c
|
|
.SS "Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "template<typename Original> \fButils::serialize::Result\fP< \fBRestoredConfiguration\fP< Original > > \fBrestore_configuration\fP (const \fButils::serialize::Node\fP &node, const \fBMeshResolver\fP &resolver={})"
|
|
.br
|
|
.RI "Restore the complete model and numerical configuration with independently owned finite-element resources\&. "
|
|
.ti -1c
|
|
.RI "template<typename Owner, typename Bindings, typename Deformation> \fButils::serialize::Node\fP \fBsave_discretization\fP (const \fBmodel::backend::mfem::StellarDiscretization\fP< Owner, Bindings, Deformation > &value, \fBSaveOptions\fP options={})"
|
|
.br
|
|
.RI "Save physical FE interpretation and numerical geometry, excluding caches and the application's opaque owner\&. "
|
|
.ti -1c
|
|
.RI "template<typename Original> \fButils::serialize::Result\fP< \fBRestoredDiscretization\fP< Original > > \fBrestore_discretization\fP (const \fButils::serialize::Node\fP &node, const \fBMeshResolver\fP &resolver={})"
|
|
.br
|
|
.RI "Recreate a typed discretization with its own meshes, spaces and mapping inputs\&. "
|
|
.ti -1c
|
|
.RI "\fButils::serialize::Result\fP< \fBResources\fP > \fBrestore_resources\fP (const \fButils::serialize::Node\fP &node, const \fBMeshResolver\fP &resolver={})"
|
|
.br
|
|
.RI "Reconstruct all resources privately, rejecting changed mesh or coefficient interpretations\&. "
|
|
.ti -1c
|
|
.RI "\fButils::serialize::Result\fP< \fBgeometry::deformation::backend::mfem::ReferenceDiscretization\fP > \fBrestore_reference\fP (const \fButils::serialize::Node\fP &node, \fBResources\fP &resources)"
|
|
.br
|
|
.RI "Bind the saved reference roles to already restored resources\&. "
|
|
.ti -1c
|
|
.RI "\fButils::serialize::Node\fP \fBbinding_coordinates\fP (const \fBdiscretization::backend::mfem::DofMap\fP &binding)"
|
|
.br
|
|
.RI "Capture domain support and reduced numbering without storing mutable DofMap internals\&. "
|
|
.ti -1c
|
|
.RI "std::string \fBmesh_text\fP (const ::mfem::Mesh &mesh)"
|
|
.br
|
|
.RI "Emit deterministic native mesh text with enough digits to preserve binary64 coordinates\&. "
|
|
.in -1c
|
|
.SH "Typedef Documentation"
|
|
.PP
|
|
.SS "using \fBserif::backend::mfem::serialize::MeshResolver\fP = std::function<\fButils::serialize::Result\fP<std::string>(std::string_view)>"
|
|
|
|
.PP
|
|
Supply native MFEM mesh text for the requested content fingerprint when a mesh was omitted\&.
|
|
.SS "template<typename Original> using \fBserif::backend::mfem::serialize::RestoredConfiguration\fP"
|
|
\fBInitial value:\fP
|
|
.nf
|
|
decltype(model::make_discretization(model::DiscretizationOptions{
|
|
\&.model = std::declval<utils::serialize::RestoredStellarModel<std::remove_cvref_t<decltype(std::declval<Original>()\&.model)>>>(),
|
|
\&.finite_elements = std::declval<RestoredDiscretization<std::remove_cvref_t<decltype(std::declval<Original>()\&.finite_elements)>>>(),
|
|
\&.normalization = std::declval<std::remove_cvref_t<decltype(std::declval<Original>()\&.normalization)>>(),
|
|
\&.preconditioner = std::declval<std::remove_cvref_t<decltype(std::declval<Original>()\&.preconditioner)>>()
|
|
}))
|
|
.PP
|
|
.fi
|
|
|
|
.PP
|
|
Rebuild a configured model with owned equations and FE resources while retaining its numerical choices\&.
|
|
.SS "template<typename Original> using \fBserif::backend::mfem::serialize::RestoredDiscretization\fP"
|
|
\fBInitial value:\fP
|
|
.nf
|
|
model::backend::mfem::StellarDiscretization<
|
|
detail::OwnedBindings<std::remove_cvref_t<decltype(std::declval<Original>()\&.term_bindings)>>,
|
|
decltype(std::declval<detail::OwnedBindings<std::remove_cvref_t<decltype(std::declval<Original>()\&.term_bindings)>>>()\&.context()),
|
|
std::remove_cvref_t<decltype(std::declval<Original>()\&.deformation)>>
|
|
.PP
|
|
.fi
|
|
|
|
.PP
|
|
Retain all compile-time physical choices while replacing an opaque user owner with archive-owned resources\&.
|
|
.SH "Function Documentation"
|
|
.PP
|
|
.SS "\fButils::serialize::Node\fP serif::backend::mfem::serialize::binding_coordinates (const \fBdiscretization::backend::mfem::DofMap\fP & binding)\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Capture domain support and reduced numbering without storing mutable DofMap internals\&.
|
|
.SS "std::string serif::backend::mfem::serialize::mesh_text (const ::mfem::Mesh & mesh)\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Emit deterministic native mesh text with enough digits to preserve binary64 coordinates\&.
|
|
.SS "template<typename Original> \fButils::serialize::Result\fP< \fBRestoredConfiguration\fP< Original > > serif::backend::mfem::serialize::restore_configuration (const \fButils::serialize::Node\fP & node, const \fBMeshResolver\fP & resolver = \fR{}\fP)\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Restore the complete model and numerical configuration with independently owned finite-element resources\&.
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
Original supplies compile-time physics and numerical types; application callbacks and resource owners are replaced by saved values\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "template<typename Original> \fButils::serialize::Result\fP< \fBRestoredDiscretization\fP< Original > > serif::backend::mfem::serialize::restore_discretization (const \fButils::serialize::Node\fP & node, const \fBMeshResolver\fP & resolver = \fR{}\fP)\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Recreate a typed discretization with its own meshes, spaces and mapping inputs\&.
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
Original supplies compile-time term/schema/deformation types only\&. Its application-specific owner is never constructed\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "\fButils::serialize::Result\fP< \fBgeometry::deformation::backend::mfem::ReferenceDiscretization\fP > serif::backend::mfem::serialize::restore_reference (const \fButils::serialize::Node\fP & node, \fBResources\fP & resources)\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Bind the saved reference roles to already restored resources\&.
|
|
.SS "\fButils::serialize::Result\fP< \fBResources\fP > serif::backend::mfem::serialize::restore_resources (const \fButils::serialize::Node\fP & node, const \fBMeshResolver\fP & resolver = \fR{}\fP)\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Reconstruct all resources privately, rejecting changed mesh or coefficient interpretations\&.
|
|
.SS "template<typename Owner, typename Bindings, typename Deformation> \fButils::serialize::Node\fP serif::backend::mfem::serialize::save_discretization (const \fBmodel::backend::mfem::StellarDiscretization\fP< Owner, Bindings, Deformation > & value, \fBSaveOptions\fP options = \fR{}\fP)\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Save physical FE interpretation and numerical geometry, excluding caches and the application's opaque owner\&.
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|