#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.