26 lines
915 B
C++
26 lines
915 B
C++
module;
|
|
|
|
#include <type_traits>
|
|
#include <utility>
|
|
|
|
export module mean_field:operators.stellar_equilibrium_system;
|
|
|
|
export import :operators.stellar_equilibrium_problem;
|
|
|
|
export namespace mean_field::equilibrium {
|
|
// Transitional source-compatible names. New code should use
|
|
// StellarEquilibriumProblem and equilibrium::discretize.
|
|
template <typename Candidate>
|
|
concept CurrentlySupportedStellarModel = StellarEquilibriumModel<Candidate>;
|
|
|
|
template <StellarEquilibriumModel Model> using StellarEquilibriumSystem = StellarEquilibriumProblem<Model>;
|
|
|
|
template <StellarEquilibriumModel Model>
|
|
[[nodiscard]] auto makeStellarEquilibriumSystem(
|
|
fem::FEM &&finiteElementModel,
|
|
Model &&stellarModel
|
|
) {
|
|
return discretize(std::forward<Model>(stellarModel), std::move(finiteElementModel));
|
|
}
|
|
} // namespace mean_field::equilibrium
|