libMesh
|
#include <assembly.h>
Public Member Functions | |
EIM_F (RBEIMConstruction &rb_eim_con_in, unsigned int basis_function_index_in) | |
virtual void | interior_assembly (FEMContext &c) |
Perform the element interior assembly. More... | |
virtual void | evaluate_basis_function (unsigned int var, const Elem &element, const std::vector< Point > &points, std::vector< Number > &values) |
Evaluate variable var_number of this object's EIM basis function at the points points , where the points are in reference coordinates. More... | |
RBEIMConstruction & | get_rb_eim_construction () |
Get a reference to the RBEIMConstruction object. More... | |
NumericVector< Number > & | get_ghosted_basis_function () |
Get a reference to the ghosted_basis_function. More... | |
FEBase & | get_fe () |
Retrieve the FE object. More... | |
virtual void | boundary_assembly (FEMContext &) |
Perform the element boundary assembly. More... | |
virtual void | get_nodal_values (std::vector< dof_id_type > &, DenseMatrix< Number > &, DenseVector< Number > &, const System &, const Node &) |
Get values to add to the matrix or rhs vector based on node . More... | |
Static Public Member Functions | |
static std::string | get_info () |
Gets a string containing the reference information. More... | |
static void | print_info (std::ostream &out=libMesh::out) |
Prints the reference information, by default to libMesh::out . More... | |
static unsigned int | n_objects () |
Prints the number of outstanding (created, but not yet destroyed) objects. More... | |
static void | enable_print_counter_info () |
Methods to enable/disable the reference counter output from print_info() More... | |
static void | disable_print_counter_info () |
Protected Types | |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Data structure to log the information. More... | |
Protected Member Functions | |
void | increment_constructor_count (const std::string &name) |
Increments the construction counter. More... | |
void | increment_destructor_count (const std::string &name) |
Increments the destruction counter. More... | |
Static Protected Attributes | |
static Counts | _counts |
Actually holds the data. More... | |
static Threads::atomic< unsigned int > | _n_objects |
The number of objects. More... | |
static Threads::spin_mutex | _mutex |
Mutual exclusion object to enable thread-safe reference counting. More... | |
static bool | _enable_print_counter = true |
Flag to control whether reference count information is printed when print_info is called. More... | |
Private Member Functions | |
void | initialize_fe () |
Initialize the FE object. More... | |
Private Attributes | |
RBEIMConstruction & | _rb_eim_con |
The RBEIMConstruction object that this RBEIMAssembly is based on. More... | |
unsigned int | _basis_function_index |
The EIM basis function index (from rb_eim_eval) for this assembly object. More... | |
std::unique_ptr< NumericVector< Number > > | _ghosted_basis_function |
The basis function that we sample to evaluate the empirical interpolation approximation. More... | |
std::unique_ptr< FEBase > | _fe |
We store an FE object so we can easily reinit in evaluate_basis_function. More... | |
Definition at line 109 of file 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.
|
inline |
Definition at line 111 of file assembly.h.
|
inlinevirtualinherited |
Perform the element boundary assembly.
Reimplemented in Output0, F0, A3, AssemblyA2, A2, AssemblyF2, AssemblyF1, AssemblyA1, AssemblyF0, and AssemblyA0.
Definition at line 62 of file elem_assembly.h.
Referenced by libMesh::RBConstruction::add_scaled_matrix_and_vector().
|
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.
|
virtualinherited |
Evaluate variable var_number
of this object's EIM basis function at the points points
, where the points are in reference coordinates.
Fill values
with the basis function values.
Definition at line 65 of file rb_eim_assembly.C.
References libMesh::DofMap::dof_indices(), libMesh::System::get_dof_map(), libMesh::RBEIMConstruction::get_explicit_system(), libMesh::RBEIMAssembly::get_fe(), libMesh::FEGenericBase< OutputType >::get_phi(), libMesh::RBEIMAssembly::get_rb_eim_construction(), libMesh::index_range(), libMesh::libmesh_assert(), and libMesh::FEAbstract::reinit().
Referenced by interior_assembly(), and AssemblyEIM::interior_assembly().
|
inherited |
Retrieve the FE object.
Definition at line 106 of file rb_eim_assembly.C.
References libMesh::RBEIMAssembly::_fe.
Referenced by libMesh::RBEIMAssembly::evaluate_basis_function().
|
inherited |
Get a reference to the ghosted_basis_function.
Definition at line 101 of file rb_eim_assembly.C.
References libMesh::RBEIMAssembly::_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.
Referenced by libMesh::RBConstruction::add_scaled_matrix_and_vector().
|
inherited |
Get a reference to the RBEIMConstruction object.
Definition at line 96 of file rb_eim_assembly.C.
References libMesh::RBEIMAssembly::_rb_eim_con.
Referenced by libMesh::RBEIMAssembly::evaluate_basis_function(), and libMesh::RBEIMAssembly::initialize_fe().
|
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().
|
privateinherited |
Initialize the FE object.
Definition at line 111 of file rb_eim_assembly.C.
References libMesh::RBEIMAssembly::_fe, libMesh::FEGenericBase< OutputType >::build(), dim, libMesh::System::get_dof_map(), libMesh::RBEIMConstruction::get_explicit_system(), libMesh::System::get_mesh(), libMesh::RBEIMAssembly::get_rb_eim_construction(), libMesh::MeshBase::mesh_dimension(), and libMesh::DofMap::variable_type().
Referenced by libMesh::RBEIMAssembly::RBEIMAssembly().
|
inlinevirtual |
Perform the element interior assembly.
Reimplemented from libMesh::ElemAssembly.
Definition at line 117 of file assembly.h.
References libMesh::RBEIMAssembly::evaluate_basis_function(), libMesh::DiffContext::get_dof_indices(), libMesh::FEMContext::get_elem(), libMesh::DiffContext::get_elem_residual(), libMesh::FEMContext::get_element_fe(), libMesh::FEMContext::get_element_qrule(), libMesh::QBase::get_points(), and libMesh::QBase::n_points().
|
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().
|
privateinherited |
The EIM basis function index (from rb_eim_eval) for this assembly object.
Definition at line 104 of file rb_eim_assembly.h.
Referenced by libMesh::RBEIMAssembly::RBEIMAssembly().
|
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().
|
privateinherited |
We store an FE object so we can easily reinit in evaluate_basis_function.
Definition at line 116 of file rb_eim_assembly.h.
Referenced by libMesh::RBEIMAssembly::get_fe(), and libMesh::RBEIMAssembly::initialize_fe().
|
privateinherited |
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.
Referenced by libMesh::RBEIMAssembly::get_ghosted_basis_function(), and libMesh::RBEIMAssembly::RBEIMAssembly().
|
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().
|
privateinherited |
The RBEIMConstruction object that this RBEIMAssembly is based on.
Definition at line 99 of file rb_eim_assembly.h.
Referenced by libMesh::RBEIMAssembly::get_rb_eim_construction(), and libMesh::RBEIMAssembly::RBEIMAssembly().