changeset 1282:a52033540dd9 feature/poroelastic

Make forcingSetup return empty array instead of zero function if all boundary data functions are empty.
author Martin Almquist <malmquist@stanford.edu>
date Mon, 15 Jun 2020 16:11:35 -0700
parents 01a0500de446
children 70939ea9a71f 3c87e8d08076
files +scheme/+bc/forcingSetup.m +scheme/+bc/forcingSetupStaggered.m
diffstat 2 files changed, 16 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/+scheme/+bc/forcingSetup.m	Sun Jun 07 11:33:44 2020 -0700
+++ b/+scheme/+bc/forcingSetup.m	Mon Jun 15 16:11:35 2020 -0700
@@ -22,8 +22,14 @@
 
     [gridData, symbolicData] = parseAndSortData(bcs, penalties, diffOp);
 
-    % Setup penalty function
-    O = spzeros(size(diffOp),1);
+    if length(gridData) + length(symbolicData) == 0
+        S = [];
+    else
+        % Setup penalty function
+        O = spzeros(size(diffOp),1);
+        S = @S_fun;
+    end
+
     function v = S_fun(t)
         v = O;
         for i = 1:length(gridData)
@@ -36,7 +42,6 @@
 
         v = S_sign * v;
     end
-    S = @S_fun;
 end
 
 % Go through a cell array of boundary condition specifications and return cell arrays
--- a/+scheme/+bc/forcingSetupStaggered.m	Sun Jun 07 11:33:44 2020 -0700
+++ b/+scheme/+bc/forcingSetupStaggered.m	Mon Jun 15 16:11:35 2020 -0700
@@ -22,8 +22,14 @@
 
     [gridData, symbolicData] = parseAndSortData(bcs, penalties, diffOp);
 
-    % Setup penalty function
-    O = spzeros(size(diffOp),1);
+    if length(gridData) + length(symbolicData) == 0
+        S = [];
+    else
+        % Setup penalty function
+        O = spzeros(size(diffOp),1);
+        S = @S_fun;
+    end
+
     function v = S_fun(t)
         v = O;
         for i = 1:length(gridData)
@@ -36,7 +42,6 @@
 
         v = S_sign * v;
     end
-    S = @S_fun;
 end
 
 % Go through a cell array of boundary condition specifications and return cell arrays