From e70210aa8cfde76ae93de11b84ebb2e5091bcf65 Mon Sep 17 00:00:00 2001
From: "Dmitry Yu. Naumov" <github@naumov.de>
Date: Thu, 23 Aug 2018 14:23:56 +0200
Subject: [PATCH] [PL] BC; Move up axial symm. check.

---
 .../BoundaryCondition/CreateBoundaryCondition.cpp   | 11 +++++++++++
 .../NonuniformDirichletBoundaryCondition.cpp        | 13 -------------
 .../NonuniformNeumannBoundaryCondition.cpp          | 10 ----------
 3 files changed, 11 insertions(+), 23 deletions(-)

diff --git a/ProcessLib/BoundaryCondition/CreateBoundaryCondition.cpp b/ProcessLib/BoundaryCondition/CreateBoundaryCondition.cpp
index 2fd270a1ddf..2dc1cdb9c47 100644
--- a/ProcessLib/BoundaryCondition/CreateBoundaryCondition.cpp
+++ b/ProcessLib/BoundaryCondition/CreateBoundaryCondition.cpp
@@ -33,6 +33,17 @@ std::unique_ptr<BoundaryCondition> createBoundaryCondition(
     const std::vector<std::unique_ptr<ProcessLib::ParameterBase>>& parameters,
     const Process& process)
 {
+    // Surface mesh and bulk mesh must have equal axial symmetry flags!
+    if (config.boundary_mesh.isAxiallySymmetric() !=
+        bulk_mesh.isAxiallySymmetric())
+    {
+        OGS_FATAL(
+            "The boundary mesh %s axially symmetric but the bulk mesh %s. Both "
+            "must have an equal axial symmetry property.",
+            config.boundary_mesh.isAxiallySymmetric() ? "is" : "is not",
+            bulk_mesh.isAxiallySymmetric() ? "is" : "is not");
+    }
+
     //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__type}
     auto const type = config.config.peekConfigParameter<std::string>("type");
 
diff --git a/ProcessLib/BoundaryCondition/NonuniformDirichletBoundaryCondition.cpp b/ProcessLib/BoundaryCondition/NonuniformDirichletBoundaryCondition.cpp
index 72a3de07895..e05bc789f2c 100644
--- a/ProcessLib/BoundaryCondition/NonuniformDirichletBoundaryCondition.cpp
+++ b/ProcessLib/BoundaryCondition/NonuniformDirichletBoundaryCondition.cpp
@@ -26,19 +26,6 @@ createNonuniformDirichletBoundaryCondition(
     //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__type}
     config.checkConfigParameter("type", "NonuniformDirichlet");
 
-    // The axial symmetry is not used in the Dirichlet BC but kept here for
-    // consistency.
-    //
-    // Surface mesh and bulk mesh must have equal axial symmetry flags!
-    if (boundary_mesh.isAxiallySymmetric() != bulk_mesh.isAxiallySymmetric())
-    {
-        OGS_FATAL(
-            "The boundary mesh %s axially symmetric but the bulk mesh %s. Both "
-            "must have an equal axial symmetry property.",
-            boundary_mesh.isAxiallySymmetric() ? "is" : "is not",
-            bulk_mesh.isAxiallySymmetric() ? "is" : "is not");
-    }
-
     // TODO finally use ProcessLib::Parameter here
     auto const field_name =
         //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__NonuniformDirichlet__field_name}
diff --git a/ProcessLib/BoundaryCondition/NonuniformNeumannBoundaryCondition.cpp b/ProcessLib/BoundaryCondition/NonuniformNeumannBoundaryCondition.cpp
index d56b33a33a0..6aad8fd1a34 100644
--- a/ProcessLib/BoundaryCondition/NonuniformNeumannBoundaryCondition.cpp
+++ b/ProcessLib/BoundaryCondition/NonuniformNeumannBoundaryCondition.cpp
@@ -25,16 +25,6 @@ createNonuniformNeumannBoundaryCondition(
     //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__type}
     config.checkConfigParameter("type", "NonuniformNeumann");
 
-    // Surface mesh and bulk mesh must have equal axial symmetry flags!
-    if (boundary_mesh.isAxiallySymmetric() != bulk_mesh.isAxiallySymmetric())
-    {
-        OGS_FATAL(
-            "The boundary mesh %s axially symmetric but the bulk mesh %s. Both "
-            "must have an equal axial symmetry property.",
-            boundary_mesh.isAxiallySymmetric() ? "is" : "is not",
-            bulk_mesh.isAxiallySymmetric() ? "is" : "is not");
-    }
-
     // TODO finally use ProcessLib::Parameter here
     auto const field_name =
         //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__NonuniformNeumann__field_name}
-- 
GitLab