#ifndef HYBRID_HLLC_RUSANOV_EULERIAN_COMPOSITE_SOLVER_V2_HPP #define HYBRID_HLLC_RUSANOV_EULERIAN_COMPOSITE_SOLVER_V2_HPP #include <mesh/MeshVariant.hpp> #include <scheme/DiscreteFunctionVariant.hpp> #include <scheme/IBoundaryConditionDescriptor.hpp> #include <scheme/RusanovEulerianCompositeSolverTools.hpp> #include <memory> #include <vector> // double compute_dt(const std::shared_ptr<const DiscreteFunctionVariant>& u_v, // const std::shared_ptr<const DiscreteFunctionVariant>& c_v); std::tuple<std::shared_ptr<const DiscreteFunctionVariant>, std::shared_ptr<const DiscreteFunctionVariant>, std::shared_ptr<const DiscreteFunctionVariant>> hybridHLLcRusanovEulerianCompositeSolver_v2( 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, const bool check = false); #endif // HYBRID_HLLC_RUSANOV_EULERIAN_COMPOSITE_SOLVER_V2_HPP