From 5d431e465a0ac9b3650c3132436daf8cb1e17377 Mon Sep 17 00:00:00 2001
From: Oliver Sander <oliver.sander@tu-dresden.de>
Date: Fri, 22 Jan 2016 06:41:13 +0100
Subject: [PATCH] Use the NonplanarCosseratShellEnergy if dim<dimworld

---
 src/cosserat-continuum.cc | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/cosserat-continuum.cc b/src/cosserat-continuum.cc
index c086218e..a8a6b3ca 100644
--- a/src/cosserat-continuum.cc
+++ b/src/cosserat-continuum.cc
@@ -37,6 +37,7 @@
 #include <dune/gfe/rigidbodymotion.hh>
 #include <dune/gfe/localgeodesicfeadolcstiffness.hh>
 #include <dune/gfe/cosseratenergystiffness.hh>
+#include <dune/gfe/nonplanarcosseratshellenergy.hh>
 #include <dune/gfe/cosseratvtkwriter.hh>
 #include <dune/gfe/cosseratvtkreader.hh>
 #include <dune/gfe/geodesicfeassembler.hh>
@@ -290,8 +291,11 @@ int main (int argc, char *argv[]) try
         }
 
     // Assembler using ADOL-C
-    CosseratEnergyLocalStiffness<FEBasis,
-                                 3,adouble> cosseratEnergyADOLCLocalStiffness(materialParameters,
+    using LocalEnergy = std::conditional<dim==dimworld,
+                                         CosseratEnergyLocalStiffness<FEBasis,3,adouble>,
+                                         NonplanarCosseratShellEnergy<FEBasis,3,adouble> >::type;
+
+    LocalEnergy cosseratEnergyADOLCLocalStiffness(materialParameters,
                                                                               &neumannBoundary,
                                                                               neumannFunction,
                                                                               volumeLoad);
-- 
GitLab