|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
Classes | |
| struct | CoefficientExpansion |
| Weighted reduced coordinates of each local coordinate, as CSR: local i owns [offsets[i], offsets[i+1]). More... | |
| struct | ConstrainedElementBlock |
| One element's probed block on constrained bindings: column-major values and both constraint expansions. More... | |
| struct | ProbedElementBlock |
| One element's probed block: column c's integrated values for every local row, column-major. More... | |
| struct | ProbeScratch |
| Per-worker scratch for probing element blocks. More... | |
| class | VolumeFieldOperator |
| Retain accepted data while applying a single field coupling with reusable contraction scratch. More... | |
Functions | |
| template<typename Field, typename Equation, typename Schema, typename Visit> | |
| void | for_each_field_element (const VolumeData< Equation, Schema > &data, Visit &&visit) |
| Ignore a structurally absent field before gathering coefficients or touching contribution bases. | |
| template<typename Field, typename Equation, typename Contribution> | |
| void | field_integrand (const ElementData< EquationPlan< Equation >::operand_count > &element, const ::mfem::Vector &direction, ::mfem::Vector &integrand, ::mfem::Vector &samples, BasisWorkspace &workspace) |
| Contract only the requested physical field; geometry is frozen in this accepted linearization. | |
| template<typename Field, typename Equation> | |
| consteval std::size_t | field_column () |
| Locate a physical field in the equation's unique coefficient columns. | |
| std::shared_ptr< const ::mfem::SparseMatrix > | make_csr (const std::vector< std::vector< int > > &row_columns, const std::vector< std::vector< double > > &row_values, const int height, const int width) |
| Write MFEM-style CSR rows (already in Finalize() order) into an owning SparseMatrix. | |
| std::shared_ptr< const ::mfem::SparseMatrix > | finalize_probed_blocks (const std::vector< ProbedElementBlock > &blocks, const int height, const int width) |
| SparseMatrix::Add for every probed entry followed by Finalize(), built without MFEM's linked rows. | |
| std::shared_ptr< const ::mfem::SparseMatrix > | finalize_constrained_blocks (const std::vector< ConstrainedElementBlock > &blocks, const int height, const int width) |
| The constrained form of finalize_probed_blocks: SparseMatrix::Add(row_index, column_index,
row_weight * value * column_weight) for every element, column, local row, row coefficient and column coefficient in that order, followed by Finalize(). | |
| template<typename ElementT, typename MakeT> | |
| std::expected< ElementBatch< ElementT >, PreparationRejection > | build_element_batch (const int count, Workspace &workspace, MakeT &&make) |
| Build one immutable batch entry per index, concurrently, with one Workspace per worker. | |
|
nodiscard |
Build one immutable batch entry per index, concurrently, with one Workspace per worker.
|
nodiscardconsteval |
Locate a physical field in the equation's unique coefficient columns.
| void serif::operators::backend::mfem::detail::field_integrand | ( | const ElementData< EquationPlan< Equation >::operand_count > & | element, |
| const ::mfem::Vector & | direction, | ||
| ::mfem::Vector & | integrand, | ||
| ::mfem::Vector & | samples, | ||
| BasisWorkspace & | workspace ) |
Contract only the requested physical field; geometry is frozen in this accepted linearization.
|
inlinenodiscard |
The constrained form of finalize_probed_blocks: SparseMatrix::Add(row_index, column_index, row_weight * value * column_weight) for every element, column, local row, row coefficient and column coefficient in that order, followed by Finalize().
|
inlinenodiscard |
SparseMatrix::Add for every probed entry followed by Finalize(), built without MFEM's linked rows.
| void serif::operators::backend::mfem::detail::for_each_field_element | ( | const VolumeData< Equation, Schema > & | data, |
| Visit && | visit ) |
Ignore a structurally absent field before gathering coefficients or touching contribution bases.
|
inlinenodiscard |
Write MFEM-style CSR rows (already in Finalize() order) into an owning SparseMatrix.