Files
MeanField_SERiF/docs/man/man3/volume_computations.hpp.3

99 lines
5.8 KiB
Groff
Raw Normal View History

.TH "src/include/serif/backend/mfem/operators/volume_computations.hpp" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
src/include/serif/backend/mfem/operators/volume_computations.hpp
.SH SYNOPSIS
.br
.PP
\fR#include <expected>\fP
.br
\fR#include <memory>\fP
.br
\fR#include <tuple>\fP
.br
\fR#include <utility>\fP
.br
\fR#include 'serif/backend/mfem/operators/volume_stages\&.hpp'\fP
.br
\fR#include 'serif/backend/mfem/operators/volume_inputs\&.hpp'\fP
.br
\fR#include 'serif/utils/dependencies/dependencies\&.hpp'\fP
.br
.SS "Namespaces"
.in +1c
.ti -1c
.RI "namespace \fBserif\fP"
.br
.ti -1c
.RI "namespace \fBserif::operators\fP"
.br
.ti -1c
.RI "namespace \fBserif::operators::backend\fP"
.br
.ti -1c
.RI "namespace \fBserif::operators::backend::mfem\fP"
.br
.in -1c
.SS "Typedefs"
.in +1c
.ti -1c
.RI "template<std::size_t Contribution, typename OperandT, typename Scope = void> using \fBserif::operators::backend::mfem::VolumeOperandResult\fP"
.br
.RI "Values need a mapping node only when the operand's physical representation depends on geometry\&. "
.ti -1c
.RI "template<typename CacheT, typename Scope = void> using \fBserif::operators::backend::mfem::VolumeEquationOf\fP = typename std::remove_cvref_t<decltype(std::declval<const CacheT&>()\&.template get<typename \fBvolume_keys::Scoped\fP<Scope>::Linearization>())>::Equation"
.br
.RI "Recover the equation type from a cache's accepted result type, without accessing a result\&. "
.in -1c
.SS "Functions"
.in +1c
.ti -1c
.RI "template<std::size_t Contribution, typename OperandT, VolumeEquation EquationT, typename SchemaT, typename Scope = void> auto \fBserif::operators::backend::mfem::make_operand_computations\fP (const std::shared_ptr< \fBVolumeScratch\fP > &scratch)"
.br
.RI "Declare one coefficient contraction, followed by a physical mapping when the space requires it\&. "
.ti -1c
.RI "template<std::size_t Index, typename Scope, VolumeEquation EquationT, typename SchemaT, typename ContributionT, typename\&.\&.\&. Operands> auto \fBserif::operators::backend::mfem::make_contribution_computations\fP (const std::shared_ptr< const \fBVolumeConfiguration\fP< EquationT, SchemaT > > &configuration, const std::shared_ptr< \fBVolumeScratch\fP > &scratch, \fBContributionBinding\fP< ContributionT > contribution, \fButils::types::TypeList\fP< Operands\&.\&.\&. >)"
.br
.RI "Build one contribution's branch in the same order as its numerical description\&. "
.ti -1c
.RI "template<typename Scope = void, VolumeEquation EquationT, typename SchemaT, std::size_t\&.\&.\&. Indices> auto \fBserif::operators::backend::mfem::connect_volume_contributions\fP (const std::shared_ptr< const \fBVolumeConfiguration\fP< EquationT, SchemaT > > &configuration, std::index_sequence< Indices\&.\&.\&. >)"
.br
.RI "Expose contribution computations so deformation and equations can share one dependency graph\&. "
.ti -1c
.RI "template<VolumeEquation EquationT, std::size_t Index, typename Scope = void, typename CacheT> void \fBserif::operators::backend::mfem::report_contribution_preparation\fP (const CacheT &cache, \fBNumericalWork\fP &report)"
.br
.RI "Convert the dependency engine's node statuses to numerical work counts for one contribution\&. "
.ti -1c
.RI "template<typename Scope = void, VolumeEquation EquationT, typename SchemaT> auto \fBserif::operators::backend::mfem::make_volume_equation_computations\fP (std::shared_ptr< const EquationT > equation, const \fBVolumeDiscretization\fP< typename EquationT::Test, SchemaT > &discretization, \fBVolumeOptions\fP options={})"
.br
.RI "Declare reusable volume computations without selecting their source of displacement\&. "
.ti -1c
.RI "template<typename Scope = void, VolumeEquation EquationT, typename SchemaT> auto \fBserif::operators::backend::mfem::make_volume_equation_computations\fP (EquationT equation, const \fBVolumeDiscretization\fP< typename EquationT::Test, SchemaT > &discretization, \fBVolumeOptions\fP options={})"
.br
.RI "Own standalone equations while allowing complete models to share their existing immutable members\&. "
.ti -1c
.RI "template<typename Scope = void, VolumeEquation EquationT, typename SchemaT, typename InputsT> auto \fBserif::operators::backend::mfem::make_volume_equation_cache\fP (EquationT equation, const \fBVolumeDiscretization\fP< typename EquationT::Test, SchemaT > &discretization, const InputsT &inputs, \fBVolumeOptions\fP options={})"
.br
.RI "Construct a standalone cache from the same computations used by a coupled deformation graph\&. "
.ti -1c
.RI "template<typename Scope = void, typename CacheT, typename DiscretizationT, typename CoefficientsT> std::expected< void, \fBPreparationRejection\fP > \fBserif::operators::backend::mfem::try_prepare_volume\fP (CacheT &cache, const DiscretizationT &discretization, const CoefficientsT &term_coefficients, const \fB::mfem::Vector\fP &displacement_coefficients, \fBPreparationMode\fP mode=PreparationMode::reuse_unchanged)"
.br
.RI "Validate current inputs and atomically publish a complete volume linearization\&. "
.ti -1c
.RI "template<typename Scope = void, typename CacheT, typename DiscretizationT, typename CoefficientsT> void \fBserif::operators::backend::mfem::prepare_volume\fP (CacheT &cache, const DiscretizationT &discretization, const CoefficientsT &term_coefficients, const \fB::mfem::Vector\fP &displacement_coefficients, \fBPreparationMode\fP mode=PreparationMode::reuse_unchanged)"
.br
.RI "Throw a caller-visible numerical error when a complete preparation cannot be accepted\&. "
.ti -1c
.RI "template<typename Scope = void, typename CacheT> \fBNumericalWork\fP \fBserif::operators::backend::mfem::volume_work_report\fP (const CacheT &cache)"
.br
.RI "Derive work counts from accepted node statuses; no second report lifecycle is stored\&. "
.in -1c
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.