Mercurial > repos > public > sbplib
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');