Files
MeanField_SERiF/docs/man/man3/serif_equations_PointEquation.3
Emily Boudreaux 6b57738330 docs(docs): built docs
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)
2026-11-09 14:09:44 -05:00

56 lines
1.9 KiB
Groff

.TH "serif::equations::PointEquation" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
serif::equations::PointEquation \- A concept that defines the requirements for a pointwise equation\&.
.SH SYNOPSIS
.br
.PP
.PP
\fR#include <concepts\&.hpp>\fP
.SH "Concept definition"
.PP
.nf
template<typename T>
concept serif::equations::PointEquation =
requires {
typename T::Test;
typename T::Operands;
} &&
(discretization::blocks::SpatialTerm<typename T::Test> || discretization::blocks::GlobalScalarTerm<typename T::Test>) &&
discretization::blocks::HasResidualBlock<typename T::Test> &&
discretization::forms::IsOperand<TestOperandOf<T>> &&
std::same_as<typename TestOperandOf<T>::term_type, typename T::Test> &&
requires(const T& equation, const EquationPoint<typename T::Operands>& point) {
{
equation\&.evaluate(point)
} \-> std::same_as<PointLinearization<typename T::Operands, discretization::forms::OperandValue<TestOperandOf<T>>>>;
}
.PP
.fi
.SH "Detailed Description"
.PP
A concept that defines the requirements for a pointwise equation\&.
Requirements
.PD 0
.IP "\(bu" 2
The equation must have a test type (::Test) and an operand type (::Operands)\&.
.IP "\(bu" 2
The test type (::Test) must be either a spatial term or a global scalar term\&.
.IP "\(bu" 2
The test type must have a residual block\&.
.IP "\(bu" 2
The operand type must be a valid operand
.IP "\(bu" 2
The operant term type (::term_type) must be the same as the test type (::Test)\&.
.IP "\(bu" 2
The equation must have a method called ::evaluate() that takes an EquationPoint of the operand type and returns a PointLinearization of the operand type and the operand value of the test operand\&.
.PP
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.