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)
74 lines
2.4 KiB
Groff
74 lines
2.4 KiB
Groff
.TH "src/include/serif/equations/arithmetic.hpp" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
src/include/serif/equations/arithmetic.hpp \- File containing the EquationScale and EquationSum templates, which allow for scaling and summing equations\&.
|
|
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
\fR#include <cmath>\fP
|
|
.br
|
|
\fR#include <concepts>\fP
|
|
.br
|
|
\fR#include <stdexcept>\fP
|
|
.br
|
|
\fR#include <string_view>\fP
|
|
.br
|
|
\fR#include <tuple>\fP
|
|
.br
|
|
\fR#include <utility>\fP
|
|
.br
|
|
\fR#include 'serif/equations/concepts\&.hpp'\fP
|
|
.br
|
|
\fR#include 'serif/utils/error/errors\&.hpp'\fP
|
|
.br
|
|
|
|
.SS "Classes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "class \fBserif::equations::EquationScale< EquationT >\fP"
|
|
.br
|
|
.RI "Scale an equation by a constant coefficient\&. "
|
|
.ti -1c
|
|
.RI "class \fBserif::equations::EquationSum< FirstT, RestTs >\fP"
|
|
.br
|
|
.RI "Sum multiple equations together\&. "
|
|
.ti -1c
|
|
.RI "class \fBserif::equations::EquationDifference< LeftT, RightT >\fP"
|
|
.br
|
|
.RI "Subtract one equation from another\&. "
|
|
.in -1c
|
|
.SS "Namespaces"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "namespace \fBserif\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "namespace \fBserif::equations\fP"
|
|
.br
|
|
.RI "The equations namespace, intended to be, to the best of my design ability, where the vast majority of the actual physics lives\&. "
|
|
.in -1c
|
|
.SH "Detailed Description"
|
|
.PP
|
|
File containing the EquationScale and EquationSum templates, which allow for scaling and summing equations\&.
|
|
|
|
|
|
.PP
|
|
\fBAuthor\fP
|
|
.RS 4
|
|
Emily M\&. Boudreaux
|
|
.RE
|
|
.PP
|
|
|
|
.PP
|
|
The astute observer will notice that none of the code in this file or indeed in in any part of the equations module actually implements summation or scaled addition more generally\&. Rather, the code to manage that is implemented in the operator/backend/mfem module\&. Effectively these templates are compile time tags telling that system how to combine weak contributions\&. The reason for this comes down to we dont really want to sum at the point wise level; rather, we generally want to sum already integrated contributions\&. Since equations, by design, do not know any details about the global system they are unable to manage this themselves\&.
|
|
|
|
.PP
|
|
There is another, as yet unexplored case, where we introduce some point-wise summation equation\&. This could be implemented in a much more local fashion and would probably be easier to trace; however, it would be semantically different in its meaning\&.
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|