Skip to content
Snippets Groups Projects
Commit 049a4dd4 authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Replug entropic time step computing

parent a8bbab01
No related branches found
No related tags found
No related merge requests found
...@@ -288,6 +288,43 @@ SchemeModule::SchemeModule() ...@@ -288,6 +288,43 @@ SchemeModule::SchemeModule()
)); ));
this->_addBuiltinFunction("acoustic_rho_dt",
std::function(
[](const std::shared_ptr<const IDiscreteFunction>& rho,
const std::shared_ptr<const ItemValueVariant>& ur,
const double& dt_max) -> double { return acoustic_rho_dt(rho, ur, dt_max); }
));
this->_addBuiltinFunction("acoustic_epsilon_dt",
std::function(
[](const std::shared_ptr<const IDiscreteFunction>& rho,
const std::shared_ptr<const IDiscreteFunction>& u,
const std::shared_ptr<const IDiscreteFunction>& E,
const std::shared_ptr<const IDiscreteFunction>& p,
const std::shared_ptr<const SubItemValuePerItemVariant>& Ajr,
const std::shared_ptr<const ItemValueVariant>& ur, const double& dt_max) -> double {
return acoustic_epsilon_dt(rho, u, E, p, Ajr, ur, dt_max);
}
));
this->_addBuiltinFunction("acoustic_entropy_dt",
std::function(
[](const std::shared_ptr<const IDiscreteFunction>& rho,
const std::shared_ptr<const IDiscreteFunction>& u,
const std::shared_ptr<const IDiscreteFunction>& E,
const std::shared_ptr<const IDiscreteFunction>& p,
const std::shared_ptr<const SubItemValuePerItemVariant>& Ajr,
const std::shared_ptr<const ItemValueVariant>& ur, const double& dt_max) -> double {
return acoustic_entropy_dt(rho, u, E, p, Ajr, ur, dt_max);
}
));
this->_addBuiltinFunction("glace_fluxes", std::function( this->_addBuiltinFunction("glace_fluxes", std::function(
[](const std::shared_ptr<const IDiscreteFunction>& rho, [](const std::shared_ptr<const IDiscreteFunction>& rho,
...@@ -296,7 +333,8 @@ SchemeModule::SchemeModule() ...@@ -296,7 +333,8 @@ SchemeModule::SchemeModule()
const std::shared_ptr<const IDiscreteFunction>& p, const std::shared_ptr<const IDiscreteFunction>& p,
const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
bc_descriptor_list) bc_descriptor_list)
-> std::tuple<std::shared_ptr<const ItemValueVariant>, -> std::tuple<std::shared_ptr<const SubItemValuePerItemVariant>,
std::shared_ptr<const ItemValueVariant>,
std::shared_ptr<const SubItemValuePerItemVariant>> { std::shared_ptr<const SubItemValuePerItemVariant>> {
return AcousticSolverHandler{getCommonMesh({rho, c, u, p})} return AcousticSolverHandler{getCommonMesh({rho, c, u, p})}
.solver() .solver()
...@@ -337,7 +375,8 @@ SchemeModule::SchemeModule() ...@@ -337,7 +375,8 @@ SchemeModule::SchemeModule()
const std::shared_ptr<const IDiscreteFunction>& p, const std::shared_ptr<const IDiscreteFunction>& p,
const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
bc_descriptor_list) bc_descriptor_list)
-> std::tuple<std::shared_ptr<const ItemValueVariant>, -> std::tuple<std::shared_ptr<const SubItemValuePerItemVariant>,
std::shared_ptr<const ItemValueVariant>,
std::shared_ptr<const SubItemValuePerItemVariant>> { std::shared_ptr<const SubItemValuePerItemVariant>> {
return AcousticSolverHandler{getCommonMesh({rho, c, u, p})} return AcousticSolverHandler{getCommonMesh({rho, c, u, p})}
.solver() .solver()
......
This diff is collapsed.
...@@ -13,6 +13,26 @@ class SubItemValuePerItemVariant; ...@@ -13,6 +13,26 @@ class SubItemValuePerItemVariant;
double acoustic_dt(const std::shared_ptr<const IDiscreteFunction>& c); double acoustic_dt(const std::shared_ptr<const IDiscreteFunction>& c);
double acoustic_rho_dt(const std::shared_ptr<const IDiscreteFunction>& rho,
const std::shared_ptr<const ItemValueVariant>& ur,
const double& dt_max);
double acoustic_epsilon_dt(const std::shared_ptr<const IDiscreteFunction>& rho,
const std::shared_ptr<const IDiscreteFunction>& u,
const std::shared_ptr<const IDiscreteFunction>& E,
const std::shared_ptr<const IDiscreteFunction>& p,
const std::shared_ptr<const SubItemValuePerItemVariant>& Ajr_variant,
const std::shared_ptr<const ItemValueVariant>& ur_variant,
const double& dt_max);
double acoustic_entropy_dt(const std::shared_ptr<const IDiscreteFunction>& rho,
const std::shared_ptr<const IDiscreteFunction>& u,
const std::shared_ptr<const IDiscreteFunction>& E,
const std::shared_ptr<const IDiscreteFunction>& p,
const std::shared_ptr<const SubItemValuePerItemVariant>& Ajr_variant,
const std::shared_ptr<const ItemValueVariant>& ur_variant,
const double& dt_max);
class AcousticSolverHandler class AcousticSolverHandler
{ {
public: public:
...@@ -25,7 +45,8 @@ class AcousticSolverHandler ...@@ -25,7 +45,8 @@ class AcousticSolverHandler
private: private:
struct IAcousticSolver struct IAcousticSolver
{ {
virtual std::tuple<const std::shared_ptr<const ItemValueVariant>, virtual std::tuple<const std::shared_ptr<const SubItemValuePerItemVariant>,
const std::shared_ptr<const ItemValueVariant>,
const std::shared_ptr<const SubItemValuePerItemVariant>> const std::shared_ptr<const SubItemValuePerItemVariant>>
compute_fluxes( compute_fluxes(
const SolverType& solver_type, const SolverType& solver_type,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment