Skip to content
Snippets Groups Projects
Commit c5c85401 authored by Sander, Oliver's avatar Sander, Oliver
Browse files

Merge branch 'master' into 'master'

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

See merge request !18
parents ac6c5b40 0aafd3f5
No related branches found
No related tags found
1 merge request!18Remove wrong template parameter (GradientRT) from usages of LocalFEStiffness in film-on-substrate
Pipeline #2334 failed
...@@ -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.
Finish editing this message first!
Please register or to comment