From 806e793232d5470d7caca16b5751495f6918539b Mon Sep 17 00:00:00 2001 From: Ansgar Burchardt <ansgar.burchardt@tu-dresden.de> Date: Mon, 11 Jul 2022 12:06:46 +0200 Subject: [PATCH] replace `enum` with `constexpr static int` --- dune/gfe/averageinterface.hh | 2 +- dune/gfe/chiralskyrmionenergy.hh | 4 ++-- dune/gfe/cosseratenergystiffness.hh | 4 ++-- dune/gfe/cosseratrodenergy.hh | 6 +++--- dune/gfe/embeddedglobalgfefunction.hh | 4 ++-- dune/gfe/geodesicfeassembler.hh | 4 ++-- dune/gfe/geodesicfeassemblerwrapper.hh | 8 ++++---- dune/gfe/globalgeodesicfefunction.hh | 4 ++-- dune/gfe/harmonicenergy.hh | 2 +- dune/gfe/l2distancesquaredenergy.hh | 2 +- dune/gfe/localgeodesicfeadolcstiffness.hh | 6 +++--- dune/gfe/localgeodesicfefdstiffness.hh | 6 +++--- dune/gfe/localgeodesicfestiffness.hh | 6 +++--- dune/gfe/localintegralenergy.hh | 2 +- dune/gfe/mixedgfeassembler.hh | 6 +++--- dune/gfe/mixedlocalgeodesicfestiffness.hh | 6 +++--- dune/gfe/mixedlocalgfeadolcstiffness.hh | 10 +++++----- dune/gfe/neumannenergy.hh | 2 +- dune/gfe/nonplanarcosseratshellenergy.hh | 4 ++-- dune/gfe/periodic1dpq1nodalbasis.hh | 2 +- dune/gfe/surfacecosseratenergy.hh | 4 ++-- dune/gfe/trustregionmmgbasesolver.hh | 2 +- dune/gfe/weightedsumenergy.hh | 2 +- test/adolctest.cc | 12 ++++++------ 24 files changed, 55 insertions(+), 55 deletions(-) diff --git a/dune/gfe/averageinterface.hh b/dune/gfe/averageinterface.hh index c57c98a5..76c447ea 100644 --- a/dune/gfe/averageinterface.hh +++ b/dune/gfe/averageinterface.hh @@ -37,7 +37,7 @@ class PressureAverager : public Ipopt::TNLP typedef typename MatrixType::row_type RowType; - enum {dim=GridView::dimension}; + constexpr static int dim = GridView::dimension; public: /** \brief Constructor */ diff --git a/dune/gfe/chiralskyrmionenergy.hh b/dune/gfe/chiralskyrmionenergy.hh index 5756c3ec..69b4b7e2 100644 --- a/dune/gfe/chiralskyrmionenergy.hh +++ b/dune/gfe/chiralskyrmionenergy.hh @@ -27,7 +27,7 @@ class ChiralSkyrmionEnergy typedef typename GridView::template Codim<0>::Entity Entity; // some other sizes - enum {gridDim=GridView::dimension}; + constexpr static int gridDim = GridView::dimension; public: @@ -38,7 +38,7 @@ public: } //! Dimension of a tangent space - enum { blocksize = TargetSpace::TangentVector::dimension }; + constexpr static int blocksize = TargetSpace::TangentVector::dimension; /** \brief Assemble the energy for a single element */ RT energy (const typename Basis::LocalView& localView, diff --git a/dune/gfe/cosseratenergystiffness.hh b/dune/gfe/cosseratenergystiffness.hh index 9d402a24..6f308de6 100644 --- a/dune/gfe/cosseratenergystiffness.hh +++ b/dune/gfe/cosseratenergystiffness.hh @@ -70,8 +70,8 @@ class CosseratEnergyLocalStiffness typedef typename GridView::template Codim<0>::Entity Entity; // some other sizes - enum {gridDim=GridView::dimension}; - enum {dimworld=GridView::dimensionworld}; + constexpr static int gridDim = GridView::dimension; + constexpr static int dimworld = GridView::dimensionworld; /** \brief Compute the (row-wise) curl of a matrix R \f$ \param DR The partial derivatives of the matrix R diff --git a/dune/gfe/cosseratrodenergy.hh b/dune/gfe/cosseratrodenergy.hh index 6ccb14e2..3bd7adfa 100644 --- a/dune/gfe/cosseratrodenergy.hh +++ b/dune/gfe/cosseratrodenergy.hh @@ -33,13 +33,13 @@ class CosseratRodEnergy typedef typename GridView::template Codim<0>::Entity Entity; // some other sizes - enum {dim=GridView::dimension}; + constexpr static int dim = GridView::dimension; // Quadrature order used for the extension and shear energy - enum {shearQuadOrder = 2}; + constexpr static int shearQuadOrder = 2; // Quadrature order used for the bending and torsion energy - enum {bendingQuadOrder = 2}; + constexpr static int bendingQuadOrder = 2; public: diff --git a/dune/gfe/embeddedglobalgfefunction.hh b/dune/gfe/embeddedglobalgfefunction.hh index 9e48b78d..3d770b15 100644 --- a/dune/gfe/embeddedglobalgfefunction.hh +++ b/dune/gfe/embeddedglobalgfefunction.hh @@ -32,12 +32,12 @@ public: typedef typename TargetSpace::EmbeddedTangentVector EmbeddedTangentVector; //! Dimension of the grid. - enum { gridDim = GridView::dimension }; + constexpr static int gridDim = GridView::dimension; static constexpr auto dimworld = GridView::dimensionworld; //! Dimension of the embedded tanget space - enum { embeddedDim = EmbeddedTangentVector::dimension }; + constexpr static int embeddedDim = EmbeddedTangentVector::dimension; //! Create global function by a global basis and the corresponding coefficient vector diff --git a/dune/gfe/geodesicfeassembler.hh b/dune/gfe/geodesicfeassembler.hh index cdd98f40..01d0d279 100644 --- a/dune/gfe/geodesicfeassembler.hh +++ b/dune/gfe/geodesicfeassembler.hh @@ -20,10 +20,10 @@ class GeodesicFEAssembler { using LocalStiffness = LocalGeodesicFEStiffness<Basis, TargetSpace>; //! Dimension of the grid. - enum { gridDim = GridView::dimension }; + constexpr static int gridDim = GridView::dimension; //! Dimension of a tangent space - enum { blocksize = TargetSpace::TangentVector::dimension }; + constexpr static int blocksize = TargetSpace::TangentVector::dimension; //! typedef Dune::FieldMatrix<double, blocksize, blocksize> MatrixBlock; diff --git a/dune/gfe/geodesicfeassemblerwrapper.hh b/dune/gfe/geodesicfeassemblerwrapper.hh index c42a1e3e..eb15d7dc 100644 --- a/dune/gfe/geodesicfeassemblerwrapper.hh +++ b/dune/gfe/geodesicfeassemblerwrapper.hh @@ -18,12 +18,12 @@ GeodesicFEAssemblerWrapper { typedef typename Basis::GridView GridView; //! Dimension of the grid. - enum { gridDim = GridView::dimension }; + constexpr static int gridDim = GridView::dimension; //! Dimension of the tangent space - enum { blocksize = TargetSpace::TangentVector::dimension }; - enum { blocksize0 = MixedSpace0::TangentVector::dimension }; - enum { blocksize1 = MixedSpace1::TangentVector::dimension }; + constexpr static int blocksize = TargetSpace::TangentVector::dimension; + constexpr static int blocksize0 = MixedSpace0::TangentVector::dimension; + constexpr static int blocksize1 = MixedSpace1::TangentVector::dimension; //! typedef Dune::FieldMatrix<double, blocksize, blocksize> MatrixBlock; diff --git a/dune/gfe/globalgeodesicfefunction.hh b/dune/gfe/globalgeodesicfefunction.hh index 1f5ea961..beba422c 100644 --- a/dune/gfe/globalgeodesicfefunction.hh +++ b/dune/gfe/globalgeodesicfefunction.hh @@ -44,10 +44,10 @@ public: typedef typename TargetSpace::EmbeddedTangentVector EmbeddedTangentVector; //! Dimension of the grid. - enum { gridDim = GridView::dimension }; + constexpr static int gridDim = GridView::dimension; //! Dimension of the embedded tanget space - enum { embeddedDim = EmbeddedTangentVector::dimension }; + constexpr static int embeddedDim = EmbeddedTangentVector::dimension; //! Create global function by a global basis and the corresponding coefficient vector diff --git a/dune/gfe/harmonicenergy.hh b/dune/gfe/harmonicenergy.hh index 457e3291..eaa0421d 100644 --- a/dune/gfe/harmonicenergy.hh +++ b/dune/gfe/harmonicenergy.hh @@ -16,7 +16,7 @@ class HarmonicEnergy typedef typename TargetSpace::ctype RT; // some other sizes - enum {gridDim=GridView::dimension}; + constexpr static int gridDim = GridView::dimension; public: diff --git a/dune/gfe/l2distancesquaredenergy.hh b/dune/gfe/l2distancesquaredenergy.hh index 911abfab..2546e70d 100644 --- a/dune/gfe/l2distancesquaredenergy.hh +++ b/dune/gfe/l2distancesquaredenergy.hh @@ -18,7 +18,7 @@ class L2DistanceSquaredEnergy typedef typename TargetSpace::ctype RT; // some other sizes - enum {gridDim=GridView::dimension}; + constexpr static int gridDim = GridView::dimension; public: diff --git a/dune/gfe/localgeodesicfeadolcstiffness.hh b/dune/gfe/localgeodesicfeadolcstiffness.hh index f7c4d27c..9bbf4c0c 100644 --- a/dune/gfe/localgeodesicfeadolcstiffness.hh +++ b/dune/gfe/localgeodesicfeadolcstiffness.hh @@ -32,15 +32,15 @@ class LocalGeodesicFEADOLCStiffness typedef typename TargetSpace::template rebind<adouble>::other ATargetSpace; // some other sizes - enum {gridDim=GridView::dimension}; + constexpr static int gridDim = GridView::dimension; public: //! Dimension of a tangent space - enum { blocksize = TargetSpace::TangentVector::dimension }; + constexpr static int blocksize = TargetSpace::TangentVector::dimension; //! Dimension of the embedding space - enum { embeddedBlocksize = TargetSpace::EmbeddedTangentVector::dimension }; + constexpr static int embeddedBlocksize = TargetSpace::EmbeddedTangentVector::dimension; LocalGeodesicFEADOLCStiffness(const Dune::GFE::LocalEnergy<Basis, ATargetSpace>* energy) : localEnergy_(energy) diff --git a/dune/gfe/localgeodesicfefdstiffness.hh b/dune/gfe/localgeodesicfefdstiffness.hh index 01503abf..61d3cd25 100644 --- a/dune/gfe/localgeodesicfefdstiffness.hh +++ b/dune/gfe/localgeodesicfefdstiffness.hh @@ -21,15 +21,15 @@ class LocalGeodesicFEFDStiffness typedef typename TargetSpace::template rebind<field_type>::other ATargetSpace; // some other sizes - enum {gridDim=GridView::dimension}; + constexpr static int gridDim = GridView::dimension; public: //! Dimension of a tangent space - enum { blocksize = TargetSpace::TangentVector::dimension }; + constexpr static int blocksize = TargetSpace::TangentVector::dimension; //! Dimension of the embedding space - enum { embeddedBlocksize = TargetSpace::EmbeddedTangentVector::dimension }; + constexpr static int embeddedBlocksize = TargetSpace::EmbeddedTangentVector::dimension; LocalGeodesicFEFDStiffness(const Dune::GFE::LocalEnergy<Basis, ATargetSpace>* energy) : localEnergy_(energy) diff --git a/dune/gfe/localgeodesicfestiffness.hh b/dune/gfe/localgeodesicfestiffness.hh index ca0205e0..ff3d17ab 100644 --- a/dune/gfe/localgeodesicfestiffness.hh +++ b/dune/gfe/localgeodesicfestiffness.hh @@ -17,15 +17,15 @@ class LocalGeodesicFEStiffness typedef typename GridView::template Codim<0>::Entity Entity; // some other sizes - enum {gridDim=GridView::dimension}; + constexpr static int gridDim = GridView::dimension; public: //! Dimension of a tangent space - enum { blocksize = TargetSpace::TangentVector::dimension }; + constexpr static int blocksize = TargetSpace::TangentVector::dimension; //! Dimension of the embedding space - enum { embeddedBlocksize = TargetSpace::EmbeddedTangentVector::dimension }; + constexpr static int embeddedBlocksize = TargetSpace::EmbeddedTangentVector::dimension; /** \brief Assemble the local gradient and stiffness matrix at the current position diff --git a/dune/gfe/localintegralenergy.hh b/dune/gfe/localintegralenergy.hh index e6d85ef1..7e3e7b4e 100644 --- a/dune/gfe/localintegralenergy.hh +++ b/dune/gfe/localintegralenergy.hh @@ -29,7 +29,7 @@ class LocalIntegralEnergy using DT = typename GridView::Grid::ctype; using RT = typename Dune::GFE::LocalEnergy<Basis,TargetSpaces...>::RT; - enum {gridDim=GridView::dimension}; + constexpr static int gridDim = GridView::dimension; public: diff --git a/dune/gfe/mixedgfeassembler.hh b/dune/gfe/mixedgfeassembler.hh index 883af00b..a2bf0432 100644 --- a/dune/gfe/mixedgfeassembler.hh +++ b/dune/gfe/mixedgfeassembler.hh @@ -19,11 +19,11 @@ class MixedGFEAssembler { typedef typename GridView::template Codim<0>::template Partition<Dune::Interior_Partition>::Iterator ElementIterator; //! Dimension of the grid. - enum { gridDim = GridView::dimension }; + constexpr static int gridDim = GridView::dimension; //! Dimension of a tangent space - enum { blocksize0 = TargetSpace0::TangentVector::dimension }; - enum { blocksize1 = TargetSpace1::TangentVector::dimension }; + constexpr static int blocksize0 = TargetSpace0::TangentVector::dimension; + constexpr static int blocksize1 = TargetSpace1::TangentVector::dimension; //! typedef Dune::BCRSMatrix<Dune::FieldMatrix<double, blocksize0, blocksize0> > MatrixBlock00; diff --git a/dune/gfe/mixedlocalgeodesicfestiffness.hh b/dune/gfe/mixedlocalgeodesicfestiffness.hh index 68a6dbbb..d0245be4 100644 --- a/dune/gfe/mixedlocalgeodesicfestiffness.hh +++ b/dune/gfe/mixedlocalgeodesicfestiffness.hh @@ -15,13 +15,13 @@ class MixedLocalGeodesicFEStiffness typedef typename GridView::template Codim<0>::Entity Entity; // some other sizes - enum {gridDim=GridView::dimension}; + constexpr static int gridDim = GridView::dimension; public: //! Dimension of a tangent space - enum { deformationBlocksize = DeformationTargetSpace::TangentVector::dimension }; - enum { orientationBlocksize = OrientationTargetSpace::TangentVector::dimension }; + constexpr static int deformationBlocksize = DeformationTargetSpace::TangentVector::dimension; + constexpr static int orientationBlocksize = OrientationTargetSpace::TangentVector::dimension; /** \brief Assemble the local stiffness matrix at the current position diff --git a/dune/gfe/mixedlocalgfeadolcstiffness.hh b/dune/gfe/mixedlocalgfeadolcstiffness.hh index 75a34a0a..3198cf05 100644 --- a/dune/gfe/mixedlocalgfeadolcstiffness.hh +++ b/dune/gfe/mixedlocalgfeadolcstiffness.hh @@ -33,17 +33,17 @@ class MixedLocalGFEADOLCStiffness typedef typename TargetSpace1::template rebind<adouble>::other ATargetSpace1; // some other sizes - enum {gridDim=GridView::dimension}; + constexpr static int gridDim = GridView::dimension; public: //! Dimension of a tangent space - enum { blocksize0 = TargetSpace0::TangentVector::dimension }; - enum { blocksize1 = TargetSpace1::TangentVector::dimension }; + constexpr static int blocksize0 = TargetSpace0::TangentVector::dimension; + constexpr static int blocksize1 = TargetSpace1::TangentVector::dimension; //! Dimension of the embedding space - enum { embeddedBlocksize0 = TargetSpace0::EmbeddedTangentVector::dimension }; - enum { embeddedBlocksize1 = TargetSpace1::EmbeddedTangentVector::dimension }; + constexpr static int embeddedBlocksize0 = TargetSpace0::EmbeddedTangentVector::dimension; + constexpr static int embeddedBlocksize1 = TargetSpace1::EmbeddedTangentVector::dimension; MixedLocalGFEADOLCStiffness(const MixedLocalGeodesicFEStiffness<Basis, ATargetSpace0, ATargetSpace1>* energy) diff --git a/dune/gfe/neumannenergy.hh b/dune/gfe/neumannenergy.hh index dd8f61b1..1c16908a 100644 --- a/dune/gfe/neumannenergy.hh +++ b/dune/gfe/neumannenergy.hh @@ -24,7 +24,7 @@ class NeumannEnergy using DT = typename GridView::Grid::ctype; using RT = typename Dune::GFE::LocalEnergy<Basis,TargetSpaces...>::RT; - enum {dim=GridView::dimension}; + constexpr static int dim = GridView::dimension; public: diff --git a/dune/gfe/nonplanarcosseratshellenergy.hh b/dune/gfe/nonplanarcosseratshellenergy.hh index f8d4b3bf..e8a3678e 100644 --- a/dune/gfe/nonplanarcosseratshellenergy.hh +++ b/dune/gfe/nonplanarcosseratshellenergy.hh @@ -44,8 +44,8 @@ class NonplanarCosseratShellEnergy typedef typename GridView::template Codim<0>::Entity Entity; // some other sizes - enum {gridDim=GridView::dimension}; - enum {dimworld=GridView::dimensionworld}; + constexpr static int gridDim = GridView::dimension; + constexpr static int dimworld = GridView::dimensionworld; public: diff --git a/dune/gfe/periodic1dpq1nodalbasis.hh b/dune/gfe/periodic1dpq1nodalbasis.hh index f1f415e7..caf79509 100644 --- a/dune/gfe/periodic1dpq1nodalbasis.hh +++ b/dune/gfe/periodic1dpq1nodalbasis.hh @@ -174,7 +174,7 @@ protected: template<typename GV, class MI> class Periodic1DPQ1NodeIndexSet { - enum {dim = GV::dimension}; + constexpr static int dim = GV::dimension; public: diff --git a/dune/gfe/surfacecosseratenergy.hh b/dune/gfe/surfacecosseratenergy.hh index 393d8d89..0f4315c9 100644 --- a/dune/gfe/surfacecosseratenergy.hh +++ b/dune/gfe/surfacecosseratenergy.hh @@ -38,8 +38,8 @@ class SurfaceCosseratEnergy using RBM1 = Rotation<RT,GridView::dimensionworld> ; using RBM = RigidBodyMotion<RT,GridView::dimensionworld> ; - enum {dimWorld=GridView::dimensionworld}; - enum {gridDim=GridView::dimension}; + constexpr static int dimWorld = GridView::dimensionworld; + constexpr static int gridDim = GridView::dimension; static constexpr int boundaryDim = gridDim - 1; /** \brief Compute the derivative of the rotation (with respect to x), but wrt matrix coordinates diff --git a/dune/gfe/trustregionmmgbasesolver.hh b/dune/gfe/trustregionmmgbasesolver.hh index 7b4d9aa2..416087a8 100644 --- a/dune/gfe/trustregionmmgbasesolver.hh +++ b/dune/gfe/trustregionmmgbasesolver.hh @@ -31,7 +31,7 @@ class TrustRegionMMGBaseSolver // For complex-valued data typedef typename Dune::FieldTraits<field_type>::real_type real_type; - enum {blocksize = VectorType::value_type::dimension}; + constexpr static int blocksize = VectorType::value_type::dimension; typedef Dune::BitSetVector<blocksize> BitVectorType; public: diff --git a/dune/gfe/weightedsumenergy.hh b/dune/gfe/weightedsumenergy.hh index 57795057..aebc046a 100644 --- a/dune/gfe/weightedsumenergy.hh +++ b/dune/gfe/weightedsumenergy.hh @@ -19,7 +19,7 @@ class WeightedSumEnergy typedef typename TargetSpace::ctype RT; // some other sizes - enum {gridDim=GridView::dimension}; + constexpr static int gridDim = GridView::dimension; public: diff --git a/test/adolctest.cc b/test/adolctest.cc index 97c1bed7..550f61cc 100644 --- a/test/adolctest.cc +++ b/test/adolctest.cc @@ -66,12 +66,12 @@ class LocalADOLCStiffness typedef typename TargetSpace::template rebind<adouble>::other ATargetSpace; // some other sizes - enum {gridDim=GridView::dimension}; + constexpr static int gridDim = GridView::dimension; public: //! Dimension of the embedding space - enum { embeddedBlocksize = TargetSpace::EmbeddedTangentVector::dimension }; + constexpr static int embeddedBlocksize = TargetSpace::EmbeddedTangentVector::dimension; LocalADOLCStiffness(const GFE::LocalEnergy<Basis, ATargetSpace>* energy) : localEnergy_(energy) @@ -223,10 +223,10 @@ class LocalFDStiffness public: //! Dimension of a tangent space - enum { blocksize = TargetSpace::TangentVector::dimension }; + constexpr static int blocksize = TargetSpace::TangentVector::dimension; //! Dimension of the embedding space - enum { embeddedBlocksize = TargetSpace::EmbeddedTangentVector::dimension }; + constexpr static int embeddedBlocksize = TargetSpace::EmbeddedTangentVector::dimension; LocalFDStiffness(const GFE::LocalEnergy<Basis, ATargetSpace>* energy) : localEnergy_(energy) @@ -415,8 +415,8 @@ int main (int argc, char *argv[]) try MPIHelper::instance(argc, argv); typedef std::vector<TargetSpace> SolutionType; - enum { embeddedBlocksize = TargetSpace::EmbeddedTangentVector::dimension }; - enum { blocksize = TargetSpace::TangentVector::dimension }; + constexpr static int embeddedBlocksize = TargetSpace::EmbeddedTangentVector::dimension; + constexpr static int blocksize = TargetSpace::TangentVector::dimension; // /////////////////////////////////////// // Create the grid -- GitLab