Commit e98ce455 authored by GILLES Sebastien's avatar GILLES Sebastien

#2000 Model: make the type of MoReFEMData a template argument of the class....

#2000 Model: make the type of MoReFEMData a template argument of the class. This was not done earlier to avoid making base Model a template class... but it has long become since a template class anyway, so it's better to use the possible extra leverage (next step is to store reference to the \a MoReFEMDataType and hence avoiding giving it as parameter in three of the class methods).
parent a31b4a5c
......@@ -1558,7 +1558,6 @@
BEACD8FE1CCC0B4800667B82 /* GeometricEltFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEACD8FA1CCC0B4800667B82 /* GeometricEltFactory.cpp */; };
BEACD8FF1CCC0B4800667B82 /* GeometricEltFactory.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BEACD8FB1CCC0B4800667B82 /* GeometricEltFactory.hpp */; };
BEAE11BF1D06B49B00967C19 /* RefineMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0A2CBE941D05B87A007262F2 /* RefineMesh.cpp */; };
BEAE11C01D06B4A000967C19 /* Model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0A2CBE911D05B87A007262F2 /* Model.cpp */; };
BEB2919B1CA02EB400A74738 /* libSeldon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEE79A1F1C995B5F00F05519 /* libSeldon.a */; };
BEB2919C1CA02EB400A74738 /* libCore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE05B52916D238FE000E248D /* libCore.a */; };
BEB2919D1CA02EB400A74738 /* libFiniteElement.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE9C4D121807F5DC005B94BC /* libFiniteElement.a */; };
......@@ -3616,7 +3615,6 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
0A2CBE911D05B87A007262F2 /* Model.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Model.cpp; sourceTree = "<group>"; };
0A2CBE921D05B87A007262F2 /* Model.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Model.hpp; sourceTree = "<group>"; };
0A2CBE931D05B87A007262F2 /* Model.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Model.hxx; sourceTree = "<group>"; };
0A2CBE941D05B87A007262F2 /* RefineMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RefineMesh.cpp; sourceTree = "<group>"; };
......@@ -6548,7 +6546,6 @@
0A2CBE901D05B87A007262F2 /* RefineMeshQuadranglesSpectral */ = {
isa = PBXGroup;
children = (
0A2CBE911D05B87A007262F2 /* Model.cpp */,
0A2CBE921D05B87A007262F2 /* Model.hpp */,
0A2CBE931D05B87A007262F2 /* Model.hxx */,
0A2CBE941D05B87A007262F2 /* RefineMesh.cpp */,
......@@ -14361,7 +14358,6 @@
BEACCC5C1E11D26300CBA4F2 /* DofInformationFile.cpp in Sources */,
BEACCC621E11D26300CBA4F2 /* TimeIterationFile.cpp in Sources */,
BEEABA4E1A49BC8700A875C6 /* Ensight6.cpp in Sources */,
BEAE11C01D06B4A000967C19 /* Model.cpp in Sources */,
BE469ED21A496290008C9B68 /* PostProcessing.cpp in Sources */,
BEACCC651E11D26300CBA4F2 /* UnknownInformationFile.cpp in Sources */,
);
......@@ -82,13 +82,30 @@ namespace MoReFEM
* - bool SupplHasFinishedConditions() const;
*
*/
template<class DerivedT, DoConsiderProcessorWiseLocal2Global DoConsiderProcessorWiseLocal2GlobalT>
template
<
class DerivedT,
class MoReFEMDataT,
DoConsiderProcessorWiseLocal2Global DoConsiderProcessorWiseLocal2GlobalT
>
class Model
: public Crtp::CrtpMpi<Model<DerivedT, DoConsiderProcessorWiseLocal2GlobalT>>
: public Crtp::CrtpMpi<Model<DerivedT, MoReFEMDataT, DoConsiderProcessorWiseLocal2GlobalT>>
{
public:
//! Alias to self.
using self = Model
<
DerivedT,
MoReFEMDataT,
DoConsiderProcessorWiseLocal2GlobalT
>;
//! Alias to MoReFEMData.
using morefem_data_type = MoReFEMDataT;
/// \name Special members.
///@{
......@@ -104,8 +121,7 @@ namespace MoReFEM
* \param[in] do_print_banner If True, print text at the beginning and the end of the program. False has been
* introduced only for the integration tests.
*/
template<class MoReFEMDataT>
explicit Model(const MoReFEMDataT& morefem_data,
explicit Model(const morefem_data_type& morefem_data,
create_domain_list_for_coords a_create_domain_list_for_coords = create_domain_list_for_coords::no,
print_banner do_print_banner = print_banner::yes);
......@@ -151,8 +167,7 @@ namespace MoReFEM
* \copydoc doxygen_hide_input_parameter_data_arg
* \copydoc doxygen_hide_do_create_output_dir_arg
*/
template<class InputParameterDataT>
void Initialize(const InputParameterDataT& input_parameter_data,
void Initialize(const morefem_data_type& input_parameter_data,
create_output_dir do_create_output_dir = create_output_dir::yes);
......@@ -212,8 +227,7 @@ namespace MoReFEM
* \copydoc doxygen_hide_init_morefem_param
* \copydoc doxygen_hide_do_create_output_dir_arg
*/
template<class MoReFEMDataT>
void Run(const MoReFEMDataT& morefem_data,
void Run(const morefem_data_type& morefem_data,
create_output_dir do_create_output_dir = create_output_dir::yes);
......
This diff is collapsed.
......@@ -26,7 +26,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_simple_model
class ElasticityModel final : public Model<ElasticityModel, DoConsiderProcessorWiseLocal2Global::no>
class ElasticityModel final : public Model<ElasticityModel, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>
{
......@@ -35,8 +35,11 @@ namespace MoReFEM
//! Return the name of the model.
static const std::string& ClassName();
//! Alias to self.
using self = ElasticityModel;
//! Convenient alias to parent.
using parent = Model<ElasticityModel, DoConsiderProcessorWiseLocal2Global::no>;
using parent = Model<ElasticityModel, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>;
//! Friendship granted to the base class so this one can manipulates private methods.
friend parent;
......
......@@ -26,7 +26,7 @@ namespace MoReFEM
//! Model that implements the heat problem in static and dynamic (backward Euler for time integration)
class HeatModel final : public MoReFEM::Model<HeatModel, DoConsiderProcessorWiseLocal2Global::yes>
class HeatModel final : public MoReFEM::Model<HeatModel, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>
{
......@@ -35,8 +35,11 @@ namespace MoReFEM
//! Return the name of the model.
static const std::string& ClassName();
//! Alias to self.
using self = HeatModel;
//! Convenient alias to parent.
using parent = MoReFEM::Model<HeatModel, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<self, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
//! Friendship granted to the base class so this one can manipulates private methods.
friend parent;
......
......@@ -28,7 +28,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_simple_model
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>
{
private:
......@@ -37,7 +37,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
public:
......
......@@ -26,7 +26,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_simple_model
class Model final : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>
class Model final : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>
{
......@@ -36,7 +36,7 @@ namespace MoReFEM
static const std::string& ClassName();
//! Convenient alias to parent.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
//! Friendship granted to the base class so this one can manipulates private methods.
friend parent;
......
......@@ -28,7 +28,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_simple_model
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>
{
private:
......@@ -37,7 +37,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
//! \copydoc doxygen_hide_morefem_data_type
using morefem_data_type = MoReFEMData<InputParameterList>;
......
......@@ -26,13 +26,13 @@ namespace MoReFEM
//! \copydoc doxygen_hide_simple_model
class Model final : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::no>
class Model final : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>
{
private:
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::no>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>;
public:
......
target_sources(${MOREFEM_POST_PROCESSING}
PRIVATE
"${CMAKE_CURRENT_LIST_DIR}/Model.cpp" /
"${CMAKE_CURRENT_LIST_DIR}/RefineMesh.cpp" /
#PUBLIC
......
///
////// \file
///
///
/// Created by Federica Caforio <federica.caforio@inria.fr> on the Thu, 12 May 2016 16:34:28 +0200
/// Copyright (c) Inria. All rights reserved.
///
/// \ingroup PostProcessingGroup
/// \addtogroup PostProcessingGroup
/// \{
#include "PostProcessing/RefineMeshQuadranglesSpectral/Model.hpp"
namespace MoReFEM
{
namespace RefineMeshNS
{
void Model::Forward()
{ }
void Model::SupplFinalizeStep()
{ }
void Model::SupplFinalize()
{ }
} // namespace RefineMeshNS
} // namespace MoReFEM
/// @} // addtogroup PostProcessingGroup
......@@ -31,16 +31,17 @@ namespace MoReFEM
/*!
* \brief Model used to init stuff required for RefineMesh algorithm.
*/
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>
template<class MoReFEMDataT>
class Model : public MoReFEM::Model<Model<MoReFEMDataT>, MoReFEMDataT, DoConsiderProcessorWiseLocal2Global::yes>
{
private:
//! \copydoc doxygen_hide_alias_self
using self = Model;
using self = Model<MoReFEMDataT>;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<self, MoReFEMDataT, DoConsiderProcessorWiseLocal2Global::yes>;
public:
......@@ -60,7 +61,6 @@ namespace MoReFEM
*
* \copydoc doxygen_hide_init_morefem_param
*/
template<class MoReFEMDataT>
Model(const MoReFEMDataT& morefem_data);
//! Destructor.
......@@ -92,8 +92,7 @@ namespace MoReFEM
*
* \copydoc doxygen_hide_input_parameter_data_arg
*/
template<class InputParameterDataT>
void SupplInitialize(const InputParameterDataT& input_parameter_data);
void SupplInitialize(const MoReFEMDataT& morefem_data);
//! Manage time iteration.
......
......@@ -22,15 +22,15 @@ namespace MoReFEM
template<class MoReFEMDataT>
Model::Model(const MoReFEMDataT& morefem_data)
Model<MoReFEMDataT>::Model(const MoReFEMDataT& morefem_data)
: parent(morefem_data)
{ }
template<class InputParameterDataT>
void Model::SupplInitialize(const InputParameterDataT& input_parameter_data)
template<class MoReFEMDataT>
void Model<MoReFEMDataT>::SupplInitialize(const MoReFEMDataT& morefem_data)
{
static_cast<void>(input_parameter_data);
static_cast<void>(morefem_data);
decltype(auto) god_of_dof = GodOfDofManager::GetInstance(__FILE__, __LINE__).GetGodOfDof(1);
decltype(auto) felt_space = god_of_dof.GetFEltSpace(1);
......@@ -46,21 +46,38 @@ namespace MoReFEM
}
inline const std::string& Model::ClassName()
template<class MoReFEMDataT>
inline const std::string& Model<MoReFEMDataT>::ClassName()
{
static std::string name("RefineMesh");
return name;
}
inline bool Model::SupplHasFinishedConditions() const
template<class MoReFEMDataT>
inline bool Model<MoReFEMDataT>::SupplHasFinishedConditions() const
{
return true; // No time iteration!
}
inline void Model::SupplInitializeStep()
template<class MoReFEMDataT>
inline void Model<MoReFEMDataT>::SupplInitializeStep()
{ }
template<class MoReFEMDataT>
inline void Model<MoReFEMDataT>::Forward()
{ }
template<class MoReFEMDataT>
inline void Model<MoReFEMDataT>::SupplFinalizeStep()
{ }
template<class MoReFEMDataT>
inline void Model<MoReFEMDataT>::SupplFinalize()
{ }
......
......@@ -64,13 +64,16 @@ int main(int argc, char** argv)
//! \copydoc doxygen_hide_model_specific_input_parameter_list
using InputParameterList = InputParameterList<InputParameterTuple>;
MoReFEMData<InputParameterList, Utilities::InputParameterListNS::DoTrackUnusedFields::no> morefem_data(argc, argv);
using morefem_data_type =
MoReFEMData<InputParameterList, Utilities::InputParameterListNS::DoTrackUnusedFields::no>;
morefem_data_type morefem_data(argc, argv);
const auto& mpi = morefem_data.GetMpi();
try
{
RefineMeshNS::Model model(morefem_data);
RefineMeshNS::Model<morefem_data_type> model(morefem_data);
model.Run(morefem_data, create_output_dir::no);
std::cout << "End of Post-Processing. Refined mesh created." << std::endl;
}
......
......@@ -24,7 +24,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>
{
private:
......@@ -33,7 +33,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
public:
......
......@@ -29,7 +29,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::no>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>
{
private:
......@@ -38,7 +38,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::no>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>;
public:
......
......@@ -30,7 +30,7 @@ namespace MoReFEM
//! Model for the test of the behaviour of \a Coords after parallel reduction.
//! \copydoc doxygen_hide_model_4_test
class Model final : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::no>
class Model final : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>
{
......@@ -40,7 +40,7 @@ namespace MoReFEM
static const std::string& ClassName();
//! Convenient alias to parent.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::no>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>;
//! Friendship granted to the base class so this one can manipulates private methods.
friend parent;
......
......@@ -36,7 +36,7 @@ namespace MoReFEM
*
*/
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::no>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>
{
private:
......@@ -45,7 +45,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<self, DoConsiderProcessorWiseLocal2Global::no>;
using parent = MoReFEM::Model<self, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>;
public:
......
......@@ -35,8 +35,7 @@ namespace MoReFEM
* \brief Toy model used to perform tests about variable domain.
*
*/
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::no>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>
{
private:
......@@ -45,7 +44,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<self, DoConsiderProcessorWiseLocal2Global::no>;
using parent = MoReFEM::Model<self, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>;
public:
......
......@@ -25,7 +25,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::no>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>
{
private:
......@@ -34,7 +34,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::no>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::no>;
public:
......
......@@ -27,7 +27,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>
{
private:
......@@ -36,7 +36,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
public:
......
......@@ -28,7 +28,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>
{
private:
......@@ -37,7 +37,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
public:
......
......@@ -29,7 +29,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>
{
private:
......@@ -38,7 +38,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
public:
......
......@@ -29,7 +29,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>
{
private:
......@@ -38,7 +38,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
public:
......
......@@ -75,8 +75,13 @@ namespace MoReFEM
* \tparam HigherOrderT Which is the target order of the interpolation. For instance, P2 to consider P1 -> P2.
*/
template<HigherOrder HigherOrderT>
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model<HigherOrderT>, DoConsiderProcessorWiseLocal2Global::yes>
class Model
: public MoReFEM::Model
<
Model<HigherOrderT>,
morefem_data_type,
DoConsiderProcessorWiseLocal2Global::yes
>
{
private:
......@@ -85,12 +90,11 @@ namespace MoReFEM
using self = Model<HigherOrderT>;
//! Convenient alias.
using parent = MoReFEM::Model<self, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<self, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
//! Traits class.
using traits = TraitsHigherOrder<HigherOrderT>;
public:
//! Return the name of the model.
......
......@@ -28,7 +28,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>
{
private:
......@@ -37,7 +37,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
public:
......
......@@ -36,7 +36,12 @@ namespace MoReFEM
//! \copydoc doxygen_hide_model_4_test
class Model
: public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>,
: public MoReFEM::Model
<
Model,
morefem_data_type,
DoConsiderProcessorWiseLocal2Global::yes
>,
public FormulationSolverNS::HyperelasticLaw
<
Model,
......@@ -50,7 +55,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
public:
......
......@@ -29,7 +29,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>
{
private:
......@@ -38,7 +38,7 @@ namespace MoReFEM
using self = Model;
//! Convenient alias.
using parent = MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>;
using parent = MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>;
public:
......
......@@ -31,7 +31,7 @@ namespace MoReFEM
//! \copydoc doxygen_hide_model_4_test
class Model : public MoReFEM::Model<Model, DoConsiderProcessorWiseLocal2Global::yes>
class Model : public MoReFEM::Model<Model, morefem_data_type, DoConsiderProcessorWiseLocal2Global::yes>
{
private:
......@@ -40,7 +40,7 @@ namespace MoReFEM