rbmatlab 0.10.01
RBmatlab presentation 10.10.2011

Outline

  1. (New) object-oriented RBmatlab order of commands
  2. (Repetition of) high-dimensional problem implementation
  3. New object-oriented Greedy algorithms:
  4. Further improvements

Examples

Order of commands

     descr      = thermalblock_model;
     dmodel     = gen_detailed_model(descr);
     model_data = gen_model_data(dmodel);
     sim_data   = dmodel.detailed_simulation(model_data);
     plot_sim_data(dmodel, model_data, sim_data);

     rmodel     = gen_reduced_model(dmodel);
     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);
     plot_sim_data(rmodel, model_data, rb_sim_data);

Snapshot generators

    params.model_size = 'small';
    descr = newton_oo_model(params);
    descr.verbose = 10;
    dmodel = gen_detailed_model(descr);
    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;
    dmodel = gen_detailed_model(descr);
    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.png
X-greedy
POD-greedy algorithm:
pod-greedy.png
POD-greedy
EI-greedy algorithm:
ei-greedy.png
PODEI-greedy algorithm:
podei-greedy.png

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 = Test.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_greedy_sum = Greedy.Algorithm(ei_plugin_sum, M_train);

    bg_descr.bg_algorithm = ei_greedy_sum;
    rmodel2        = Test.ReducedModel(dmodel, bg_descr);
    detailed_data2 = gen_detailed_data(rmodel2, model_data);
 All Classes Namespaces Files Functions Variables