20 #ifndef LIBMESH_RB_SCM_EVALUATION_H 21 #define LIBMESH_RB_SCM_EVALUATION_H 25 #include "libmesh/libmesh_config.h" 26 #if defined(LIBMESH_HAVE_SLEPC) && (LIBMESH_HAVE_GLPK) 29 #include "libmesh/rb_parametrized.h" 32 #include "libmesh/parallel_object.h" 40 class RBThetaExpansion;
121 {
return cast_int<unsigned int>(
C_J.size()); }
169 const bool write_binary_data =
true);
178 const bool read_binary_data =
true);
192 std::vector<RBParameters >
C_J;
228 #endif // LIBMESH_HAVE_SLEPC && LIBMESH_HAVE_GLPK 230 #endif // LIBMESH_RB_SCM_EVALUATION_H std::vector< Real > B_min
B_min, B_max define the bounding box.
virtual Real get_SCM_UB()
Evaluate single SCM upper bound.
void set_rb_theta_expansion(RBThetaExpansion &rb_theta_expansion_in)
Set the RBThetaExpansion object.
Real get_C_J_stability_value(unsigned int j)
Get entry of C_J_stability_vector.
void set_SCM_UB_vector(unsigned int j, unsigned int q, Real y_q)
Set entries of SCM_UB_vector, which stores the vector y, corresponding to the minimizing eigenvectors...
Real get_B_min(unsigned int i) const
Get B_min and B_max.
const Parallel::Communicator & comm() const
virtual void save_current_parameters()
Helper function to save current_parameters in saved_parameters.
The libMesh namespace provides an interface to certain functionality in the library.
RBThetaExpansion & get_rb_theta_expansion()
Get a reference to the rb_theta_expansion.
std::vector< Real > B_max
virtual void legacy_read_offline_data_from_files(const std::string &directory_name="offline_data", const bool read_binary_data=true)
Read in the saved Offline reduced basis data to initialize the system for Online solves.
This class stores the set of RBTheta functor objects that define the "parameter-dependent expansion" ...
std::vector< std::vector< Real > > SCM_UB_vectors
This matrix stores the infimizing vectors y_1( ),...,y_Q_a( ), for each in C_J, which are used in co...
std::vector< Real > C_J_stability_vector
Vector storing the (truth) stability values at the parameters in C_J.
virtual Real get_SCM_LB()
Evaluate single SCM lower bound.
const RBParameters & get_C_J_entry(unsigned int j)
Get entry of C_J.
virtual void reload_current_parameters()
Helper function to (re)load current_parameters from saved_parameters.
std::vector< RBParameters > C_J
Vector storing the greedily selected parameters during SCM training.
RBThetaExpansion * rb_theta_expansion
A pointer to to the object that stores the theta expansion.
void set_B_min(unsigned int i, Real B_min_val)
Set B_min and B_max.
void set_C_J_stability_constraint(unsigned int j, Real stability_constraint_in)
Set stability constraints (i.e.
RBSCMEvaluation(const Parallel::Communicator &comm)
Constructor.
virtual void legacy_write_offline_data_to_files(const std::string &directory_name="offline_data", const bool write_binary_data=true)
Write out all the data to text files in order to segregate the Offline stage from the Online stage...
This class is part of the rbOOmit framework.
An object whose state is distributed along a set of processors.
virtual void set_current_parameters_from_C_J(unsigned int C_J_index)
Set parameters based on values saved in "C_J".
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void set_B_max(unsigned int i, Real B_max_val)
Real get_C_J_stability_constraint(unsigned int j) const
Get stability constraints (i.e.
This class is part of the rbOOmit framework.
Real get_B_max(unsigned int i) const
virtual ~RBSCMEvaluation()
Destructor.
RBParameters saved_parameters
Vector in which to save a parameter set.
Real get_SCM_UB_vector(unsigned int j, unsigned int q)
Get entries of SCM_UB_vector, which stores the vector y, corresponding to the minimizing eigenvectors...
This class is part of the rbOOmit framework.
unsigned int get_C_J_size()
Get size of the set C_J.