20 #ifndef LIBMESH_TRANSIENT_RB_CONSTRUCTION_H 21 #define LIBMESH_TRANSIENT_RB_CONSTRUCTION_H 57 const std::string &
name,
58 const unsigned int number);
79 virtual void clear ()
override;
90 bool skip_vector_assembly=
false)
override;
122 Real initial_greedy_error,
140 bool apply_dirichlet_bc=
true);
178 bool apply_dirichlet_bc=
true);
249 const bool write_binary_residual_representors)
override;
256 const bool write_binary_residual_representors)
override;
275 std::vector<std::unique_ptr<SparseMatrix<Number>>>
M_q_vector;
322 bool skip_vector_assembly)
override;
413 #endif // LIBMESH_TRANSIENT_RB_CONSTRUCTION_H virtual void print_info() override
SparseMatrix< Number > * get_non_dirichlet_M_q(unsigned int q)
std::unique_ptr< SparseMatrix< Number > > L2_matrix
virtual void read_riesz_representors_from_files(const std::string &riesz_representors_dir, const bool write_binary_residual_representors) override
virtual void allocate_data_structures() override
virtual void initialize_rb_construction(bool skip_matrix_assembly=false, bool skip_vector_assembly=false) override
Manages multiples systems of equations.
virtual void truth_assembly() override
virtual void assemble_all_affine_operators() override
void set_max_truth_solves(int max_truth_solves_in)
void mass_matrix_scaled_matvec(Number scalar, NumericVector< Number > &dest, NumericVector< Number > &arg)
ElemAssembly & get_L2_assembly()
virtual void get_all_matrices(std::map< std::string, SparseMatrix< Number > *> &all_matrices) override
std::vector< std::unique_ptr< SparseMatrix< Number > > > non_dirichlet_M_q_vector
TransientSystem< RBConstruction > Parent
void assemble_Mq_matrix(unsigned int q, SparseMatrix< Number > *input_matrix, bool apply_dirichlet_bc=true)
Manages storage and variables for transient systems.
std::vector< std::vector< Number > > truth_outputs_all_k
virtual Real truth_solve(int write_interval) override
virtual void initialize_truth()
TransientRBConstruction(EquationSystems &es, const std::string &name, const unsigned int number)
Number set_error_temporal_data()
std::string init_filename
void assemble_mass_matrix(SparseMatrix< Number > *input_matrix)
virtual bool greedy_termination_test(Real abs_greedy_error, Real initial_greedy_error, int count) override
virtual void load_rb_solution() override
virtual void assemble_misc_matrices() override
unsigned int number() const
std::unique_ptr< SparseMatrix< Number > > non_dirichlet_L2_matrix
void assemble_L2_matrix(SparseMatrix< Number > *input_matrix, bool apply_dirichlet_bc=true)
int get_max_truth_solves() const
bool nonzero_initialization
void add_IC_to_RB_space()
ElemAssembly * L2_assembly
SparseMatrix< Number > * get_M_q(unsigned int q)
virtual void update_residual_terms(bool compute_inner_products) override
TransientRBConstruction sys_type
const NumericVector< Number > & get_error_temporal_data()
virtual Real train_reduced_basis(const bool resize_rb_eval_data=true) override
void update_RB_initial_condition_all_N()
void set_POD_tol(const Real POD_tol_in)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void update_RB_system_matrices() override
std::vector< std::unique_ptr< NumericVector< Number > > > temporal_data
virtual void enrich_RB_space() override
virtual void clear() override
virtual void write_riesz_representors_to_files(const std::string &riesz_representors_dir, const bool write_binary_residual_representors) override
virtual void assemble_affine_expansion(bool skip_matrix_assembly, bool skip_vector_assembly) override
virtual ~TransientRBConstruction()
Encapsulates the details of the generalized Euler discretization.
bool compute_truth_projection_error
void add_scaled_mass_matrix(Number scalar, SparseMatrix< Number > *input_matrix)
void set_L2_assembly(ElemAssembly &L2_assembly_in)
const std::string & name() const
void set_delta_N(const unsigned int new_delta_N)
virtual SparseMatrix< Number > & get_matrix_for_output_dual_solves() override
virtual void update_system() override
std::vector< std::unique_ptr< SparseMatrix< Number > > > M_q_vector
virtual void process_parameters_file(const std::string ¶meters_filename) override
DenseVector< Number > RB_ic_proj_rhs_all_N