comparison +scheme/+bc/forcingSetup.m @ 878:51cc7b05b4ab bcSetupExperiment

Fix bugs in forcingSetup and verifyFormat
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 02 Nov 2018 11:11:50 +0100
parents 7ceaea27d944
children ba10f24bf476
comparison
equal deleted inserted replaced
877:7ceaea27d944 878:51cc7b05b4ab
29 end 29 end
30 30
31 % Go through a cell array of boundary condition specifications and return cell arrays 31 % Go through a cell array of boundary condition specifications and return cell arrays
32 % of structs for grid and symbolic data. 32 % of structs for grid and symbolic data.
33 function [gridData, symbolicData] = parseAndSortData(bcs, penalties, diffOp) 33 function [gridData, symbolicData] = parseAndSortData(bcs, penalties, diffOp)
34 gridData = {};
35 symbolicData = {};
34 for i = 1:length(bcs) 36 for i = 1:length(bcs)
35 [ok, isSymbolic, data] = parseData(bcs{i}, penalties{i}, diffOp.grid) 37 [ok, isSymbolic, data] = parseData(bcs{i}, penalties{i}, diffOp.grid);
36 38
37 if ~ok 39 if ~ok
38 continue % There was no data 40 continue % There was no data
39 end 41 end
40 42
41 if isSymbolic 43 if isSymbolic
44 symbolicData{end+1} = data;
45 else
42 gridData{end+1} = data; 46 gridData{end+1} = data;
43 else
44 symbolicData{end+1} = data;
45 end 47 end
46 end 48 end
47 end 49 end
48 50
49 function [ok, isSymbolic, dataStruct] = parseData(bc, penalty, grid) 51 function [ok, isSymbolic, dataStruct] = parseData(bc, penalty, grid)
66 dataStruct.coords = num2cell(coord, 1); 68 dataStruct.coords = num2cell(coord, 1);
67 else 69 else
68 % Grid data 70 % Grid data
69 isSymbolic = false; 71 isSymbolic = false;
70 dataStruct.penalty = penalty; 72 dataStruct.penalty = penalty;
71 dataStruct.func = bcs{i}.data; 73 dataStruct.func = bc.data;
72 end 74 end
73 end 75 end