From 6591c627ccfa6c562fb50cb26142f5370b0340fd Mon Sep 17 00:00:00 2001 From: Lisa Julia Nebel <lisa_julia.nebel@tu-dresden.de> Date: Sat, 22 Jan 2022 08:47:47 +0100 Subject: [PATCH] Fix the usage of Dune::power --- dune/gfe/nonplanarcosseratshellenergy.hh | 14 +++++++------- dune/gfe/periodic1dpq1nodalbasis.hh | 5 +++-- dune/gfe/rotation.hh | 1 + dune/gfe/surfacecosseratenergy.hh | 14 +++++++------- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/dune/gfe/nonplanarcosseratshellenergy.hh b/dune/gfe/nonplanarcosseratshellenergy.hh index 4a5daa42..f8d4b3bf 100644 --- a/dune/gfe/nonplanarcosseratshellenergy.hh +++ b/dune/gfe/nonplanarcosseratshellenergy.hh @@ -307,15 +307,15 @@ energy(const typename Basis::LocalView& localView, ////////////////////////////////////////////////////////// // Add the membrane energy density - auto energyDensity = (thickness_ - K*Dune::Power<3>::eval(thickness_) / 12.0) * W_m(Ee) - + (Dune::Power<3>::eval(thickness_) / 12.0 - K * Dune::Power<5>::eval(thickness_) / 80.0)*W_m(Ee*b + c*Ke) - + Dune::Power<3>::eval(thickness_) / 6.0 * W_mixt(Ee, c*Ke*b - 2*H*c*Ke) - + Dune::Power<5>::eval(thickness_) / 80.0 * W_mp( (Ee*b + c*Ke)*b); + auto energyDensity = (thickness_ - K*Dune::power(thickness_,3) / 12.0) * W_m(Ee) + + (Dune::power(thickness_,3) / 12.0 - K * Dune::power(thickness_,5) / 80.0)*W_m(Ee*b + c*Ke) + + Dune::power(thickness_,3) / 6.0 * W_mixt(Ee, c*Ke*b - 2*H*c*Ke) + + Dune::power(thickness_,5) / 80.0 * W_mp( (Ee*b + c*Ke)*b); // Add the bending energy density - energyDensity += (thickness_ - K*Dune::Power<3>::eval(thickness_) / 12.0) * W_curv(Ke) - + (Dune::Power<3>::eval(thickness_) / 12.0 - K * Dune::Power<5>::eval(thickness_) / 80.0)*W_curv(Ke*b) - + Dune::Power<5>::eval(thickness_) / 80.0 * W_curv(Ke*b*b); + energyDensity += (thickness_ - K*Dune::power(thickness_,3) / 12.0) * W_curv(Ke) + + (Dune::power(thickness_,3) / 12.0 - K * Dune::power(thickness_,5) / 80.0)*W_curv(Ke*b) + + Dune::power(thickness_,5) / 80.0 * W_curv(Ke*b*b); // Add energy density energy += quad[pt].weight() * integrationElement * energyDensity; diff --git a/dune/gfe/periodic1dpq1nodalbasis.hh b/dune/gfe/periodic1dpq1nodalbasis.hh index aa9f2abd..f1f415e7 100644 --- a/dune/gfe/periodic1dpq1nodalbasis.hh +++ b/dune/gfe/periodic1dpq1nodalbasis.hh @@ -4,6 +4,7 @@ #define DUNE_GFE_PERIODIC_1D_PQ1NODALBASIS_HH #include <dune/common/exceptions.hh> +#include <dune/common/math.hh> #include <dune/localfunctions/lagrange/pqkfactory.hh> @@ -109,7 +110,7 @@ public: size_type maxNodeSize() const { - return StaticPower<2,GV::dimension>::power; + return Dune::power(2,GV::dimension); } //protected: @@ -123,7 +124,7 @@ class Periodic1DPQ1Node : public LeafBasisNode { static const int dim = GV::dimension; - static const int maxSize = StaticPower<2,GV::dimension>::power; + static const int maxSize = Dune::power(2,GV::dimension); using FiniteElementCache = typename Dune::PQkLocalFiniteElementCache<typename GV::ctype, double, dim, 1>; diff --git a/dune/gfe/rotation.hh b/dune/gfe/rotation.hh index 3ad4023b..6a1cc01a 100644 --- a/dune/gfe/rotation.hh +++ b/dune/gfe/rotation.hh @@ -10,6 +10,7 @@ #include <dune/common/fvector.hh> #include <dune/common/fmatrix.hh> #include <dune/common/exceptions.hh> +#include <dune/common/math.hh> #include "quaternion.hh" #include <dune/gfe/tensor3.hh> diff --git a/dune/gfe/surfacecosseratenergy.hh b/dune/gfe/surfacecosseratenergy.hh index a9d55824..393d8d89 100644 --- a/dune/gfe/surfacecosseratenergy.hh +++ b/dune/gfe/surfacecosseratenergy.hh @@ -331,15 +331,15 @@ RT energy(const typename Basis::LocalView& localView, ////////////////////////////////////////////////////////// // Add the membrane energy density - auto energyDensity = (thickness - K*Dune::Power<3>::eval(thickness) / 12.0) * W_m(Ee, mu, lambda); - energyDensity += (Dune::Power<3>::eval(thickness) / 12.0 - K * Dune::Power<5>::eval(thickness) / 80.0)*W_m(Ee*b + c*Ke, mu, lambda); - energyDensity += Dune::Power<3>::eval(thickness) / 6.0 * W_mixt(Ee, c*Ke*b - 2*H*c*Ke, mu, lambda); - energyDensity += Dune::Power<5>::eval(thickness) / 80.0 * W_mp( (Ee*b + c*Ke)*b, mu, lambda); + auto energyDensity = (thickness - K*Dune::power(thickness,3) / 12.0) * W_m(Ee, mu, lambda); + energyDensity += (Dune::power(thickness,3) / 12.0 - K * Dune::power(thickness,5) / 80.0)*W_m(Ee*b + c*Ke, mu, lambda); + energyDensity += Dune::power(thickness,3) / 6.0 * W_mixt(Ee, c*Ke*b - 2*H*c*Ke, mu, lambda); + energyDensity += Dune::power(thickness,5) / 80.0 * W_mp( (Ee*b + c*Ke)*b, mu, lambda); // Add the bending energy density - energyDensity += (thickness - K*Dune::Power<3>::eval(thickness) / 12.0) * W_curv(Ke, mu) - + (Dune::Power<3>::eval(thickness) / 12.0 - K * Dune::Power<5>::eval(thickness) / 80.0)*W_curv(Ke*b, mu) - + Dune::Power<5>::eval(thickness) / 80.0 * W_curv(Ke*b*b, mu); + energyDensity += (thickness - K*Dune::power(thickness,3) / 12.0) * W_curv(Ke, mu) + + (Dune::power(thickness,3) / 12.0 - K * Dune::power(thickness,5) / 80.0)*W_curv(Ke*b, mu) + + Dune::power(thickness,5) / 80.0 * W_curv(Ke*b*b, mu); // Add energy density energy += quad[pt].weight() * integrationElement * energyDensity; -- GitLab