From 809e23cd51a26b9298c2a1a54f26a11594cabb49 Mon Sep 17 00:00:00 2001
From: Michael Kuron <mkuron@icp.uni-stuttgart.de>
Date: Tue, 3 Apr 2018 16:35:56 +0200
Subject: [PATCH] Add createConfiguration functions to pe_coupling boundaries

While it makes no sense to create these boundary types from a config file, geometry::initBoundaryHandling needs this function to be present for all boundary types in the boundary handling.
---
 .../momentum_exchange_method/boundary/CurvedLinear.h        | 6 ++++++
 .../momentum_exchange_method/boundary/CurvedQuadratic.h     | 6 ++++++
 .../momentum_exchange_method/boundary/SimpleBB.h            | 6 ++++++
 3 files changed, 18 insertions(+)

diff --git a/src/pe_coupling/momentum_exchange_method/boundary/CurvedLinear.h b/src/pe_coupling/momentum_exchange_method/boundary/CurvedLinear.h
index b23b33c83..05fee404d 100644
--- a/src/pe_coupling/momentum_exchange_method/boundary/CurvedLinear.h
+++ b/src/pe_coupling/momentum_exchange_method/boundary/CurvedLinear.h
@@ -71,6 +71,12 @@ class CurvedLinear : public Boundary< typename FlagField_T::flag_t >
 
 public:
 
+   static shared_ptr<BoundaryConfiguration> createConfiguration( const Config::BlockHandle& )
+   {
+      WALBERLA_ABORT( "A CurvedLinear boundary cannot be created from a config file" );
+      return make_shared<BoundaryConfiguration>();
+   }
+
    inline CurvedLinear( const BoundaryUID & boundaryUID, const FlagUID & uid, PDFField_T * const pdfField, const FlagField_T * const flagField,
                         BodyField_T * const bodyField,  const flag_t domain, const StructuredBlockStorage & blockStorage, const IBlock & block );
 
diff --git a/src/pe_coupling/momentum_exchange_method/boundary/CurvedQuadratic.h b/src/pe_coupling/momentum_exchange_method/boundary/CurvedQuadratic.h
index fa0b22852..ea6fe8b66 100644
--- a/src/pe_coupling/momentum_exchange_method/boundary/CurvedQuadratic.h
+++ b/src/pe_coupling/momentum_exchange_method/boundary/CurvedQuadratic.h
@@ -81,6 +81,12 @@ class CurvedQuadratic : public Boundary< typename FlagField_T::flag_t >
 
 public:
 
+   static shared_ptr<BoundaryConfiguration> createConfiguration( const Config::BlockHandle& )
+   {
+      WALBERLA_ABORT( "A CurvedQuadratic boundary cannot be created from a config file" );
+      return make_shared<BoundaryConfiguration>();
+   }
+
    inline CurvedQuadratic( const BoundaryUID & boundaryUID, const FlagUID & uid, PDFField_T * const pdfField, const FlagField_T * const flagField,
                            BodyField_T * const bodyField,  const flag_t domain, const StructuredBlockStorage & blockStorage, const IBlock & block,
                            PDFField_T * const pdfFieldPreCollision );
diff --git a/src/pe_coupling/momentum_exchange_method/boundary/SimpleBB.h b/src/pe_coupling/momentum_exchange_method/boundary/SimpleBB.h
index cfe78d575..0d7af9d9a 100644
--- a/src/pe_coupling/momentum_exchange_method/boundary/SimpleBB.h
+++ b/src/pe_coupling/momentum_exchange_method/boundary/SimpleBB.h
@@ -67,6 +67,12 @@ class SimpleBB : public Boundary< typename FlagField_T::flag_t >
 
 public:
 
+   static shared_ptr<BoundaryConfiguration> createConfiguration( const Config::BlockHandle& )
+   {
+      WALBERLA_ABORT( "A SimpleBB boundary cannot be created from a config file" );
+      return make_shared<BoundaryConfiguration>();
+   }
+
    inline SimpleBB( const BoundaryUID & boundaryUID, const FlagUID & uid, PDFField_T * const pdfField, const FlagField_T * const flagField,
                       BodyField * const bodyField,  const flag_t domain, const StructuredBlockStorage & blockStorage, const IBlock & block );
 
-- 
GitLab