From 5a3117aea21f203a7e3351145103904cc3c03def Mon Sep 17 00:00:00 2001 From: HOCH PHILIPPE <philippe.hoch@gmail.com> Date: Tue, 6 May 2025 23:28:10 +0200 Subject: [PATCH] Adding Roe composite under Flux Form 2D and 3D suite --- .../modules/CompositeSchemeModule.cpp | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/language/modules/CompositeSchemeModule.cpp b/src/language/modules/CompositeSchemeModule.cpp index 8c8a7f4d5..ff66e8d1f 100644 --- a/src/language/modules/CompositeSchemeModule.cpp +++ b/src/language/modules/CompositeSchemeModule.cpp @@ -10,6 +10,7 @@ #include <language/modules/ModuleRepository.hpp> #include <scheme/AcousticCompositeSolver.hpp> +#include <scheme/RoeFluxFormEulerianCompositeSolver_v2.hpp> #include <scheme/RoeViscousFormEulerianCompositeSolver_v2.hpp> #include <scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.hpp> #include <scheme/RusanovEulerianCompositeSolver.hpp> @@ -174,6 +175,42 @@ CompositeSchemeModule::CompositeSchemeModule() return rusanovEulerianCompositeSolver_v2(rho, u, E, gamma, c, p, // degree, bc_descriptor_list, dt, true); })); + + this->_addBuiltinFunction("roe_fluxform_eulerian_composite_solver_version2", + std::function( + [](const std::shared_ptr<const DiscreteFunctionVariant>& rho, + const std::shared_ptr<const DiscreteFunctionVariant>& u, + const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma, + const std::shared_ptr<const DiscreteFunctionVariant>& c, + const std::shared_ptr<const DiscreteFunctionVariant>& p, // const size_t& degree, + const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& + bc_descriptor_list, + const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>, + std::shared_ptr<const DiscreteFunctionVariant>, + std::shared_ptr<const DiscreteFunctionVariant>> { + return roeFluxFormEulerianCompositeSolver_v2(rho, u, E, gamma, c, p, // degree, + bc_descriptor_list, dt); + } + + )); + + this->_addBuiltinFunction("roe_fluxform_eulerian_composite_solver_version2_with_checks", + std::function( + [](const std::shared_ptr<const DiscreteFunctionVariant>& rho, + const std::shared_ptr<const DiscreteFunctionVariant>& u, + const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma, + const std::shared_ptr<const DiscreteFunctionVariant>& c, + const std::shared_ptr<const DiscreteFunctionVariant>& p, // const size_t& degree, + const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& + bc_descriptor_list, + const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>, + std::shared_ptr<const DiscreteFunctionVariant>, + std::shared_ptr<const DiscreteFunctionVariant>> { + return roeFluxFormEulerianCompositeSolver_v2(rho, u, E, gamma, c, p, // degree, + bc_descriptor_list, dt, true); + } + + )); this->_addBuiltinFunction("roe_viscosityform_eulerian_composite_solver_version2", std::function( [](const std::shared_ptr<const DiscreteFunctionVariant>& rho, -- GitLab