$extrastylesheet
#include <derived_rb_construction.h>
Public Types | |
| typedef DerivedRBConstruction < Base > | sys_type |
Public Member Functions | |
| DerivedRBConstruction (EquationSystems &es, const std::string &name, const unsigned int number) | |
| sys_type & | system () |
| virtual std::string | system_type () const |
| virtual Real | truth_solve (int plot_solution) |
| virtual Real | train_reduced_basis (const std::string &directory_name="offline_data", const bool resize_rb_eval_data=true) |
| virtual void | set_uber_current_parameters () |
| virtual UniquePtr< RBEvaluation > | build_rb_evaluation (const Parallel::Communicator &comm LIBMESH_CAN_DEFAULT_TO_COMMWORLD) |
| virtual void | load_rb_solution () |
| virtual void | load_basis_function (unsigned int i) |
| void | generate_residual_terms_wrt_truth () |
Public Attributes | |
| std::string | uber_system_name |
Protected Member Functions | |
| DenseVector< Number > | get_derived_basis_function (unsigned int i) |
| virtual void | enrich_RB_space () |
| virtual void | update_RB_system_matrices () |
| virtual void | compute_Fq_representor_innerprods (bool compute_inner_products=true) |
| virtual void | update_residual_terms (bool compute_inner_products=true) |
This class is part of the rbOOmit framework.
DerivedRBConstruction implements the Construction stage for the "two-level" Reduced Basis method. In this context we obtain our "derived" basis functions from a reference reduced basis approximation.
Definition at line 47 of file derived_rb_construction.h.
| typedef DerivedRBConstruction<Base> libMesh::DerivedRBConstruction< Base >::sys_type |
The type of system.
Definition at line 62 of file derived_rb_construction.h.
| libMesh::DerivedRBConstruction< Base >::DerivedRBConstruction | ( | EquationSystems & | es, |
| const std::string & | name, | ||
| const unsigned int | number | ||
| ) |
Constructor. Optionally initializes required data structures.
| virtual UniquePtr<RBEvaluation> libMesh::DerivedRBConstruction< Base >::build_rb_evaluation | ( | const Parallel::Communicator &comm | LIBMESH_CAN_DEFAULT_TO_COMMWORLD | ) | [virtual] |
Build a new DerivedRBEvaluation object.
| virtual void libMesh::DerivedRBConstruction< Base >::compute_Fq_representor_innerprods | ( | bool | compute_inner_products = true | ) | [protected, virtual] |
Compute the RHS terms that are combined `online' to determine the dual norm of the residual. Overloaded here for the two-stage RB method.
| virtual void libMesh::DerivedRBConstruction< Base >::enrich_RB_space | ( | ) | [protected, virtual] |
Add a new basis function to the RB space. Overload for uber-unter style enrichment, i.e. this function is independent of the number of degrees of freedom in the truth finite element discretization.
| void libMesh::DerivedRBConstruction< Base >::generate_residual_terms_wrt_truth | ( | ) |
This function recomputes all the residual terms in order to allow evaluation of the residual wrt the truth space. Useful if we have performed the greedy algorithm with respect to the uber space and need to replace with truth residual terms.
| DenseVector<Number> libMesh::DerivedRBConstruction< Base >::get_derived_basis_function | ( | unsigned int | i | ) | [protected] |
Get a copy of the specific derived basis function.
| virtual void libMesh::DerivedRBConstruction< Base >::load_basis_function | ( | unsigned int | i | ) | [virtual] |
Load the i^th derived basis function into vec.
| virtual void libMesh::DerivedRBConstruction< Base >::load_rb_solution | ( | ) | [virtual] |
Load the RB solution from the most recent solve into the libMesh solution vector.
| virtual void libMesh::DerivedRBConstruction< Base >::set_uber_current_parameters | ( | ) | [virtual] |
Set the uber_system's current_parameters to match unter_system's current_parameters. We require a virtual function here in case the unter system has fewer parameters than the uber system, for example.
| sys_type& libMesh::DerivedRBConstruction< Base >::system | ( | ) | [inline] |
Definition at line 67 of file derived_rb_construction.h.
{ return *this; }
| virtual std::string libMesh::DerivedRBConstruction< Base >::system_type | ( | ) | const [virtual] |
| virtual Real libMesh::DerivedRBConstruction< Base >::train_reduced_basis | ( | const std::string & | directory_name = "offline_data", |
| const bool | resize_rb_eval_data = true |
||
| ) | [virtual] |
Overload train_reduced_basis to generate residual terms wrt truth once the Greedy finishes.
| virtual Real libMesh::DerivedRBConstruction< Base >::truth_solve | ( | int | plot_solution | ) | [virtual] |
Overload truth_solve so that it computes the associated Unter RB solution.
| virtual void libMesh::DerivedRBConstruction< Base >::update_RB_system_matrices | ( | ) | [protected, virtual] |
Compute the reduced basis matrices for the current basis. This operation is based on the uber system and hence is independent of the number of degrees of freedom in the truth finite element discretization.
| virtual void libMesh::DerivedRBConstruction< Base >::update_residual_terms | ( | bool | compute_inner_products = true | ) | [protected, virtual] |
Compute the terms that are combined `online' to determine the dual norm of the residual. Overload here so that we perform an update based on the uber system.
| std::string libMesh::DerivedRBConstruction< Base >::uber_system_name |
The name of the uber RB system, i.e. the RB system we use to develop the derived RB system.
Definition at line 129 of file derived_rb_construction.h.