From b79fa9ea292d11feb3dca7eca648ff3c6e4d106c Mon Sep 17 00:00:00 2001
From: Oliver Sander <oliver.sander@tu-dresden.de>
Date: Thu, 5 Nov 2020 17:23:18 +0100
Subject: [PATCH] rod3d: ParameterTreeParser can read vectors nowadays

---
 problems/staticrod.parset |  8 ++------
 src/rod3d.cc              | 11 +++--------
 2 files changed, 5 insertions(+), 14 deletions(-)

diff --git a/problems/staticrod.parset b/problems/staticrod.parset
index 63d7044a..9821813d 100644
--- a/problems/staticrod.parset
+++ b/problems/staticrod.parset
@@ -57,12 +57,8 @@ J2 = 1
 E = 2.5e5
 nu = 0.3
 
-dirichletValueX = 1
-dirichletValueY = 0
-dirichletValueZ = 0
+dirichletValue = 1 0 0
 
-dirichletAxisX = 1
-dirichletAxisY = 0
-dirichletAxisZ = 0
+dirichletAxis = 1 0 0
 
 dirichletAngle = 0
diff --git a/src/rod3d.cc b/src/rod3d.cc
index f3e77d74..e803181a 100644
--- a/src/rod3d.cc
+++ b/src/rod3d.cc
@@ -92,14 +92,9 @@ int main (int argc, char *argv[]) try
     // /////////////////////////////////////////
     //   Read Dirichlet values
     // /////////////////////////////////////////
-    x.back().r[0] = parameterSet.get<double>("dirichletValueX");
-    x.back().r[1] = parameterSet.get<double>("dirichletValueY");
-    x.back().r[2] = parameterSet.get<double>("dirichletValueZ");
-
-    FieldVector<double,3> axis;
-    axis[0] = parameterSet.get<double>("dirichletAxisX");
-    axis[1] = parameterSet.get<double>("dirichletAxisY");
-    axis[2] = parameterSet.get<double>("dirichletAxisZ");
+    x.back().r = parameterSet.get<FieldVector<double,3> >("dirichletValue");
+
+    auto axis = parameterSet.get<FieldVector<double,3> >("dirichletAxis");
     double angle = parameterSet.get<double>("dirichletAngle");
 
     x.back().q = Rotation<double,3>(axis, M_PI*angle/180);
-- 
GitLab