|
libMesh
|
This class provides functionality required to define an assembly object that arises from an "Empirical Interpolation Method" (EIM) approximation. More...
#include <rb_eim_assembly.h>
Public Member Functions | |
| RBEIMAssembly (RBEIMConstruction &rb_eim_eval_in, unsigned int basis_function_index_in) | |
| Constructor. More... | |
| RBEIMAssembly (RBEIMAssembly &&)=default | |
| Special functions. More... | |
| RBEIMAssembly (const RBEIMAssembly &)=default | |
| RBEIMAssembly & | operator= (const RBEIMAssembly &)=delete |
| RBEIMAssembly & | operator= (RBEIMAssembly &&)=delete |
| virtual | ~RBEIMAssembly () |
| void | evaluate_basis_function (dof_id_type elem_id, unsigned int var, std::vector< Number > &values) |
Return the basis function values for all quadrature points for variable var on element elem_id. More... | |
| void | evaluate_side_basis_function (dof_id_type elem_id, unsigned int side_index, unsigned int var, std::vector< Number > &values) |
| Same as evaluate_basis_function() except for side data. More... | |
| Number | evaluate_node_basis_function (dof_id_type node_id, unsigned int var) |
| Same as evaluate_basis_function() except for side data. More... | |
| RBEIMConstruction & | get_rb_eim_construction () |
| Get a reference to the RBEIMEvaluation object. More... | |
| virtual void | interior_assembly (FEMContext &) |
| Perform the element interior assembly. 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_stream=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) noexcept |
| Increments the construction counter. More... | |
| void | increment_destructor_count (const std::string &name) noexcept |
| 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 Attributes | |
| RBEIMConstruction & | _rb_eim_con |
| The RBEIMConstruction that the assembly data comes from. More... | |
| unsigned int | _basis_function_index |
| The EIM basis function index (from _rb_eim_con's RBEIMEvaluation) for this assembly object. More... | |
This class provides functionality required to define an assembly object that arises from an "Empirical Interpolation Method" (EIM) approximation.
Definition at line 48 of file rb_eim_assembly.h.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 119 of file reference_counter.h.
| libMesh::RBEIMAssembly::RBEIMAssembly | ( | RBEIMConstruction & | rb_eim_eval_in, |
| unsigned int | basis_function_index_in | ||
| ) |
Constructor.
Definition at line 34 of file rb_eim_assembly.C.
|
default |
Special functions.
|
default |
|
virtualdefault |
|
inlinevirtualinherited |
Perform the element boundary assembly.
Reimplemented in Output0, F0, A3, A2, AssemblyF2, AssemblyA2, AssemblyF1, AssemblyF0, AssemblyA1, and AssemblyA0.
Definition at line 60 of file elem_assembly.h.
Referenced by libMesh::RBConstruction::add_scaled_matrix_and_vector().
|
staticinherited |
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
staticinherited |
Methods to enable/disable the reference counter output from print_info().
Enabled by default.
Definition at line 94 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::~LibMeshInit().
| void libMesh::RBEIMAssembly::evaluate_basis_function | ( | dof_id_type | elem_id, |
| unsigned int | var, | ||
| std::vector< Number > & | values | ||
| ) |
Return the basis function values for all quadrature points for variable var on element elem_id.
Definition at line 44 of file rb_eim_assembly.C.
References _basis_function_index, libMesh::RBEIMEvaluation::get_eim_basis_function_values_at_qps(), get_rb_eim_construction(), and libMesh::RBEIMConstruction::get_rb_eim_evaluation().
Referenced by EIM_F::interior_assembly(), and AssemblyEIM::interior_assembly().
| Number libMesh::RBEIMAssembly::evaluate_node_basis_function | ( | dof_id_type | node_id, |
| unsigned int | var | ||
| ) |
Same as evaluate_basis_function() except for side data.
Definition at line 65 of file rb_eim_assembly.C.
References _basis_function_index, libMesh::RBEIMEvaluation::get_eim_basis_function_node_local_value(), get_rb_eim_construction(), and libMesh::RBEIMConstruction::get_rb_eim_evaluation().
| void libMesh::RBEIMAssembly::evaluate_side_basis_function | ( | dof_id_type | elem_id, |
| unsigned int | side_index, | ||
| unsigned int | var, | ||
| std::vector< Number > & | values | ||
| ) |
Same as evaluate_basis_function() except for side data.
Definition at line 54 of file rb_eim_assembly.C.
References _basis_function_index, libMesh::RBEIMEvaluation::get_eim_basis_function_side_values_at_qps(), get_rb_eim_construction(), and libMesh::RBEIMConstruction::get_rb_eim_evaluation().
|
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 67 of file elem_assembly.h.
Referenced by libMesh::RBConstruction::add_scaled_matrix_and_vector().
| RBEIMConstruction & libMesh::RBEIMAssembly::get_rb_eim_construction | ( | ) |
Get a reference to the RBEIMEvaluation object.
Definition at line 72 of file rb_eim_assembly.C.
References _rb_eim_con.
Referenced by evaluate_basis_function(), evaluate_node_basis_function(), and evaluate_side_basis_function().
|
inlineprotectednoexceptinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 183 of file reference_counter.h.
References libMesh::err, libMesh::BasicOStreamProxy< charT, traits >::get(), libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectednoexceptinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 207 of file reference_counter.h.
References libMesh::err, libMesh::BasicOStreamProxy< charT, traits >::get(), libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
inlinevirtualinherited |
Perform the element interior assembly.
Reimplemented in Ex6InnerProduct, AssemblyF1, AssemblyF0, OutputAssembly, InnerProductAssembly, AssemblyEIM, OutputAssembly, EIM_F, OutputAssembly, F0, EIM_IP_assembly, OutputAssembly, F0, A1, A2, A0, F0, A2, A0, AssemblyA2, A1, A2, A1, AssemblyA1, AcousticsInnerProduct, AssemblyA0, A0, A1, A0, M0, A0, and B.
Definition at line 55 of file elem_assembly.h.
Referenced by libMesh::RBConstruction::add_scaled_matrix_and_vector().
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 85 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
delete |
|
delete |
|
staticinherited |
Prints the reference information, by default to libMesh::out.
Definition at line 81 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
private |
The EIM basis function index (from _rb_eim_con's RBEIMEvaluation) for this assembly object.
Definition at line 107 of file rb_eim_assembly.h.
Referenced by evaluate_basis_function(), evaluate_node_basis_function(), and evaluate_side_basis_function().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 124 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info().
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 143 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 137 of file reference_counter.h.
|
staticprotectedinherited |
The number of objects.
Print the reference count information when the number returns to 0.
Definition at line 132 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
|
private |
The RBEIMConstruction that the assembly data comes from.
Definition at line 102 of file rb_eim_assembly.h.
Referenced by get_rb_eim_construction().
1.8.14