99 lines
5.8 KiB
Groff
99 lines
5.8 KiB
Groff
|
|
.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\&.
|