libMesh
|
This class enables evaluation of an Empirical Interpolation Method (EIM) approximation. More...
#include <rb_eim_evaluation.h>
Public Types | |
typedef std::map< dof_id_type, std::vector< std::vector< Number > > > | QpDataMap |
Type of the data structure used to map from (elem id) -> [n_vars][n_qp] data. More... | |
typedef std::map< std::pair< dof_id_type, unsigned int >, std::vector< std::vector< Number > > > | SideQpDataMap |
Type of the data structure used to map from (elem id, side index) -> [n_vars][n_qp] data. More... | |
typedef std::map< dof_id_type, std::vector< Number > > | NodeDataMap |
Type of the data structure used to map from (node id) -> [n_vars] data. More... | |
Public Member Functions | |
RBEIMEvaluation (const Parallel::Communicator &comm) | |
Constructor. More... | |
RBEIMEvaluation (RBEIMEvaluation &&)=default | |
Special functions. More... | |
RBEIMEvaluation (const RBEIMEvaluation &)=delete | |
RBEIMEvaluation & | operator= (const RBEIMEvaluation &)=delete |
RBEIMEvaluation & | operator= (RBEIMEvaluation &&)=default |
virtual | ~RBEIMEvaluation () |
virtual void | clear () override |
Clear this object. More... | |
void | resize_data_structures (const unsigned int Nmax) |
Resize the data structures for storing data associated with this object. More... | |
void | set_parametrized_function (std::unique_ptr< RBParametrizedFunction > pf) |
Set the parametrized function that we will approximate using the Empirical Interpolation Method. More... | |
RBParametrizedFunction & | get_parametrized_function () |
Get a reference to the parametrized function. More... | |
const RBParametrizedFunction & | get_parametrized_function () const |
Get a const reference to the parametrized function. More... | |
DenseVector< Number > | rb_eim_solve (DenseVector< Number > &EIM_rhs) |
Calculate the EIM approximation for the given right-hand side vector EIM_rhs . More... | |
void | rb_eim_solves (const std::vector< RBParameters > &mus, unsigned int N) |
Perform rb_eim_solves at each mu in mus and store the results in _rb_eim_solutions. More... | |
void | initialize_interpolation_points_spatial_indices () |
Initialize _interpolation_points_spatial_indices. More... | |
void | initialize_param_fn_spatial_indices () |
The Online counterpart of initialize_interpolation_points_spatial_indices(). More... | |
unsigned int | get_n_basis_functions () const |
Return the current number of EIM basis functions. More... | |
unsigned int | get_n_interpolation_points () const |
Return the number of interpolation points. More... | |
void | set_n_basis_functions (unsigned int n_bfs) |
Set the number of basis functions. More... | |
void | decrement_vector (QpDataMap &v, const DenseVector< Number > &coeffs) |
Subtract coeffs[i]*basis_function[i] from v . More... | |
void | side_decrement_vector (SideQpDataMap &v, const DenseVector< Number > &coeffs) |
Same as decrement_vector() except for Side data. More... | |
void | node_decrement_vector (NodeDataMap &v, const DenseVector< Number > &coeffs) |
Same as decrement_vector() except for node data. More... | |
void | initialize_eim_theta_objects () |
Build a vector of RBTheta objects that accesses the components of the RB_solution member variable of this RBEvaluation. More... | |
std::vector< std::unique_ptr< RBTheta > > & | get_eim_theta_objects () |
virtual std::unique_ptr< RBTheta > | build_eim_theta (unsigned int index) |
Build a theta object corresponding to EIM index index . More... | |
void | get_eim_basis_function_values_at_qps (unsigned int basis_function_index, dof_id_type elem_id, unsigned int var, std::vector< Number > &values) const |
Fill up values with the basis function values for basis function basis_function_index and variable var , at all quadrature points on element elem_id . More... | |
void | get_eim_basis_function_side_values_at_qps (unsigned int basis_function_index, dof_id_type elem_id, unsigned int side_index, unsigned int var, std::vector< Number > &values) const |
Same as get_eim_basis_function_values_at_qps() except for side data. More... | |
Number | get_eim_basis_function_node_local_value (unsigned int basis_function_index, dof_id_type node_id, unsigned int var) const |
Same as get_eim_basis_function_values_at_qps() except for node data. More... | |
Number | get_eim_basis_function_value (unsigned int basis_function_index, dof_id_type elem_id, unsigned int comp, unsigned int qp) const |
Same as above, except that we just return the value at the qp^th quadrature point. More... | |
Number | get_eim_basis_function_side_value (unsigned int basis_function_index, dof_id_type elem_id, unsigned int side_index, unsigned int comp, unsigned int qp) const |
Same as get_eim_basis_function_value() except for side data. More... | |
Number | get_eim_basis_function_node_value (unsigned int basis_function_index, dof_id_type node_id, unsigned int var) const |
Same as get_eim_basis_function_value() except for node data. More... | |
const QpDataMap & | get_basis_function (unsigned int i) const |
Get a reference to the i^th basis function. More... | |
const SideQpDataMap & | get_side_basis_function (unsigned int i) const |
Get a reference to the i^th side basis function. More... | |
const NodeDataMap & | get_node_basis_function (unsigned int i) const |
Get a reference to the i^th node basis function. More... | |
void | set_rb_eim_solutions (const std::vector< DenseVector< Number >> &rb_eim_solutions) |
Set _rb_eim_solutions. More... | |
const std::vector< DenseVector< Number > > & | get_rb_eim_solutions () const |
Return the EIM solution coefficients from the most recent call to rb_eim_solves(). More... | |
std::vector< Number > | get_rb_eim_solutions_entries (unsigned int index) const |
Return entry index for each solution in _rb_eim_solutions. More... | |
const std::vector< DenseVector< Number > > & | get_eim_solutions_for_training_set () const |
Return a const reference to the EIM solutions for the parameters in the training set. More... | |
std::vector< DenseVector< Number > > & | get_eim_solutions_for_training_set () |
Return a writeable reference to the EIM solutions for the parameters in the training set. More... | |
const std::vector< Real > & | get_rb_eim_error_indicators () const |
Return the EIM error indicator values from the most recent call to rb_eim_solves(). More... | |
void | add_interpolation_points_xyz (Point p) |
Set the data associated with EIM interpolation points. More... | |
void | add_interpolation_points_comp (unsigned int comp) |
void | add_interpolation_points_subdomain_id (subdomain_id_type sbd_id) |
void | add_interpolation_points_boundary_id (boundary_id_type b_id) |
void | add_interpolation_points_xyz_perturbations (const std::vector< Point > &perturbs) |
void | add_interpolation_points_elem_id (dof_id_type elem_id) |
void | add_interpolation_points_side_index (unsigned int side_index) |
void | add_interpolation_points_node_id (dof_id_type node_id) |
void | add_interpolation_points_qp (unsigned int qp) |
void | add_interpolation_points_elem_type (ElemType elem_type) |
void | add_interpolation_points_phi_i_qp (const std::vector< Real > &phi_i_qp) |
void | add_interpolation_points_JxW_all_qp (const std::vector< Real > &JxW_all_qp) |
void | add_interpolation_points_phi_i_all_qp (const std::vector< std::vector< Real >> &phi_i_all_qp) |
void | add_interpolation_points_spatial_indices (const std::vector< unsigned int > &spatial_indices) |
Point | get_interpolation_points_xyz (unsigned int index) const |
Get the data associated with EIM interpolation points. More... | |
unsigned int | get_interpolation_points_comp (unsigned int index) const |
subdomain_id_type | get_interpolation_points_subdomain_id (unsigned int index) const |
boundary_id_type | get_interpolation_points_boundary_id (unsigned int index) const |
const std::vector< Point > & | get_interpolation_points_xyz_perturbations (unsigned int index) const |
dof_id_type | get_interpolation_points_elem_id (unsigned int index) const |
unsigned int | get_interpolation_points_side_index (unsigned int index) const |
dof_id_type | get_interpolation_points_node_id (unsigned int index) const |
unsigned int | get_interpolation_points_qp (unsigned int index) const |
ElemType | get_interpolation_points_elem_type (unsigned int index) const |
const std::vector< Real > & | get_interpolation_points_phi_i_qp (unsigned int index) const |
const std::vector< Real > & | get_interpolation_points_JxW_all_qp (unsigned int index) const |
const std::vector< std::vector< Real > > & | get_interpolation_points_phi_i_all_qp (unsigned int index) const |
const std::vector< unsigned int > & | get_interpolation_points_spatial_indices (unsigned int index) const |
unsigned int | get_n_interpolation_points_spatial_indices () const |
_interpolation_points_spatial_indices is optional data, so we need to be able to check how many _interpolation_points_spatial_indices values have actually been set since it may not match the number of interpolation points. More... | |
void | set_interpolation_matrix_entry (unsigned int i, unsigned int j, Number value) |
Set entry of the EIM interpolation matrix. More... | |
const DenseMatrix< Number > & | get_interpolation_matrix () const |
Get the EIM interpolation matrix. More... | |
void | add_basis_function (const QpDataMap &bf) |
Add bf to our EIM basis. More... | |
void | add_interpolation_data (Point p, unsigned int comp, dof_id_type elem_id, subdomain_id_type subdomain_id, unsigned int qp, const std::vector< Point > &perturbs, const std::vector< Real > &phi_i_qp, ElemType elem_type, const std::vector< Real > &JxW_all_qp, const std::vector< std::vector< Real >> &phi_i_all_qp) |
Add interpolation data associated with a new basis function. More... | |
void | add_side_basis_function (const SideQpDataMap &side_bf) |
Add side_bf to our EIM basis. More... | |
void | add_side_interpolation_data (Point p, unsigned int comp, dof_id_type elem_id, unsigned int side_index, subdomain_id_type subdomain_id, boundary_id_type boundary_id, unsigned int qp, const std::vector< Point > &perturbs, const std::vector< Real > &phi_i_qp) |
Add interpolation data associated with a new basis function. More... | |
void | add_node_basis_function (const NodeDataMap &node_bf) |
Add node_bf to our EIM basis. More... | |
void | add_node_interpolation_data (Point p, unsigned int comp, dof_id_type node_id, boundary_id_type boundary_id) |
Add interpolation data associated with a new basis function. More... | |
void | set_preserve_rb_eim_solutions (bool preserve_rb_eim_solutions) |
Set _preserve_rb_eim_solutions. More... | |
bool | get_preserve_rb_eim_solutions () const |
Get _preserve_rb_eim_solutions. More... | |
void | write_out_basis_functions (const std::string &directory_name="offline_data", bool write_binary_basis_functions=true) |
Write out all the basis functions to file. More... | |
void | read_in_basis_functions (const System &sys, const std::string &directory_name="offline_data", bool read_binary_basis_functions=true) |
Read in all the basis functions from file. More... | |
void | project_qp_data_map_onto_system (System &sys, const QpDataMap &bf_data, unsigned int var) |
Project variable var of bf_data into the solution vector of System. More... | |
const std::set< unsigned int > & | get_eim_vars_to_project_and_write () const |
Get _eim_vars_to_project_and_write. More... | |
void | write_out_projected_basis_functions (System &sys, const std::string &directory_name="offline_data") |
Project all basis functions using project_qp_data_map_onto_system() and then write out the resulting vectors. More... | |
const std::set< unsigned int > & | scale_components_in_enrichment () const |
Get _scale_components_in_enrichment. More... | |
virtual bool | use_eim_error_indicator () const |
Virtual function to indicate if we use the EIM error indicator in this case. More... | |
void | set_eim_error_indicator_active (bool is_active) |
Activate/decative the error indicator in EIM solves. More... | |
const DenseVector< Number > & | get_error_indicator_interpolation_row () const |
Get/set _extra_points_interpolation_matrix. More... | |
void | set_error_indicator_interpolation_row (const DenseVector< Number > &error_indicator_row) |
std::pair< Real, Real > | get_eim_error_indicator (Number error_indicator_rhs, const DenseVector< Number > &eim_solution, const DenseVector< Number > &eim_rhs) |
Evaluates the EIM error indicator based on error_indicator_rhs , eim_solution , and _error_indicator_interpolation_row. More... | |
const VectorizedEvalInput & | get_vec_eval_input () const |
Get the VectorizedEvalInput data. More... | |
void | initialize_parameters (const RBParameters &mu_min_in, const RBParameters &mu_max_in, const std::map< std::string, std::vector< Real >> &discrete_parameter_values) |
Initialize the parameter ranges and set current_parameters. More... | |
void | initialize_parameters (const RBParametrized &rb_parametrized) |
Initialize the parameter ranges and set current_parameters. More... | |
unsigned int | get_n_params () const |
Get the number of parameters. More... | |
unsigned int | get_n_continuous_params () const |
Get the number of continuous parameters. More... | |
unsigned int | get_n_discrete_params () const |
Get the number of discrete parameters. More... | |
std::set< std::string > | get_parameter_names () const |
Get a set that stores the parameter names. More... | |
const RBParameters & | get_parameters () const |
Get the current parameters. More... | |
bool | set_parameters (const RBParameters ¶ms) |
Set the current parameters to params The parameters are checked for validity; an error is thrown if the number of parameters or samples is different than expected. More... | |
const RBParameters & | get_parameters_min () const |
Get an RBParameters object that specifies the minimum allowable value for each parameter. More... | |
const RBParameters & | get_parameters_max () const |
Get an RBParameters object that specifies the maximum allowable value for each parameter. More... | |
Real | get_parameter_min (const std::string ¶m_name) const |
Get minimum allowable value of parameter param_name . More... | |
Real | get_parameter_max (const std::string ¶m_name) const |
Get maximum allowable value of parameter param_name . More... | |
void | print_parameters () const |
Print the current parameters. More... | |
void | write_parameter_data_to_files (const std::string &continuous_param_file_name, const std::string &discrete_param_file_name, const bool write_binary_data) |
Write out the parameter ranges to files. More... | |
void | read_parameter_data_from_files (const std::string &continuous_param_file_name, const std::string &discrete_param_file_name, const bool read_binary_data) |
Read in the parameter ranges from files. More... | |
bool | is_discrete_parameter (const std::string &mu_name) const |
Is parameter mu_name discrete? More... | |
const std::map< std::string, std::vector< Real > > & | get_discrete_parameter_values () const |
Get a const reference to the discrete parameter values. More... | |
void | print_discrete_parameter_values () const |
Print out all the discrete parameter values. More... | |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
Static Public Member Functions | |
static void | get_parametrized_function_values_at_qps (const QpDataMap &pf, dof_id_type elem_id, unsigned int comp, std::vector< Number > &values) |
Fill up values by evaluating the parametrized function pf for all quadrature points on element elem_id and component comp . More... | |
static void | get_parametrized_function_side_values_at_qps (const SideQpDataMap &pf, dof_id_type elem_id, unsigned int side_index, unsigned int comp, std::vector< Number > &values) |
Same as get_parametrized_function_values_at_qps() except for side data. More... | |
static Number | get_parametrized_function_node_local_value (const NodeDataMap &pf, dof_id_type node_id, unsigned int comp) |
Same as get_parametrized_function_values_at_qps() except for node data. More... | |
static Number | get_parametrized_function_value (const Parallel::Communicator &comm, const QpDataMap &pf, dof_id_type elem_id, unsigned int comp, unsigned int qp) |
Same as above, except that we just return the value at the qp^th quadrature point. More... | |
static Number | get_parametrized_function_side_value (const Parallel::Communicator &comm, const SideQpDataMap &pf, dof_id_type elem_id, unsigned int side_index, unsigned int comp, unsigned int qp) |
Same as get_parametrized_function_value() except for side data. More... | |
static Number | get_parametrized_function_node_value (const Parallel::Communicator &comm, const NodeDataMap &pf, dof_id_type node_id, unsigned int comp) |
Same as get_parametrized_function_value() except for node data. More... | |
static Real | get_closest_value (Real value, const std::vector< Real > &list_of_values) |
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 () |
Public Attributes | |
bool | verbose_mode |
Public boolean to toggle verbose mode. More... | |
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... | |
Protected Attributes | |
std::set< unsigned int > | _eim_vars_to_project_and_write |
This set specifies which EIM variables will be projected and written out in write_out_projected_basis_functions(). More... | |
std::set< unsigned int > | _scale_components_in_enrichment |
This set that specifies which EIM variables will be scaled during EIM enrichment so that their maximum value matches the maximum value across all variables. More... | |
const Parallel::Communicator & | _communicator |
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 | write_out_interior_basis_functions (const std::string &directory_name, bool write_binary_basis_functions) |
Method that writes out element interior EIM basis functions. More... | |
void | write_out_side_basis_functions (const std::string &directory_name, bool write_binary_basis_functions) |
Method that writes out element side EIM basis functions. More... | |
void | write_out_node_basis_functions (const std::string &directory_name, bool write_binary_basis_functions) |
Method that writes out element node EIM basis functions. More... | |
void | read_in_interior_basis_functions (const System &sys, const std::string &directory_name, bool read_binary_basis_functions) |
Method that reads in element interior EIM basis functions. More... | |
void | read_in_side_basis_functions (const System &sys, const std::string &directory_name, bool read_binary_basis_functions) |
Method that reads in element side EIM basis functions. More... | |
void | read_in_node_basis_functions (const System &sys, const std::string &directory_name, bool read_binary_basis_functions) |
Method that reads in element node EIM basis functions. More... | |
void | print_local_eim_basis_functions () const |
Print the contents of _local_eim_basis_functions to libMesh::out. More... | |
void | gather_bfs () |
Helper function that gathers the contents of _local_eim_basis_functions to processor 0 in preparation for printing to file. More... | |
void | side_gather_bfs () |
Same as gather_bfs() except for side data. More... | |
void | node_gather_bfs () |
Same as gather_bfs() except for node data. More... | |
void | distribute_bfs (const System &sys) |
Helper function that distributes the entries of _local_eim_basis_functions to their respective processors after they are read in on processor 0. More... | |
void | side_distribute_bfs (const System &sys) |
Same as distribute_bfs() except for side data. More... | |
void | node_distribute_bfs (const System &sys) |
Same as distribute_bfs() except for node data. More... | |
Private Attributes | |
std::vector< DenseVector< Number > > | _rb_eim_solutions |
The EIM solution coefficients from the most recent call to rb_eim_solves(). More... | |
std::vector< Real > | _rb_eim_error_indicators |
If we're using the EIM error indicator, then we store the error indicator values corresponding to _rb_eim_solutions here. More... | |
std::vector< DenseVector< Number > > | _eim_solutions_for_training_set |
Storage for EIM solutions from the training set. More... | |
std::vector< RBParameters > | _rb_eim_solves_mus |
The parameters and the number of basis functions that were used in the most recent call to rb_eim_solves(). More... | |
unsigned int | _rb_eim_solves_N |
DenseMatrix< Number > | _interpolation_matrix |
Dense matrix that stores the lower triangular interpolation matrix that can be used. More... | |
VectorizedEvalInput | _vec_eval_input |
We store the EIM interpolation point data in this object. More... | |
std::vector< unsigned int > | _interpolation_points_comp |
In the case of a "vector-valued" EIM, this vector determines which component of the parameterized function we sample at each EIM point. More... | |
std::vector< std::vector< unsigned int > > | _interpolation_points_spatial_indices |
Here we store the spatial indices that were initialized by initialize_spatial_indices_at_interp_pts(). More... | |
std::unique_ptr< RBParametrizedFunction > | _parametrized_function |
Store the parametrized function that will be approximated by this EIM system. More... | |
std::vector< std::unique_ptr< RBTheta > > | _rb_eim_theta_objects |
The vector of RBTheta objects that are created to point to this RBEIMEvaluation. More... | |
std::vector< QpDataMap > | _local_eim_basis_functions |
The EIM basis functions. More... | |
std::vector< SideQpDataMap > | _local_side_eim_basis_functions |
The EIM basis functions on element sides. More... | |
std::vector< NodeDataMap > | _local_node_eim_basis_functions |
The EIM basis functions on element nodes (e.g. More... | |
bool | _preserve_rb_eim_solutions |
Boolean to indicate if we skip updating _rb_eim_solutions in rb_eim_solves(). More... | |
bool | _is_eim_error_indicator_active |
Indicate if the EIM error indicator is active in RB EIM solves. More... | |
DenseVector< Number > | _error_indicator_interpolation_row |
Here we store an extra row of the interpolation matrix which is used to compute the EIM error indicator. More... | |
This class enables evaluation of an Empirical Interpolation Method (EIM) approximation.
RBEvaluation plays an analogous role in the context of the regular reduced basis method.
Definition at line 52 of file rb_eim_evaluation.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.
typedef std::map<dof_id_type, std::vector<Number> > libMesh::RBEIMEvaluation::NodeDataMap |
Type of the data structure used to map from (node id) -> [n_vars] data.
Definition at line 87 of file rb_eim_evaluation.h.
typedef std::map<dof_id_type, std::vector<std::vector<Number> > > libMesh::RBEIMEvaluation::QpDataMap |
Type of the data structure used to map from (elem id) -> [n_vars][n_qp] data.
Definition at line 77 of file rb_eim_evaluation.h.
typedef std::map<std::pair<dof_id_type,unsigned int>, std::vector<std::vector<Number> > > libMesh::RBEIMEvaluation::SideQpDataMap |
Type of the data structure used to map from (elem id, side index) -> [n_vars][n_qp] data.
Definition at line 82 of file rb_eim_evaluation.h.
RBEIMEvaluation::RBEIMEvaluation | ( | const Parallel::Communicator & | comm | ) |
Constructor.
Definition at line 47 of file rb_eim_evaluation.C.
|
default |
Special functions.
|
delete |
|
virtualdefault |
void RBEIMEvaluation::add_basis_function | ( | const QpDataMap & | bf | ) |
Add bf
to our EIM basis.
Definition at line 891 of file rb_eim_evaluation.C.
References _local_eim_basis_functions.
Referenced by libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors().
void RBEIMEvaluation::add_interpolation_data | ( | Point | p, |
unsigned int | comp, | ||
dof_id_type | elem_id, | ||
subdomain_id_type | subdomain_id, | ||
unsigned int | qp, | ||
const std::vector< Point > & | perturbs, | ||
const std::vector< Real > & | phi_i_qp, | ||
ElemType | elem_type, | ||
const std::vector< Real > & | JxW_all_qp, | ||
const std::vector< std::vector< Real >> & | phi_i_all_qp | ||
) |
Add interpolation data associated with a new basis function.
Definition at line 897 of file rb_eim_evaluation.C.
References _interpolation_points_comp, _vec_eval_input, libMesh::VectorizedEvalInput::all_xyz, libMesh::VectorizedEvalInput::all_xyz_perturb, libMesh::VectorizedEvalInput::elem_ids, libMesh::VectorizedEvalInput::elem_types, libMesh::VectorizedEvalInput::JxW_all_qp, libMesh::VectorizedEvalInput::phi_i_all_qp, libMesh::VectorizedEvalInput::phi_i_qp, libMesh::VectorizedEvalInput::qps, and libMesh::VectorizedEvalInput::sbd_ids.
Referenced by libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors().
void RBEIMEvaluation::add_interpolation_points_boundary_id | ( | boundary_id_type | b_id | ) |
Definition at line 710 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::boundary_ids.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_comp | ( | unsigned int | comp | ) |
Definition at line 700 of file rb_eim_evaluation.C.
References _interpolation_points_comp.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_elem_id | ( | dof_id_type | elem_id | ) |
Definition at line 720 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::elem_ids.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_elem_type | ( | ElemType | elem_type | ) |
Definition at line 740 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::elem_types.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_JxW_all_qp | ( | const std::vector< Real > & | JxW_all_qp | ) |
Definition at line 745 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::JxW_all_qp.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_node_id | ( | dof_id_type | node_id | ) |
Definition at line 730 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::node_ids.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_phi_i_all_qp | ( | const std::vector< std::vector< Real >> & | phi_i_all_qp | ) |
Definition at line 750 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::phi_i_all_qp.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_phi_i_qp | ( | const std::vector< Real > & | phi_i_qp | ) |
Definition at line 755 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::phi_i_qp.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_qp | ( | unsigned int | qp | ) |
Definition at line 735 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::qps.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_side_index | ( | unsigned int | side_index | ) |
Definition at line 725 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::side_indices.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_spatial_indices | ( | const std::vector< unsigned int > & | spatial_indices | ) |
Definition at line 760 of file rb_eim_evaluation.C.
References _interpolation_points_spatial_indices.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_subdomain_id | ( | subdomain_id_type | sbd_id | ) |
Definition at line 705 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::sbd_ids.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_xyz | ( | Point | p | ) |
Set the data associated with EIM interpolation points.
Definition at line 695 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::all_xyz.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_interpolation_points_xyz_perturbations | ( | const std::vector< Point > & | perturbs | ) |
Definition at line 715 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::all_xyz_perturb.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
void RBEIMEvaluation::add_node_basis_function | ( | const NodeDataMap & | node_bf | ) |
Add node_bf
to our EIM basis.
Definition at line 955 of file rb_eim_evaluation.C.
References _local_node_eim_basis_functions.
Referenced by libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes().
void RBEIMEvaluation::add_node_interpolation_data | ( | Point | p, |
unsigned int | comp, | ||
dof_id_type | node_id, | ||
boundary_id_type | boundary_id | ||
) |
Add interpolation data associated with a new basis function.
Definition at line 961 of file rb_eim_evaluation.C.
References _interpolation_points_comp, _vec_eval_input, libMesh::VectorizedEvalInput::all_xyz, libMesh::VectorizedEvalInput::all_xyz_perturb, libMesh::VectorizedEvalInput::boundary_ids, libMesh::VectorizedEvalInput::elem_ids, libMesh::VectorizedEvalInput::elem_types, libMesh::INVALID_ELEM, libMesh::VectorizedEvalInput::JxW_all_qp, libMesh::VectorizedEvalInput::node_ids, libMesh::VectorizedEvalInput::phi_i_all_qp, libMesh::VectorizedEvalInput::phi_i_qp, libMesh::VectorizedEvalInput::qps, libMesh::VectorizedEvalInput::sbd_ids, and libMesh::VectorizedEvalInput::side_indices.
Referenced by libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes().
void RBEIMEvaluation::add_side_basis_function | ( | const SideQpDataMap & | side_bf | ) |
Add side_bf
to our EIM basis.
Definition at line 921 of file rb_eim_evaluation.C.
References _local_side_eim_basis_functions.
Referenced by libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides().
void RBEIMEvaluation::add_side_interpolation_data | ( | Point | p, |
unsigned int | comp, | ||
dof_id_type | elem_id, | ||
unsigned int | side_index, | ||
subdomain_id_type | subdomain_id, | ||
boundary_id_type | boundary_id, | ||
unsigned int | qp, | ||
const std::vector< Point > & | perturbs, | ||
const std::vector< Real > & | phi_i_qp | ||
) |
Add interpolation data associated with a new basis function.
Definition at line 927 of file rb_eim_evaluation.C.
References _interpolation_points_comp, _vec_eval_input, libMesh::VectorizedEvalInput::all_xyz, libMesh::VectorizedEvalInput::all_xyz_perturb, libMesh::VectorizedEvalInput::boundary_ids, libMesh::VectorizedEvalInput::elem_ids, libMesh::VectorizedEvalInput::elem_types, libMesh::INVALID_ELEM, libMesh::VectorizedEvalInput::JxW_all_qp, libMesh::VectorizedEvalInput::phi_i_all_qp, libMesh::VectorizedEvalInput::phi_i_qp, libMesh::VectorizedEvalInput::qps, libMesh::VectorizedEvalInput::sbd_ids, and libMesh::VectorizedEvalInput::side_indices.
Referenced by libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides().
Build a theta object corresponding to EIM index index
.
The default implementation builds an RBEIMTheta object, possibly override in subclasses if we need more specialized behavior.
Definition at line 416 of file rb_eim_evaluation.C.
Referenced by initialize_eim_theta_objects().
|
overridevirtual |
Clear this object.
Reimplemented from libMesh::RBParametrized.
Definition at line 58 of file rb_eim_evaluation.C.
References _interpolation_matrix, _interpolation_points_comp, _interpolation_points_spatial_indices, _rb_eim_theta_objects, _vec_eval_input, libMesh::VectorizedEvalInput::clear(), and libMesh::DenseMatrix< T >::resize().
Referenced by distribute_bfs(), node_distribute_bfs(), and side_distribute_bfs().
|
inlineinherited |
Parallel::Communicator
object used by this mesh. Definition at line 97 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_monitor(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::__libmesh_tao_equality_constraints(), libMesh::__libmesh_tao_equality_constraints_jacobian(), libMesh::__libmesh_tao_gradient(), libMesh::__libmesh_tao_hessian(), libMesh::__libmesh_tao_inequality_constraints(), libMesh::__libmesh_tao_inequality_constraints_jacobian(), libMesh::__libmesh_tao_objective(), libMesh::MeshRefinement::_coarsen_elements(), libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::Partitioner::_find_global_index_by_pid_map(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult_add(), libMesh::MeshRefinement::_refine_elements(), libMesh::MeshRefinement::_smooth_flags(), libMesh::DofMap::add_constraints_to_send_list(), add_cube_convex_hull_to_mesh(), libMesh::PetscDMWrapper::add_dofs_helper(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::EigenSystem::add_matrices(), libMesh::System::add_matrix(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::System::add_variable(), libMesh::System::add_variables(), libMesh::System::add_vector(), libMesh::MeshTools::Modification::all_tri(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::TransientRBConstruction::allocate_data_structures(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::assemble_affine_expansion(), libMesh::FEMSystem::assemble_qoi(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::MeshCommunication::assign_global_indices(), libMesh::Partitioner::assign_partitioning(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::PetscDMWrapper::build_section(), libMesh::PetscDMWrapper::build_sf(), libMesh::MeshBase::cache_elem_data(), libMesh::System::calculate_norm(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), libMesh::RBSCMConstruction::compute_SCM_bounds_on_training_set(), libMesh::DofMap::computed_sparsity_already(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ContinuationSystem::ContinuationSystem(), libMesh::MeshBase::copy_constraint_rows(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshTools::create_bounding_box(), libMesh::DofMap::create_dof_constraints(), libMesh::MeshTools::create_nodal_bounding_box(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::MeshTools::create_subdomain_bounding_box(), libMesh::PetscMatrix< libMesh::Number >::create_submatrix_nosort(), libMesh::MeshCommunication::delete_remote_elements(), distribute_bfs(), libMesh::DofMap::distribute_dofs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::DTKSolutionTransfer::DTKSolutionTransfer(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::EpetraVector< T >::EpetraVector(), AssembleOptimization::equality_constraints(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_error_tolerance(), libMesh::MeshRefinement::flag_elements_by_mean_stddev(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), gather_bfs(), libMesh::DofMap::gather_constraints(), libMesh::MeshfreeInterpolation::gather_remote_data(), libMesh::CondensedEigenSystem::get_eigenpair(), get_eim_basis_function_node_value(), get_eim_basis_function_side_value(), get_eim_basis_function_value(), libMesh::MeshBase::get_info(), libMesh::System::get_info(), libMesh::DofMap::get_info(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::RBEIMConstruction::get_max_abs_value(), libMesh::RBEIMConstruction::get_node_max_abs_value(), get_parametrized_function_node_value(), get_parametrized_function_side_value(), get_parametrized_function_value(), libMesh::RBEIMConstruction::get_random_point(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::LocationMap< T >::init(), libMesh::TimeSolver::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::RBEIMConstruction::inner_product(), integrate_function(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_equal_connectivity(), libMesh::MeshTools::libmesh_assert_equal_points(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_flags(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_p_levels(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), libMesh::libmesh_petsc_linesearch_shellfunc(), libMesh::libmesh_petsc_preconditioner_apply(), libMesh::libmesh_petsc_recalculate_monitor(), libMesh::libmesh_petsc_snes_fd_residual(), libMesh::libmesh_petsc_snes_jacobian(), libMesh::libmesh_petsc_snes_mffd_interface(), libMesh::libmesh_petsc_snes_mffd_residual(), libMesh::libmesh_petsc_snes_postcheck(), libMesh::libmesh_petsc_snes_precheck(), libMesh::libmesh_petsc_snes_residual(), libMesh::libmesh_petsc_snes_residual_helper(), libMesh::MeshRefinement::limit_level_mismatch_at_edge(), libMesh::MeshRefinement::limit_level_mismatch_at_node(), libMesh::MeshRefinement::limit_overrefined_boundary(), libMesh::MeshRefinement::limit_underrefined_boundary(), libMesh::LinearImplicitSystem::LinearImplicitSystem(), main(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshCommunication::make_elems_parallel_consistent(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_new_nodes_parallel_consistent(), libMesh::MeshCommunication::make_node_bcids_parallel_consistent(), libMesh::MeshCommunication::make_node_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_unique_ids_parallel_consistent(), libMesh::MeshCommunication::make_nodes_parallel_consistent(), libMesh::MeshCommunication::make_p_levels_parallel_consistent(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), libMesh::FEMSystem::mesh_position_set(), libMesh::TriangulatorInterface::MeshedHole::MeshedHole(), LinearElasticityWithContact::move_mesh(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshTools::n_active_levels(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::DofMap::n_constrained_dofs(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), libMesh::MeshTools::n_levels(), MixedOrderTest::n_neighbor_links(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::SparsityPattern::Build::n_nonzeros(), libMesh::MeshTools::n_p_levels(), libMesh::BoundaryInfo::n_shellface_conds(), node_distribute_bfs(), node_gather_bfs(), libMesh::RBEIMConstruction::node_inner_product(), libMesh::MeshBase::operator==(), libMesh::DistributedMesh::parallel_max_elem_id(), libMesh::DistributedMesh::parallel_max_node_id(), libMesh::ReplicatedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_n_elem(), libMesh::DistributedMesh::parallel_n_nodes(), libMesh::SparsityPattern::Build::parallel_sync(), libMesh::BoundaryInfo::parallel_sync_node_ids(), libMesh::BoundaryInfo::parallel_sync_side_ids(), libMesh::MeshTools::paranoid_n_levels(), libMesh::Partitioner::partition(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::petsc_auto_fieldsplit(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::MeshBase::prepare_for_use(), libMesh::DofMap::print_dof_constraints(), libMesh::DofMap::process_mesh_constraint_rows(), libMesh::Partitioner::processor_pairs_to_interface_nodes(), libMesh::InterMeshProjection::project_system_vectors(), FEMParameters::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::EquationSystems::read(), libMesh::ExodusII_IO::read_header(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), read_in_interior_basis_functions(), read_in_node_basis_functions(), read_in_side_basis_functions(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::System::read_legacy_data(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::System::read_serialized_vector(), libMesh::Nemesis_IO_Helper::read_var_names_impl(), libMesh::MeshBase::recalculate_n_partitions(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DistributedMesh::renumber_nodes_and_elements(), LinearElasticityWithContact::residual_and_jacobian(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), scale_mesh_and_plot(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::send_and_insert_dof_values(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::Partitioner::set_interface_node_processor_ids_BFS(), libMesh::Partitioner::set_interface_node_processor_ids_linear(), libMesh::Partitioner::set_interface_node_processor_ids_petscpartitioner(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::PetscDiffSolver::setup_petsc_data(), side_distribute_bfs(), side_gather_bfs(), libMesh::RBEIMConstruction::side_inner_product(), libMesh::Partitioner::single_partition(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::split_mesh(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), libMesh::MeshBase::subdomain_ids(), libMesh::BoundaryInfo::sync(), ConstraintOperatorTest::test1DCoarseningNewNodes(), ConstraintOperatorTest::test1DCoarseningOperator(), libMesh::MeshRefinement::test_level_one(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), libMesh::MeshRefinement::test_unflagged(), DofMapTest::testBadElemFECombo(), SystemsTest::testBlockRestrictedVarNDofs(), BoundaryInfoTest::testBoundaryOnChildrenErrors(), MeshInputTest::testExodusIGASidesets(), MeshTriangulationTest::testFoundCenters(), PointLocatorTest::testLocator(), BoundaryInfoTest::testMesh(), PointLocatorTest::testPlanar(), MeshTriangulationTest::testPoly2TriRefinementBase(), SystemsTest::testProjectCubeWithMeshFunction(), BoundaryInfoTest::testRenumber(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), MeshTriangulationTest::testTriangulatorInterp(), MeshTriangulationTest::testTriangulatorMeshedHoles(), libMesh::MeshTools::total_weight(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::Poly2TriTriangulator::triangulate(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::VTKIO::write_nodal_data(), write_out_interior_basis_functions(), write_out_node_basis_functions(), write_out_side_basis_functions(), libMesh::RBEvaluation::write_out_vectors(), libMesh::TransientRBConstruction::write_riesz_representors_to_files(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::RBDataSerialization::RBEvaluationSerialization::write_to_file(), libMesh::RBDataSerialization::TransientRBEvaluationSerialization::write_to_file(), libMesh::RBDataSerialization::RBEIMEvaluationSerialization::write_to_file(), and libMesh::RBDataSerialization::RBSCMEvaluationSerialization::write_to_file().
void RBEIMEvaluation::decrement_vector | ( | QpDataMap & | v, |
const DenseVector< Number > & | coeffs | ||
) |
Subtract coeffs[i]*basis_function[i] from v
.
Definition at line 327 of file rb_eim_evaluation.C.
References _local_eim_basis_functions, get_n_basis_functions(), libMesh::index_range(), and libMesh::DenseVector< T >::size().
Referenced by libMesh::RBEIMConstruction::compute_max_eim_error(), and libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors().
|
staticinherited |
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
private |
Helper function that distributes the entries of _local_eim_basis_functions to their respective processors after they are read in on processor 0.
Definition at line 2101 of file rb_eim_evaluation.C.
References _local_eim_basis_functions, TIMPI::Communicator::broadcast(), clear(), libMesh::ParallelObject::comm(), TIMPI::Communicator::gather(), libMesh::System::get_mesh(), libMesh::index_range(), libMesh::make_range(), mesh, n_vars, TIMPI::Communicator::rank(), TIMPI::Communicator::scatter(), and TIMPI::Communicator::size().
Referenced by read_in_interior_basis_functions().
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 94 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
private |
Helper function that gathers the contents of _local_eim_basis_functions to processor 0 in preparation for printing to file.
Definition at line 1682 of file rb_eim_evaluation.C.
References _local_eim_basis_functions, libMesh::ParallelObject::comm(), TIMPI::Communicator::gather(), libMesh::index_range(), TIMPI::Communicator::max(), libMesh::ParallelObject::n_processors(), n_vars, libMesh::ParallelObject::processor_id(), and TIMPI::Communicator::verify().
Referenced by write_out_interior_basis_functions().
const RBEIMEvaluation::QpDataMap & RBEIMEvaluation::get_basis_function | ( | unsigned int | i | ) | const |
Get a reference to the i^th basis function.
Definition at line 637 of file rb_eim_evaluation.C.
References _local_eim_basis_functions.
Referenced by libMesh::RBEIMConstruction::update_eim_matrices(), and write_out_projected_basis_functions().
|
staticinherited |
value
from list_of_values
. Definition at line 443 of file rb_parametrized.C.
References std::abs(), distance(), libMesh::Real, and value.
Referenced by libMesh::RBParametrized::is_value_in_list().
|
inherited |
Get a const reference to the discrete parameter values.
Definition at line 370 of file rb_parametrized.C.
References libMesh::RBParametrized::_discrete_parameter_values, and libMesh::RBParametrized::parameters_initialized.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), libMesh::RBParametrized::check_if_valid_params(), libMesh::RBParametrized::get_n_discrete_params(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBParametrized::print_discrete_parameter_values(), and libMesh::RBParametrized::write_discrete_parameter_values_to_file().
Number RBEIMEvaluation::get_eim_basis_function_node_local_value | ( | unsigned int | basis_function_index, |
dof_id_type | node_id, | ||
unsigned int | var | ||
) | const |
Same as get_eim_basis_function_values_at_qps() except for node data.
Note that this does not do any parallel communication, it just looks up the value from _local_node_eim_basis_functions.
Definition at line 575 of file rb_eim_evaluation.C.
References _local_node_eim_basis_functions, and get_parametrized_function_node_local_value().
Referenced by libMesh::RBEIMAssembly::evaluate_node_basis_function().
Number RBEIMEvaluation::get_eim_basis_function_node_value | ( | unsigned int | basis_function_index, |
dof_id_type | node_id, | ||
unsigned int | var | ||
) | const |
Same as get_eim_basis_function_value() except for node data.
Note that unlike get_eim_basis_function_node_local_value(), this does do parallel communication so that it can be called on any processor regardless of whether node_id
is local or not.
Definition at line 588 of file rb_eim_evaluation.C.
References _local_node_eim_basis_functions, libMesh::ParallelObject::comm(), and get_parametrized_function_node_value().
Referenced by libMesh::RBEIMConstruction::update_eim_matrices().
Number RBEIMEvaluation::get_eim_basis_function_side_value | ( | unsigned int | basis_function_index, |
dof_id_type | elem_id, | ||
unsigned int | side_index, | ||
unsigned int | comp, | ||
unsigned int | qp | ||
) | const |
Same as get_eim_basis_function_value() except for side data.
Definition at line 618 of file rb_eim_evaluation.C.
References _local_side_eim_basis_functions, libMesh::ParallelObject::comm(), and get_parametrized_function_side_value().
Referenced by libMesh::RBEIMConstruction::update_eim_matrices().
void RBEIMEvaluation::get_eim_basis_function_side_values_at_qps | ( | unsigned int | basis_function_index, |
dof_id_type | elem_id, | ||
unsigned int | side_index, | ||
unsigned int | var, | ||
std::vector< Number > & | values | ||
) | const |
Same as get_eim_basis_function_values_at_qps() except for side data.
Definition at line 558 of file rb_eim_evaluation.C.
References _local_side_eim_basis_functions, and get_parametrized_function_side_values_at_qps().
Referenced by libMesh::RBEIMAssembly::evaluate_side_basis_function().
Number RBEIMEvaluation::get_eim_basis_function_value | ( | unsigned int | basis_function_index, |
dof_id_type | elem_id, | ||
unsigned int | comp, | ||
unsigned int | qp | ||
) | const |
Same as above, except that we just return the value at the qp^th quadrature point.
Definition at line 602 of file rb_eim_evaluation.C.
References _local_eim_basis_functions, libMesh::ParallelObject::comm(), and get_parametrized_function_value().
Referenced by libMesh::RBEIMConstruction::update_eim_matrices().
void RBEIMEvaluation::get_eim_basis_function_values_at_qps | ( | unsigned int | basis_function_index, |
dof_id_type | elem_id, | ||
unsigned int | var, | ||
std::vector< Number > & | values | ||
) | const |
Fill up values
with the basis function values for basis function basis_function_index
and variable var
, at all quadrature points on element elem_id
.
Each processor stores data for only the elements local to that processor, so if elem_id is not on this processor then values
will be empty.
Definition at line 543 of file rb_eim_evaluation.C.
References _local_eim_basis_functions, and get_parametrized_function_values_at_qps().
Referenced by libMesh::RBEIMAssembly::evaluate_basis_function().
std::pair< Real, Real > RBEIMEvaluation::get_eim_error_indicator | ( | Number | error_indicator_rhs, |
const DenseVector< Number > & | eim_solution, | ||
const DenseVector< Number > & | eim_rhs | ||
) |
Evaluates the EIM error indicator based on error_indicator_rhs
, eim_solution
, and _error_indicator_interpolation_row.
We also pass in eim_rhs
since this is used to normalize the error indicator.
We return a pair that specifies the relative error indicator, and the normalization that was used to compute the relative error indicator. We can then recover the absolute error indicator via rel. indicator x normalization.
Definition at line 2977 of file rb_eim_evaluation.C.
References _error_indicator_interpolation_row, std::abs(), libMesh::DenseVector< T >::dot(), libMesh::DenseVector< T >::get_principal_subvector(), libMesh::DenseVector< T >::linfty_norm(), std::real(), libMesh::Real, and libMesh::DenseVector< T >::size().
Referenced by rb_eim_solves().
const std::vector< DenseVector< Number > > & RBEIMEvaluation::get_eim_solutions_for_training_set | ( | ) | const |
Return a const reference to the EIM solutions for the parameters in the training set.
Definition at line 680 of file rb_eim_evaluation.C.
References _eim_solutions_for_training_set.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), and libMesh::RBEIMConstruction::store_eim_solutions_for_training_set().
std::vector< DenseVector< Number > > & RBEIMEvaluation::get_eim_solutions_for_training_set | ( | ) |
Return a writeable reference to the EIM solutions for the parameters in the training set.
Definition at line 685 of file rb_eim_evaluation.C.
References _eim_solutions_for_training_set.
std::vector< std::unique_ptr< RBTheta > > & RBEIMEvaluation::get_eim_theta_objects | ( | ) |
Definition at line 411 of file rb_eim_evaluation.C.
References _rb_eim_theta_objects.
const std::set< unsigned int > & RBEIMEvaluation::get_eim_vars_to_project_and_write | ( | ) | const |
Get _eim_vars_to_project_and_write.
Definition at line 2916 of file rb_eim_evaluation.C.
References _eim_vars_to_project_and_write.
Referenced by write_out_projected_basis_functions().
const DenseVector< Number > & RBEIMEvaluation::get_error_indicator_interpolation_row | ( | ) | const |
Get/set _extra_points_interpolation_matrix.
Definition at line 3018 of file rb_eim_evaluation.C.
References _error_indicator_interpolation_row.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
|
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().
const DenseMatrix< Number > & RBEIMEvaluation::get_interpolation_matrix | ( | ) | const |
Get the EIM interpolation matrix.
Definition at line 876 of file rb_eim_evaluation.C.
References _interpolation_matrix.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
boundary_id_type RBEIMEvaluation::get_interpolation_points_boundary_id | ( | unsigned int | index | ) | const |
Definition at line 786 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::boundary_ids.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
Definition at line 772 of file rb_eim_evaluation.C.
References _interpolation_points_comp.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), and libMesh::RBEIMConstruction::update_eim_matrices().
dof_id_type RBEIMEvaluation::get_interpolation_points_elem_id | ( | unsigned int | index | ) | const |
Definition at line 800 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::elem_ids.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), and libMesh::RBEIMConstruction::update_eim_matrices().
Definition at line 828 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::elem_types.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
const std::vector< Real > & RBEIMEvaluation::get_interpolation_points_JxW_all_qp | ( | unsigned int | index | ) | const |
Definition at line 835 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::JxW_all_qp.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
dof_id_type RBEIMEvaluation::get_interpolation_points_node_id | ( | unsigned int | index | ) | const |
Definition at line 814 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::node_ids.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), and libMesh::RBEIMConstruction::update_eim_matrices().
const std::vector< std::vector< Real > > & RBEIMEvaluation::get_interpolation_points_phi_i_all_qp | ( | unsigned int | index | ) | const |
Definition at line 842 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::phi_i_all_qp.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
const std::vector< Real > & RBEIMEvaluation::get_interpolation_points_phi_i_qp | ( | unsigned int | index | ) | const |
Definition at line 849 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::phi_i_qp.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
Definition at line 821 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::qps.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), and libMesh::RBEIMConstruction::update_eim_matrices().
Definition at line 807 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::side_indices.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), and libMesh::RBEIMConstruction::update_eim_matrices().
const std::vector< unsigned int > & RBEIMEvaluation::get_interpolation_points_spatial_indices | ( | unsigned int | index | ) | const |
Definition at line 856 of file rb_eim_evaluation.C.
References _interpolation_points_spatial_indices.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
subdomain_id_type RBEIMEvaluation::get_interpolation_points_subdomain_id | ( | unsigned int | index | ) | const |
Definition at line 779 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::sbd_ids.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
Get the data associated with EIM interpolation points.
Definition at line 765 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::all_xyz.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
const std::vector< Point > & RBEIMEvaluation::get_interpolation_points_xyz_perturbations | ( | unsigned int | index | ) | const |
Definition at line 793 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::all_xyz_perturb.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
unsigned int RBEIMEvaluation::get_n_basis_functions | ( | ) | const |
Return the current number of EIM basis functions.
Definition at line 302 of file rb_eim_evaluation.C.
References _local_eim_basis_functions, _local_node_eim_basis_functions, _local_side_eim_basis_functions, and get_parametrized_function().
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), libMesh::RBEIMConstruction::compute_max_eim_error(), decrement_vector(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::RBEIMTheta::evaluate_vec(), initialize_eim_theta_objects(), node_decrement_vector(), rb_eim_solve(), rb_eim_solves(), read_in_basis_functions(), set_eim_error_indicator_active(), side_decrement_vector(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), libMesh::RBEIMConstruction::train_eim_approximation_with_greedy(), libMesh::RBEIMConstruction::train_eim_approximation_with_POD(), libMesh::RBEIMConstruction::update_eim_matrices(), and write_out_projected_basis_functions().
|
inherited |
Get the number of continuous parameters.
Definition at line 112 of file rb_parametrized.C.
References libMesh::RBParametrized::get_n_discrete_params(), libMesh::RBParametrized::get_n_params(), libMesh::libmesh_assert(), and libMesh::RBParametrized::parameters_initialized.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
|
inherited |
Get the number of discrete parameters.
Definition at line 121 of file rb_parametrized.C.
References libMesh::RBParametrized::get_discrete_parameter_values(), and libMesh::RBParametrized::parameters_initialized.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), libMesh::RBParametrized::get_n_continuous_params(), and libMesh::RBParametrized::write_discrete_parameter_values_to_file().
unsigned int RBEIMEvaluation::get_n_interpolation_points | ( | ) | const |
Return the number of interpolation points.
If we're not using the EIM error indicator, then this matches get_n_basis_functions(), but if we are using the EIM error indicator then we should have one extra interpolation point.
Definition at line 312 of file rb_eim_evaluation.C.
References _vec_eval_input, and libMesh::VectorizedEvalInput::all_xyz.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), and set_eim_error_indicator_active().
unsigned int RBEIMEvaluation::get_n_interpolation_points_spatial_indices | ( | ) | const |
_interpolation_points_spatial_indices is optional data, so we need to be able to check how many _interpolation_points_spatial_indices values have actually been set since it may not match the number of interpolation points.
Definition at line 863 of file rb_eim_evaluation.C.
References _interpolation_points_spatial_indices.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
|
inherited |
Get the number of parameters.
Definition at line 103 of file rb_parametrized.C.
References libMesh::RBParameters::n_parameters(), libMesh::RBParametrized::parameters_initialized, libMesh::RBParametrized::parameters_max, and libMesh::RBParametrized::parameters_min.
Referenced by libMesh::RBParametrized::check_if_valid_params(), libMesh::RBEIMConstruction::compute_max_eim_error(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::RBParametrized::get_n_continuous_params(), libMesh::RBSCMConstruction::print_info(), libMesh::RBEIMConstruction::print_info(), libMesh::RBConstruction::print_info(), set_eim_error_indicator_active(), and libMesh::RBConstruction::train_reduced_basis_with_POD().
const RBEIMEvaluation::NodeDataMap & RBEIMEvaluation::get_node_basis_function | ( | unsigned int | i | ) | const |
Get a reference to the i^th node basis function.
Definition at line 649 of file rb_eim_evaluation.C.
References _local_node_eim_basis_functions.
Referenced by libMesh::RBEIMConstruction::update_eim_matrices().
|
inherited |
Get maximum allowable value of parameter param_name
.
Definition at line 183 of file rb_parametrized.C.
References libMesh::RBParameters::get_value(), libMesh::RBParametrized::parameters_initialized, and libMesh::RBParametrized::parameters_max.
Referenced by libMesh::RBParametrized::check_if_valid_params(), libMesh::RBSCMConstruction::print_info(), libMesh::RBEIMConstruction::print_info(), and libMesh::RBConstruction::print_info().
|
inherited |
Get minimum allowable value of parameter param_name
.
Definition at line 176 of file rb_parametrized.C.
References libMesh::RBParameters::get_value(), libMesh::RBParametrized::parameters_initialized, and libMesh::RBParametrized::parameters_min.
Referenced by libMesh::RBParametrized::check_if_valid_params(), libMesh::RBSCMConstruction::print_info(), libMesh::RBEIMConstruction::print_info(), and libMesh::RBConstruction::print_info().
|
inherited |
Get a set that stores the parameter names.
Definition at line 129 of file rb_parametrized.C.
References libMesh::RBParametrized::parameters_initialized, and libMesh::RBParametrized::parameters_min.
|
inherited |
Get the current parameters.
Definition at line 155 of file rb_parametrized.C.
References libMesh::RBParametrized::parameters, and libMesh::RBParametrized::parameters_initialized.
Referenced by libMesh::TransientRBConstruction::add_scaled_mass_matrix(), libMesh::TransientRBEvaluation::cache_online_residual_terms(), libMesh::RBEvaluation::compute_residual_dual_norm(), libMesh::RBSCMConstruction::compute_SCM_bounds_on_training_set(), libMesh::RBSCMConstruction::enrich_C_J(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::RBEvaluation::eval_output_dual_norm(), libMesh::RBSCMConstruction::evaluate_stability_constant(), libMesh::RBConstruction::get_RB_error_bound(), libMesh::RBSCMEvaluation::get_SCM_LB(), libMesh::RBSCMEvaluation::get_SCM_UB(), SimpleRBEvaluation::get_stability_lower_bound(), libMesh::RBConstruction::greedy_termination_test(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::RBSCMEvaluation::legacy_read_offline_data_from_files(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), libMesh::RBConstruction::preevaluate_thetas(), libMesh::RBSCMConstruction::print_info(), libMesh::RBEIMConstruction::print_info(), libMesh::RBConstruction::print_info(), libMesh::RBParametrized::print_parameters(), libMesh::RBSCMConstruction::process_parameters_file(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::RBEvaluation::rb_solve(), libMesh::RBSCMEvaluation::save_current_parameters(), libMesh::RBEIMConstruction::train_eim_approximation_with_greedy(), libMesh::RBEIMConstruction::train_eim_approximation_with_POD(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::TransientRBConstruction::truth_solve(), libMesh::RBConstruction::truth_solve(), libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm(), and libMesh::RBConstruction::update_greedy_param_list().
|
inherited |
Get an RBParameters object that specifies the maximum allowable value for each parameter.
Definition at line 169 of file rb_parametrized.C.
References libMesh::RBParametrized::parameters_initialized, and libMesh::RBParametrized::parameters_max.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBSCMConstruction::process_parameters_file(), libMesh::RBEIMConstruction::set_rb_construction_parameters(), libMesh::RBConstruction::set_rb_construction_parameters(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
|
inherited |
Get an RBParameters object that specifies the minimum allowable value for each parameter.
Definition at line 162 of file rb_parametrized.C.
References libMesh::RBParametrized::parameters_initialized, and libMesh::RBParametrized::parameters_min.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBSCMConstruction::process_parameters_file(), libMesh::RBEIMConstruction::set_rb_construction_parameters(), libMesh::RBConstruction::set_rb_construction_parameters(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
RBParametrizedFunction & RBEIMEvaluation::get_parametrized_function | ( | ) |
Get a reference to the parametrized function.
Definition at line 89 of file rb_eim_evaluation.C.
References _parametrized_function.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), libMesh::RBEIMConstruction::enrich_eim_approximation(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), get_n_basis_functions(), libMesh::RBEIMConstruction::get_random_point_from_training_sample(), initialize_interpolation_points_spatial_indices(), initialize_param_fn_spatial_indices(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::RBEIMConstruction::initialize_qp_data(), libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), node_distribute_bfs(), rb_eim_solves(), read_in_basis_functions(), set_n_basis_functions(), libMesh::RBEIMConstruction::set_rb_construction_parameters(), side_distribute_bfs(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), libMesh::RBEIMConstruction::train_eim_approximation_with_greedy(), libMesh::RBEIMConstruction::train_eim_approximation_with_POD(), libMesh::RBEIMConstruction::update_eim_matrices(), and write_out_basis_functions().
const RBParametrizedFunction & RBEIMEvaluation::get_parametrized_function | ( | ) | const |
Get a const reference to the parametrized function.
Definition at line 96 of file rb_eim_evaluation.C.
References _parametrized_function.
|
static |
Same as get_parametrized_function_values_at_qps() except for node data.
Note that this does not do any parallel communication, so it is only applicable to looking up local values.
Definition at line 464 of file rb_eim_evaluation.C.
Referenced by get_eim_basis_function_node_local_value(), and get_parametrized_function_node_value().
|
static |
Same as get_parametrized_function_value() except for node data.
Unlike get_parametrized_function_node_local_value(), this does parallel communication, and therefore if can be used to look up values regardless of whether or not node_id
is local.
Definition at line 529 of file rb_eim_evaluation.C.
References libMesh::ParallelObject::comm(), get_parametrized_function_node_local_value(), TIMPI::Communicator::sum(), and value.
Referenced by libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), get_eim_basis_function_node_value(), and libMesh::RBEIMConstruction::store_eim_solutions_for_training_set().
|
static |
Same as get_parametrized_function_value() except for side data.
Definition at line 505 of file rb_eim_evaluation.C.
References libMesh::ParallelObject::comm(), get_parametrized_function_side_values_at_qps(), TIMPI::Communicator::sum(), and value.
Referenced by libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), get_eim_basis_function_side_value(), and libMesh::RBEIMConstruction::store_eim_solutions_for_training_set().
|
static |
Same as get_parametrized_function_values_at_qps() except for side data.
Definition at line 442 of file rb_eim_evaluation.C.
Referenced by get_eim_basis_function_side_values_at_qps(), and get_parametrized_function_side_value().
|
static |
Same as above, except that we just return the value at the qp^th quadrature point.
Definition at line 482 of file rb_eim_evaluation.C.
References libMesh::ParallelObject::comm(), get_parametrized_function_values_at_qps(), TIMPI::Communicator::sum(), and value.
Referenced by libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), get_eim_basis_function_value(), and libMesh::RBEIMConstruction::store_eim_solutions_for_training_set().
|
static |
Fill up values by evaluating the parametrized function pf
for all quadrature points on element elem_id
and component comp
.
Definition at line 421 of file rb_eim_evaluation.C.
Referenced by get_eim_basis_function_values_at_qps(), and get_parametrized_function_value().
bool RBEIMEvaluation::get_preserve_rb_eim_solutions | ( | ) | const |
Get _preserve_rb_eim_solutions.
Definition at line 886 of file rb_eim_evaluation.C.
References _preserve_rb_eim_solutions.
const std::vector< Real > & RBEIMEvaluation::get_rb_eim_error_indicators | ( | ) | const |
Return the EIM error indicator values from the most recent call to rb_eim_solves().
Definition at line 690 of file rb_eim_evaluation.C.
References _rb_eim_error_indicators.
const std::vector< DenseVector< Number > > & RBEIMEvaluation::get_rb_eim_solutions | ( | ) | const |
Return the EIM solution coefficients from the most recent call to rb_eim_solves().
Definition at line 659 of file rb_eim_evaluation.C.
References _rb_eim_solutions.
Referenced by libMesh::RBEIMConstruction::compute_max_eim_error().
Return entry index
for each solution in _rb_eim_solutions.
Definition at line 664 of file rb_eim_evaluation.C.
References _rb_eim_solutions, and libMesh::index_range().
Referenced by libMesh::RBEIMTheta::evaluate_vec().
const RBEIMEvaluation::SideQpDataMap & RBEIMEvaluation::get_side_basis_function | ( | unsigned int | i | ) | const |
Get a reference to the i^th side basis function.
Definition at line 643 of file rb_eim_evaluation.C.
References _local_side_eim_basis_functions.
Referenced by libMesh::RBEIMConstruction::update_eim_matrices().
const VectorizedEvalInput & RBEIMEvaluation::get_vec_eval_input | ( | ) | const |
Get the VectorizedEvalInput data.
Definition at line 3013 of file rb_eim_evaluation.C.
References _vec_eval_input.
Referenced by libMesh::RBEIMConstruction::get_random_point().
|
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().
void RBEIMEvaluation::initialize_eim_theta_objects | ( | ) |
Build a vector of RBTheta objects that accesses the components of the RB_solution member variable of this RBEvaluation.
Store these objects in the member vector rb_theta_objects.
Definition at line 403 of file rb_eim_evaluation.C.
References _rb_eim_theta_objects, build_eim_theta(), get_n_basis_functions(), and libMesh::make_range().
void RBEIMEvaluation::initialize_interpolation_points_spatial_indices | ( | ) |
Initialize _interpolation_points_spatial_indices.
Once this data is initialized, we can store it in the training data, and read it back in during the Online stage to be used in solves.
Definition at line 288 of file rb_eim_evaluation.C.
References _interpolation_points_spatial_indices, _vec_eval_input, get_parametrized_function(), and libMesh::RBParametrizedFunction::get_spatial_indices().
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder().
void RBEIMEvaluation::initialize_param_fn_spatial_indices | ( | ) |
The Online counterpart of initialize_interpolation_points_spatial_indices().
This is used to initialize the spatial indices data in _parametrized_function so that the _parametrized_function can be used in the Online stage without reconstructing the spatial indices on every element or node in the mesh.
Definition at line 296 of file rb_eim_evaluation.C.
References _interpolation_points_spatial_indices, _vec_eval_input, get_parametrized_function(), and libMesh::RBParametrizedFunction::initialize_spatial_indices().
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
|
inherited |
Initialize the parameter ranges and set current_parameters.
Parameter ranges are inclusive. The input min/max RBParameters should have exactly 1 sample each. Vector-valued samples are not currently supported for the min/max parameters or for discrete parameters.
Definition at line 53 of file rb_parametrized.C.
References libMesh::RBParametrized::_discrete_parameter_values, libMesh::RBParameters::begin_serialized(), libMesh::RBParameters::end_serialized(), libMesh::RBParameters::n_parameters(), libMesh::RBParameters::n_samples(), libMesh::Quality::name(), libMesh::RBParametrized::parameters_initialized, libMesh::RBParametrized::parameters_max, libMesh::RBParametrized::parameters_min, libMesh::Real, libMesh::RBParametrized::set_parameters(), and libMesh::RBParameters::set_value().
Referenced by libMesh::RBConstruction::enrich_basis_from_rhs_terms(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBDataDeserialization::load_parameter_ranges(), libMesh::RBSCMConstruction::perform_SCM_greedy(), libMesh::RBSCMConstruction::process_parameters_file(), libMesh::RBParametrized::read_parameter_data_from_files(), libMesh::RBEIMConstruction::set_rb_construction_parameters(), libMesh::RBConstruction::set_rb_construction_parameters(), RBParametersTest::testRBParametrized(), libMesh::RBEIMConstruction::train_eim_approximation_with_greedy(), libMesh::RBEIMConstruction::train_eim_approximation_with_POD(), libMesh::RBConstruction::train_reduced_basis_with_greedy(), and libMesh::RBConstruction::train_reduced_basis_with_POD().
|
inherited |
Initialize the parameter ranges and set current_parameters.
Definition at line 96 of file rb_parametrized.C.
References libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::RBParametrized::get_parameters_max(), libMesh::RBParametrized::get_parameters_min(), and libMesh::RBParametrized::initialize_parameters().
|
inherited |
Is parameter mu_name
discrete?
Definition at line 363 of file rb_parametrized.C.
References libMesh::RBParametrized::_discrete_parameter_values, and libMesh::RBParametrized::parameters_initialized.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), libMesh::RBEIMConstruction::print_info(), libMesh::RBConstruction::print_info(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
|
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().
|
inlineinherited |
Definition at line 103 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, libMesh::libmesh_assert(), and TIMPI::Communicator::size().
Referenced by libMesh::Partitioner::_find_global_index_by_pid_map(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::DofMap::add_constraints_to_send_list(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::System::add_vector(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::Partitioner::assign_partitioning(), libMesh::AztecLinearSolver< T >::AztecLinearSolver(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::DistributedMesh::clear_elems(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), libMesh::UnstructuredMesh::create_pid_mesh(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_scalar_dofs(), libMesh::DistributedMesh::DistributedMesh(), libMesh::EnsightIO::EnsightIO(), gather_bfs(), libMesh::MeshBase::get_info(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::DistributedMesh::insert_elem(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshBase::n_active_elem_on_proc(), libMesh::MeshBase::n_elem_on_proc(), libMesh::MeshBase::n_nodes_on_proc(), node_gather_bfs(), libMesh::Partitioner::partition(), libMesh::MeshBase::partition(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::prepare_send_list(), libMesh::DofMap::print_dof_constraints(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_header(), libMesh::CheckpointIO::read_nodes(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::System::read_serialized_vector(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::Partitioner::repartition(), OverlappingFunctorTest::run_partitioner_test(), libMesh::DofMap::scatter_constraints(), libMesh::DistributedMesh::set_next_unique_id(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), WriteVecAndScalar::setupTests(), side_gather_bfs(), DistributedMeshTest::testRemoteElemError(), CheckpointIOTest::testSplitter(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::VTKIO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::System::write_parallel_data(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), and libMesh::XdrIO::write_serialized_nodesets().
void RBEIMEvaluation::node_decrement_vector | ( | NodeDataMap & | v, |
const DenseVector< Number > & | coeffs | ||
) |
Same as decrement_vector() except for node data.
Definition at line 379 of file rb_eim_evaluation.C.
References _local_node_eim_basis_functions, get_n_basis_functions(), libMesh::index_range(), and libMesh::DenseVector< T >::size().
Referenced by libMesh::RBEIMConstruction::compute_max_eim_error(), and libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes().
|
private |
Same as distribute_bfs() except for node data.
Definition at line 2599 of file rb_eim_evaluation.C.
References _local_node_eim_basis_functions, TIMPI::Communicator::broadcast(), clear(), libMesh::ParallelObject::comm(), TIMPI::Communicator::gather(), libMesh::System::get_mesh(), get_parametrized_function(), libMesh::RBParametrizedFunction::get_parametrized_function_boundary_ids(), libMesh::index_range(), libMesh::make_range(), mesh, n_vars, node_boundary_id, libMesh::DofObject::processor_id(), TIMPI::Communicator::rank(), TIMPI::Communicator::scatter(), and TIMPI::Communicator::size().
Referenced by read_in_node_basis_functions().
|
private |
Same as gather_bfs() except for node data.
Definition at line 1978 of file rb_eim_evaluation.C.
References _local_node_eim_basis_functions, libMesh::ParallelObject::comm(), TIMPI::Communicator::gather(), libMesh::index_range(), TIMPI::Communicator::max(), libMesh::ParallelObject::n_processors(), n_vars, libMesh::ParallelObject::processor_id(), and TIMPI::Communicator::verify().
Referenced by write_out_node_basis_functions().
|
delete |
|
default |
|
inherited |
Print out all the discrete parameter values.
Definition at line 377 of file rb_parametrized.C.
References libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::Quality::name(), libMesh::out, and value.
Referenced by libMesh::RBSCMConstruction::print_info(), libMesh::RBEIMConstruction::print_info(), and libMesh::RBConstruction::print_info().
|
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 |
Print the contents of _local_eim_basis_functions to libMesh::out.
Helper function mainly useful for debugging.
Definition at line 1631 of file rb_eim_evaluation.C.
References _local_eim_basis_functions, _local_node_eim_basis_functions, _local_side_eim_basis_functions, libMesh::index_range(), and libMesh::out.
|
inherited |
Print the current parameters.
Definition at line 190 of file rb_parametrized.C.
References libMesh::RBParametrized::get_parameters(), libMesh::RBParametrized::parameters_initialized, and libMesh::RBParameters::print().
Referenced by libMesh::RBEIMConstruction::train_eim_approximation_with_greedy(), and libMesh::RBConstruction::train_reduced_basis_with_greedy().
|
inlineinherited |
Definition at line 114 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and TIMPI::Communicator::rank().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::Partitioner::assign_partitioning(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::Partitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::DistributedMesh::clear_elems(), libMesh::ExodusII_IO_Helper::close(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::compute_communication_map_parameters(), libMesh::Nemesis_IO_Helper::compute_internal_and_border_elems_and_internal_nodes(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::Nemesis_IO_Helper::compute_node_communication_maps(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::ExodusII_IO_Helper::create(), libMesh::DistributedMesh::delete_elem(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofMap::distribute_scalar_dofs(), libMesh::DistributedMesh::DistributedMesh(), libMesh::DofMap::end_dof(), libMesh::DofMap::end_old_dof(), libMesh::EnsightIO::EnsightIO(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::MeshFunction::find_element(), libMesh::MeshFunction::find_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::DofMap::first_dof(), libMesh::DofMap::first_old_dof(), gather_bfs(), libMesh::Nemesis_IO_Helper::get_cmap_params(), libMesh::Nemesis_IO_Helper::get_eb_info_global(), libMesh::Nemesis_IO_Helper::get_elem_cmap(), libMesh::Nemesis_IO_Helper::get_elem_map(), libMesh::MeshBase::get_info(), libMesh::DofMap::get_info(), libMesh::Nemesis_IO_Helper::get_init_global(), libMesh::Nemesis_IO_Helper::get_init_info(), libMesh::Nemesis_IO_Helper::get_loadbal_param(), libMesh::DofMap::get_local_constraints(), libMesh::Nemesis_IO_Helper::get_node_cmap(), libMesh::Nemesis_IO_Helper::get_node_map(), libMesh::Nemesis_IO_Helper::get_ns_param_global(), libMesh::Nemesis_IO_Helper::get_ss_param_global(), libMesh::SparsityPattern::Build::handle_vi_vj(), libMesh::LaplaceMeshSmoother::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), HeatSystem::init_data(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::ExodusII_IO_Helper::initialize_element_variables(), libMesh::ExodusII_IO_Helper::initialize_global_variables(), libMesh::ExodusII_IO_Helper::initialize_nodal_variables(), libMesh::DistributedMesh::insert_elem(), libMesh::DofMap::is_evaluable(), libMesh::SparsityPattern::Build::join(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DofMap::local_variable_indices(), main(), libMesh::MeshRefinement::make_coarsening_compatible(), AugmentSparsityOnInterface::mesh_reinit(), libMesh::TriangulatorInterface::MeshedHole::MeshedHole(), libMesh::MeshBase::n_active_local_elem(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::DofMap::n_local_dofs(), libMesh::System::n_local_dofs(), libMesh::MeshBase::n_local_elem(), libMesh::MeshBase::n_local_nodes(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::BoundaryInfo::n_shellface_conds(), node_gather_bfs(), libMesh::SparsityPattern::Build::operator()(), libMesh::DistributedMesh::own_node(), libMesh::BoundaryInfo::parallel_sync_node_ids(), libMesh::BoundaryInfo::parallel_sync_side_ids(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::print_dof_constraints(), libMesh::DofMap::process_mesh_constraint_rows(), libMesh::Nemesis_IO_Helper::put_cmap_params(), libMesh::Nemesis_IO_Helper::put_elem_cmap(), libMesh::Nemesis_IO_Helper::put_elem_map(), libMesh::Nemesis_IO_Helper::put_loadbal_param(), libMesh::Nemesis_IO_Helper::put_node_cmap(), libMesh::Nemesis_IO_Helper::put_node_map(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read(), libMesh::EquationSystems::read(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::ExodusII_IO_Helper::read_global_values(), libMesh::ExodusII_IO::read_header(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::System::read_legacy_data(), libMesh::DynaIO::read_mesh(), libMesh::ExodusII_IO_Helper::read_node_num_map(), libMesh::System::read_parallel_data(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::System::read_serialized_data(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::Nemesis_IO_Helper::read_var_names_impl(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DistributedMesh::renumber_nodes_and_elements(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::DistributedMesh::set_next_unique_id(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), side_gather_bfs(), ExodusTest< elem_type >::test_read_gold(), ExodusTest< elem_type >::test_write(), MeshInputTest::testAbaqusRead(), MeshInputTest::testCopyElementSolutionImpl(), MeshInputTest::testCopyElementVectorImpl(), MeshInputTest::testCopyNodalSolutionImpl(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshInputTest::testDynaFileMappings(), MeshInputTest::testDynaNoSplines(), MeshInputTest::testDynaReadElem(), MeshInputTest::testDynaReadPatch(), MeshInputTest::testExodusFileMappings(), MeshInputTest::testExodusIGASidesets(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), MeshInputTest::testLowOrderEdgeBlocks(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), BoundaryInfoTest::testShellFaceConstraints(), MeshInputTest::testSingleElementImpl(), WriteVecAndScalar::testSolution(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), libMesh::MeshTools::total_weight(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::DTKAdapter::update_variable_values(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::CheckpointIO::write(), libMesh::EquationSystems::write(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO::write_element_data(), libMesh::ExodusII_IO_Helper::write_element_values(), libMesh::ExodusII_IO_Helper::write_element_values_element_major(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::ExodusII_IO_Helper::write_elemset_data(), libMesh::ExodusII_IO_Helper::write_elemsets(), libMesh::ExodusII_IO::write_global_data(), libMesh::ExodusII_IO_Helper::write_global_values(), libMesh::System::write_header(), libMesh::ExodusII_IO::write_information_records(), libMesh::ExodusII_IO_Helper::write_information_records(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::UCDIO::write_nodal_data(), libMesh::VTKIO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data_common(), libMesh::ExodusII_IO::write_nodal_data_discontinuous(), libMesh::ExodusII_IO_Helper::write_nodal_values(), libMesh::ExodusII_IO_Helper::write_nodeset_data(), libMesh::Nemesis_IO_Helper::write_nodesets(), libMesh::ExodusII_IO_Helper::write_nodesets(), write_out_interior_basis_functions(), write_out_node_basis_functions(), write_out_side_basis_functions(), write_output_solvedata(), libMesh::System::write_parallel_data(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bc_names(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::System::write_serialized_data(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::XdrIO::write_serialized_subdomain_names(), libMesh::System::write_serialized_vector(), libMesh::System::write_serialized_vectors(), libMesh::ExodusII_IO_Helper::write_sideset_data(), libMesh::Nemesis_IO_Helper::write_sidesets(), libMesh::ExodusII_IO_Helper::write_sidesets(), libMesh::ExodusII_IO::write_timestep(), libMesh::ExodusII_IO_Helper::write_timestep(), and libMesh::ExodusII_IO::write_timestep_discontinuous().
void RBEIMEvaluation::project_qp_data_map_onto_system | ( | System & | sys, |
const QpDataMap & | bf_data, | ||
unsigned int | var | ||
) |
Project variable var
of bf_data
into the solution vector of System.
Definition at line 2821 of file rb_eim_evaluation.C.
References libMesh::DenseMatrix< T >::cholesky_solve(), libMesh::System::current_local_solution, dim, libMesh::MeshBase::elem_dimensions(), libMesh::FEAbstract::get_JxW(), libMesh::System::get_mesh(), libMesh::FEGenericBase< OutputType >::get_phi(), libMesh::make_range(), libMesh::System::n_vars(), and libMesh::System::solution.
Referenced by write_out_projected_basis_functions().
DenseVector< Number > RBEIMEvaluation::rb_eim_solve | ( | DenseVector< Number > & | EIM_rhs | ) |
Calculate the EIM approximation for the given right-hand side vector EIM_rhs
.
Store the solution coefficients in the member _eim_solution.
Definition at line 103 of file rb_eim_evaluation.C.
References _interpolation_matrix, get_n_basis_functions(), libMesh::DenseMatrix< T >::get_principal_submatrix(), libMesh::DenseMatrix< T >::lu_solve(), and libMesh::DenseVector< T >::size().
Referenced by libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), and libMesh::RBEIMConstruction::store_eim_solutions_for_training_set().
void RBEIMEvaluation::rb_eim_solves | ( | const std::vector< RBParameters > & | mus, |
unsigned int | N | ||
) |
Perform rb_eim_solves at each mu in mus
and store the results in _rb_eim_solutions.
Definition at line 122 of file rb_eim_evaluation.C.
References _eim_solutions_for_training_set, _interpolation_matrix, _interpolation_points_comp, _is_eim_error_indicator_active, _preserve_rb_eim_solutions, _rb_eim_error_indicators, _rb_eim_solutions, _rb_eim_solves_mus, _rb_eim_solves_N, _vec_eval_input, get_eim_error_indicator(), get_n_basis_functions(), get_parametrized_function(), libMesh::DenseMatrix< T >::get_principal_submatrix(), libMesh::index_range(), libMesh::libmesh_ignore(), libMesh::DenseMatrix< T >::lu_solve(), libMesh::make_range(), libMesh::RBParametrizedFunction::node_vectorized_evaluate(), libMesh::Real, libMesh::RBParametrizedFunction::side_vectorized_evaluate(), and libMesh::RBParametrizedFunction::vectorized_evaluate().
Referenced by libMesh::RBEIMConstruction::compute_max_eim_error(), and libMesh::RBEIMTheta::evaluate_vec().
void RBEIMEvaluation::read_in_basis_functions | ( | const System & | sys, |
const std::string & | directory_name = "offline_data" , |
||
bool | read_binary_basis_functions = true |
||
) |
Read in all the basis functions from file.
sys | The Mesh in this System determines the parallel distribution of the basis functions. |
directory_name | Specifies which directory to write files to. |
read_binary_basis_functions | Indicates whether to expect binary or ASCII data. |
Note: this is not a virtual function and is not related to the RBEvaluation function of the same name.
Definition at line 1325 of file rb_eim_evaluation.C.
References get_n_basis_functions(), get_parametrized_function(), read_in_interior_basis_functions(), read_in_node_basis_functions(), and read_in_side_basis_functions().
|
private |
Method that reads in element interior EIM basis functions.
This may be called by read_in_basis_functions().
Definition at line 1344 of file rb_eim_evaluation.C.
References _local_eim_basis_functions, libMesh::ParallelObject::comm(), libMesh::Xdr::data(), libMesh::DECODE, distribute_bfs(), libMesh::index_range(), libMesh::MeshTools::n_elem(), n_vars, TIMPI::Communicator::rank(), and libMesh::READ.
Referenced by read_in_basis_functions().
|
private |
Method that reads in element node EIM basis functions.
This may be called by read_in_basis_functions().
Definition at line 1551 of file rb_eim_evaluation.C.
References _local_node_eim_basis_functions, libMesh::ParallelObject::comm(), libMesh::Xdr::data(), libMesh::DECODE, libMesh::index_range(), n_vars, node_distribute_bfs(), TIMPI::Communicator::rank(), and libMesh::READ.
Referenced by read_in_basis_functions().
|
private |
Method that reads in element side EIM basis functions.
This may be called by read_in_basis_functions().
Definition at line 1443 of file rb_eim_evaluation.C.
References _local_side_eim_basis_functions, libMesh::ParallelObject::comm(), libMesh::Xdr::data(), libMesh::DECODE, libMesh::index_range(), n_vars, TIMPI::Communicator::rank(), libMesh::READ, and side_distribute_bfs().
Referenced by read_in_basis_functions().
|
inherited |
Read in the parameter ranges from files.
Definition at line 274 of file rb_parametrized.C.
References libMesh::RBParametrized::initialize_parameters(), libMesh::RBParametrized::read_discrete_parameter_values_from_file(), and libMesh::RBParametrized::read_parameter_ranges_from_file().
Referenced by libMesh::RBSCMEvaluation::legacy_read_offline_data_from_files(), and libMesh::RBEvaluation::legacy_read_offline_data_from_files().
void RBEIMEvaluation::resize_data_structures | ( | const unsigned int | Nmax | ) |
Resize the data structures for storing data associated with this object.
Definition at line 72 of file rb_eim_evaluation.C.
References _interpolation_matrix, _interpolation_points_comp, _interpolation_points_spatial_indices, _vec_eval_input, libMesh::VectorizedEvalInput::all_xyz, libMesh::VectorizedEvalInput::clear(), and libMesh::DenseMatrix< T >::resize().
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), libMesh::RBEIMConstruction::train_eim_approximation_with_greedy(), and libMesh::RBEIMConstruction::train_eim_approximation_with_POD().
const std::set< unsigned int > & RBEIMEvaluation::scale_components_in_enrichment | ( | ) | const |
Get _scale_components_in_enrichment.
Definition at line 2954 of file rb_eim_evaluation.C.
References _scale_components_in_enrichment.
Referenced by libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), and libMesh::RBEIMConstruction::train_eim_approximation_with_POD().
void RBEIMEvaluation::set_eim_error_indicator_active | ( | bool | is_active | ) |
Activate/decative the error indicator in EIM solves.
We need this option since in some cases (e.g. during EIM training) we do not want to activate the EIM error indicator, whereas in "online solves" we do want to activate it.
Definition at line 2966 of file rb_eim_evaluation.C.
References _is_eim_error_indicator_active, get_n_basis_functions(), get_n_interpolation_points(), libMesh::RBParametrized::get_n_params(), and use_eim_error_indicator().
Referenced by libMesh::RBEIMTheta::evaluate_vec().
void RBEIMEvaluation::set_error_indicator_interpolation_row | ( | const DenseVector< Number > & | error_indicator_row | ) |
Definition at line 3023 of file rb_eim_evaluation.C.
References _error_indicator_interpolation_row.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), and libMesh::RBEIMConstruction::update_eim_matrices().
void RBEIMEvaluation::set_interpolation_matrix_entry | ( | unsigned int | i, |
unsigned int | j, | ||
Number | value | ||
) |
Set entry of the EIM interpolation matrix.
Definition at line 868 of file rb_eim_evaluation.C.
References _interpolation_matrix, libMesh::DenseMatrixBase< T >::m(), libMesh::DenseMatrixBase< T >::n(), and value.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), and libMesh::RBEIMConstruction::update_eim_matrices().
void RBEIMEvaluation::set_n_basis_functions | ( | unsigned int | n_bfs | ) |
Set the number of basis functions.
Useful when reading in stored data.
Definition at line 317 of file rb_eim_evaluation.C.
References _local_eim_basis_functions, _local_node_eim_basis_functions, _local_side_eim_basis_functions, and get_parametrized_function().
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
|
inherited |
Set the current parameters to params
The parameters are checked for validity; an error is thrown if the number of parameters or samples is different than expected.
We
Definition at line 141 of file rb_parametrized.C.
References libMesh::RBParametrized::check_if_valid_params(), libMesh::RBParametrized::parameters, and libMesh::RBParametrized::parameters_initialized.
Referenced by libMesh::RBSCMConstruction::compute_SCM_bounds_on_training_set(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::RBConstruction::get_RB_error_bound(), SimpleRBEvaluation::get_stability_lower_bound(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBSCMEvaluation::reload_current_parameters(), libMesh::RBSCMEvaluation::set_current_parameters_from_C_J(), and RBParametersTest::testRBParametrized().
void RBEIMEvaluation::set_parametrized_function | ( | std::unique_ptr< RBParametrizedFunction > | pf | ) |
Set the parametrized function that we will approximate using the Empirical Interpolation Method.
This object will take ownership of the unique pointer.
Definition at line 84 of file rb_eim_evaluation.C.
References _parametrized_function.
void RBEIMEvaluation::set_preserve_rb_eim_solutions | ( | bool | preserve_rb_eim_solutions | ) |
Set _preserve_rb_eim_solutions.
Definition at line 881 of file rb_eim_evaluation.C.
References _preserve_rb_eim_solutions.
void RBEIMEvaluation::set_rb_eim_solutions | ( | const std::vector< DenseVector< Number >> & | rb_eim_solutions | ) |
Set _rb_eim_solutions.
Normally we update _rb_eim_solutions by performing and EIM solve, but in some cases we want to set the EIM solution coefficients elsewhere, so this setter enables us to do that.
Definition at line 654 of file rb_eim_evaluation.C.
References _rb_eim_solutions.
void RBEIMEvaluation::side_decrement_vector | ( | SideQpDataMap & | v, |
const DenseVector< Number > & | coeffs | ||
) |
Same as decrement_vector() except for Side data.
Definition at line 353 of file rb_eim_evaluation.C.
References _local_side_eim_basis_functions, get_n_basis_functions(), libMesh::index_range(), and libMesh::DenseVector< T >::size().
Referenced by libMesh::RBEIMConstruction::compute_max_eim_error(), and libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides().
|
private |
Same as distribute_bfs() except for side data.
Definition at line 2324 of file rb_eim_evaluation.C.
References _local_side_eim_basis_functions, TIMPI::Communicator::broadcast(), clear(), libMesh::ParallelObject::comm(), TIMPI::Communicator::gather(), libMesh::System::get_mesh(), get_parametrized_function(), libMesh::RBParametrizedFunction::get_parametrized_function_boundary_ids(), libMesh::index_range(), libMesh::make_range(), mesh, n_vars, TIMPI::Communicator::rank(), TIMPI::Communicator::scatter(), and TIMPI::Communicator::size().
Referenced by read_in_side_basis_functions().
|
private |
Same as gather_bfs() except for side data.
Definition at line 1830 of file rb_eim_evaluation.C.
References _local_side_eim_basis_functions, libMesh::ParallelObject::comm(), TIMPI::Communicator::gather(), libMesh::index_range(), TIMPI::Communicator::max(), libMesh::ParallelObject::n_processors(), n_vars, libMesh::ParallelObject::processor_id(), and TIMPI::Communicator::verify().
Referenced by write_out_side_basis_functions().
|
virtual |
Virtual function to indicate if we use the EIM error indicator in this case.
This indicates if we will generate the data during the Offline training for the EIM error indicator. In EIM solves, the error indicator will only be used if set_eim_error_indicator_active() is set to true, since we want to be able to enable or disable the error indicator depending on the type of solve we are doing (e.g. EIM solves during training do not need the error indicator).
Definition at line 2959 of file rb_eim_evaluation.C.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), libMesh::RBEIMConstruction::reinit_eim_projection_matrix(), set_eim_error_indicator_active(), libMesh::RBEIMConstruction::train_eim_approximation_with_greedy(), and libMesh::RBEIMConstruction::train_eim_approximation_with_POD().
void RBEIMEvaluation::write_out_basis_functions | ( | const std::string & | directory_name = "offline_data" , |
bool | write_binary_basis_functions = true |
||
) |
Write out all the basis functions to file.
sys
is used for file IO directory_name
specifies which directory to write files to read_binary_basis_functions
indicates whether to write binary or ASCII data
Note: this is not currently a virtual function and is not related to the RBEvaluation function of the same name.
Definition at line 986 of file rb_eim_evaluation.C.
References get_parametrized_function(), write_out_interior_basis_functions(), write_out_node_basis_functions(), and write_out_side_basis_functions().
|
private |
Method that writes out element interior EIM basis functions.
This may be called by write_out_basis_functions().
Definition at line 1000 of file rb_eim_evaluation.C.
References _local_eim_basis_functions, libMesh::ParallelObject::comm(), libMesh::ENCODE, gather_bfs(), libMesh::index_range(), libMesh::Utility::mkdir(), libMesh::MeshTools::n_elem(), n_vars, libMesh::ParallelObject::processor_id(), TIMPI::Communicator::verify(), and libMesh::WRITE.
Referenced by write_out_basis_functions().
|
private |
Method that writes out element node EIM basis functions.
This may be called by write_out_basis_functions().
Definition at line 1230 of file rb_eim_evaluation.C.
References _local_node_eim_basis_functions, libMesh::ParallelObject::comm(), libMesh::ENCODE, libMesh::index_range(), libMesh::Utility::mkdir(), n_vars, node_gather_bfs(), libMesh::ParallelObject::processor_id(), TIMPI::Communicator::verify(), and libMesh::WRITE.
Referenced by write_out_basis_functions().
void RBEIMEvaluation::write_out_projected_basis_functions | ( | System & | sys, |
const std::string & | directory_name = "offline_data" |
||
) |
Project all basis functions using project_qp_data_map_onto_system() and then write out the resulting vectors.
Definition at line 2921 of file rb_eim_evaluation.C.
References get_basis_function(), get_eim_vars_to_project_and_write(), get_n_basis_functions(), libMesh::index_range(), libMesh::make_range(), project_qp_data_map_onto_system(), libMesh::System::solution, and libMesh::RBEvaluation::write_out_vectors().
|
private |
Method that writes out element side EIM basis functions.
This may be called by write_out_basis_functions().
Definition at line 1114 of file rb_eim_evaluation.C.
References _local_side_eim_basis_functions, libMesh::ParallelObject::comm(), libMesh::ENCODE, libMesh::index_range(), libMesh::Utility::mkdir(), libMesh::MeshTools::n_elem(), n_vars, libMesh::ParallelObject::processor_id(), side_gather_bfs(), TIMPI::Communicator::verify(), and libMesh::WRITE.
Referenced by write_out_basis_functions().
|
inherited |
Write out the parameter ranges to files.
Definition at line 197 of file rb_parametrized.C.
References libMesh::RBParametrized::write_discrete_parameter_values_to_file(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
Referenced by libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), and libMesh::RBEvaluation::legacy_write_offline_data_to_files().
|
protectedinherited |
Definition at line 120 of file parallel_object.h.
Referenced by libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::ParallelObject::comm(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), libMesh::ParallelObject::processor_id(), and libMesh::BoundaryInfo::regenerate_id_sets().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 124 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info().
|
private |
Storage for EIM solutions from the training set.
This is typically used in the case that we have is_lookup_table==true in our RBParametrizedFunction, since in that case we need to store all the EIM solutions on the training set so that we do not always need to refer to the lookup table itself (since in some cases, like in the Online stage, the lookup table is not available).
Definition at line 670 of file rb_eim_evaluation.h.
Referenced by get_eim_solutions_for_training_set(), and rb_eim_solves().
|
protected |
This set specifies which EIM variables will be projected and written out in write_out_projected_basis_functions().
By default this is an empty set, but can be updated in subclasses to specify the EIM variables that are relevant for visualization.
Definition at line 591 of file rb_eim_evaluation.h.
Referenced by get_eim_vars_to_project_and_write().
|
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().
|
private |
Here we store an extra row of the interpolation matrix which is used to compute the EIM error indicator.
This stores the EIM basis function values at the extra point associated with the error indicator.
Definition at line 813 of file rb_eim_evaluation.h.
Referenced by get_eim_error_indicator(), get_error_indicator_interpolation_row(), and set_error_indicator_interpolation_row().
|
private |
Dense matrix that stores the lower triangular interpolation matrix that can be used.
Definition at line 685 of file rb_eim_evaluation.h.
Referenced by clear(), get_interpolation_matrix(), rb_eim_solve(), rb_eim_solves(), resize_data_structures(), and set_interpolation_matrix_entry().
|
private |
In the case of a "vector-valued" EIM, this vector determines which component of the parameterized function we sample at each EIM point.
Definition at line 696 of file rb_eim_evaluation.h.
Referenced by add_interpolation_data(), add_interpolation_points_comp(), add_node_interpolation_data(), add_side_interpolation_data(), clear(), get_interpolation_points_comp(), rb_eim_solves(), and resize_data_structures().
|
private |
Here we store the spatial indices that were initialized by initialize_spatial_indices_at_interp_pts().
These are relevant in the case that _parametrized_function is defined by indexing into separate data based on the mesh-based data.
Definition at line 704 of file rb_eim_evaluation.h.
Referenced by add_interpolation_points_spatial_indices(), clear(), get_interpolation_points_spatial_indices(), get_n_interpolation_points_spatial_indices(), initialize_interpolation_points_spatial_indices(), initialize_param_fn_spatial_indices(), and resize_data_structures().
|
private |
Indicate if the EIM error indicator is active in RB EIM solves.
Note that this is distinct from use_eim_error_indicator(), since use_eim_error_indicator() indicates if this RBEIMEvaluation has an EIM error indicator defined, whereas _is_eim_error_indicator_active is used to turn on or off the error indicator. This primary purpose of _is_eim_error_indicator_active is to turn the error indicator off during EIM training (when it is not relevant) and to turn it on during "online solves".
Definition at line 806 of file rb_eim_evaluation.h.
Referenced by rb_eim_solves(), and set_eim_error_indicator_active().
|
private |
The EIM basis functions.
We store values at quadrature points on elements that are local to this processor. The indexing is as follows: basis function index –> element ID –> variable –> quadrature point –> value We use a map to index the element ID, since the IDs on this processor in general will not start at zero.
Definition at line 728 of file rb_eim_evaluation.h.
Referenced by add_basis_function(), decrement_vector(), distribute_bfs(), gather_bfs(), get_basis_function(), get_eim_basis_function_value(), get_eim_basis_function_values_at_qps(), get_n_basis_functions(), print_local_eim_basis_functions(), read_in_interior_basis_functions(), set_n_basis_functions(), and write_out_interior_basis_functions().
|
private |
The EIM basis functions on element nodes (e.g.
on a nodeset). We store values at nodes that are local to this processor. The indexing is as follows: basis function index –> node ID –> variable –> value We use a map to index the node ID, since the IDs on this processor in general will not start at zero.
Definition at line 748 of file rb_eim_evaluation.h.
Referenced by add_node_basis_function(), get_eim_basis_function_node_local_value(), get_eim_basis_function_node_value(), get_n_basis_functions(), get_node_basis_function(), node_decrement_vector(), node_distribute_bfs(), node_gather_bfs(), print_local_eim_basis_functions(), read_in_node_basis_functions(), set_n_basis_functions(), and write_out_node_basis_functions().
|
private |
The EIM basis functions on element sides.
We store values at quadrature points on elements that are local to this processor. The indexing is as follows: basis function index –> (element ID,side index) –> variable –> quadrature point –> value We use a map to index the element ID, since the IDs on this processor in general will not start at zero.
Definition at line 738 of file rb_eim_evaluation.h.
Referenced by add_side_basis_function(), get_eim_basis_function_side_value(), get_eim_basis_function_side_values_at_qps(), get_n_basis_functions(), get_side_basis_function(), print_local_eim_basis_functions(), read_in_side_basis_functions(), set_n_basis_functions(), side_decrement_vector(), side_distribute_bfs(), side_gather_bfs(), and write_out_side_basis_functions().
|
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 |
Store the parametrized function that will be approximated by this EIM system.
Note that the parametrized function may have more than one component, and each component is approximated by a separate variable in the EIM system.
Definition at line 712 of file rb_eim_evaluation.h.
Referenced by get_parametrized_function(), and set_parametrized_function().
|
private |
Boolean to indicate if we skip updating _rb_eim_solutions in rb_eim_solves().
This is relevant for cases when we set up _rb_eim_solutions elsewhere and we want to avoid changing it.
Definition at line 795 of file rb_eim_evaluation.h.
Referenced by get_preserve_rb_eim_solutions(), rb_eim_solves(), and set_preserve_rb_eim_solutions().
|
private |
If we're using the EIM error indicator, then we store the error indicator values corresponding to _rb_eim_solutions here.
Definition at line 660 of file rb_eim_evaluation.h.
Referenced by get_rb_eim_error_indicators(), and rb_eim_solves().
|
private |
The EIM solution coefficients from the most recent call to rb_eim_solves().
Definition at line 654 of file rb_eim_evaluation.h.
Referenced by get_rb_eim_solutions(), get_rb_eim_solutions_entries(), rb_eim_solves(), and set_rb_eim_solutions().
|
private |
The parameters and the number of basis functions that were used in the most recent call to rb_eim_solves().
We store this so that we can check if we can skip calling rb_eim_solves() again if the inputs haven't changed.
Definition at line 678 of file rb_eim_evaluation.h.
Referenced by rb_eim_solves().
|
private |
Definition at line 679 of file rb_eim_evaluation.h.
Referenced by rb_eim_solves().
|
private |
The vector of RBTheta objects that are created to point to this RBEIMEvaluation.
Definition at line 718 of file rb_eim_evaluation.h.
Referenced by clear(), get_eim_theta_objects(), and initialize_eim_theta_objects().
|
protected |
This set that specifies which EIM variables will be scaled during EIM enrichment so that their maximum value matches the maximum value across all variables.
This is helpful in cases where some components are much smaller in magnitude than others, since in those cases if we do not apply component scaling to the small components then the accuracy of the EIM approximation for those components will not be controlled well by the EIM enrichment process.
Definition at line 602 of file rb_eim_evaluation.h.
Referenced by scale_components_in_enrichment().
|
private |
We store the EIM interpolation point data in this object.
Definition at line 690 of file rb_eim_evaluation.h.
Referenced by add_interpolation_data(), add_interpolation_points_boundary_id(), add_interpolation_points_elem_id(), add_interpolation_points_elem_type(), add_interpolation_points_JxW_all_qp(), add_interpolation_points_node_id(), add_interpolation_points_phi_i_all_qp(), add_interpolation_points_phi_i_qp(), add_interpolation_points_qp(), add_interpolation_points_side_index(), add_interpolation_points_subdomain_id(), add_interpolation_points_xyz(), add_interpolation_points_xyz_perturbations(), add_node_interpolation_data(), add_side_interpolation_data(), clear(), get_interpolation_points_boundary_id(), get_interpolation_points_elem_id(), get_interpolation_points_elem_type(), get_interpolation_points_JxW_all_qp(), get_interpolation_points_node_id(), get_interpolation_points_phi_i_all_qp(), get_interpolation_points_phi_i_qp(), get_interpolation_points_qp(), get_interpolation_points_side_index(), get_interpolation_points_subdomain_id(), get_interpolation_points_xyz(), get_interpolation_points_xyz_perturbations(), get_n_interpolation_points(), get_vec_eval_input(), initialize_interpolation_points_spatial_indices(), initialize_param_fn_spatial_indices(), rb_eim_solves(), and resize_data_structures().
|
inherited |
Public boolean to toggle verbose mode.
Definition at line 191 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::check_if_valid_params().