Outline
- (New) object-oriented RBmatlab order of commands
- (Repetition of) high-dimensional problem implementation
- New object-oriented Greedy algorithms:
- Further improvements
Examples
Order of commands
model_data = gen_model_data(dmodel);
sim_data = dmodel.detailed_simulation(model_data);
detailed_data = gen_detailed_data(rmodel, model_data);
reduced_data = gen_reduced_data(rmodel, detailed_data);
rb_sim_data = rb_simulation(rmodel, reduced_data);
rb_sim_data = rb_reconstruction(rmodel, detailed_data, rb_sim_data);
Snapshot generators
params.model_size = 'small';
descr = newton_oo_model(params);
descr.verbose = 10;
sg = SnapshotsGenerator.Trajectories(dmodel, 'rb');
model_data = gen_model_data(dmodel);
U = sg.generate(dmodel, model_data);
U = sg.generate(dmodel, model_data);
descr.xnumintervals = 80;
sg = SnapshotsGenerator.Trajectories(dmodel, 'rb');
model_data = gen_model_data(dmodel);
U = sg.generate(dmodel, model_data);
op_gen = SnapshotsGenerator.SpaceOpEvals(dmodel, 'implicit', sg, descr.L_I_local_ptr);
LU = op_gen.generate(dmodel, model_data);
Greedy algorithms
- Abstract greedy algorithm:
X-greedy
- POD-greedy algorithm:
POD-greedy
- EI-greedy algorithm:
- PODEI-greedy algorithm:
EI greedy plugin
descr = minimal_ei_model
bg_descr.rb_problem_type = 'Test';
bg_descr.detailed_data_constructor = @Test.DetailedData;
bg_descr.reduced_data_constructor = @Test.ReducedData;
dmodel = LinEvol.DetailedModel(descr);
M_train = ParameterSampling.Random(5);
rb_generator = SnapshotsGenerator.Random(dmodel);
ei_gen1 = SnapshotsGenerator.SpaceOpEvals(dmodel, 'implicit', rb_generator, descr.L_I_local_ptr);
ei_plugin = Greedy.Plugin.EI(ei_gen1);
ei_plugin.stop_Mmax = 200;
ei_greedy = Greedy.Algorithm(ei_plugin, M_train);
bg_descr.bg_algorithm = ei_greedy;
rmodel = Test.ReducedModel(dmodel, bg_descr);
model_data = gen_model_data(dmodel);
detailed_data = gen_detailed_data(rmodel, model_data);
ei_gen2 = SnapshotsGenerator.SpaceOpEvals(dmodel, 'explicit', rb_generator, descr.L_I_local_ptr);
ei_gen_sum = ei_gen1 + ei_gen2;
ei_plugin_sum = Greedy.Plugin.EI(ei_gen_sum);
ei_plugin_sum.stop_Mmax = 200;
ei_greedy2 = Greedy.Algorithm(ei_extension2, M_train);
bg_descr.bg_algorithm = ei_greedy2;
rmodel2 = Test.ReducedModel(dmodel, bg_descr);
detailed_data2 = gen_detailed_data(rmodel2, model_data);