|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
Close the unknown angular speed with integral_star rho Omega s^2 dV - target_momentum = 0. More...
#include <angular_momentum.hpp>
Public Types | |
| using | Density = discretization::blocks::density::mass |
| using | ResidualQuantity = dimensions::AngularMomentum |
| using | AngularVelocity = discretization::blocks::rotation::angular_velocity |
| using | DensityValue = discretization::forms::Operand<Density> |
| using | AngularVelocityValue = discretization::forms::Operand<AngularVelocity> |
| using | Operands = utils::types::TypeList<DensityValue, AngularVelocityValue> |
Public Types inherited from serif::equations::Contribution< discretization::forms::Operand< discretization::blocks::rotation::angular_velocity > > | |
| using | Test |
| using | TestOperand |
| using | Support |
Public Member Functions | |
| AngularMomentum (double target_momentum, RigidRotation::Vector axis={0.0, 0.0, 1.0}, RigidRotation::Vector center={}) | |
| The target is nonnegative; signed angular speeds remain valid trial states. | |
| PointLinearization< Operands > | evaluate (const EquationPoint< Operands > &point) const |
| int | additional_order (DensityValue, int position_order) const |
| int | additional_order (AngularVelocityValue, int position_order) const |
| double | residual_offset () const |
| double | validation_integrand (const EquationPoint< Operands > &, const PointLinearization< Operands > &physics) const |
| dF/dOmega is rho s^2, including at zero angular speed. | |
| void | validate_integral (double moment_of_inertia) const |
| Validate the total moment, allowing signed trial densities with nonnegative inertia. | |
Static Public Attributes | |
| static constexpr std::string_view | name = "angular momentum" |
Private Attributes | |
| double | m_target_momentum |
| RigidRotation | m_rotation |
Close the unknown angular speed with integral_star rho Omega s^2 dV - target_momentum = 0.
| using serif::equations::AngularMomentum::AngularVelocity = discretization::blocks::rotation::angular_velocity |
| using serif::equations::AngularMomentum::AngularVelocityValue = discretization::forms::Operand<AngularVelocity> |
| using serif::equations::AngularMomentum::Operands = utils::types::TypeList<DensityValue, AngularVelocityValue> |
|
inlineexplicit |
The target is nonnegative; signed angular speeds remain valid trial states.
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
|
inline |
Validate the total moment, allowing signed trial densities with nonnegative inertia.
|
inlinenodiscard |
dF/dOmega is rho s^2, including at zero angular speed.
|
private |
|
private |
|
staticconstexpr |