Mercurial > repos > public > sbplib
changeset 841:006defd0247b
Fix bug in +scheme.bcSetup
outputs of parseDate(...) were not set correctly which caused a chrash in the case when no data was provided for the BC
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 20 Sep 2018 11:45:40 +0200 |
parents | a4669d961d26 |
children | 18162a0a5bb5 95993ad2bd70 92cb03e64ca4 |
files | +scheme/bcSetup.m |
diffstat | 1 files changed, 7 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
diff -r a4669d961d26 -r 006defd0247b +scheme/bcSetup.m --- a/+scheme/bcSetup.m Tue Sep 18 15:48:36 2018 +0200 +++ b/+scheme/bcSetup.m Thu Sep 20 11:45:40 2018 +0200 @@ -28,14 +28,14 @@ [localClosure, penalty] = diffOp.boundary_condition(bcs{i}.boundary, bcs{i}.type); closure = closure + localClosure; - [ok, isSym, data] = parseData(bcs{i}, penalty, diffOp.grid); + [ok, isSymbolic, data] = parseData(bcs{i}, penalty, diffOp.grid); if ~ok % There was no data continue end - if isSym + if isSymbolic symbolicData{end+1} = data; else gridData{end+1} = data; @@ -85,8 +85,10 @@ end end -function [ok, isSym, dataStruct] = parseData(bc, penalty, grid) +function [ok, isSymbolic, dataStruct] = parseData(bc, penalty, grid) if ~isfield(bc,'data') || isempty(bc.data) + isSymbolic = []; + dataStruct = struct(); ok = false; return end @@ -96,14 +98,14 @@ if nArg > 1 % Symbolic data - isSym = true; + isSymbolic = true; coord = grid.getBoundary(bc.boundary); dataStruct.penalty = penalty; dataStruct.func = bc.data; dataStruct.coords = num2cell(coord, 1); else % Grid data - isSym = false; + isSymbolic = false; dataStruct.penalty = penalty; dataStruct.func = bcs{i}.data; end