1 function reduced_data = lin_evol_opt_gen_reduced_data_separate_bases(model,detailed_data)
2 %
function reduced_data = lin_evol_opt_gen_reduced_data_separate_bases(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 % This reduced_data generation
function is suited
for the use with separate
18 % bases in sensitivity derivative calculation.
20 % optional fields of model:
21 % compute_derivative_info = 0
if derivative information is not needed
22 % = 1
if derivative information is needed
24 % Markus Dihlmann 30.03.2011
26 if ~isfield(model,
'compute_derivative_info')
27 model.compute_derivative_info=1;
30 if ~isfield(model,'t')
34 model.decomp_mode = 1;
35 if model.compute_derivative_info
36 [reduced_data.a0, reduced_data.c0] = rb_init_values(model, detailed_data);%lin_evol_opt_rb_init_values_separate_bases(model, detailed_data);
38 reduced_data.a0 = rb_init_values(model, detailed_data);
41 if model.compute_derivative_info
42 [reduced_data.LL_I, reduced_data.LL_E, reduced_data.bb, ...
43 reduced_data.M_E, reduced_data.M_b, ...
44 reduced_data.M_EE, reduced_data.M_Eb, reduced_data.M_bb, ...
45 reduced_data.M_I, reduced_data.M_II, reduced_data.M_IE, reduced_data.M_Ib, ...
46 reduced_data.L_E_dd, reduced_data.L_I_dd, reduced_data.dL_E_sd, reduced_data.dL_I_sd, reduced_data.db,...
47 reduced_data.K_E, reduced_data.K_I, reduced_data.K_EE, reduced_data.K_II, reduced_data.K_IE,...
48 reduced_data.K_EdEd, reduced_data.K_IdId, reduced_data.K_bdbd, ...
49 reduced_data.K_Ed, reduced_data.K_Id, reduced_data.K_bd, reduced_data.K_IEd, ...
50 reduced_data.K_IId, reduced_data.K_Ibd, reduced_data.K_EEd, reduced_data.K_EId, ...
51 reduced_data.K_Ebd, reduced_data.K_EdId, reduced_data.K_Edbd, ...
52 reduced_data.K_Idbd] = rb_operators(model, detailed_data);
54 [reduced_data.LL_I, reduced_data.LL_E, reduced_data.bb, ...
55 reduced_data.M_E, reduced_data.M_b, ...
56 reduced_data.M_EE, reduced_data.M_Eb, reduced_data.M_bb, ...
57 reduced_data.M_I, reduced_data.M_II, reduced_data.M_IE, reduced_data.M_Ib] ...
58 = 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);