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)
147 lines
5.4 KiB
Groff
147 lines
5.4 KiB
Groff
.TH "serif::equations::AngularMomentum" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
serif::equations::AngularMomentum \- Close the unknown angular speed with integral_star rho Omega s^2 dV - target_momentum = 0\&.
|
|
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.PP
|
|
\fR#include <angular_momentum\&.hpp>\fP
|
|
.PP
|
|
Inherits \fBserif::equations::Contribution< discretization::forms::Operand< discretization::blocks::rotation::angular_velocity > >\fP\&.
|
|
.SS "Public Types"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "using \fBDensity\fP = \fBdiscretization::blocks::density::mass\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBResidualQuantity\fP = \fBdimensions::AngularMomentum\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBAngularVelocity\fP = \fBdiscretization::blocks::rotation::angular_velocity\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBDensityValue\fP = \fBdiscretization::forms::Operand\fP<\fBDensity\fP>"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBAngularVelocityValue\fP = \fBdiscretization::forms::Operand\fP<\fBAngularVelocity\fP>"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBOperands\fP = \fButils::types::TypeList\fP<\fBDensityValue\fP, \fBAngularVelocityValue\fP>"
|
|
.br
|
|
.in -1c
|
|
|
|
Public Types inherited from \fBserif::equations::Contribution< discretization::forms::Operand< discretization::blocks::rotation::angular_velocity > >\fP
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "using \fBTest\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBTestOperand\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "using \fBSupport\fP"
|
|
.br
|
|
.in -1c
|
|
.SS "Public Member Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "\fBAngularMomentum\fP (double target_momentum, \fBRigidRotation::Vector\fP axis={0\&.0, 0\&.0, 1\&.0}, \fBRigidRotation::Vector\fP center={})"
|
|
.br
|
|
.RI "The target is nonnegative; signed angular speeds remain valid trial states\&. "
|
|
.ti -1c
|
|
.RI "\fBPointLinearization\fP< \fBOperands\fP > \fBevaluate\fP (const \fBEquationPoint\fP< \fBOperands\fP > &point) const"
|
|
.br
|
|
.ti -1c
|
|
.RI "int \fBadditional_order\fP (\fBDensityValue\fP, int position_order) const"
|
|
.br
|
|
.ti -1c
|
|
.RI "int \fBadditional_order\fP (\fBAngularVelocityValue\fP, int position_order) const"
|
|
.br
|
|
.ti -1c
|
|
.RI "double \fBresidual_offset\fP () const"
|
|
.br
|
|
.ti -1c
|
|
.RI "double \fBvalidation_integrand\fP (const \fBEquationPoint\fP< \fBOperands\fP > &, const \fBPointLinearization\fP< \fBOperands\fP > &physics) const"
|
|
.br
|
|
.RI "dF/dOmega is rho s^2, including at zero angular speed\&. "
|
|
.ti -1c
|
|
.RI "void \fBvalidate_integral\fP (double moment_of_inertia) const"
|
|
.br
|
|
.RI "Validate the total moment, allowing signed trial densities with nonnegative inertia\&. "
|
|
.in -1c
|
|
.SS "Static Public Attributes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "static constexpr std::string_view \fBname\fP = 'angular momentum'"
|
|
.br
|
|
.in -1c
|
|
.SS "Private Attributes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "double \fBm_target_momentum\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "\fBRigidRotation\fP \fBm_rotation\fP"
|
|
.br
|
|
.in -1c
|
|
.SH "Detailed Description"
|
|
.PP
|
|
Close the unknown angular speed with integral_star rho Omega s^2 dV - target_momentum = 0\&.
|
|
.SH "Member Typedef Documentation"
|
|
.PP
|
|
.SS "using \fBserif::equations::AngularMomentum::AngularVelocity\fP = \fBdiscretization::blocks::rotation::angular_velocity\fP"
|
|
|
|
.SS "using \fBserif::equations::AngularMomentum::AngularVelocityValue\fP = \fBdiscretization::forms::Operand\fP<\fBAngularVelocity\fP>"
|
|
|
|
.SS "using \fBserif::equations::AngularMomentum::Density\fP = \fBdiscretization::blocks::density::mass\fP"
|
|
|
|
.SS "using \fBserif::equations::AngularMomentum::DensityValue\fP = \fBdiscretization::forms::Operand\fP<\fBDensity\fP>"
|
|
|
|
.SS "using \fBserif::equations::AngularMomentum::Operands\fP = \fButils::types::TypeList\fP<\fBDensityValue\fP, \fBAngularVelocityValue\fP>"
|
|
|
|
.SS "using \fBserif::equations::AngularMomentum::ResidualQuantity\fP = \fBdimensions::AngularMomentum\fP"
|
|
|
|
.SH "Constructor & Destructor Documentation"
|
|
.PP
|
|
.SS "serif::equations::AngularMomentum::AngularMomentum (double target_momentum, \fBRigidRotation::Vector\fP axis = \fR{0\&.0, 0\&.0, 1\&.0}\fP, \fBRigidRotation::Vector\fP center = \fR{}\fP)\fR [inline]\fP, \fR [explicit]\fP"
|
|
|
|
.PP
|
|
The target is nonnegative; signed angular speeds remain valid trial states\&.
|
|
.SH "Member Function Documentation"
|
|
.PP
|
|
.SS "int serif::equations::AngularMomentum::additional_order (\fBAngularVelocityValue\fP , int position_order) const\fR [inline]\fP, \fR [nodiscard]\fP"
|
|
|
|
.SS "int serif::equations::AngularMomentum::additional_order (\fBDensityValue\fP , int position_order) const\fR [inline]\fP, \fR [nodiscard]\fP"
|
|
|
|
.SS "\fBPointLinearization\fP< \fBOperands\fP > serif::equations::AngularMomentum::evaluate (const \fBEquationPoint\fP< \fBOperands\fP > & point) const\fR [inline]\fP, \fR [nodiscard]\fP"
|
|
|
|
.SS "double serif::equations::AngularMomentum::residual_offset () const\fR [inline]\fP, \fR [nodiscard]\fP"
|
|
|
|
.SS "void serif::equations::AngularMomentum::validate_integral (double moment_of_inertia) const\fR [inline]\fP"
|
|
|
|
.PP
|
|
Validate the total moment, allowing signed trial densities with nonnegative inertia\&.
|
|
.SS "double serif::equations::AngularMomentum::validation_integrand (const \fBEquationPoint\fP< \fBOperands\fP > & , const \fBPointLinearization\fP< \fBOperands\fP > & physics) const\fR [inline]\fP, \fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
dF/dOmega is rho s^2, including at zero angular speed\&.
|
|
.SH "Member Data Documentation"
|
|
.PP
|
|
.SS "\fBRigidRotation\fP serif::equations::AngularMomentum::m_rotation\fR [private]\fP"
|
|
|
|
.SS "double serif::equations::AngularMomentum::m_target_momentum\fR [private]\fP"
|
|
|
|
.SS "std::string_view serif::equations::AngularMomentum::name = 'angular momentum'\fR [static]\fP, \fR [constexpr]\fP"
|
|
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|