fixed_angular_momentum.hpp array serif/dimensions/type_alias.hpp serif/model/specification.hpp serif/model/specifications/physical_names.hpp src/include/serif/model/description.hpp src/include/serif/solver/continuation/stellar_parameters.hpp src/include/serif/solver/seed/polytrope.hpp src/lib/serif/model/specifications.cpp serif::model::FixedAngularMomentum serif::model::FixedAngularMomentum::Parameters serif serif::model #pragmaonce #include<array> #include"serif/dimensions/type_alias.hpp" #include"serif/model/specification.hpp" #include"serif/model/specifications/physical_names.hpp" namespaceserif::model { classFixedAngularMomentumfinal { public: structParameters { dimensions::AngularMomentumValueangular_momentum; std::array<double,3>axis{0.0,0.0,1.0}; std::array<double,3>center{}; }; usingScalarDescription=ScalarConstraint<dimensions::AngularMomentum,dimensions::AngularVelocity,dimensions::AngularMomentum, "fixed_angular_momentum.angular_velocity","Omega","fixed_angular_momentum.residual","R_J">; usingTargetValue=ScalarDescription::TargetValue; usingModelDefinition=SpecificationDefinition<FixedAngularMomentum,"FixedAngularMomentum",SpecificationRole::invariant,GeneratedStateKind::physical_coordinate, ScalarDescription,Reads<state::Density, state::SurfaceShape, state::OwnGeneratedCoordinate>, Changes<equation::SurfaceShapeBalance, equation::HydrostaticBalance>>; explicitFixedAngularMomentum(TargetValueangular_momentum); explicitFixedAngularMomentum(Parametersparameters); [[nodiscard]]TargetValuetarget()constnoexcept { returnm_target; } [[nodiscard]]conststd::array<double,3>&axis()constnoexcept { returnm_axis; } [[nodiscard]]conststd::array<double,3>&center()constnoexcept { returnm_center; } private: TargetValuem_target; std::array<double,3>m_axis; std::array<double,3>m_center; }; }//namespaceserif::model