Skip to content
Snippets Groups Projects
Commit 25b37797 authored by Philippe Hoch's avatar Philippe Hoch
Browse files

Adding second order in space for 3 current solver with induced limitation

parent f81ac89d
No related branches found
No related tags found
No related merge requests found
......@@ -44,8 +44,11 @@
#include <scheme/NeumannBoundaryConditionDescriptor.hpp>
#include <scheme/OutflowBoundaryConditionDescriptor.hpp>
#include <scheme/RoeViscousFormEulerianCompositeSolver_v2.hpp>
#include <scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.hpp>
#include <scheme/RusanovEulerianCompositeSolver.hpp>
#include <scheme/RusanovEulerianCompositeSolver_o2.hpp>
#include <scheme/RusanovEulerianCompositeSolver_v2.hpp>
#include <scheme/RusanovEulerianCompositeSolver_v2_o2.hpp>
#include <scheme/SymmetryBoundaryConditionDescriptor.hpp>
#include <scheme/VariableBCDescriptor.hpp>
#include <scheme/test_reconstruction.hpp>
......@@ -543,6 +546,44 @@ SchemeModule::SchemeModule()
));
this->_addBuiltinFunction("rusanov_eulerian_composite_solver_version1_o2",
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 rusanovEulerianCompositeSolver_o2(rho, u, E, gamma, c, p, degree,
bc_descriptor_list, dt);
}
));
this->_addBuiltinFunction("rusanov_eulerian_composite_solver_version1_o2_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 rusanovEulerianCompositeSolver_o2(rho, u, E, gamma, c, p, degree,
bc_descriptor_list, dt, true);
}
));
this->_addBuiltinFunction("rusanov_eulerian_composite_solver_version2",
std::function(
[](const std::shared_ptr<const DiscreteFunctionVariant>& rho,
......@@ -612,6 +653,76 @@ SchemeModule::SchemeModule()
));
this->_addBuiltinFunction("rusanov_eulerian_composite_solver_version2_o2",
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 rusanovEulerianCompositeSolver_v2_o2(rho, u, E, gamma, c, p, degree,
bc_descriptor_list, dt);
}
));
this->_addBuiltinFunction("rusanov_eulerian_composite_solver_version2_o2_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 rusanovEulerianCompositeSolver_v2_o2(rho, u, E, gamma, c, p, degree,
bc_descriptor_list, dt, true);
}));
this->_addBuiltinFunction("roe_viscosityform_eulerian_composite_solver_version2_o2",
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 roeViscousFormEulerianCompositeSolver_v2_o2(rho, u, E, gamma, c, p, degree,
bc_descriptor_list, dt);
}
));
this->_addBuiltinFunction("roe_viscosityform_eulerian_composite_solver_version2_o2_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 roeViscousFormEulerianCompositeSolver_v2_o2(rho, u, E, gamma, c, p, degree,
bc_descriptor_list, dt, true);
}
));
this->_addBuiltinFunction("eucclhyd_fluxes",
std::function(
......
......@@ -26,6 +26,9 @@ add_library(
RusanovEulerianCompositeSolver.cpp
RusanovEulerianCompositeSolver_v2.cpp
RoeViscousFormEulerianCompositeSolver_v2.cpp
RusanovEulerianCompositeSolver_o2.cpp
RusanovEulerianCompositeSolver_v2_o2.cpp
RoeViscousFormEulerianCompositeSolver_v2_o2.cpp
test_reconstruction.cpp
)
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment