.TH "serif::operators" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*- .ad l .nh .SH NAME serif::operators .SH SYNOPSIS .br .PP .SS "Namespaces" .in +1c .ti -1c .RI "namespace \fBbackend\fP" .br .ti -1c .RI "namespace \fBdetail\fP" .br .in -1c .SS "Classes" .in +1c .ti -1c .RI "struct \fBBadContributionCollection\fP" .br .ti -1c .RI "struct \fBBadContributionRow\fP" .br .ti -1c .RI "struct \fBContributionBinding\fP" .br .RI "Retain one leaf equation and the constant coefficient of its arithmetic expression\&. " .ti -1c .RI "struct \fBDiscontinuousScalar\fP" .br .ti -1c .RI "struct \fBEquationPlan\fP" .br .ti -1c .RI "struct \fBEquationPlan< EquationT, utils::types::TypeList< O\&.\&.\&. > >\fP" .br .ti -1c .RI "class \fBEquationRegistry\fP" .br .RI "A compile-time registry of equations\&. " .ti -1c .RI "struct \fBGradientRequest\fP" .br .ti -1c .RI "struct \fBHasScalarVolumeOperands\fP" .br .ti -1c .RI "struct \fBHasScalarVolumeOperands< EquationT, utils::types::TypeList< Operands\&.\&.\&. > >\fP" .br .ti -1c .RI "class \fBLinearizedBlock\fP" .br .RI "An accepted physical block with optional efficient diagonal and sparse assembly operations\&. " .ti -1c .RI "class \fBLinearizedSystemView\fP" .br .RI "Borrow an accepted collection of physical blocks and its independently ordered system layout\&. " .ti -1c .RI "struct \fBNestedBadCollection\fP" .br .ti -1c .RI "struct \fBNodalRequest\fP" .br .ti -1c .RI "struct \fBOperandValues\fP" .br .RI "A helper struct to store the values of operands\&. There is some convention here, specifically if OutputT is void then this struct represents the values of the operands, otherwise it represents the local derivatives of the operands with respect to OutputT\&. " .ti -1c .RI "struct \fBPhysicalBlock\fP" .br .RI "Identify a physical Jacobian block by its equation rows and unknown coordinates\&. " .ti -1c .RI "struct \fBVolumeContributions\fP" .br .ti -1c .RI "struct \fBVolumeContributions< std::tuple< C\&.\&.\&. > >\fP" .br .ti -1c .RI "struct \fBVolumeOperands\fP" .br .ti -1c .RI "struct \fBVolumeOperands< C, utils::types::TypeList< O\&.\&.\&. > >\fP" .br .in -1c .SS "Concepts" .in +1c .ti -1c .RI "concept \fBScalarValueTerm\fP" .br .ti -1c .RI "concept \fBScalarValueOperand\fP" .br .ti -1c .RI "concept \fBScalarGradientOperand\fP" .br .RI "A conforming scalar gradient; discontinuous fields also require face terms\&. " .ti -1c .RI "concept \fBVectorGradientOperand\fP" .br .RI "Full vector gradients are supported for componentwise H1 fields\&. " .ti -1c .RI "concept \fBScalarVolumeEquation\fP" .br .RI "Equations executable by the current scalar-value volume operator\&. " .ti -1c .RI "concept \fBMappedOperand\fP" .br .RI "Mathematical operand combinations implemented by the current volume backend\&. " .ti -1c .RI "concept \fBVolumeEquation\fP" .br .RI "One or more supported weak volume contributions assembled into a single residual row\&. " .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "using \fBDensity\fP = \fBdiscretization::forms::Operand\fP<\fBdiscretization::blocks::density::mass\fP>" .br .ti -1c .RI "using \fBPotential\fP = \fBdiscretization::forms::Operand\fP<\fBdiscretization::blocks::gravity::potential\fP>" .br .ti -1c .RI "using \fBConstant\fP = \fBdiscretization::forms::Operand\fP<\fBdiscretization::blocks::barotropic_constant::mass_normalization\fP>" .br .ti -1c .RI "using \fBFirstOrder\fP = \fBequations::OperandValues\fP<\fButils::types::TypeList\fP<\fBDensity\fP, \fBPotential\fP, \fBConstant\fP>>" .br .ti -1c .RI "using \fBPermutedOrder\fP = \fBequations::OperandValues\fP<\fButils::types::TypeList\fP<\fBConstant\fP, \fBDensity\fP, \fBPotential\fP>>" .br .ti -1c .RI "using \fBMassPlan\fP = \fBEquationPlan\fP<\fBequations::MassNormalization\fP>" .br .ti -1c .RI "using \fBBalancePlan\fP = \fBEquationPlan\fP<\fBequations::BarotropicDensityBalance\fP<\fBeos::models::Polytrope\fP>>" .br .ti -1c .RI "using \fBMassPoint\fP = \fBequations::EquationPoint\fP<\fBequations::MassNormalization::Operands\fP>" .br .ti -1c .RI "using \fBPotentialContributions\fP = \fBequations::ContributionsOf\fP<\fBequations::PrimalPoissonBalance\fP>" .br .ti -1c .RI "using \fBBalance\fP = \fBequations::BarotropicDensityBalance\fP<\fBeos::models::Polytrope\fP>" .br .ti -1c .RI "using \fBDisplacement\fP = \fBdiscretization::blocks::displacement::vector\fP" .br .ti -1c .RI "using \fBSchema\fP = \fBdiscretization::domain::schema::CoreEnvelopeVacuumDomainSchema\fP" .br .ti -1c .RI "using \fBBoundaryValue\fP = \fBNodalRequest\fP<\fBPotential\fP>" .br .ti -1c .RI "using \fBDensityValue\fP = \fBdiscretization::forms::Operand\fP<\fBDensity\fP>" .br .ti -1c .RI "using \fBPotentialValue\fP = \fBdiscretization::forms::Operand\fP<\fBPotential\fP>" .br .ti -1c .RI "using \fBPotentialGradient\fP = \fBdiscretization::forms::Operand\fP<\fBPotential\fP, \fBdiscretization::forms::Operation::Gradient\fP>" .br .ti -1c .RI "using \fBDisplacementDivergence\fP = \fBdiscretization::forms::Operand\fP<\fBdiscretization::blocks::displacement::vector\fP, \fBdiscretization::forms::Operation::Divergence\fP>" .br .ti -1c .RI "using \fBDisplacementValue\fP = \fBdiscretization::forms::Operand\fP<\fBDisplacement\fP>" .br .ti -1c .RI "using \fBDisplacementGradient\fP = \fBdiscretization::forms::Operand\fP<\fBDisplacement\fP, \fBdiscretization::forms::Operation::Gradient\fP>" .br .ti -1c .RI "using \fBVectorTensor\fP = \fBdiscretization::forms::MatrixValue\fP" .br .ti -1c .RI "using \fBCartesianVector\fP = \fBdiscretization::forms::VectorValue\fP" .br .ti -1c .RI "using \fBMixedSamples\fP = \fButils::types::TypeList\fP<\fBDisplacementValue\fP, \fBDisplacementDivergence\fP, \fBDensityValue\fP>" .br .ti -1c .RI "using \fBMass\fP = \fBequations::MassNormalization\fP" .br .ti -1c .RI "using \fBOmega\fP = \fBdiscretization::blocks::rotation::angular_velocity\fP" .br .ti -1c .RI "using \fBMomentum\fP = \fBequations::AngularMomentumConstraint\fP" .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "template auto \fBbind_contributions\fP (std::shared_ptr< const EquationT > equation)" .br .RI "Give each retained leaf a compile-time tuple position for independently cached contribution results\&. " .ti -1c .RI "template void \fBfor_each_contribution\fP (const EquationT &equation, FunctionT &&function)" .br .ti -1c .RI "template \fBLinearizedSystemView\fP (const Layout &, const Blocks &) \-> LinearizedSystemView< Layout, Blocks >" .br .RI "Infer canonical owner types while retaining the explicit borrowing lifetime checks\&. " .ti -1c .RI "\fBLinearizedBlock\fP \fBlinearized_block\fP (std::shared_ptr< const ::mfem::SparseMatrix > matrix)" .br .RI "Retain an already assembled physical block without copying its matrix\&. " .in -1c .SH "Typedef Documentation" .PP .SS "using \fBserif::operators::Balance\fP = \fBequations::BarotropicDensityBalance\fP<\fBeos::models::Polytrope\fP>" .SS "using \fBserif::operators::BalancePlan\fP = \fBEquationPlan\fP<\fBequations::BarotropicDensityBalance\fP<\fBeos::models::Polytrope\fP>>" .SS "using \fBserif::operators::BoundaryValue\fP = \fBNodalRequest\fP<\fBPotential\fP>" .SS "using \fBserif::operators::CartesianVector\fP = \fBdiscretization::forms::VectorValue\fP" .SS "typedef \fBdiscretization::blocks::barotropic_constant::mass_normalization\fP \fBserif::operators::Constant\fP = \fBdiscretization::forms::Operand\fP<\fBdiscretization::blocks::barotropic_constant::mass_normalization\fP>" .SS "typedef \fBdiscretization::blocks::density::mass\fP \fBserif::operators::Density\fP = \fBdiscretization::forms::Operand\fP<\fBdiscretization::blocks::density::mass\fP>" .SS "using \fBserif::operators::DensityValue\fP = \fBdiscretization::forms::Operand\fP<\fBDensity\fP>" .SS "using \fBserif::operators::Displacement\fP = \fBdiscretization::blocks::displacement::vector\fP" .SS "using \fBserif::operators::DisplacementDivergence\fP = \fBdiscretization::forms::Operand\fP<\fBdiscretization::blocks::displacement::vector\fP, \fBdiscretization::forms::Operation::Divergence\fP>" .SS "using \fBserif::operators::DisplacementGradient\fP = \fBdiscretization::forms::Operand\fP<\fBDisplacement\fP, \fBdiscretization::forms::Operation::Gradient\fP>" .SS "using \fBserif::operators::DisplacementValue\fP = \fBdiscretization::forms::Operand\fP<\fBDisplacement\fP>" .SS "using \fBserif::operators::FirstOrder\fP = \fBequations::OperandValues\fP<\fButils::types::TypeList\fP<\fBDensity\fP, \fBPotential\fP, \fBConstant\fP>>" .SS "using \fBserif::operators::Mass\fP = \fBequations::MassNormalization\fP" .SS "using \fBserif::operators::MassPlan\fP = \fBEquationPlan\fP<\fBequations::MassNormalization\fP>" .SS "using \fBserif::operators::MassPoint\fP = \fBequations::EquationPoint\fP<\fBequations::MassNormalization::Operands\fP>" .SS "using \fBserif::operators::MixedSamples\fP = \fButils::types::TypeList\fP<\fBDisplacementValue\fP, \fBDisplacementDivergence\fP, \fBDensityValue\fP>" .SS "using \fBserif::operators::Momentum\fP = \fBequations::AngularMomentumConstraint\fP" .SS "using \fBserif::operators::Omega\fP = \fBdiscretization::blocks::rotation::angular_velocity\fP" .SS "using \fBserif::operators::PermutedOrder\fP = \fBequations::OperandValues\fP<\fButils::types::TypeList\fP<\fBConstant\fP, \fBDensity\fP, \fBPotential\fP>>" .SS "typedef \fBdiscretization::blocks::gravity::potential\fP \fBserif::operators::Potential\fP = \fBdiscretization::forms::Operand\fP<\fBdiscretization::blocks::gravity::potential\fP>" .SS "using \fBserif::operators::PotentialContributions\fP = \fBequations::ContributionsOf\fP<\fBequations::PrimalPoissonBalance\fP>" .SS "using \fBserif::operators::PotentialGradient\fP = \fBdiscretization::forms::Operand\fP<\fBPotential\fP, \fBdiscretization::forms::Operation::Gradient\fP>" .SS "using \fBserif::operators::PotentialValue\fP = \fBdiscretization::forms::Operand\fP<\fBPotential\fP>" .SS "using \fBserif::operators::Schema\fP = \fBdiscretization::domain::schema::CoreEnvelopeVacuumDomainSchema\fP" .SS "using \fBserif::operators::VectorTensor\fP = \fBdiscretization::forms::MatrixValue\fP" .SH "Function Documentation" .PP .SS "template auto serif::operators::bind_contributions (std::shared_ptr< const EquationT > equation)\fR [nodiscard]\fP" .PP Give each retained leaf a compile-time tuple position for independently cached contribution results\&. .SS "template void serif::operators::for_each_contribution (const EquationT & equation, FunctionT && function)" Visit leaves in declaration order, multiplying constant coefficients along each path\&. The callback receives (leaf equation, unique contribution index, coefficient)\&. .SS "\fBLinearizedBlock\fP serif::operators::backend::mfem::linearized_block (std::shared_ptr< const ::mfem::SparseMatrix > matrix)\fR [nodiscard]\fP" .PP Retain an already assembled physical block without copying its matrix\&. .SS "template serif::operators::LinearizedSystemView (const Layout & , const Blocks & ) \-> LinearizedSystemView< Layout, Blocks >" .PP Infer canonical owner types while retaining the explicit borrowing lifetime checks\&. .SH "Author" .PP Generated automatically by Doxygen for SERiF from the source code\&.