1 function reduced_data_subset = stokes_reduced_data_subset(model, reduced_data)
2 %
function reduced_data_subset = stokes_reduced_data_subset(model, reduced_data)
5 %
switch to lin_stat_ .. later ?
8 reduced_data_subset = reduced_data;
10 if reduced_data.N ~= model.N
12 % extract correct N-sized submatrices and subvectors from reduced_data
13 if model.N > reduced_data.N
14 error(
'N too large for current size of reduced basis!');
19 if strcmp(model.RB_error_indicator,
'estimator') && model.has_nonlinearity
20 error(
'stokes:reduced_data_subset:this is not supported.');
21 % residual components are to be computed again.
24 if isfield(reduced_data,
'AN_comp')
25 reduced_data_subset.AN_comp = ...
26 subblock_sequence(reduced_data.AN_comp, 1:N, 1:N);
29 if isfield(reduced_data, 'fN_comp')
30 reduced_data_subset.fN_comp = subblock_sequence(reduced_data.fN_comp, 1:N);
33 if isfield(reduced_data, 'KN')
34 reduced_data_subset.KN = reduced_data.KN(1:N, 1:N);
37 Q_f = length(reduced_data_subset.fN_comp);
38 Q_a = length(reduced_data_subset.AN_comp);
39 ind = reduced_data.res_onb_ind < (Q_f+N*Q_a);
40 reduced_data_subset.G = reduced_data.G(ind,1:(Q_f+N*Q_a));
42 reduced_data_subset.N = N;