changeset 863:77aa40da2008 bcSetupExperiment

Merge with feature/grids
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 25 Jul 2018 15:17:47 -0700
parents 517d6019d63c (diff) d6100c4fe3b6 (current diff)
children c51b3f945c65
files +multiblock/Def.m
diffstat 2 files changed, 15 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/+multiblock/DiffOp.m	Wed Jul 25 09:38:06 2018 -0700
+++ b/+multiblock/DiffOp.m	Wed Jul 25 15:17:47 2018 -0700
@@ -198,32 +198,14 @@
 
             % Expand to matrix for full domain.
             div = obj.blockmatrixDiv;
-            if ~iscell(blockClosure)
-                temp = blockmatrix.zero(div);
-                temp{I,I} = blockClosure;
-                closure = blockmatrix.toMatrix(temp);
-            else
-                for i = 1:length(blockClosure)
-                    temp = blockmatrix.zero(div);
-                    temp{I,I} = blockClosure{i};
-                    closure{i} = blockmatrix.toMatrix(temp);
-                end
-            end
+            temp = blockmatrix.zero(div);
+            temp{I,I} = blockClosure;
+            closure = blockmatrix.toMatrix(temp);
 
-            if ~iscell(blockPenalty)
-                div{2} = size(blockPenalty, 2); % Penalty is a column vector
-                p = blockmatrix.zero(div);
-                p{I} = blockPenalty;
-                penalty = blockmatrix.toMatrix(p);
-            else
-                % TODO: used by beam equation, should be eliminated. SHould only set one BC per call
-                for i = 1:length(blockPenalty)
-                    div{2} = size(blockPenalty{i}, 2); % Penalty is a column vector
-                    p = blockmatrix.zero(div);
-                    p{I} = blockPenalty{i};
-                    penalty{i} = blockmatrix.toMatrix(p);
-                end
-            end
+            div{2} = size(blockPenalty, 2); % Penalty is a column vector
+            p = blockmatrix.zero(div);
+            p{I} = blockPenalty;
+            penalty = blockmatrix.toMatrix(p);
         end
 
         function [closure, penalty] = interface(obj,boundary,neighbour_scheme,neighbour_boundary)
--- a/+scheme/bcSetup.m	Wed Jul 25 09:38:06 2018 -0700
+++ b/+scheme/bcSetup.m	Wed Jul 25 15:17:47 2018 -0700
@@ -59,6 +59,14 @@
     S = @S_fun;
 end
 
+% Borde man använda eval on här??
+% Borde man dela upp bcSetup i bcSetupSymbolic(name?) och bcSetupGridData
+% och sen skriva en wrapper som sorterar och wrappar de två andra??
+
+% Erbjuda en separat function for att validera en bc specifikation?
+%  alltid kräva alla fields?
+%  literal struct improvement?
+
 function verifyBcFormat(bcs, diffOp)
     for i = 1:length(bcs)
         assertType(bcs{i}, 'struct');