#include <rb_eim_assembly.h>

Public Member Functions | |
| RBEIMAssembly (RBEIMConstruction &rb_eim_con_in, unsigned int basis_function_index_in) | |
| virtual | ~RBEIMAssembly () |
| virtual void | evaluate_basis_function (unsigned int var, const Elem &element, const QBase &element_qrule, std::vector< Number > &values) |
| RBEIMConstruction & | get_rb_eim_construction () |
| NumericVector< Number > & | get_ghosted_basis_function () |
| FEBase & | get_fe () |
| virtual void | interior_assembly (FEMContext &) |
| virtual void | boundary_assembly (FEMContext &) |
| virtual void | get_nodal_values (std::vector< dof_id_type > &, DenseMatrix< Number > &, DenseVector< Number > &, const System &, const Node &) |
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 () |
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 Member Functions | |
| void | initialize_fe () |
Private Attributes | |
| RBEIMConstruction & | _rb_eim_con |
| unsigned int | _basis_function_index |
| std::unique_ptr< NumericVector< Number > > | _ghosted_basis_function |
| std::unique_ptr< FEBase > | _fe |
| std::unique_ptr< QBase > | _qrule |
This class provides functionality required to define an assembly object that arises from an "Empirical Interpolation Method" (EIM) approximation.
Definition at line 50 of file rb_eim_assembly.h.
|
protectedinherited |
Data structure to log the information. The log is identified by the class name.
Definition at line 117 of file reference_counter.h.
| libMesh::RBEIMAssembly::RBEIMAssembly | ( | RBEIMConstruction & | rb_eim_con_in, |
| unsigned int | basis_function_index_in | ||
| ) |
Constructor.
|
virtual |
Destructor.
|
inlinevirtualinherited |
|
staticinherited |
Definition at line 106 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit().
|
staticinherited |
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.
|
virtual |
Evaluate variable var_number of this object's EIM basis function at the points qpoints. Fill values with the basis function values.
| NumericVector<Number>& libMesh::RBEIMAssembly::get_ghosted_basis_function | ( | ) |
Get a reference to the ghosted_basis_function.
|
staticinherited |
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().
|
inlinevirtualinherited |
Get values to add to the matrix or rhs vector based on node. This allows one to impose point loads or springs, for example.
Definition at line 69 of file elem_assembly.h.
| RBEIMConstruction& libMesh::RBEIMAssembly::get_rb_eim_construction | ( | ) |
Get a reference to the RBEIMConstruction object.
|
inlineprotectedinherited |
Increments the construction counter. Should be called in the constructor of any derived class that will be reference counted.
Definition at line 181 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectedinherited |
Increments the destruction counter. Should be called in the destructor of any derived class that will be reference counted.
Definition at line 194 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
private |
Initialize the FE object.
|
inlinevirtualinherited |
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 83 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
|
staticinherited |
Prints the reference information, by default to libMesh::out.
Definition at line 87 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
|
private |
The EIM basis function index (from rb_eim_eval) for this assembly object.
Definition at line 104 of file rb_eim_assembly.h.
|
staticprotectedinherited |
Actually holds the data.
Definition at line 122 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 141 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
|
private |
We store an FE object and an associated quadrature rule.
Definition at line 116 of file rb_eim_assembly.h.
|
private |
The basis function that we sample to evaluate the empirical interpolation approximation. This will be a GHOSTED vector to facilitate interpolation in the case of multiple processors.
Definition at line 111 of file rb_eim_assembly.h.
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 135 of file reference_counter.h.
|
staticprotectedinherited |
The number of objects. Print the reference count information when the number returns to 0.
Definition at line 130 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
|
private |
Definition at line 117 of file rb_eim_assembly.h.
|
private |
The RBEIMConstruction object that this RBEIMAssembly is based on.
Definition at line 99 of file rb_eim_assembly.h.