Skip to content
Snippets Groups Projects
Commit f378a5f7 authored by Emmanuel Labourasse's avatar Emmanuel Labourasse
Browse files

interface for the language

parent cee83072
No related branches found
No related tags found
1 merge request!163Hyperelastic Lagrangian solver (Eucclhyd or Glace-type).
...@@ -370,6 +370,56 @@ SchemeModule::SchemeModule() ...@@ -370,6 +370,56 @@ SchemeModule::SchemeModule()
)); ));
this->_addBuiltinFunction("hyperelastic_eucclhyd_solver",
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>& CG,
const std::shared_ptr<const IDiscreteFunction>& aL,
const std::shared_ptr<const IDiscreteFunction>& aT,
const std::shared_ptr<const IDiscreteFunction>& sigma,
const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
bc_descriptor_list,
const double& dt)
-> std::tuple<std::shared_ptr<const IMesh>, std::shared_ptr<const IDiscreteFunction>,
std::shared_ptr<const IDiscreteFunction>,
std::shared_ptr<const IDiscreteFunction>,
std::shared_ptr<const IDiscreteFunction>> {
return HyperelasticSolverHandler{getCommonMesh({rho, u, E, CG, aL, aT, sigma})}
.solver()
.apply(HyperelasticSolverHandler::SolverType::Eucclhyd, dt, rho, u, E, CG, aL, aT,
sigma, bc_descriptor_list);
}
));
this->_addBuiltinFunction("hyperelastic_glace_solver",
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>& CG,
const std::shared_ptr<const IDiscreteFunction>& aL,
const std::shared_ptr<const IDiscreteFunction>& aT,
const std::shared_ptr<const IDiscreteFunction>& sigma,
const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
bc_descriptor_list,
const double& dt)
-> std::tuple<std::shared_ptr<const IMesh>, std::shared_ptr<const IDiscreteFunction>,
std::shared_ptr<const IDiscreteFunction>,
std::shared_ptr<const IDiscreteFunction>,
std::shared_ptr<const IDiscreteFunction>> {
return HyperelasticSolverHandler{getCommonMesh({rho, u, E, CG, aL, aT, sigma})}
.solver()
.apply(HyperelasticSolverHandler::SolverType::Glace, dt, rho, u, E, CG, aL, aT, sigma,
bc_descriptor_list);
}
));
this->_addBuiltinFunction("apply_acoustic_fluxes", this->_addBuiltinFunction("apply_acoustic_fluxes",
std::function( std::function(
......
...@@ -78,6 +78,7 @@ class HyperelasticSolverHandler::HyperelasticSolver final : public HyperelasticS ...@@ -78,6 +78,7 @@ class HyperelasticSolverHandler::HyperelasticSolver final : public HyperelasticS
class FixedBoundaryCondition; class FixedBoundaryCondition;
class PressureBoundaryCondition; class PressureBoundaryCondition;
class NormalStressBoundaryCondition;
class SymmetryBoundaryCondition; class SymmetryBoundaryCondition;
class VelocityBoundaryCondition; class VelocityBoundaryCondition;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment