libMesh::RBSCMEvaluation Class Reference
#include <rb_scm_evaluation.h>

Public Member Functions | |
| RBSCMEvaluation () | |
| virtual | ~RBSCMEvaluation () |
| void | set_rb_theta_expansion (RBThetaExpansion &rb_theta_expansion_in) |
| RBThetaExpansion & | get_rb_theta_expansion () |
| virtual Real | get_SCM_LB () |
| virtual Real | get_SCM_UB () |
| Real | get_C_J_stability_constraint (unsigned int j) const |
| void | set_C_J_stability_constraint (unsigned int j, Real stability_constraint_in) |
| Real | get_SCM_UB_vector (unsigned int j, unsigned int q) |
| void | set_SCM_UB_vector (unsigned int j, unsigned int q, Real y_q) |
| unsigned int | get_C_J_size () |
| const RBParameters & | get_C_J_entry (unsigned int j) |
| Real | get_C_J_stability_value (unsigned int j) |
| Real | get_B_min (unsigned int i) const |
| Real | get_B_max (unsigned int i) const |
| void | set_B_min (unsigned int i, Real B_min_val) |
| void | set_B_max (unsigned int i, Real B_max_val) |
| virtual void | save_current_parameters () |
| virtual void | reload_current_parameters () |
| virtual void | set_current_parameters_from_C_J (unsigned int C_J_index) |
| virtual void | write_offline_data_to_files (const std::string &directory_name="offline_data", const bool write_binary_data=true) |
| virtual void | read_offline_data_from_files (const std::string &directory_name="offline_data", const bool read_binary_data=true) |
| virtual void | clear () |
| void | initialize_parameters (const RBParameters &mu_min_in, const RBParameters &mu_max_in, const RBParameters &mu_in) |
| void | initialize_parameters (const RBParametrized &rb_parametrized) |
| virtual void | initialize_parameters (const std::string ¶meters_filename) |
| unsigned int | get_n_params () const |
| const RBParameters & | get_parameters () const |
| void | set_parameters (const RBParameters ¶ms) |
| const RBParameters & | get_parameters_min () const |
| const RBParameters & | get_parameters_max () const |
| Real | get_parameter_min (const std::string ¶m_name) const |
| Real | get_parameter_max (const std::string ¶m_name) const |
| void | print_parameters () const |
| void | write_parameter_ranges_to_file (const std::string &file_name, const bool write_binary) |
| void | read_parameter_ranges_from_file (const std::string &file_name, const bool read_binary) |
Static Public Member Functions | |
| static std::string | get_info () |
| static void | print_info (std::ostream &out=libMesh::out) |
| static unsigned int | n_objects () |
| static void | enable_print_counter_info () |
| static void | disable_print_counter_info () |
Public Attributes | |
| std::vector< Real > | B_min |
| std::vector< Real > | B_max |
| std::vector< RBParameters > | C_J |
| std::vector< Real > | C_J_stability_vector |
| std::vector< std::vector< Real > > | SCM_UB_vectors |
| bool | verbose_mode |
Protected Types | |
| typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Protected Member Functions | |
| void | increment_constructor_count (const std::string &name) |
| void | increment_destructor_count (const std::string &name) |
Static Protected Attributes | |
| static Counts | _counts |
| static Threads::atomic < unsigned int > | _n_objects |
| static Threads::spin_mutex | _mutex |
| static bool | _enable_print_counter = true |
Private Attributes | |
| RBParameters | saved_parameters |
| RBThetaExpansion * | rb_theta_expansion |
Detailed Description
This class is part of the rbOOmit framework.
RBSCMEvaluation encapsulates the functionality required to _evaluate_ the Successive Constraint Method for associated with a reduced basis model.
Definition at line 48 of file rb_scm_evaluation.h.
Member Typedef Documentation
typedef std::map<std::string, std::pair<unsigned int, unsigned int> > libMesh::ReferenceCounter::Counts [protected, inherited] |
Data structure to log the information. The log is identified by the class name.
Definition at line 113 of file reference_counter.h.
Constructor & Destructor Documentation
| libMesh::RBSCMEvaluation::RBSCMEvaluation | ( | ) |
Constructor.
| virtual libMesh::RBSCMEvaluation::~RBSCMEvaluation | ( | ) | [virtual] |
Destructor.
Member Function Documentation
| virtual void libMesh::RBParametrized::clear | ( | ) | [virtual, inherited] |
Clear all the data structures associated with the system.
Reimplemented in libMesh::RBConstruction, libMesh::RBConstructionBase< Base >, libMesh::RBEIMConstruction, libMesh::RBEIMEvaluation, libMesh::RBEvaluation, libMesh::RBSCMConstruction, libMesh::TransientRBConstruction, libMesh::TransientRBEvaluation, libMesh::RBConstructionBase< LinearImplicitSystem >, libMesh::RBConstructionBase< CondensedEigenSystem >, and libMesh::TransientSystem< RBConstruction >.
| void libMesh::ReferenceCounter::disable_print_counter_info | ( | ) | [static, inherited] |
Definition at line 106 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
00107 { 00108 _enable_print_counter = false; 00109 return; 00110 }
| void libMesh::ReferenceCounter::enable_print_counter_info | ( | ) | [static, inherited] |
Methods to enable/disable the reference counter output from print_info()
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
00101 { 00102 _enable_print_counter = true; 00103 return; 00104 }
| Real libMesh::RBSCMEvaluation::get_B_max | ( | unsigned int | i | ) | const |
| Real libMesh::RBSCMEvaluation::get_B_min | ( | unsigned int | i | ) | const |
Get B_min and B_max.
| const RBParameters& libMesh::RBSCMEvaluation::get_C_J_entry | ( | unsigned int | j | ) |
Get entry of C_J.
| unsigned int libMesh::RBSCMEvaluation::get_C_J_size | ( | ) | [inline] |
Get size of the set C_J.
Definition at line 115 of file rb_scm_evaluation.h.
References C_J.
00116 { return libmesh_cast_int<unsigned int>(C_J.size()); }
| Real libMesh::RBSCMEvaluation::get_C_J_stability_constraint | ( | unsigned int | j | ) | const |
Get stability constraints (i.e. the values of coercivity/ inf-sup/stability constants at the parameter values chosen during the greedy); we store one constraint for each element of C_J.
| Real libMesh::RBSCMEvaluation::get_C_J_stability_value | ( | unsigned int | j | ) | [inline] |
Get entry of C_J_stability_vector.
Definition at line 126 of file rb_scm_evaluation.h.
References C_J_stability_vector.
00126 { return C_J_stability_vector[j]; }
| std::string libMesh::ReferenceCounter::get_info | ( | ) | [static, inherited] |
Gets a string containing the reference information.
Definition at line 47 of file reference_counter.C.
References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().
Referenced by libMesh::ReferenceCounter::print_info().
00048 { 00049 #if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG) 00050 00051 std::ostringstream oss; 00052 00053 oss << '\n' 00054 << " ---------------------------------------------------------------------------- \n" 00055 << "| Reference count information |\n" 00056 << " ---------------------------------------------------------------------------- \n"; 00057 00058 for (Counts::iterator it = _counts.begin(); 00059 it != _counts.end(); ++it) 00060 { 00061 const std::string name(it->first); 00062 const unsigned int creations = it->second.first; 00063 const unsigned int destructions = it->second.second; 00064 00065 oss << "| " << name << " reference count information:\n" 00066 << "| Creations: " << creations << '\n' 00067 << "| Destructions: " << destructions << '\n'; 00068 } 00069 00070 oss << " ---------------------------------------------------------------------------- \n"; 00071 00072 return oss.str(); 00073 00074 #else 00075 00076 return ""; 00077 00078 #endif 00079 }
| unsigned int libMesh::RBParametrized::get_n_params | ( | ) | const [inherited] |
Get the number of parameters.
| Real libMesh::RBParametrized::get_parameter_max | ( | const std::string & | param_name | ) | const [inherited] |
Get maximum allowable value of parameter param_name.
| Real libMesh::RBParametrized::get_parameter_min | ( | const std::string & | param_name | ) | const [inherited] |
Get minimum allowable value of parameter param_name.
| const RBParameters& libMesh::RBParametrized::get_parameters | ( | ) | const [inherited] |
Get the current parameters.
| const RBParameters& libMesh::RBParametrized::get_parameters_max | ( | ) | const [inherited] |
Get an RBParameters object that specifies the maximum allowable value for each parameter.
| const RBParameters& libMesh::RBParametrized::get_parameters_min | ( | ) | const [inherited] |
Get an RBParameters object that specifies the minimum allowable value for each parameter.
| RBThetaExpansion& libMesh::RBSCMEvaluation::get_rb_theta_expansion | ( | ) |
Get a reference to the rb_theta_expansion.
| virtual Real libMesh::RBSCMEvaluation::get_SCM_LB | ( | ) | [virtual] |
Evaluate single SCM lower bound.
| virtual Real libMesh::RBSCMEvaluation::get_SCM_UB | ( | ) | [virtual] |
Evaluate single SCM upper bound.
| Real libMesh::RBSCMEvaluation::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 for the elements of C_J.
| void libMesh::ReferenceCounter::increment_constructor_count | ( | const std::string & | name | ) | [inline, protected, inherited] |
Increments the construction counter. Should be called in the constructor of any derived class that will be reference counted.
Definition at line 163 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
00164 { 00165 Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx); 00166 std::pair<unsigned int, unsigned int>& p = _counts[name]; 00167 00168 p.first++; 00169 }
| void libMesh::ReferenceCounter::increment_destructor_count | ( | const std::string & | name | ) | [inline, protected, inherited] |
Increments the destruction counter. Should be called in the destructor of any derived class that will be reference counted.
Definition at line 176 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
00177 { 00178 Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx); 00179 std::pair<unsigned int, unsigned int>& p = _counts[name]; 00180 00181 p.second++; 00182 }
| virtual void libMesh::RBParametrized::initialize_parameters | ( | const std::string & | parameters_filename | ) | [virtual, inherited] |
Initialize the parameter ranges and set current_parameters by reading in data from the file input_filename
| void libMesh::RBParametrized::initialize_parameters | ( | const RBParametrized & | rb_parametrized | ) | [inherited] |
Initialize the parameter ranges and set current_parameters.
| void libMesh::RBParametrized::initialize_parameters | ( | const RBParameters & | mu_min_in, | |
| const RBParameters & | mu_max_in, | |||
| const RBParameters & | mu_in | |||
| ) | [inherited] |
Initialize the parameter ranges and set current_parameters.
| static unsigned int libMesh::ReferenceCounter::n_objects | ( | ) | [inline, static, inherited] |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 79 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
00080 { return _n_objects; }
| void libMesh::ReferenceCounter::print_info | ( | std::ostream & | out = libMesh::out |
) | [static, inherited] |
Prints the reference information, by default to libMesh::out.
Definition at line 88 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
00089 { 00090 if( _enable_print_counter ) out_stream << ReferenceCounter::get_info(); 00091 }
| void libMesh::RBParametrized::print_parameters | ( | ) | const [inherited] |
Print the current parameters.
| virtual void libMesh::RBSCMEvaluation::read_offline_data_from_files | ( | const std::string & | directory_name = "offline_data", |
|
| const bool | read_binary_data = true | |||
| ) | [virtual] |
Read in the saved Offline reduced basis data to initialize the system for Online solves.
| void libMesh::RBParametrized::read_parameter_ranges_from_file | ( | const std::string & | file_name, | |
| const bool | read_binary | |||
| ) | [inherited] |
Read in the parameter ranges from file. Initialize parameters to the "minimum" parameter values.
| virtual void libMesh::RBSCMEvaluation::reload_current_parameters | ( | ) | [virtual] |
Helper functiont to (re)load current_parameters from saved_parameters.
| virtual void libMesh::RBSCMEvaluation::save_current_parameters | ( | ) | [virtual] |
Helper function to save current_parameters in saved_parameters.
| void libMesh::RBSCMEvaluation::set_B_max | ( | unsigned int | i, | |
| Real | B_max_val | |||
| ) |
| void libMesh::RBSCMEvaluation::set_B_min | ( | unsigned int | i, | |
| Real | B_min_val | |||
| ) |
Set B_min and B_max.
| void libMesh::RBSCMEvaluation::set_C_J_stability_constraint | ( | unsigned int | j, | |
| Real | stability_constraint_in | |||
| ) |
Set stability constraints (i.e. the values of coercivity/ inf-sup/stability constants at the parameter values chosen during the greedy); we store one constraint for each element of C_J.
| virtual void libMesh::RBSCMEvaluation::set_current_parameters_from_C_J | ( | unsigned int | C_J_index | ) | [virtual] |
Set parameters based on values saved in "C_J"
| void libMesh::RBParametrized::set_parameters | ( | const RBParameters & | params | ) | [inherited] |
Set the current parameters to params
| void libMesh::RBSCMEvaluation::set_rb_theta_expansion | ( | RBThetaExpansion & | rb_theta_expansion_in | ) |
Set the RBThetaExpansion object.
| void libMesh::RBSCMEvaluation::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 for the elements of C_J.
| virtual void libMesh::RBSCMEvaluation::write_offline_data_to_files | ( | const std::string & | directory_name = "offline_data", |
|
| const bool | write_binary_data = true | |||
| ) | [virtual] |
Write out all the data to text files in order to segregate the Offline stage from the Online stage.
| void libMesh::RBParametrized::write_parameter_ranges_to_file | ( | const std::string & | file_name, | |
| const bool | write_binary | |||
| ) | [inherited] |
Write out the parameter ranges to file.
Member Data Documentation
ReferenceCounter::Counts libMesh::ReferenceCounter::_counts [static, protected, inherited] |
Actually holds the data.
Definition at line 118 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
bool libMesh::ReferenceCounter::_enable_print_counter = true [static, protected, inherited] |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 137 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
Threads::spin_mutex libMesh::ReferenceCounter::_mutex [static, protected, inherited] |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 131 of file reference_counter.h.
Threads::atomic< unsigned int > libMesh::ReferenceCounter::_n_objects [static, protected, inherited] |
The number of objects. Print the reference count information when the number returns to 0.
Definition at line 126 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
| std::vector<Real> libMesh::RBSCMEvaluation::B_max |
Definition at line 177 of file rb_scm_evaluation.h.
| std::vector<Real> libMesh::RBSCMEvaluation::B_min |
B_min, B_max define the bounding box.
Definition at line 176 of file rb_scm_evaluation.h.
| std::vector< RBParameters > libMesh::RBSCMEvaluation::C_J |
Vector storing the greedily selected parameters during SCM training.
Definition at line 183 of file rb_scm_evaluation.h.
Referenced by get_C_J_size().
| std::vector<Real> libMesh::RBSCMEvaluation::C_J_stability_vector |
Vector storing the (truth) stability values at the parameters in C_J.
Definition at line 189 of file rb_scm_evaluation.h.
Referenced by get_C_J_stability_value().
A pointer to to the object that stores the theta expansion. This is not an AutoPtr since we may want to share it. (Note: a shared_ptr would be a good option here.)
Definition at line 212 of file rb_scm_evaluation.h.
Vector in which to save a parameter set. Useful in get_SCM_LB, for example.
Definition at line 205 of file rb_scm_evaluation.h.
| std::vector< std::vector<Real> > libMesh::RBSCMEvaluation::SCM_UB_vectors |
This matrix stores the infimizing vectors y_1(),...,y_Q_a(), for each in C_J, which are used in computing the SCM upper bounds.
Definition at line 197 of file rb_scm_evaluation.h.
bool libMesh::RBParametrized::verbose_mode [inherited] |
Public boolean to toggle verbose mode.
Definition at line 141 of file rb_parametrized.h.
The documentation for this class was generated from the following file:
Site Created By: libMesh Developers
Last modified: February 05 2013 19:55:37 UTC
Hosted By: