Skip to content
Snippets Groups Projects
Commit 0aafd3f5 authored by Lisa Julia Nebel's avatar Lisa Julia Nebel
Browse files

Remove wrong template parameter (GradientRT) from usages of LocalFEStiffness in film-on-substrate

parent ac6c5b40
No related branches found
No related tags found
1 merge request!18Remove wrong template parameter (GradientRT) from usages of LocalFEStiffness in film-on-substrate
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
namespace Dune { namespace Dune {
namespace GFE { namespace GFE {
template<class Basis, class TargetSpace, class field_type=double, class GradientRT=double> template<class Basis, class TargetSpace, class field_type=double>
class SumCosseratEnergy class SumCosseratEnergy
: public LocalGeodesicFEStiffness<Basis, TargetSpace> : public LocalGeodesicFEStiffness<Basis, TargetSpace>
{ {
...@@ -27,7 +27,7 @@ public: ...@@ -27,7 +27,7 @@ public:
* \param elasticEnergy The elastic energy * \param elasticEnergy The elastic energy
* \param cosseratEnergy The cosserat energy * \param cosseratEnergy The cosserat energy
*/ */
SumCosseratEnergy(std::shared_ptr<LocalFEStiffness<GridView,LocalFiniteElement,std::vector<Dune::FieldVector<field_type,dim> > , std::vector<GradientRT> > > elasticEnergy, SumCosseratEnergy(std::shared_ptr<LocalFEStiffness<GridView,LocalFiniteElement,std::vector<Dune::FieldVector<field_type,dim> > > > elasticEnergy,
std::shared_ptr<LocalGeodesicFEStiffness<Basis, TargetSpace>> cosseratEnergy) std::shared_ptr<LocalGeodesicFEStiffness<Basis, TargetSpace>> cosseratEnergy)
: elasticEnergy_(elasticEnergy), : elasticEnergy_(elasticEnergy),
...@@ -49,7 +49,7 @@ public: ...@@ -49,7 +49,7 @@ public:
private: private:
std::shared_ptr<LocalFEStiffness<GridView,LocalFiniteElement,std::vector<Dune::FieldVector<field_type,dim> >, std::vector<GradientRT> > > elasticEnergy_; std::shared_ptr<LocalFEStiffness<GridView,LocalFiniteElement,std::vector<Dune::FieldVector<field_type,dim> > > > elasticEnergy_;
std::shared_ptr<LocalGeodesicFEStiffness<Basis, TargetSpace> > cosseratEnergy_; std::shared_ptr<LocalGeodesicFEStiffness<Basis, TargetSpace> > cosseratEnergy_;
}; };
......
...@@ -61,7 +61,6 @@ const int order = 1; ...@@ -61,7 +61,6 @@ const int order = 1;
//differentiation method //differentiation method
typedef adouble ValueType; typedef adouble ValueType;
typedef adouble GradientValueType;
using namespace Dune; using namespace Dune;
...@@ -339,43 +338,42 @@ int main (int argc, char *argv[]) try ...@@ -339,43 +338,42 @@ int main (int argc, char *argv[]) try
std::cout << "Selected energy is: " << parameterSet.get<std::string>("energy") << std::endl; std::cout << "Selected energy is: " << parameterSet.get<std::string>("energy") << std::endl;
std::shared_ptr<LocalFEStiffness<GridView, std::shared_ptr<LocalFEStiffness<GridView,
FEBasis::LocalView::Tree::FiniteElement, FEBasis::LocalView::Tree::FiniteElement,
std::vector<Dune::FieldVector<ValueType, dim>>, std::vector<Dune::FieldVector<ValueType, dim>> > > elasticEnergy;
std::vector<GradientValueType> > > elasticEnergy;
if (parameterSet.get<std::string>("energy") == "stvenantkirchhoff") if (parameterSet.get<std::string>("energy") == "stvenantkirchhoff")
elasticEnergy = std::make_shared<StVenantKirchhoffEnergy<GridView, elasticEnergy = std::make_shared<StVenantKirchhoffEnergy<GridView,
FEBasis::LocalView::Tree::FiniteElement, FEBasis::LocalView::Tree::FiniteElement,
ValueType, GradientValueType> >(materialParameters); ValueType> >(materialParameters);
if (parameterSet.get<std::string>("energy") == "mooneyrivlin") if (parameterSet.get<std::string>("energy") == "mooneyrivlin")
elasticEnergy = std::make_shared<MooneyRivlinEnergy<GridView, elasticEnergy = std::make_shared<MooneyRivlinEnergy<GridView,
FEBasis::LocalView::Tree::FiniteElement, FEBasis::LocalView::Tree::FiniteElement,
ValueType, GradientValueType> >(materialParameters); ValueType> >(materialParameters);
if (parameterSet.get<std::string>("energy") == "neohooke") if (parameterSet.get<std::string>("energy") == "neohooke")
elasticEnergy = std::make_shared<NeoHookeEnergy<GridView, elasticEnergy = std::make_shared<NeoHookeEnergy<GridView,
FEBasis::LocalView::Tree::FiniteElement, FEBasis::LocalView::Tree::FiniteElement,
ValueType, GradientValueType> >(materialParameters); ValueType> >(materialParameters);
if (parameterSet.get<std::string>("energy") == "hencky") if (parameterSet.get<std::string>("energy") == "hencky")
elasticEnergy = std::make_shared<HenckyEnergy<GridView, elasticEnergy = std::make_shared<HenckyEnergy<GridView,
FEBasis::LocalView::Tree::FiniteElement, FEBasis::LocalView::Tree::FiniteElement,
ValueType, GradientValueType> >(materialParameters); ValueType> >(materialParameters);
if (parameterSet.get<std::string>("energy") == "exphencky") if (parameterSet.get<std::string>("energy") == "exphencky")
elasticEnergy = std::make_shared<ExpHenckyEnergy<GridView, elasticEnergy = std::make_shared<ExpHenckyEnergy<GridView,
FEBasis::LocalView::Tree::FiniteElement, FEBasis::LocalView::Tree::FiniteElement,
ValueType, GradientValueType> >(materialParameters); ValueType> >(materialParameters);
if(!elasticEnergy) if(!elasticEnergy)
DUNE_THROW(Exception, "Error: Selected energy not available!"); DUNE_THROW(Exception, "Error: Selected energy not available!");
auto neumannEnergy = std::make_shared<NeumannEnergy<GridView, auto neumannEnergy = std::make_shared<NeumannEnergy<GridView,
FEBasis::LocalView::Tree::FiniteElement, FEBasis::LocalView::Tree::FiniteElement,
ValueType, GradientValueType> >(&neumannBoundary,neumannFunction.get()); ValueType> >(&neumannBoundary,neumannFunction.get());
auto elasticAndNeumann = std::make_shared<SumEnergy<GridView, auto elasticAndNeumann = std::make_shared<SumEnergy<GridView,
FEBasis::LocalView::Tree::FiniteElement, FEBasis::LocalView::Tree::FiniteElement,
ValueType, GradientValueType>>(elasticEnergy, neumannEnergy); ValueType>>(elasticEnergy, neumannEnergy);
using LocalEnergyBase = LocalGeodesicFEStiffness<FEBasis,RigidBodyMotion<adouble, dim> >; using LocalEnergyBase = LocalGeodesicFEStiffness<FEBasis,RigidBodyMotion<adouble, dim> >;
...@@ -390,7 +388,7 @@ int main (int argc, char *argv[]) try ...@@ -390,7 +388,7 @@ int main (int argc, char *argv[]) try
surfaceCosseratEnergy = std::make_shared<SurfaceCosseratEnergy<FEBasis,RigidBodyMotion<adouble, dim>, adouble, adouble>>(materialParameters, std::move(vertexNormals), &surfaceShellBoundary); surfaceCosseratEnergy = std::make_shared<SurfaceCosseratEnergy<FEBasis,RigidBodyMotion<adouble, dim>, adouble, adouble>>(materialParameters, std::move(vertexNormals), &surfaceShellBoundary);
std::shared_ptr<LocalEnergyBase> totalEnergy; std::shared_ptr<LocalEnergyBase> totalEnergy;
totalEnergy = std::make_shared<GFE::SumCosseratEnergy<FEBasis,RigidBodyMotion<adouble, dim>, adouble, adouble>> (elasticAndNeumann, surfaceCosseratEnergy); totalEnergy = std::make_shared<GFE::SumCosseratEnergy<FEBasis,RigidBodyMotion<adouble, dim>, adouble>> (elasticAndNeumann, surfaceCosseratEnergy);
LocalGeodesicFEADOLCStiffness<FEBasis, LocalGeodesicFEADOLCStiffness<FEBasis,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment