From d92edabcb64ff8a0b5d6206bc793e53a763b5283 Mon Sep 17 00:00:00 2001
From: Kutalmis Bercin <kutalmis.bercin@esi-group.com>
Date: Tue, 8 Jun 2021 17:05:09 +0100
Subject: [PATCH] ENH: atmBoundaryLayer: ensure PatchFunction1s are valid

---
 .../atmBoundaryLayer/atmBoundaryLayer.C       | 34 ++++++++++++++-----
 1 file changed, 26 insertions(+), 8 deletions(-)

diff --git a/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C b/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
index ed933c37a48..a077f6391a9 100644
--- a/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
+++ b/src/atmosphericModels/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
@@ -49,8 +49,8 @@ atmBoundaryLayer::atmBoundaryLayer(const Time& time, const polyPatch& pp)
     zDir_(time, "zDir"),
     Uref_(time, "Uref"),
     Zref_(time, "Zref"),
-    z0_(),
-    d_()
+    z0_(nullptr),
+    d_(nullptr)
 {}
 
 
@@ -182,8 +182,14 @@ tmp<scalarField> atmBoundaryLayer::Ustar(const scalarField& z0) const
 
 void atmBoundaryLayer::autoMap(const fvPatchFieldMapper& mapper)
 {
-    z0_->autoMap(mapper);
-    d_->autoMap(mapper);
+    if (z0_)
+    {
+        z0_->autoMap(mapper);
+    }
+    if (d_)
+    {
+        d_->autoMap(mapper);
+    }
 }
 
 
@@ -193,8 +199,14 @@ void atmBoundaryLayer::rmap
     const labelList& addr
 )
 {
-    z0_->rmap(abl.z0_(), addr);
-    d_->rmap(abl.d_(), addr);
+    if (z0_)
+    {
+        z0_->rmap(abl.z0_(), addr);
+    }
+    if (d_)
+    {
+        d_->rmap(abl.d_(), addr);
+    }
 }
 
 
@@ -266,8 +278,14 @@ void atmBoundaryLayer::write(Ostream& os) const
     zDir_.writeData(os);
     Uref_.writeData(os);
     Zref_.writeData(os);
-    z0_->writeData(os) ;
-    d_->writeData(os);
+    if (z0_)
+    {
+        z0_->writeData(os) ;
+    }
+    if (d_)
+    {
+        d_->writeData(os);
+    }
 }
 
 
-- 
GitLab