Commit 50c7644b authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#723 Fix all models and SCons compilation.

parent 21ff37d8
......@@ -27,7 +27,7 @@ InputParameter/Parameter/Solid/YoungModulus.cpp
InputParameter/Parameter/Source/Private/RectangularSourceTimeParameter.cpp
InputParameter/Parameter/Source/Private/TransientSource.cpp
InputParameter/Parameter/SpatialFunction.cpp
InputParameter/Petsc.cpp
InputParameter/Solver/Private/Petsc.cpp
InputParameter/Reaction/FitzHughNagumo.cpp
InputParameter/Reaction/MitchellSchaeffer.cpp
InputParameter/Reaction/ReactionCoefficient.cpp
......
......@@ -37,7 +37,12 @@ namespace HappyHeart
template <ReactionLawNS::ReactionLawName ReactionLawNameT>
class BidomainVariationalFormulation : public HappyHeart::VariationalFormulation<BidomainVariationalFormulation<ReactionLawNameT>>
class BidomainVariationalFormulation
: public HappyHeart::VariationalFormulation
<
BidomainVariationalFormulation<ReactionLawNameT>,
EnumUnderlyingType(SolverIndex::solver)
>
{
private:
......@@ -45,7 +50,11 @@ namespace HappyHeart
using self = BidomainVariationalFormulation<ReactionLawNameT>;
//! Alias to the parent class.
using parent = HappyHeart::VariationalFormulation<BidomainVariationalFormulation<ReactionLawNameT>>;
using parent = HappyHeart::VariationalFormulation
<
BidomainVariationalFormulation<ReactionLawNameT>,
EnumUnderlyingType(SolverIndex::solver)
>;
//! Friendship to parent class, so this one can access private methods defined below through CRTP.
friend parent;
......
......@@ -37,7 +37,12 @@ namespace HappyHeart
class ImplicitStepFluidVariationalFormulation;
class ExplicitStepVariationalFormulation : public HappyHeart::VariationalFormulation<ExplicitStepVariationalFormulation>
class ExplicitStepVariationalFormulation
: public HappyHeart::VariationalFormulation
<
ExplicitStepVariationalFormulation,
EnumUnderlyingType(SolverIndex::main_solver)
>
{
public:
......@@ -48,7 +53,7 @@ namespace HappyHeart
using unique_ptr = std::unique_ptr<self>;
//! Alias to the parent class.
using parent = HappyHeart::VariationalFormulation<self>;
using parent = HappyHeart::VariationalFormulation<self, EnumUnderlyingType(SolverIndex::main_solver)>;
//! Friendship to parent class, so this one can access private methods defined below through CRTP.
friend parent;
......
......@@ -54,7 +54,11 @@ namespace HappyHeart
class ImplicitStepFluidVariationalFormulation
: public HappyHeart::VariationalFormulation<ImplicitStepFluidVariationalFormulation>
: public HappyHeart::VariationalFormulation
<
ImplicitStepFluidVariationalFormulation,
EnumUnderlyingType(SolverIndex::main_solver)
>
{
private:
......@@ -62,7 +66,11 @@ namespace HappyHeart
using self = ImplicitStepFluidVariationalFormulation;
//! Alias to the parent class.
using parent = HappyHeart::VariationalFormulation<ImplicitStepFluidVariationalFormulation>;
using parent = HappyHeart::VariationalFormulation
<
ImplicitStepFluidVariationalFormulation,
EnumUnderlyingType(SolverIndex::main_solver)
>;
//! Friendship to parent class, so this one can access private methods defined below through CRTP.
friend parent;
......
......@@ -71,7 +71,7 @@ namespace HappyHeart
enum class SolverIndex
{
solver = 1
main_solver = 1
};
......@@ -139,7 +139,7 @@ namespace HappyHeart
InputParameter::FEltSpace<EnumUnderlyingType(FEltSpaceIndex::fluid_velocity_pressure)>,
InputParameter::FEltSpace<EnumUnderlyingType(FEltSpaceIndex::inlet_border)>,
InputParameter::Petsc<EnumUnderlyingType(SolverIndex::solver)>,
InputParameter::Petsc<EnumUnderlyingType(SolverIndex::main_solver)>,
InputParameter::Fluid::Viscosity,
InputParameter::Fluid::Density,
......
......@@ -247,7 +247,7 @@ namespace HappyHeart
solid_to_fsi_interpolator_->Init();
}
differential_solid_solver_ = InitSolver(mpi, input_parameter_data);
differential_solid_solver_ = InitSolver<EnumUnderlyingType(SolverIndex::main_solver)>(mpi, input_parameter_data);
}
......
......@@ -40,7 +40,11 @@ namespace HappyHeart
class VariationalFormulationElasticity final
: public VariationalFormulation<VariationalFormulationElasticity>,
: public VariationalFormulation
<
VariationalFormulationElasticity,
EnumUnderlyingType(SolverIndex::main_solver)
>,
public VariationalFormulationNS::DofSourcePolicyNS::DofSource
{
......@@ -48,7 +52,7 @@ namespace HappyHeart
using self = VariationalFormulationElasticity;
using parent = VariationalFormulation<self>;
using parent = VariationalFormulation<self, EnumUnderlyingType(SolverIndex::main_solver)>;
using dof_source_parent = VariationalFormulationNS::DofSourcePolicyNS::DofSource;
......
......@@ -64,7 +64,11 @@ namespace HappyHeart
HyperelasticityNS::TimeScheme TimeSchemeT
>
class VariationalFormulationHyperElasticity final
: public VariationalFormulation<VariationalFormulationHyperElasticity<LawPolicyT, TimeSchemeT>>,
: public VariationalFormulation
<
VariationalFormulationHyperElasticity<LawPolicyT, TimeSchemeT>,
EnumUnderlyingType(SolverIndex::main_solver)
>,
private ::HappyHeart::Crtp::Mutex<VariationalFormulationHyperElasticity<LawPolicyT, TimeSchemeT>>,
public VariationalFormulationNS::DofSourcePolicyNS::DofSource
{
......@@ -75,7 +79,7 @@ namespace HappyHeart
using self = VariationalFormulationHyperElasticity<LawPolicyT, TimeSchemeT>;
//! Alias to the parent class.
using parent = VariationalFormulation<self>;
using parent = VariationalFormulation<self, EnumUnderlyingType(SolverIndex::main_solver)>;
//! Friendship to parent class, so this one can access private methods defined below through CRTP.
friend parent;
......
......@@ -34,12 +34,21 @@ namespace HappyHeart
//! Variational formulaton to solve for a heat problem with Dirichlet, Neumann and Robin BC.
class HeatVariationalFormulation final : public HappyHeart::VariationalFormulation<HeatVariationalFormulation>
class HeatVariationalFormulation final
: public HappyHeart::VariationalFormulation
<
HeatVariationalFormulation,
EnumUnderlyingType(SolverIndex::solver)
>
{
private:
//! Alias to the parent class.
using parent = HappyHeart::VariationalFormulation<HeatVariationalFormulation>;
using parent = HappyHeart::VariationalFormulation
<
HeatVariationalFormulation,
EnumUnderlyingType(SolverIndex::solver)
>;
//! Friendship to parent class, so this one can access private methods defined below through CRTP.
friend parent;
......
......@@ -39,12 +39,20 @@ namespace HappyHeart
template <ReactionLawNS::ReactionLawName ReactionLawNameT>
class ReactionDiffusionVariationalFormulation final
: public HappyHeart::VariationalFormulation<ReactionDiffusionVariationalFormulation<ReactionLawNameT>>
: public HappyHeart::VariationalFormulation
<
ReactionDiffusionVariationalFormulation<ReactionLawNameT>,
EnumUnderlyingType(SolverIndex::solver)
>
{
private:
//! Alias to the parent class.
using parent = HappyHeart::VariationalFormulation<ReactionDiffusionVariationalFormulation>;
using parent = HappyHeart::VariationalFormulation
<
ReactionDiffusionVariationalFormulation,
EnumUnderlyingType(SolverIndex::solver)
>;
//! Friendship to parent class, so this one can access private methods defined below through CRTP.
friend parent;
......
......@@ -38,7 +38,11 @@ namespace HappyHeart
class VariationalFormulation final
: public HappyHeart::VariationalFormulation<VariationalFormulation>,
: public HappyHeart::VariationalFormulation
<
VariationalFormulation,
EnumUnderlyingType(SolverIndex::solver)
>,
public Crtp::VolumicAndSurfacicSource
<
VariationalFormulation,
......@@ -51,7 +55,8 @@ namespace HappyHeart
using parent = HappyHeart::VariationalFormulation
<
VariationalFormulation
VariationalFormulation,
EnumUnderlyingType(SolverIndex::solver)
>;
//! Friendship to parent class, so this one can access private methods defined below through CRTP.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment