fixed_total_mass.hpp 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::FixedTotalMass serif::model::FixedTotalMass::Parameters serif serif::model #pragmaonce #include"serif/dimensions/type_alias.hpp" #include"serif/model/specification.hpp" #include"serif/model/specifications/physical_names.hpp" namespaceserif::model { classFixedTotalMassfinal { public: structParameters { dimensions::MassValuetotal_mass; }; //Preservetheserializedcoordinateidentitywhiledescribingitspresentphysicalmeaning. usingScalarDescription=ScalarConstraint<dimensions::Mass,dimensions::GravitationalPotential,dimensions::Mass, "fixed_total_mass.multiplier","Us","fixed_total_mass.residual","R_M">; usingTargetValue=ScalarDescription::TargetValue; //Usretainsthemass-constraintmultiplierrole;changingitsphysicalunitsmustnotreorderpublicprescriptions. usingModelDefinition=SpecificationDefinition<FixedTotalMass,"FixedTotalMass",SpecificationRole::invariant,GeneratedStateKind::multiplier, ScalarDescription,Reads<state::Density, state::SurfaceShape>,Changes<equation::SurfaceShapeBalance>>; explicitFixedTotalMass(TargetValuemass); explicitFixedTotalMass(Parametersparameters); [[nodiscard]]TargetValuetarget()constnoexcept { returnm_target; } private: TargetValuem_target; }; }//namespaceserif::model