|
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().
1.8.16