fitted.hpp serif/solver/seed/polytrope.hpp src/include/serif/backend/mfem/solver/seed/fitted.hpp src/include/serif/solver/solver.hpp src/lib/serif/solver/seed/fitted.cpp serif::solver::seed::FittedRadialSeed serif serif::solver serif::solver::seed serif::solver::seed::detail #pragmaonce #include"serif/solver/seed/polytrope.hpp" namespaceserif::solver::seed{ structFittedRadialSeedfinal{ RadialSeedsource; dimensions::LengthValueradius; dimensions::MassValuemass; doublemoment_of_inertia{}; doubleangular_velocity{}; }; [[nodiscard]]inlineautoevaluate_radial_seed(constRadialSeed&seed,dimensions::LengthValueradius){ returnutils::laneemden::evaluate_physical(seed.solution,seed.scales,radius); } [[nodiscard]]std::expected<FittedRadialSeed,std::string>fit_radial_seed(constRadialSeed&seed,dimensions::LengthValueradius); [[nodiscard]]std::expected<utils::laneemden::PhysicalSample,std::string>evaluate_radial_seed( constFittedRadialSeed&seed,dimensions::LengthValueradius); namespacedetail{ [[nodiscard]]inlineconstRadialSeed&radial_source(constRadialSeed&seed){returnseed;} [[nodiscard]]inlineconstRadialSeed&radial_source(constFittedRadialSeed&seed){returnseed.source;} [[nodiscard]]inlinedimensions::LengthValueradial_radius(constRadialSeed&seed){returnseed.scales.radius;} [[nodiscard]]inlinedimensions::LengthValueradial_radius(constFittedRadialSeed&seed){returnseed.radius;} [[nodiscard]]inlinedimensions::MassValueradial_mass(constRadialSeed&seed){returnseed.scales.mass;} [[nodiscard]]inlinedimensions::MassValueradial_mass(constFittedRadialSeed&seed){returnseed.mass;} } }