module; #include export module mean_field:model.structure.polytropic; export import :eos.polytrope; export import :model.structure.base; export import :seed.lane_emden; import :utils.misc; export namespace mean_field::models::structure { class PolytropicStructure final { public: explicit PolytropicStructure( eos::Polytrope equationOfState, double targetMass ); [[nodiscard]] const eos::Polytrope &equationOfState() const noexcept; [[nodiscard]] double targetMass() const noexcept; [[nodiscard]] StructureSeed makeInitialSeed(const StructureSeedRequest &request) const; void validate() const; private: eos::Polytrope m_equationOfState; double m_targetMass; }; } // namespace mean_field::models::structure