System test for the Cosserat rod problem
Compare changes
- Sander, Oliver authored
The previous implementation worked only for first-order finite element spaces, because it assumed that grid vertices and Lagrange nodes were identical.
+ 55
− 44
@@ -30,13 +30,15 @@
@@ -30,13 +30,15 @@
@@ -52,8 +54,6 @@ int main (int argc, char *argv[]) try
@@ -52,8 +54,6 @@ int main (int argc, char *argv[]) try
@@ -97,22 +97,21 @@ int main (int argc, char *argv[]) try
@@ -97,22 +97,21 @@ int main (int argc, char *argv[]) try
@@ -122,79 +121,91 @@ int main (int argc, char *argv[]) try
@@ -122,79 +121,91 @@ int main (int argc, char *argv[]) try
using GeodesicInterpolationRule = LocalGeodesicFEFunction<1, double, FEBasis::LocalView::Tree::FiniteElement, ATargetSpace>;
using ProjectedInterpolationRule = GFE::LocalProjectedFEFunction<1, double, FEBasis::LocalView::Tree::FiniteElement, ATargetSpace>;
auto energy = std::make_shared<GFE::CosseratRodEnergy<FEBasis, GeodesicInterpolationRule, adouble> >(gridView,
auto energy = std::make_shared<GFE::CosseratRodEnergy<FEBasis, ProjectedInterpolationRule, adouble> >(gridView,
DUNE_THROW(Exception, "Unknown interpolation method " << parameterSet["interpolationMethod"] << " requested!");
@@ -272,7 +283,7 @@ int main (int argc, char *argv[]) try
@@ -272,7 +283,7 @@ int main (int argc, char *argv[]) try