RBEIMConstruction::RBEIMConstruction (EquationSystems& es, const std::string& name_in, const unsigned int number_in) : Parent(es, name_in, number_in), best_fit_type_flag(PROJECTION_BEST_FIT), _parametrized_functions_in_training_set_initialized(false), _mesh_function(NULL), _performing_extra_greedy_step(false) { // We cannot do rb_solve with an empty // "rb space" with EIM use_empty_rb_solve_in_greedy = false; // Indicate that we need to compute the RB // inner product matrix in this case compute_RB_inner_product = true; // Indicate that we need the training set // for the Greedy to be the same on all // processors serial_training_set = true; // attach empty RBAssemblyExpansion object set_rb_assembly_expansion(_empty_rb_assembly_expansion); }
RBEIMConstruction::RBEIMConstruction (EquationSystems& es, const std::string& name_in, const unsigned int number_in) : Parent(es, name_in, number_in), best_fit_type_flag(PROJECTION_BEST_FIT), _parametrized_functions_in_training_set_initialized(false), _mesh_function(NULL), _performing_extra_greedy_step(false) { // We cannot do rb_solve with an empty // "rb space" with EIM use_empty_rb_solve_in_greedy = false; // Indicate that we need to compute the RB // inner product matrix in this case compute_RB_inner_product = true; // Indicate that we need the training set // for the Greedy to be the same on all // processors serial_training_set = true; // attach empty RBAssemblyExpansion object set_rb_assembly_expansion(_empty_rb_assembly_expansion); // We only do "L2 projection" solves in this class, hence // we should set implicit_neighbor_dofs = false. This is // important when we use DISCONTINUOUS basis functions, since // otherwise the L2 projection matrix uses much more memory // than necessary. get_dof_map().set_implicit_neighbor_dofs(false); }