1 function reduced_data = lin_evol_opt_gen_reduced_data(model,detailed_data)
2 %
function reduced_data = lin_evol_opt_gen_reduced_data(model,detailed_data)
4 % method which produces reduced_data, which is the data, that will be passed to
5 % an online-algorithm. Therefore, no quantities dependent on the high-dimension
6 % H may be included here. Neither may online-data include parameter-dependent
7 % mu-quantities. So no complete grid or detailed solutions or reduced basis
8 % vectors may be stored here. So online data is produced in the offline stage,
9 % but may be used in online-stages. So the computation time may depend on H,
10 % but the results may not depend on
this complexity.
12 % allowed dependency of generated data: Nmax
13 % not allowed dependency of data: H
14 % allowed dependency of computation: Nmax, H
15 % Unknown at
this stage: mu, N
17 % optional fields of model:
18 % compute_derivative_info = 0
if derivative information is not needed
19 % = 1
if derivative information is needed
21 % Markus Dihlmann 10.06.2010, Oliver Zeeb 14.10.10
23 if ~isfield(model,
'compute_derivative_info')
24 model.compute_derivative_info=1;
27 model.decomp_mode = 1;
28 reduced_data.a0 = rb_init_values(model, detailed_data);
30 % assuming that components do not change in time, so wlg t = 0!!!
31 %model = set_time(model,0);
33 % OLI 10.11.10 IF ANWEISUNG NEU!!!
34 if model.compute_derivative_info
35 [reduced_data.LL_I, reduced_data.LL_E, reduced_data.bb, ...
36 reduced_data.M_E, reduced_data.M_b, ...
37 reduced_data.M_EE, reduced_data.M_Eb, reduced_data.M_bb, ...
38 reduced_data.M_I, reduced_data.M_II, reduced_data.M_IE, reduced_data.M_Ib, ...
39 reduced_data.M_EdEd, reduced_data.M_IdId, reduced_data.M_bdbd, ...
40 reduced_data.M_Ed, reduced_data.M_Id, reduced_data.M_bd, reduced_data.M_IEd, ...
41 reduced_data.M_IId, reduced_data.M_Ibd, reduced_data.M_EEd, reduced_data.M_EId, ...
42 reduced_data.M_Ebd, reduced_data.M_EdId, reduced_data.M_Edbd, ...
43 reduced_data.M_Idbd] = rb_operators(model, detailed_data);
45 [reduced_data.LL_I, reduced_data.LL_E, reduced_data.bb, ...
46 reduced_data.M_E, reduced_data.M_b, ...
47 reduced_data.M_EE, reduced_data.M_Eb, reduced_data.M_bb, ...
48 reduced_data.M_I, reduced_data.M_II, reduced_data.M_IE, reduced_data.M_Ib] ...
49 = rb_operators(model, detailed_data);
53 % [reduced_data.LL_I, reduced_data.LL_E, reduced_data.bb, ...
54 % reduced_data.M_E, reduced_data.M_b, ...
55 % reduced_data.M_EE, reduced_data.M_Eb, reduced_data.M_bb, ...
56 % reduced_data.M_I, reduced_data.M_II, reduced_data.M_IE, reduced_data.M_Ib, ...
57 % reduced_data.M_EdEd, reduced_data.M_IdId, reduced_data.M_bdbd, ...
58 % reduced_data.M_Ed, reduced_data.M_Id, reduced_data.M_bd, reduced_data.M_IEd, ...
59 % reduced_data.M_IId, reduced_data.M_Ibd, reduced_data.M_EEd, reduced_data.M_EId, ...
60 % reduced_data.M_Ebd, reduced_data.M_EdId, reduced_data.M_Edbd, ...
61 % reduced_data.M_Idbd] = rb_operators(model, detailed_data);
63 if isfield(model,'name_output_functional')
64 reduced_data = rb_output_functional_prep(model,reduced_data,detailed_data);
67 reduced_data.N = model.get_rb_size(model,detailed_data);