Files
MeanField_SERiF/docs/man/man3/forms.hpp.3

94 lines
4.3 KiB
Groff
Raw Normal View History

.TH "src/include/serif/discretization/forms/forms.hpp" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
src/include/serif/discretization/forms/forms.hpp \- This file defines the forms used in the discretization framework, including mass, divergence, source, force, boundary flux, and projection forms\&.
.SH SYNOPSIS
.br
.PP
\fR#include <concepts>\fP
.br
\fR#include <type_traits>\fP
.br
\fR#include 'serif/discretization/blocks/concepts\&.hpp'\fP
.br
\fR#include 'serif/discretization/forms/operands\&.hpp'\fP
.br
\fR#include 'serif/utils/types/type_list\&.hpp'\fP
.br
\fR#include 'serif/meta/names\&.hpp'\fP
.br
.SS "Classes"
.in +1c
.ti -1c
.RI "struct \fBserif::discretization::forms::form\fP"
.br
.RI "The form struct is a tag type that is used to identify a form in the discretization\&. It is used to group together forms that belong to the same mathematical operation\&. Each form should have a unique name and a list of operand types that belong to it\&. "
.ti -1c
.RI "struct \fBserif::discretization::forms::mass< TrialT, TestT >\fP"
.br
.RI "The mass form represents the mass matrix operation in the discretization framework\&. It takes a trial term and a test term as template parameters and defines the operand types for the mass operation\&. "
.ti -1c
.RI "struct \fBserif::discretization::forms::divergence< TrialT, TestT >\fP"
.br
.RI "The divergence form represents the divergence operation in the discretization framework\&. It takes a trial term and a test term as template parameters and defines the operand types for the divergence operation\&. "
.ti -1c
.RI "struct \fBserif::discretization::forms::source< TrialT, TestT >\fP"
.br
.RI "The source form represents the source term in the discretization framework\&. It takes a trial term and a test term as template parameters and defines the operand types for the source operation\&. "
.ti -1c
.RI "struct \fBserif::discretization::forms::force< TrialT, TestT >\fP"
.br
.RI "The force form represents the force term in the discretization framework\&. It takes a trial term and a test term as template parameters and defines the operand types for the force operation\&. "
.ti -1c
.RI "struct \fBserif::discretization::forms::boundary_flux< TrialT, TestT >\fP"
.br
.RI "The \fBboundary_flux\fP form represents the boundary flux operation in the discretization framework\&. It takes a trial term and a test term as template parameters and defines the operand types for the boundary flux operation\&. "
.ti -1c
.RI "struct \fBserif::discretization::forms::projection< TrialT, TestT >\fP"
.br
.RI "The projection form represents the projection operation in the discretization framework\&. It takes a trial term and a test term as template parameters and defines the operand types for the projection operation\&. "
.in -1c
.SS "Namespaces"
.in +1c
.ti -1c
.RI "namespace \fBserif\fP"
.br
.ti -1c
.RI "namespace \fBserif::discretization\fP"
.br
.ti -1c
.RI "namespace \fBserif::discretization::forms\fP"
.br
.in -1c
.SH "Detailed Description"
.PP
This file defines the forms used in the discretization framework, including mass, divergence, source, force, boundary flux, and projection forms\&.
.PP
\fBAuthor\fP
.RS 4
Emily M\&. Boudreaux
.RE
.PP
\fBNote\fP
.RS 4
If you are a developer tasked with the likely horrid task of adding some new equation that cannot be represented within the current framework that SERiF provides, this should probably be your first stop\&. This file essentially defines the mathematical operations that SERiF can perform\&. As you can see below none of these forms are particularly complex, and they certainly do not actually describe \fIhow\fP to perform these operations\&. Rather, these form the base of a chain of compile-time probability that SERiF \fIknows\fP how to do something\&. Effectively this file is a contract with the rest of the code that says "If someone asks for the divergence of a trial field against some test field that is okay because I have claimed in this
file that I know how to do that"\&. The actual implementation lives elsewhere\&.
.RE
.PP
\fBTodo\fP
.RS 4
Come back and fill in more information about elsewhere\&. If you are the developer from above and you are reading this todo, then I am, and I mean this truly, very sorry\&.\&.\&.\&.
.RE
.PP
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.