libMesh
|
This class is part of the rbOOmit framework. More...
#include <rb_eim_construction.h>
Public Types | |
enum | BEST_FIT_TYPE { PROJECTION_BEST_FIT, EIM_BEST_FIT, POD_BEST_FIT } |
typedef RBEIMEvaluation::QpDataMap | QpDataMap |
Type of the data structure used to map from (elem id) -> [n_vars][n_qp] data. More... | |
typedef RBEIMEvaluation::SideQpDataMap | SideQpDataMap |
Type of the data structure used to map from (elem id,side_index) -> [n_vars][n_qp] data. More... | |
typedef RBEIMEvaluation::NodeDataMap | NodeDataMap |
Type of the data structure used to map from node id -> [n_vars] data. More... | |
typedef RBConstructionBase< System > | sys_type |
The type of system. More... | |
typedef Number(* | ValueFunctionPointer) (const Point &p, const Parameters &Parameters, const std::string &sys_name, const std::string &unknown_name) |
Projects arbitrary functions onto the current solution. More... | |
typedef Gradient(* | GradientFunctionPointer) (const Point &p, const Parameters ¶meters, const std::string &sys_name, const std::string &unknown_name) |
typedef std::map< std::string, std::unique_ptr< NumericVector< Number > >, std::less<> >::iterator | vectors_iterator |
Vector iterator typedefs. More... | |
typedef std::map< std::string, std::unique_ptr< NumericVector< Number > >, std::less<> >::const_iterator | const_vectors_iterator |
typedef std::map< std::string, std::unique_ptr< SparseMatrix< Number > >, std::less<> >::iterator | matrices_iterator |
Matrix iterator typedefs. More... | |
typedef std::map< std::string, std::unique_ptr< SparseMatrix< Number > >, std::less<> >::const_iterator | const_matrices_iterator |
Public Member Functions | |
RBEIMConstruction (EquationSystems &es, const std::string &name, const unsigned int number) | |
Constructor. More... | |
RBEIMConstruction (RBEIMConstruction &&)=default | |
Special functions. More... | |
RBEIMConstruction (const RBEIMConstruction &)=delete | |
RBEIMConstruction & | operator= (const RBEIMConstruction &)=delete |
RBEIMConstruction & | operator= (RBEIMConstruction &&)=delete |
virtual | ~RBEIMConstruction () |
virtual void | clear () override |
Clear this object. More... | |
void | set_rb_eim_evaluation (RBEIMEvaluation &rb_eim_eval_in) |
Set the RBEIMEvaluation object. More... | |
RBEIMEvaluation & | get_rb_eim_evaluation () |
Get a reference to the RBEvaluation object. More... | |
const RBEIMEvaluation & | get_rb_eim_evaluation () const |
Get a const reference to the RBEvaluation object. More... | |
void | initialize_eim_construction () |
Perform initialization of this object to prepare for running train_eim_approximation(). More... | |
virtual void | process_parameters_file (const std::string ¶meters_filename) |
Read parameters in from file and set up this system accordingly. More... | |
void | set_rb_construction_parameters (unsigned int n_training_samples_in, bool deterministic_training_in, int training_parameters_random_seed_in, bool quiet_mode_in, unsigned int Nmax_in, Real rel_training_tolerance_in, Real abs_training_tolerance_in, const RBParameters &mu_min_in, const RBParameters &mu_max_in, const std::map< std::string, std::vector< Real >> &discrete_parameter_values_in, const std::map< std::string, bool > &log_scaling, std::map< std::string, std::vector< RBParameter >> *training_sample_list=nullptr) |
Set the state of this RBConstruction object based on the arguments to this function. More... | |
virtual void | set_best_fit_type_flag (const std::string &best_fit_type_string) |
Specify which type of "best fit" we use to guide the EIM greedy algorithm. More... | |
virtual void | print_info () |
Print out info that describes the current setup of this RBConstruction. More... | |
void | apply_normalization_to_solution_snapshots () |
Rescale solution snapshots so that they all have unity norm. More... | |
virtual Real | train_eim_approximation () |
Generate the EIM approximation for the specified parametrized function using either POD or the Greedy Algorithm. More... | |
virtual Real | train_eim_approximation_with_greedy () |
Generate the EIM approximation for the specified parametrized function using the Greedy Algorithm. More... | |
virtual Real | train_eim_approximation_with_POD () |
Generate the EIM approximation for the specified parametrized function using Proper Orthogonal Decomposition (POD). More... | |
virtual void | initialize_eim_assembly_objects () |
Build a vector of ElemAssembly objects that accesses the basis functions stored in this RBEIMConstruction object. More... | |
std::vector< std::unique_ptr< ElemAssembly > > & | get_eim_assembly_objects () |
virtual std::unique_ptr< ElemAssembly > | build_eim_assembly (unsigned int bf_index)=0 |
Build an element assembly object that will access basis function bf_index . More... | |
virtual void | init_context (FEMContext &) |
Pre-request FE data needed for calculations. More... | |
void | set_rel_training_tolerance (Real new_training_tolerance) |
Get/set the relative tolerance for the basis training. More... | |
Real | get_rel_training_tolerance () |
void | set_abs_training_tolerance (Real new_training_tolerance) |
Get/set the absolute tolerance for the basis training. More... | |
Real | get_abs_training_tolerance () |
unsigned int | get_Nmax () const |
Get/set Nmax, the maximum number of RB functions we are willing to compute. More... | |
virtual void | set_Nmax (unsigned int Nmax) |
void | enable_set_Nmax_from_n_snapshots (int increment) |
Call this method to set _set_Nmax_from_n_snapshots=true and _Nmax_from_n_snapshots_increment=increment. More... | |
void | disable_set_Nmax_from_n_snapshots () |
Call this method to set _set_Nmax_from_n_snapshots=false and reset _Nmax_from_n_snapshots_increment to 0. More... | |
Real | get_max_abs_value_in_training_set () const |
Get the maximum value (across all processors) from the parametrized functions in the training set. More... | |
void | store_eim_solutions_for_training_set () |
Get the EIM solution vector at all parametrized functions in the training set. More... | |
const QpDataMap & | get_parametrized_function_from_training_set (unsigned int training_index) const |
Get a const reference to the specified parametrized function from the training set. More... | |
const SideQpDataMap & | get_side_parametrized_function_from_training_set (unsigned int training_index) const |
const NodeDataMap & | get_node_parametrized_function_from_training_set (unsigned int training_index) const |
const std::unordered_map< dof_id_type, std::vector< Real > > & | get_local_quad_point_JxW () |
Get the interior and side quadrature weights. More... | |
const std::map< std::pair< dof_id_type, unsigned int >, std::vector< Real > > & | get_local_side_quad_point_JxW () |
unsigned int | get_n_parametrized_functions_for_training () const |
Get the number of parametrized functions used for training. More... | |
void | reinit_eim_projection_matrix () |
Zero the _eim_projection_matrix and resize it to be get_Nmax() x get_Nmax(). More... | |
sys_type & | system () |
void | set_quiet_mode (bool quiet_mode_in) |
Set the quiet_mode flag. More... | |
bool | is_quiet () const |
Is the system in quiet mode? More... | |
void | set_normalize_solution_snapshots (bool value) |
Set the boolean option that indicates if we normalization solution snapshots or not. More... | |
numeric_index_type | get_n_training_samples () const |
Get the number of global training samples. More... | |
numeric_index_type | get_local_n_training_samples () const |
Get the total number of training samples local to this processor. More... | |
numeric_index_type | get_first_local_training_index () const |
Get the first local index of the training parameters. More... | |
numeric_index_type | get_last_local_training_index () const |
Get the last local index of the training parameters. More... | |
virtual void | initialize_training_parameters (const RBParameters &mu_min, const RBParameters &mu_max, const unsigned int n_global_training_samples, const std::map< std::string, bool > &log_param_scale, const bool deterministic=true) |
Initialize the parameter ranges and indicate whether deterministic or random training parameters should be used and whether or not we want the parameters to be scaled logarithmically. More... | |
virtual void | load_training_set (const std::map< std::string, std::vector< RBParameter >> &new_training_set) |
Overwrite the training parameters with new_training_set. More... | |
void | set_training_parameter_values (const std::string ¶m_name, const std::vector< RBParameter > &values) |
Overwrite the local training samples for param_name using values . More... | |
void | broadcast_parameters (const unsigned int proc_id) |
Broadcasts parameters from processor proc_id to all processors. More... | |
void | set_training_random_seed (int seed) |
Set the seed that is used to randomly generate training parameters. More... | |
void | set_deterministic_training_parameter_name (const std::string &name) |
In some cases we only want to allow discrete parameter values, instead of parameters that may take any value in a specified interval. More... | |
const std::string & | get_deterministic_training_parameter_name () const |
Get the name of the parameter that we will generate deterministic training parameters for. More... | |
void | init () |
Initializes degrees of freedom on the current mesh. More... | |
virtual void | reinit () |
Reinitializes degrees of freedom and other required data on the current mesh. More... | |
virtual void | reinit_constraints () |
Reinitializes the constraints for this system. More... | |
virtual void | reinit_mesh () |
Reinitializes the system with a new mesh. More... | |
bool | is_initialized () const |
virtual void | update () |
Update the local values to reflect the solution on neighboring processors. More... | |
virtual void | assemble () |
Prepares matrix and _dof_map for matrix assembly. More... | |
virtual void | assemble_qoi (const QoISet &qoi_indices=QoISet()) |
Calls user qoi function. More... | |
virtual void | assemble_qoi_derivative (const QoISet &qoi_indices=QoISet(), bool include_liftfunc=true, bool apply_constraints=true) |
Calls user qoi derivative function. More... | |
virtual void | assemble_residual_derivatives (const ParameterVector ¶meters) |
Calls residual parameter derivative function. More... | |
virtual void | restrict_solve_to (const SystemSubset *subset, const SubsetSolveMode subset_solve_mode=SUBSET_ZERO) |
After calling this method, any solve will be restricted to the given subdomain. More... | |
virtual void | solve () |
Solves the system. More... | |
virtual std::pair< unsigned int, Real > | sensitivity_solve (const ParameterVector ¶meters) |
Solves the sensitivity system, for the provided parameters. More... | |
virtual std::pair< unsigned int, Real > | weighted_sensitivity_solve (const ParameterVector ¶meters, const ParameterVector &weights) |
Assembles & solves the linear system(s) (dR/du)*u_w = sum(w_p*-dR/dp), for those parameters p contained within parameters weighted by the values w_p found within weights . More... | |
virtual std::pair< unsigned int, Real > | adjoint_solve (const QoISet &qoi_indices=QoISet()) |
Solves the adjoint system, for the specified qoi indices, or for every qoi if qoi_indices is nullptr. More... | |
virtual std::pair< unsigned int, Real > | weighted_sensitivity_adjoint_solve (const ParameterVector ¶meters, const ParameterVector &weights, const QoISet &qoi_indices=QoISet()) |
Assembles & solves the linear system(s) (dR/du)^T*z_w = sum(w_p*(d^2q/dudp - d^2R/dudp*z)), for those parameters p contained within parameters , weighted by the values w_p found within weights . More... | |
bool | is_adjoint_already_solved () const |
Accessor for the adjoint_already_solved boolean. More... | |
void | set_adjoint_already_solved (bool setting) |
Setter for the adjoint_already_solved boolean. More... | |
virtual void | qoi_parameter_sensitivity (const QoISet &qoi_indices, const ParameterVector ¶meters, SensitivityData &sensitivities) |
Solves for the derivative of each of the system's quantities of interest q in qoi [qoi_indices] with respect to each parameter in parameters , placing the result for qoi i and parameter j into sensitivities [i][j]. More... | |
virtual void | adjoint_qoi_parameter_sensitivity (const QoISet &qoi_indices, const ParameterVector ¶meters, SensitivityData &sensitivities) |
Solves for parameter sensitivities using the adjoint method. More... | |
virtual void | forward_qoi_parameter_sensitivity (const QoISet &qoi_indices, const ParameterVector ¶meters, SensitivityData &sensitivities) |
Solves for parameter sensitivities using the forward method. More... | |
virtual void | qoi_parameter_hessian (const QoISet &qoi_indices, const ParameterVector ¶meters, SensitivityData &hessian) |
For each of the system's quantities of interest q in qoi [qoi_indices], and for a vector of parameters p, the parameter sensitivity Hessian H_ij is defined as H_ij = (d^2 q)/(d p_i d p_j) This Hessian is the output of this method, where for each q_i, H_jk is stored in hessian.second_derivative(i,j,k) . More... | |
virtual void | qoi_parameter_hessian_vector_product (const QoISet &qoi_indices, const ParameterVector ¶meters, const ParameterVector &vector, SensitivityData &product) |
For each of the system's quantities of interest q in qoi [qoi_indices], and for a vector of parameters p, the parameter sensitivity Hessian H_ij is defined as H_ij = (d^2 q)/(d p_i d p_j) The Hessian-vector product, for a vector v_k in parameter space, is S_j = H_jk v_k This product is the output of this method, where for each q_i, S_j is stored in sensitivities [i][j]. More... | |
virtual bool | compare (const System &other_system, const Real threshold, const bool verbose) const |
const std::string & | name () const |
virtual std::string | system_type () const |
void | project_solution (FunctionBase< Number > *f, FunctionBase< Gradient > *g=nullptr) const |
Projects arbitrary functions onto the current solution. More... | |
void | project_solution (FEMFunctionBase< Number > *f, FEMFunctionBase< Gradient > *g=nullptr) const |
Projects arbitrary functions onto the current solution. More... | |
void | project_solution (ValueFunctionPointer fptr, GradientFunctionPointer gptr, const Parameters ¶meters) const |
This method projects an arbitrary function onto the solution via L2 projections and nodal interpolations on each element. More... | |
void | project_vector (NumericVector< Number > &new_vector, FunctionBase< Number > *f, FunctionBase< Gradient > *g=nullptr, int is_adjoint=-1) const |
Projects arbitrary functions onto a vector of degree of freedom values for the current system. More... | |
void | project_vector (NumericVector< Number > &new_vector, FEMFunctionBase< Number > *f, FEMFunctionBase< Gradient > *g=nullptr, int is_adjoint=-1) const |
Projects arbitrary functions onto a vector of degree of freedom values for the current system. More... | |
void | project_vector (ValueFunctionPointer fptr, GradientFunctionPointer gptr, const Parameters ¶meters, NumericVector< Number > &new_vector, int is_adjoint=-1) const |
Projects arbitrary functions onto a vector of degree of freedom values for the current system. More... | |
void | boundary_project_solution (const std::set< boundary_id_type > &b, const std::vector< unsigned int > &variables, FunctionBase< Number > *f, FunctionBase< Gradient > *g=nullptr) |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system. More... | |
void | boundary_project_solution (const std::set< boundary_id_type > &b, const std::vector< unsigned int > &variables, ValueFunctionPointer fptr, GradientFunctionPointer gptr, const Parameters ¶meters) |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system. More... | |
void | boundary_project_vector (const std::set< boundary_id_type > &b, const std::vector< unsigned int > &variables, NumericVector< Number > &new_vector, FunctionBase< Number > *f, FunctionBase< Gradient > *g=nullptr, int is_adjoint=-1) const |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system. More... | |
void | boundary_project_vector (const std::set< boundary_id_type > &b, const std::vector< unsigned int > &variables, ValueFunctionPointer fptr, GradientFunctionPointer gptr, const Parameters ¶meters, NumericVector< Number > &new_vector, int is_adjoint=-1) const |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system. More... | |
unsigned int | number () const |
void | update_global_solution (std::vector< Number > &global_soln) const |
Fill the input vector global_soln so that it contains the global solution on all processors. More... | |
void | update_global_solution (std::vector< Number > &global_soln, const processor_id_type dest_proc) const |
Fill the input vector global_soln so that it contains the global solution on processor dest_proc . More... | |
const MeshBase & | get_mesh () const |
MeshBase & | get_mesh () |
const DofMap & | get_dof_map () const |
DofMap & | get_dof_map () |
const EquationSystems & | get_equation_systems () const |
EquationSystems & | get_equation_systems () |
bool | active () const |
void | activate () |
Activates the system. More... | |
void | deactivate () |
Deactivates the system. More... | |
void | set_basic_system_only () |
Sets the system to be "basic only": i.e. More... | |
vectors_iterator | vectors_begin () |
Beginning of vectors container. More... | |
const_vectors_iterator | vectors_begin () const |
Beginning of vectors container. More... | |
vectors_iterator | vectors_end () |
End of vectors container. More... | |
const_vectors_iterator | vectors_end () const |
End of vectors container. More... | |
matrices_iterator | matrices_begin () |
Beginning of matrices container. More... | |
const_matrices_iterator | matrices_begin () const |
Beginning of matrices container. More... | |
matrices_iterator | matrices_end () |
End of matrices container. More... | |
const_matrices_iterator | matrices_end () const |
End of matrices container. More... | |
NumericVector< Number > & | add_vector (std::string_view vec_name, const bool projections=true, const ParallelType type=PARALLEL) |
Adds the additional vector vec_name to this system. More... | |
void | remove_vector (std::string_view vec_name) |
Removes the additional vector vec_name from this system. More... | |
bool & | project_solution_on_reinit (void) |
Tells the System whether or not to project the solution vector onto new grids when the system is reinitialized. More... | |
bool | have_vector (std::string_view vec_name) const |
const NumericVector< Number > * | request_vector (std::string_view vec_name) const |
NumericVector< Number > * | request_vector (std::string_view vec_name) |
const NumericVector< Number > * | request_vector (const unsigned int vec_num) const |
NumericVector< Number > * | request_vector (const unsigned int vec_num) |
const NumericVector< Number > & | get_vector (std::string_view vec_name) const |
NumericVector< Number > & | get_vector (std::string_view vec_name) |
const NumericVector< Number > & | get_vector (const unsigned int vec_num) const |
NumericVector< Number > & | get_vector (const unsigned int vec_num) |
const std::string & | vector_name (const unsigned int vec_num) const |
const std::string & | vector_name (const NumericVector< Number > &vec_reference) const |
void | set_vector_as_adjoint (const std::string &vec_name, int qoi_num) |
Allows one to set the QoI index controlling whether the vector identified by vec_name represents a solution from the adjoint (qoi_num >= 0) or primal (qoi_num == -1) space. More... | |
int | vector_is_adjoint (std::string_view vec_name) const |
void | set_vector_preservation (const std::string &vec_name, bool preserve) |
Allows one to set the boolean controlling whether the vector identified by vec_name should be "preserved": projected to new meshes, saved, etc. More... | |
bool | vector_preservation (std::string_view vec_name) const |
NumericVector< Number > & | add_adjoint_solution (unsigned int i=0) |
NumericVector< Number > & | get_adjoint_solution (unsigned int i=0) |
const NumericVector< Number > & | get_adjoint_solution (unsigned int i=0) const |
NumericVector< Number > & | add_sensitivity_solution (unsigned int i=0) |
NumericVector< Number > & | get_sensitivity_solution (unsigned int i=0) |
const NumericVector< Number > & | get_sensitivity_solution (unsigned int i=0) const |
NumericVector< Number > & | add_weighted_sensitivity_adjoint_solution (unsigned int i=0) |
NumericVector< Number > & | get_weighted_sensitivity_adjoint_solution (unsigned int i=0) |
const NumericVector< Number > & | get_weighted_sensitivity_adjoint_solution (unsigned int i=0) const |
NumericVector< Number > & | add_weighted_sensitivity_solution () |
NumericVector< Number > & | get_weighted_sensitivity_solution () |
const NumericVector< Number > & | get_weighted_sensitivity_solution () const |
NumericVector< Number > & | add_adjoint_rhs (unsigned int i=0) |
NumericVector< Number > & | get_adjoint_rhs (unsigned int i=0) |
const NumericVector< Number > & | get_adjoint_rhs (unsigned int i=0) const |
NumericVector< Number > & | add_sensitivity_rhs (unsigned int i=0) |
NumericVector< Number > & | get_sensitivity_rhs (unsigned int i=0) |
const NumericVector< Number > & | get_sensitivity_rhs (unsigned int i=0) const |
unsigned int | n_vectors () const |
unsigned int | n_matrices () const |
unsigned int | n_vars () const |
unsigned int | n_variable_groups () const |
unsigned int | n_components () const |
dof_id_type | n_dofs () const |
dof_id_type | n_active_dofs () const |
dof_id_type | n_constrained_dofs () const |
dof_id_type | n_local_constrained_dofs () const |
dof_id_type | n_local_dofs () const |
unsigned int | add_variable (std::string_view var, const FEType &type, const std::set< subdomain_id_type > *const active_subdomains=nullptr) |
Adds the variable var to the list of variables for this system. More... | |
unsigned int | add_variable (std::string_view var, const Order order=FIRST, const FEFamily=LAGRANGE, const std::set< subdomain_id_type > *const active_subdomains=nullptr) |
Adds the variable var to the list of variables for this system. More... | |
unsigned int | add_variables (const std::vector< std::string > &vars, const FEType &type, const std::set< subdomain_id_type > *const active_subdomains=nullptr) |
Adds the variable var to the list of variables for this system. More... | |
unsigned int | add_variables (const std::vector< std::string > &vars, const Order order=FIRST, const FEFamily=LAGRANGE, const std::set< subdomain_id_type > *const active_subdomains=nullptr) |
Adds the variable var to the list of variables for this system. More... | |
const Variable & | variable (unsigned int var) const |
Return a constant reference to Variable var . More... | |
const VariableGroup & | variable_group (unsigned int vg) const |
Return a constant reference to VariableGroup vg . More... | |
bool | has_variable (std::string_view var) const |
const std::string & | variable_name (const unsigned int i) const |
unsigned int | variable_number (std::string_view var) const |
void | get_all_variable_numbers (std::vector< unsigned int > &all_variable_numbers) const |
Fills all_variable_numbers with all the variable numbers for the variables that have been added to this system. More... | |
unsigned int | variable_scalar_number (std::string_view var, unsigned int component) const |
unsigned int | variable_scalar_number (unsigned int var_num, unsigned int component) const |
const FEType & | variable_type (const unsigned int i) const |
const FEType & | variable_type (std::string_view var) const |
bool | identify_variable_groups () const |
void | identify_variable_groups (const bool) |
Toggle automatic VariableGroup identification. More... | |
Real | calculate_norm (const NumericVector< Number > &v, unsigned int var, FEMNormType norm_type, std::set< unsigned int > *skip_dimensions=nullptr) const |
Real | calculate_norm (const NumericVector< Number > &v, const SystemNorm &norm, std::set< unsigned int > *skip_dimensions=nullptr) const |
void | read_header (Xdr &io, std::string_view version, const bool read_header=true, const bool read_additional_data=true, const bool read_legacy_format=false) |
Reads the basic data header for this System. More... | |
void | read_legacy_data (Xdr &io, const bool read_additional_data=true) |
Reads additional data, namely vectors, for this System. More... | |
template<typename ValType > | |
void | read_serialized_data (Xdr &io, const bool read_additional_data=true) |
Reads additional data, namely vectors, for this System. More... | |
void | read_serialized_data (Xdr &io, const bool read_additional_data=true) |
Non-templated version for backward compatibility. More... | |
template<typename InValType > | |
std::size_t | read_serialized_vectors (Xdr &io, const std::vector< NumericVector< Number > *> &vectors) const |
Read a number of identically distributed vectors. More... | |
std::size_t | read_serialized_vectors (Xdr &io, const std::vector< NumericVector< Number > *> &vectors) const |
Non-templated version for backward compatibility. More... | |
template<typename InValType > | |
void | read_parallel_data (Xdr &io, const bool read_additional_data) |
Reads additional data, namely vectors, for this System. More... | |
void | read_parallel_data (Xdr &io, const bool read_additional_data) |
Non-templated version for backward compatibility. More... | |
void | write_header (Xdr &io, std::string_view version, const bool write_additional_data) const |
Writes the basic data header for this System. More... | |
void | write_serialized_data (Xdr &io, const bool write_additional_data=true) const |
Writes additional data, namely vectors, for this System. More... | |
std::size_t | write_serialized_vectors (Xdr &io, const std::vector< const NumericVector< Number > *> &vectors) const |
Serialize & write a number of identically distributed vectors. More... | |
void | write_parallel_data (Xdr &io, const bool write_additional_data) const |
Writes additional data, namely vectors, for this System. More... | |
std::string | get_info () const |
void | attach_init_function (void fptr(EquationSystems &es, const std::string &name)) |
Register a user function to use in initializing the system. More... | |
void | attach_init_object (Initialization &init) |
Register a user class to use to initialize the system. More... | |
void | attach_assemble_function (void fptr(EquationSystems &es, const std::string &name)) |
Register a user function to use in assembling the system matrix and RHS. More... | |
void | attach_assemble_object (Assembly &assemble) |
Register a user object to use in assembling the system matrix and RHS. More... | |
void | attach_constraint_function (void fptr(EquationSystems &es, const std::string &name)) |
Register a user function for imposing constraints. More... | |
void | attach_constraint_object (Constraint &constrain) |
Register a user object for imposing constraints. More... | |
bool | has_constraint_object () const |
Constraint & | get_constraint_object () |
Return the user object for imposing constraints. More... | |
void | attach_QOI_function (void fptr(EquationSystems &es, const std::string &name, const QoISet &qoi_indices)) |
Register a user function for evaluating the quantities of interest, whose values should be placed in System::qoi . More... | |
void | attach_QOI_object (QOI &qoi) |
Register a user object for evaluating the quantities of interest, whose values should be placed in System::qoi . More... | |
void | attach_QOI_derivative (void fptr(EquationSystems &es, const std::string &name, const QoISet &qoi_indices, bool include_liftfunc, bool apply_constraints)) |
Register a user function for evaluating derivatives of a quantity of interest with respect to test functions, whose values should be placed in System::rhs . More... | |
void | attach_QOI_derivative_object (QOIDerivative &qoi_derivative) |
Register a user object for evaluating derivatives of a quantity of interest with respect to test functions, whose values should be placed in System::rhs . More... | |
virtual void | user_initialization () |
Calls user's attached initialization function, or is overridden by the user in derived classes. More... | |
virtual void | user_assembly () |
Calls user's attached assembly function, or is overridden by the user in derived classes. More... | |
virtual void | user_constrain () |
Calls user's attached constraint function, or is overridden by the user in derived classes. More... | |
virtual void | user_QOI (const QoISet &qoi_indices) |
Calls user's attached quantity of interest function, or is overridden by the user in derived classes. More... | |
virtual void | user_QOI_derivative (const QoISet &qoi_indices=QoISet(), bool include_liftfunc=true, bool apply_constraints=true) |
Calls user's attached quantity of interest derivative function, or is overridden by the user in derived classes. More... | |
virtual void | re_update () |
Re-update the local values when the mesh has changed. More... | |
virtual void | restrict_vectors () |
Restrict vectors after the mesh has coarsened. More... | |
virtual void | prolong_vectors () |
Prolong vectors after the mesh has refined. More... | |
virtual void | disable_cache () |
Avoids use of any cached data that might affect any solve result. More... | |
Number | current_solution (const dof_id_type global_dof_number) const |
unsigned int | n_qois () const |
Number of currently active quantities of interest. More... | |
void | init_qois (unsigned int n_qois) |
Accessors for qoi and qoi_error_estimates vectors. More... | |
void | set_qoi (unsigned int qoi_index, Number qoi_value) |
void | set_qoi (std::vector< Number > new_qoi) |
Number | get_qoi_value (unsigned int qoi_index) const |
std::vector< Number > | get_qoi_values () const |
Returns a copy of qoi, not a reference. More... | |
void | set_qoi_error_estimate (unsigned int qoi_index, Number qoi_error_estimate) |
Number | get_qoi_error_estimate_value (unsigned int qoi_index) const |
Number | point_value (unsigned int var, const Point &p, const bool insist_on_success=true, const NumericVector< Number > *sol=nullptr) const |
Number | point_value (unsigned int var, const Point &p, const Elem &e, const NumericVector< Number > *sol=nullptr) const |
Number | point_value (unsigned int var, const Point &p, const Elem *e) const |
Calls the version of point_value() which takes a reference. More... | |
Number | point_value (unsigned int var, const Point &p, const NumericVector< Number > *sol) const |
Calls the parallel version of point_value(). More... | |
Gradient | point_gradient (unsigned int var, const Point &p, const bool insist_on_success=true, const NumericVector< Number > *sol=nullptr) const |
Gradient | point_gradient (unsigned int var, const Point &p, const Elem &e, const NumericVector< Number > *sol=nullptr) const |
Gradient | point_gradient (unsigned int var, const Point &p, const Elem *e) const |
Calls the version of point_gradient() which takes a reference. More... | |
Gradient | point_gradient (unsigned int var, const Point &p, const NumericVector< Number > *sol) const |
Calls the parallel version of point_gradient(). More... | |
Tensor | point_hessian (unsigned int var, const Point &p, const bool insist_on_success=true, const NumericVector< Number > *sol=nullptr) const |
Tensor | point_hessian (unsigned int var, const Point &p, const Elem &e, const NumericVector< Number > *sol=nullptr) const |
Tensor | point_hessian (unsigned int var, const Point &p, const Elem *e) const |
Calls the version of point_hessian() which takes a reference. More... | |
Tensor | point_hessian (unsigned int var, const Point &p, const NumericVector< Number > *sol) const |
Calls the parallel version of point_hessian(). More... | |
void | local_dof_indices (const unsigned int var, std::set< dof_id_type > &var_indices) const |
Fills the std::set with the degrees of freedom on the local processor corresponding the the variable number passed in. More... | |
void | zero_variable (NumericVector< Number > &v, unsigned int var_num) const |
Zeroes all dofs in v that correspond to variable number var_num . More... | |
bool | get_project_with_constraints () |
Setter and getter functions for project_with_constraints boolean. More... | |
void | set_project_with_constraints (bool _project_with_constraints) |
bool & | hide_output () |
void | projection_matrix (SparseMatrix< Number > &proj_mat) const |
This method creates a projection matrix which corresponds to the operation of project_vector between old and new solution spaces. More... | |
SparseMatrix< Number > & | add_matrix (std::string_view mat_name, ParallelType type=PARALLEL, MatrixBuildType mat_build_type=MatrixBuildType::AUTOMATIC) |
Adds the additional matrix mat_name to this system. More... | |
template<template< typename > class> | |
SparseMatrix< Number > & | add_matrix (std::string_view mat_name, ParallelType=PARALLEL) |
Adds the additional matrix mat_name to this system. More... | |
SparseMatrix< Number > & | add_matrix (std::string_view mat_name, std::unique_ptr< SparseMatrix< Number >> matrix, ParallelType type=PARALLEL) |
Adds the additional matrix mat_name to this system. More... | |
void | remove_matrix (std::string_view mat_name) |
Removes the additional matrix mat_name from this system. More... | |
bool | have_matrix (std::string_view mat_name) const |
const SparseMatrix< Number > * | request_matrix (std::string_view mat_name) const |
SparseMatrix< Number > * | request_matrix (std::string_view mat_name) |
const SparseMatrix< Number > & | get_matrix (std::string_view mat_name) const |
SparseMatrix< Number > & | get_matrix (std::string_view mat_name) |
void | prefer_hash_table_matrix_assembly (bool preference) |
Sets whether to use hash table matrix assembly if the matrix sub-classes support it. More... | |
void | prefix_with_name (bool value) |
Instructs this system to prefix solve options with its name for solvers that leverage prefixes. More... | |
bool | prefix_with_name () const |
std::string | prefix () const |
virtual void | create_static_condensation () |
Request that static condensation be performed for this system. More... | |
bool | has_static_condensation () const |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
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... | |
Static Public Member Functions | |
static std::pair< std::size_t, std::size_t > | generate_training_parameters_random (const Parallel::Communicator &communicator, const std::map< std::string, bool > &log_param_scale, std::map< std::string, std::vector< RBParameter >> &local_training_parameters_in, const unsigned int n_global_training_samples_in, const RBParameters &min_parameters, const RBParameters &max_parameters, const int training_parameters_random_seed=-1, const bool serial_training_set=false) |
Static helper function for generating a randomized set of parameters. More... | |
static std::pair< std::size_t, std::size_t > | generate_training_parameters_deterministic (const Parallel::Communicator &communicator, const std::map< std::string, bool > &log_param_scale, std::map< std::string, std::vector< RBParameter >> &local_training_parameters_in, const unsigned int n_global_training_samples_in, const RBParameters &min_parameters, const RBParameters &max_parameters, const bool serial_training_set=false) |
Static helper function for generating a deterministic set of parameters. More... | |
static std::string | get_info () |
Gets a string containing the reference information. More... | |
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 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 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 | enable_print_counter_info () |
Methods to enable/disable the reference counter output from print_info() More... | |
static void | disable_print_counter_info () |
static void | disable_print_counter_info () |
static Real | get_closest_value (Real value, const std::vector< Real > &list_of_values) |
Public Attributes | |
BEST_FIT_TYPE | best_fit_type_flag |
Enum that indicates which type of "best fit" algorithm we should use. More... | |
Parameters | parameters |
Parameters for the system. If a parameter is not provided, it should be retrieved from the EquationSystems. More... | |
bool | assemble_before_solve |
Flag which tells the system to whether or not to call the user assembly function during each call to solve(). More... | |
bool | use_fixed_solution |
A boolean to be set to true by systems using elem_fixed_solution, for optional use by e.g. More... | |
int | extra_quadrature_order |
A member int that can be employed to indicate increased or reduced quadrature order. More... | |
std::unique_ptr< NumericVector< Number > > | solution |
Data structure to hold solution values. More... | |
std::unique_ptr< NumericVector< Number > > | current_local_solution |
All the values I need to compute my contribution to the simulation at hand. More... | |
Real | time |
For time-dependent problems, this is the time t at the beginning of the current timestep. More... | |
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... | |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Data structure to log the information. More... | |
Protected Member Functions | |
bool | enrich_eim_approximation_on_sides (const SideQpDataMap &side_pf, bool add_basis_function, EimPointData *eim_point_data) |
Implementation of enrich_eim_approximation() for the case of element sides. More... | |
bool | enrich_eim_approximation_on_nodes (const NodeDataMap &node_pf, bool add_basis_function, EimPointData *eim_point_data) |
Implementation of enrich_eim_approximation() for the case of element nodes. More... | |
bool | enrich_eim_approximation_on_interiors (const QpDataMap &interior_pf, bool add_basis_function, EimPointData *eim_point_data) |
Implementation of enrich_eim_approximation() for the case of element interiors. More... | |
void | update_eim_matrices (bool set_eim_error_indicator) |
Update the matrices used in training the EIM approximation. More... | |
virtual void | init_data () |
Initializes the member data fields associated with the system, so that, e.g., assemble() may be used. More... | |
RBParameters | get_params_from_training_set (unsigned int global_index) |
Return the RBParameters in index global_index of the global training set. More... | |
void | set_params_from_training_set (unsigned int global_index) |
Set parameters to the RBParameters stored in index global_index of the global training set. More... | |
virtual void | set_params_from_training_set_and_broadcast (unsigned int global_index) |
Load the specified training parameter and then broadcast to all processors. More... | |
void | project_vector (NumericVector< Number > &, int is_adjoint=-1) const |
Projects the vector defined on the old mesh onto the new mesh. More... | |
void | project_vector (const NumericVector< Number > &, NumericVector< Number > &, int is_adjoint=-1) const |
Projects the vector defined on the old mesh onto the new mesh. More... | |
virtual void | add_matrices () |
Insertion point for adding matrices in derived classes before init_matrices() is called. More... | |
virtual void | init_matrices () |
Initializes the matrices associated with this system. More... | |
bool | can_add_matrices () const |
void | solve_for_unconstrained_dofs (NumericVector< Number > &, int is_adjoint=-1) const |
virtual bool | condense_constrained_dofs () const |
Whether this object should condense out constrained degrees of freedom. More... | |
void | increment_constructor_count (const std::string &name) noexcept |
Increments the construction counter. More... | |
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... | |
void | increment_destructor_count (const std::string &name) noexcept |
Increments the destruction counter. More... | |
Static Protected Member Functions | |
static void | get_global_max_error_pair (const Parallel::Communicator &communicator, std::pair< numeric_index_type, Real > &error_pair) |
Static function to return the error pair (index,error) that is corresponds to the largest error on all processors. More... | |
Protected Attributes | |
bool | quiet_mode |
Flag to indicate whether we print out extra information during the Offline stage. More... | |
bool | serial_training_set |
This boolean flag indicates whether or not the training set should be the same on all processors. More... | |
bool | _normalize_solution_snapshots |
Set this boolean to true if we want to normalize solution snapshots used in training to have norm of 1. More... | |
std::unique_ptr< NumericVector< Number > > | inner_product_storage_vector |
We keep an extra temporary vector that is useful for performing inner products (avoids unnecessary memory allocation/deallocation). More... | |
const Parallel::Communicator & | _communicator |
Static Protected Attributes | |
static Counts | _counts |
Actually holds the data. More... | |
static Counts | _counts |
Actually holds the data. More... | |
static Threads::atomic< unsigned int > | _n_objects |
The number of objects. 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 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... | |
static bool | _enable_print_counter = true |
Flag to control whether reference count information is printed when print_info is called. More... | |
Private Member Functions | |
std::pair< Real, unsigned int > | compute_max_eim_error () |
Find the training sample that has the largest EIM approximation error based on the current EIM approximation. More... | |
void | initialize_parametrized_functions_in_training_set () |
Compute and store the parametrized function for each parameter in the training set at all the stored qp locations. More... | |
void | initialize_qp_data () |
Initialize the data associated with each quad point (location, JxW, etc.) so that we can use this in evaluation of the parametrized functions. More... | |
Number | inner_product (const QpDataMap &v, const QpDataMap &w, bool apply_comp_scaling) |
Evaluate the inner product of vec1 and vec2 which specify values at quadrature points. More... | |
Number | side_inner_product (const SideQpDataMap &v, const SideQpDataMap &w, bool apply_comp_scaling) |
Same as inner_product() except for side data. More... | |
Number | node_inner_product (const NodeDataMap &v, const NodeDataMap &w, bool apply_comp_scaling) |
Same as inner_product() except for node data. More... | |
template<class DataMap > | |
Real | get_max_abs_value (const DataMap &v) const |
Get the maximum absolute value from a vector stored in the format that we use for basis functions. More... | |
Real | get_node_max_abs_value (const NodeDataMap &v) const |
Get the maximum absolute value from a vector stored in the format that we use for basis functions. More... | |
void | enrich_eim_approximation (unsigned int training_index, bool add_basis_function, EimPointData *eim_point_data) |
Add a new basis function to the EIM approximation. More... | |
EimPointData | get_random_point (const QpDataMap &v) |
Helper function that identifies a random EIM point from v . More... | |
EimPointData | get_random_point (const SideQpDataMap &v) |
EimPointData | get_random_point (const NodeDataMap &v) |
EimPointData | get_random_point_from_training_sample () |
Get a random point using the 0^th training sample as input to get_random_point(). More... | |
Static Private Member Functions | |
template<class DataMap > | |
static void | scale_parametrized_function (DataMap &local_pf, Number scaling_factor) |
Scale all values in pf by scaling_factor . More... | |
static void | scale_node_parametrized_function (NodeDataMap &local_pf, Number scaling_factor) |
Scale all values in pf by scaling_factor The templated function above handles the elem and side cases, and this separate case handles the node case. More... | |
static unsigned int | get_random_int_0_to_n (unsigned int n) |
Static helper function that is used by get_random_point(). More... | |
Private Attributes | |
unsigned int | _Nmax |
Maximum number of EIM basis functions we are willing to use. More... | |
bool | _set_Nmax_from_n_snapshots |
If _set_Nmax_from_n_snapshots=true, then we overrule Nmax to be Nmax += _Nmax_from_n_snapshots_increment. More... | |
int | _Nmax_from_n_snapshots_increment |
Real | _rel_training_tolerance |
Relative and absolute tolerances for training the EIM approximation. More... | |
Real | _abs_training_tolerance |
DenseMatrix< Number > | _eim_projection_matrix |
The matrix we use in order to perform L2 projections of parametrized functions as part of EIM training. More... | |
RBEIMEvaluation * | _rb_eim_eval |
The RBEIMEvaluation object that we use to perform the EIM training. More... | |
std::vector< std::unique_ptr< ElemAssembly > > | _rb_eim_assembly_objects |
The vector of assembly objects that are created to point to this RBEIMConstruction. More... | |
std::vector< QpDataMap > | _local_parametrized_functions_for_training |
The parametrized functions that are used for training. More... | |
std::vector< SideQpDataMap > | _local_side_parametrized_functions_for_training |
Same as _local_parametrized_functions_for_training except for side data. More... | |
std::vector< NodeDataMap > | _local_node_parametrized_functions_for_training |
Same as _local_parametrized_functions_for_training except for node data. More... | |
Real | _max_abs_value_in_training_set |
Maximum value in _local_parametrized_functions_for_training across all processors. More... | |
unsigned int | _max_abs_value_in_training_set_index |
The training sample index at which we found _max_abs_value_in_training_set. More... | |
std::vector< Real > | _component_scaling_in_training_set |
Keep track of a scaling factor for each component of the parametrized functions in the training set which "scales up" each component to have a similar magnitude as the largest component encountered in the training set. More... | |
std::unordered_map< dof_id_type, std::vector< Point > > | _local_quad_point_locations |
The quadrature point locations, quadrature point weights (JxW), and subdomain IDs on every element local to this processor. More... | |
std::unordered_map< dof_id_type, std::vector< Real > > | _local_quad_point_JxW |
std::unordered_map< dof_id_type, subdomain_id_type > | _local_quad_point_subdomain_ids |
std::unordered_map< dof_id_type, std::vector< std::vector< Point > > > | _local_quad_point_locations_perturbations |
EIM approximations often arise when applying a geometric mapping to a Reduced Basis formulation. More... | |
std::map< std::pair< dof_id_type, unsigned int >, std::vector< Point > > | _local_side_quad_point_locations |
Same as above except for side data. More... | |
std::map< std::pair< dof_id_type, unsigned int >, std::vector< Real > > | _local_side_quad_point_JxW |
std::map< std::pair< dof_id_type, unsigned int >, subdomain_id_type > | _local_side_quad_point_subdomain_ids |
std::map< std::pair< dof_id_type, unsigned int >, boundary_id_type > | _local_side_quad_point_boundary_ids |
std::map< std::pair< dof_id_type, unsigned int >, std::vector< std::vector< Point > > > | _local_side_quad_point_locations_perturbations |
std::unordered_map< dof_id_type, Point > | _local_node_locations |
Same as above except for node data. More... | |
std::unordered_map< dof_id_type, boundary_id_type > | _local_node_boundary_ids |
std::map< std::pair< dof_id_type, unsigned int >, unsigned int > | _local_side_quad_point_side_types |
For side data, we also store "side type" info. More... | |
This class is part of the rbOOmit framework.
RBEIMConstruction implements the Construction stage of the Empirical Interpolation Method (EIM). This can be used to create an approximation to parametrized functions. In the context of the reduced basis (RB) method, the EIM approximation is typically used to create an affine approximation to non-affine operators, so that the standard RB method can be applied in that case.
Definition at line 67 of file rb_eim_construction.h.
|
inherited |
|
inherited |
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 119 of file reference_counter.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.
|
inherited |
|
inherited |
Type of the data structure used to map from node id -> [n_vars] data.
Definition at line 105 of file rb_eim_construction.h.
Type of the data structure used to map from (elem id) -> [n_vars][n_qp] data.
Definition at line 95 of file rb_eim_construction.h.
Type of the data structure used to map from (elem id,side_index) -> [n_vars][n_qp] data.
Definition at line 100 of file rb_eim_construction.h.
|
inherited |
The type of system.
Definition at line 82 of file rb_construction_base.h.
|
inherited |
|
inherited |
Enumerator | |
---|---|
PROJECTION_BEST_FIT | |
EIM_BEST_FIT | |
POD_BEST_FIT |
Definition at line 71 of file rb_eim_construction.h.
libMesh::RBEIMConstruction::RBEIMConstruction | ( | EquationSystems & | es, |
const std::string & | name, | ||
const unsigned int | number | ||
) |
Constructor.
Optionally initializes required data structures.
Definition at line 107 of file rb_eim_construction.C.
References libMesh::RBConstructionBase< System >::serial_training_set.
|
default |
Special functions.
|
delete |
|
virtualdefault |
|
inlineinherited |
Activates the system.
Only active systems are solved.
Definition at line 2398 of file system.h.
References libMesh::System::_active.
|
inlineinherited |
true
if the system is active, false
otherwise. An active system will be solved. Definition at line 2390 of file system.h.
References libMesh::System::_active.
|
inherited |
Definition at line 1297 of file system.C.
References libMesh::System::add_vector().
Referenced by libMesh::ExplicitSystem::assemble_qoi_derivative(), and libMesh::FEMSystem::assemble_qoi_derivative().
|
inherited |
Definition at line 1233 of file system.C.
References libMesh::System::add_vector(), and libMesh::System::set_vector_as_adjoint().
Referenced by libMesh::ImplicitSystem::adjoint_solve().
|
inlineprotectedvirtualinherited |
Insertion point for adding matrices in derived classes before init_matrices() is called.
Reimplemented in libMesh::EigenSystem, libMesh::ImplicitSystem, and libMesh::CondensedEigenSystem.
Definition at line 1964 of file system.h.
Referenced by libMesh::ImplicitSystem::add_matrices(), libMesh::EigenSystem::add_matrices(), and libMesh::System::init_data().
|
inherited |
Adds the additional matrix mat_name
to this system.
Only allowed prior to assemble()
. All additional matrices have the same sparsity pattern as the matrix used during solution. When not System
but the user wants to initialize the main/system matrix, then all the additional matrices, if existent, have to be initialized by the user, too.
This non-template method will add a derived matrix type corresponding to the solver package. If the user wishes to specify the matrix type to add, use the templated add_matrix
method instead
mat_name | A name for the matrix |
type | The serial/parallel/ghosted type of the matrix |
mat_build_type | The matrix type to build |
Definition at line 1010 of file system.C.
References libMesh::System::_matrices, libMesh::System::_matrix_types, libMesh::SparseMatrix< T >::build(), libMesh::ParallelObject::comm(), libMesh::default_solver_package(), libMesh::DIAGONAL, libMesh::System::get_dof_map(), libMesh::System::get_mesh(), libMesh::DofMap::get_static_condensation(), libMesh::System::has_static_condensation(), libMesh::if(), libMesh::System::late_matrix_init(), and libMesh::libmesh_assert().
Referenced by libMesh::ImplicitSystem::add_matrices(), libMesh::EigenSystem::add_matrices(), alternative_fe_assembly(), libMesh::ClawSystem::assemble_boundary_condition_matrices(), libMesh::ImplicitSystem::create_static_condensation_system_matrix(), form_matrixA(), libMesh::EigenTimeSolver::init(), main(), and libMesh::NewmarkSystem::NewmarkSystem().
|
inlineinherited |
Adds the additional matrix mat_name
to this system.
Only allowed prior to assemble()
. All additional matrices have the same sparsity pattern as the matrix used during solution. When not System
but the user wants to initialize the main/system matrix, then all the additional matrices, if existent, have to be initialized by the user, too.
This method will create add a derived matrix of type MatrixType<Number>
. One can use the non-templated add_matrix
method to add a matrix corresponding to the default solver package
mat_name | A name for the matrix |
type | The serial/parallel/ghosted type of the matrix |
Definition at line 2707 of file system.h.
References libMesh::System::_matrices, libMesh::System::_matrix_types, and libMesh::System::late_matrix_init().
|
inherited |
Adds the additional matrix mat_name
to this system.
Only allowed prior to assemble()
. All additional matrices have the same sparsity pattern as the matrix used during solution. When not System
but the user wants to initialize the main/system matrix, then all the additional matrices, if existent, have to be initialized by the user, too.
mat_name | A name for the matrix |
matrix | The matrix we are handing over the System for ownership |
type | The serial/parallel/ghosted type of the matrix |
Definition at line 1053 of file system.C.
References libMesh::System::_matrices, libMesh::System::_matrix_types, libMesh::ParallelObject::comm(), libMesh::System::late_matrix_init(), and libMesh::libmesh_assert().
|
inherited |
Definition at line 1327 of file system.C.
References libMesh::System::add_vector().
Referenced by libMesh::ImplicitSystem::assemble_residual_derivatives().
|
inherited |
Definition at line 1182 of file system.C.
References libMesh::System::add_vector().
Referenced by libMesh::ImplicitSystem::sensitivity_solve().
|
inherited |
Adds the variable var
to the list of variables for this system.
If active_subdomains
is either nullptr
(the default) or points to an empty set, then it will be assumed that var
has no subdomain restrictions
Definition at line 1357 of file system.C.
References libMesh::System::_variable_groups, libMesh::System::_variable_numbers, libMesh::System::_variables, libMesh::Variable::active_subdomains(), libMesh::System::add_variables(), libMesh::ParallelObject::comm(), libMesh::System::identify_variable_groups(), libMesh::Variable::implicitly_active(), libMesh::System::is_initialized(), libMesh::libmesh_assert(), libMesh::make_range(), libMesh::System::n_variable_groups(), libMesh::System::n_vars(), libMesh::System::variable(), libMesh::System::variable_name(), and libMesh::System::variable_type().
Referenced by libMesh::DifferentiableSystem::add_second_order_dot_vars(), libMesh::System::add_variable(), assemble_and_solve(), OverlappingTestBase::init(), SolidSystem::init_data(), CurlCurlSystem::init_data(), SimpleEIMConstruction::init_data(), libMesh::VariationalSmootherSystem::init_data(), libMesh::AdvectionSystem::init_data(), HeatSystem::init_data(), SimpleRBConstruction::init_data(), NonManifoldCouplingTestBase::init_es(), main(), libMesh::ErrorVector::plot_error(), libMesh::System::read_header(), RationalMapTest< elem_type >::setUp(), SlitMeshRefinedSystemTest::setUp(), FETestBase< order, family, elem_type, 1 >::setUp(), WriteVecAndScalar::setupTests(), SystemsTest::simpleSetup(), MultiEvaluablePredTest::test(), ConstraintOperatorTest::test1DCoarseningNewNodes(), ConstraintOperatorTest::test1DCoarseningOperator(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), MeshFunctionTest::test_subdomain_id_sets(), SystemsTest::testAssemblyWithDgFemContext(), DofMapTest::testBadElemFECombo(), EquationSystemsTest::testBadVarNames(), SystemsTest::testBlockRestrictedVarNDofs(), SystemsTest::testBoundaryProjectCube(), DofMapTest::testConstraintLoopDetection(), MeshInputTest::testCopyElementSolutionImpl(), MeshInputTest::testCopyElementVectorImpl(), MeshInputTest::testCopyNodalSolutionImpl(), ConstraintOperatorTest::testCoreform(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), SystemsTest::testDofCouplingWithVarGroups(), DofMapTest::testDofOwner(), MeshInputTest::testDynaReadPatch(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), MeshAssignTest::testMeshMoveAssign(), PeriodicBCTest::testPeriodicBC(), EquationSystemsTest::testPostInitAddElem(), EquationSystemsTest::testPostInitAddRealSystem(), SystemsTest::testProjectCubeWithMeshFunction(), MeshInputTest::testProjectionRegression(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), InfFERadialTest::testRefinement(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), EquationSystemsTest::testReinitWithNodeElem(), EquationSystemsTest::testRepartitionThenReinit(), EquationSystemsTest::testSelectivePRefine(), SystemsTest::testSetSystemParameterOverEquationSystem(), BoundaryInfoTest::testShellFaceConstraints(), MeshInputTest::testSingleElementImpl(), WriteVecAndScalar::testWriteExodus(), and WriteVecAndScalar::testWriteNemesis().
|
inherited |
Adds the variable var
to the list of variables for this system.
Same as before, but assumes LAGRANGE
as default value for FEType.family
. If active_subdomains
is either nullptr
(the default) or points to an empty set, then it will be assumed that var
has no subdomain restrictions
Definition at line 1459 of file system.C.
References libMesh::System::add_variable().
|
inherited |
Adds the variable var
to the list of variables for this system.
If active_subdomains
is either nullptr
(the default) or points to an empty set, then it will be assumed that var
has no subdomain restrictions
Definition at line 1471 of file system.C.
References libMesh::System::_variable_groups, libMesh::System::_variable_numbers, libMesh::System::_variables, libMesh::ParallelObject::comm(), libMesh::System::identify_variable_groups(), libMesh::System::is_initialized(), libMesh::libmesh_assert(), libMesh::make_range(), libMesh::System::n_components(), libMesh::System::n_variable_groups(), libMesh::System::n_vars(), libMesh::System::variable_name(), and libMesh::System::variable_type().
Referenced by libMesh::System::add_variable(), libMesh::System::add_variables(), and SystemsTest::test100KVariables().
|
inherited |
Adds the variable var
to the list of variables for this system.
Same as before, but assumes LAGRANGE
as default value for FEType.family
. If active_subdomains
is either nullptr
(the default) or points to an empty set, then it will be assumed that var
has no subdomain restrictions
Definition at line 1590 of file system.C.
References libMesh::System::add_variables().
|
inherited |
Adds the additional vector vec_name
to this system.
All the additional vectors are similarly distributed, like the solution
, and initialized to zero.
By default vectors added by add_vector are projected to changed grids by reinit(). To zero them instead (more efficient), pass "false" as the second argument
If the vector already exists, the existing vector is returned. after any upgrade to the projections
or type
has been made. We only handle upgrades (projections false->true, or type PARALLEL->GHOSTED) in this fashion, not downgrades, on the theory that if two codes have differing needs we want to support the union of those needs, not the intersection. Downgrades can only be accomplished manually, via set_vector_preservation()
or by setting a vector type()
and re-initializing.
Definition at line 768 of file system.C.
References libMesh::System::_dof_map, libMesh::System::_is_initialized, libMesh::System::_vector_is_adjoint, libMesh::System::_vector_projections, libMesh::System::_vectors, libMesh::NumericVector< T >::build(), libMesh::NumericVector< T >::close(), libMesh::NumericVector< T >::closed(), libMesh::ParallelObject::comm(), libMesh::default_solver_package(), libMesh::GHOSTED, libMesh::NumericVector< T >::initialized(), libMesh::libmesh_assert(), libMesh::System::n_dofs(), libMesh::System::n_local_dofs(), libMesh::ParallelObject::n_processors(), libMesh::PARALLEL, libMesh::SERIAL, libMesh::NumericVector< T >::set_type(), libMesh::NumericVector< T >::swap(), and libMesh::NumericVector< T >::type().
Referenced by libMesh::System::add_adjoint_rhs(), libMesh::System::add_adjoint_solution(), libMesh::System::add_sensitivity_rhs(), libMesh::System::add_sensitivity_solution(), libMesh::ExplicitSystem::add_system_rhs(), libMesh::System::add_weighted_sensitivity_adjoint_solution(), libMesh::System::add_weighted_sensitivity_solution(), alternative_fe_assembly(), libMesh::AdjointRefinementEstimator::estimate_error(), fe_assembly(), form_functionA(), form_functionB(), libMesh::SecondOrderUnsteadySolver::init(), libMesh::UnsteadySolver::init(), libMesh::UnsteadySolver::init_adjoints(), libMesh::TimeSolver::init_adjoints(), libMesh::OptimizationSystem::init_data(), libMesh::ContinuationSystem::init_data(), main(), libMesh::NewmarkSystem::NewmarkSystem(), libMesh::System::read_header(), libMesh::FrequencySystem::set_frequencies(), libMesh::FrequencySystem::set_frequencies_by_range(), libMesh::FrequencySystem::set_frequencies_by_steps(), SystemsTest::testAddVectorProjChange(), SystemsTest::testAddVectorTypeChange(), SystemsTest::testPostInitAddVector(), and SystemsTest::testPostInitAddVectorTypeChange().
|
inherited |
Definition at line 1265 of file system.C.
References libMesh::System::add_vector(), and libMesh::System::set_vector_as_adjoint().
Referenced by libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
inherited |
Definition at line 1212 of file system.C.
References libMesh::System::add_vector().
Referenced by libMesh::ImplicitSystem::weighted_sensitivity_solve().
|
inlinevirtualinherited |
Solves for parameter sensitivities using the adjoint method.
This method is only implemented in some derived classes.
Reimplemented in libMesh::ImplicitSystem.
Definition at line 2663 of file system.h.
Referenced by libMesh::System::qoi_parameter_sensitivity().
|
inlinevirtualinherited |
Solves the adjoint system, for the specified qoi indices, or for every qoi if qoi_indices
is nullptr.
Must be overridden in derived systems.
This method is only implemented in some derived classes.
Reimplemented in libMesh::ImplicitSystem, and libMesh::DifferentiableSystem.
Definition at line 2647 of file system.h.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), and libMesh::AdjointResidualErrorEstimator::estimate_error().
void libMesh::RBEIMConstruction::apply_normalization_to_solution_snapshots | ( | ) |
Rescale solution snapshots so that they all have unity norm.
This is relevant if training samples have differing magnitudes and we want to approximate them all with equal accuracy.
Definition at line 631 of file rb_eim_construction.C.
References _local_node_parametrized_functions_for_training, _local_parametrized_functions_for_training, _local_side_parametrized_functions_for_training, _max_abs_value_in_training_set, _max_abs_value_in_training_set_index, libMesh::RBConstructionBase< System >::get_n_training_samples(), libMesh::RBEIMEvaluation::get_parametrized_function(), get_rb_eim_evaluation(), inner_product(), node_inner_product(), libMesh::RBParametrizedFunction::on_mesh_nodes(), libMesh::RBParametrizedFunction::on_mesh_sides(), libMesh::out, std::real(), libMesh::Real, libMesh::RBEIMEvaluation::scale_components_in_enrichment(), scale_node_parametrized_function(), scale_parametrized_function(), and side_inner_product().
Referenced by train_eim_approximation().
|
virtualinherited |
Prepares matrix
and _dof_map
for matrix assembly.
Does not actually assemble anything. For matrix assembly, use the assemble()
in derived classes. Should be overridden in derived classes.
Reimplemented in libMesh::LinearImplicitSystem, libMesh::DifferentiableSystem, libMesh::ImplicitSystem, libMesh::FrequencySystem, and libMesh::NewmarkSystem.
Definition at line 566 of file system.C.
References libMesh::System::user_assembly().
Referenced by libMesh::ImplicitSystem::assemble(), libMesh::EigenSystem::solve(), libMesh::CondensedEigenSystem::solve(), and libMesh::ExplicitSystem::solve().
Calls user qoi function.
Can be overridden in derived classes.
Reimplemented in libMesh::FEMSystem, and libMesh::ExplicitSystem.
Definition at line 577 of file system.C.
References libMesh::System::user_QOI().
Referenced by libMesh::ExplicitSystem::assemble_qoi().
|
virtualinherited |
Calls user qoi derivative function.
Can be overridden in derived classes.
Reimplemented in libMesh::FEMSystem, and libMesh::ExplicitSystem.
Definition at line 588 of file system.C.
References libMesh::System::user_QOI_derivative().
Referenced by libMesh::ExplicitSystem::assemble_qoi_derivative().
|
inlinevirtualinherited |
Calls residual parameter derivative function.
Library subclasses use finite differences by default.
This should assemble the sensitivity rhs vectors to hold -(partial R / partial p_i), making them ready to solve the forward sensitivity equation.
This method is only implemented in some derived classes.
Reimplemented in libMesh::ImplicitSystem.
|
inherited |
Register a user function to use in assembling the system matrix and RHS.
Definition at line 2161 of file system.C.
References libMesh::System::_assemble_system_function, libMesh::System::_assemble_system_object, fptr(), and libMesh::libmesh_assert().
Referenced by assemble_and_solve(), main(), ConstraintOperatorTest::test1DCoarseningNewNodes(), ConstraintOperatorTest::test1DCoarseningOperator(), SystemsTest::testAssemblyWithDgFemContext(), ConstraintOperatorTest::testCoreform(), SystemsTest::testDofCouplingWithVarGroups(), and PeriodicBCTest::testPeriodicBC().
|
inherited |
Register a user object to use in assembling the system matrix and RHS.
Definition at line 2178 of file system.C.
References libMesh::System::_assemble_system_function, and libMesh::System::_assemble_system_object.
Referenced by main().
|
inherited |
Register a user function for imposing constraints.
Definition at line 2192 of file system.C.
References libMesh::System::_constrain_system_function, libMesh::System::_constrain_system_object, fptr(), and libMesh::libmesh_assert().
|
inherited |
Register a user object for imposing constraints.
Definition at line 2209 of file system.C.
References libMesh::System::_constrain_system_function, and libMesh::System::_constrain_system_object.
Referenced by libMesh::VariationalMeshSmoother::smooth(), and DofMapTest::testConstraintLoopDetection().
|
inherited |
Register a user function to use in initializing the system.
Definition at line 2130 of file system.C.
References libMesh::System::_init_system_function, libMesh::System::_init_system_object, fptr(), and libMesh::libmesh_assert().
Referenced by main().
|
inherited |
Register a user class to use to initialize the system.
attach_init_function
. Definition at line 2147 of file system.C.
References libMesh::System::_init_system_function, and libMesh::System::_init_system_object.
|
inherited |
Register a user function for evaluating derivatives of a quantity of interest with respect to test functions, whose values should be placed in System::rhs
.
Definition at line 2266 of file system.C.
References libMesh::System::_qoi_evaluate_derivative_function, libMesh::System::_qoi_evaluate_derivative_object, fptr(), and libMesh::libmesh_assert().
|
inherited |
Register a user object for evaluating derivatives of a quantity of interest with respect to test functions, whose values should be placed in System::rhs
.
Definition at line 2283 of file system.C.
References libMesh::System::_qoi_evaluate_derivative_function, and libMesh::System::_qoi_evaluate_derivative_object.
|
inherited |
Register a user function for evaluating the quantities of interest, whose values should be placed in System::qoi
.
Definition at line 2234 of file system.C.
References libMesh::System::_qoi_evaluate_function, libMesh::System::_qoi_evaluate_object, fptr(), and libMesh::libmesh_assert().
|
inherited |
Register a user object for evaluating the quantities of interest, whose values should be placed in System::qoi
.
Definition at line 2252 of file system.C.
References libMesh::System::_qoi_evaluate_function, and libMesh::System::_qoi_evaluate_object.
|
inherited |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system.
This method projects an arbitrary boundary function onto the solution via L2 projections and nodal interpolations on each element.
Only degrees of freedom which affect the function's trace on a boundary in the set b
are affected. Only degrees of freedom associated with the variables listed in the vector variables
are projected. The function value f
and its gradient g
are user-provided cloneable functors. A gradient g
is only required/used for projecting onto finite element spaces with continuous derivatives.
Definition at line 1253 of file system_projection.C.
Referenced by SystemsTest::testBoundaryProjectCube().
|
inherited |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system.
This method projects components of an arbitrary boundary function onto the solution via L2 projections and nodal interpolations on each element.
Only degrees of freedom which affect the function's trace on a boundary in the set b
are affected. Only degrees of freedom associated with the variables listed in the vector variables
are projected. The function value fptr
and its gradient gptr
are represented by function pointers. A gradient gptr
is only required/used for projecting onto finite element spaces with continuous derivatives.
Definition at line 1236 of file system_projection.C.
References fptr(), and gptr().
|
inherited |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system.
This method projects an arbitrary function via L2 projections and nodal interpolations on each element.
Only degrees of freedom which affect the function's trace on a boundary in the set b
are affected. Only degrees of freedom associated with the variables listed in the vector variables
are projected. The function value f
and its gradient g
are user-provided cloneable functors. A gradient g
is only required/used for projecting onto finite element spaces with continuous derivatives.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
Definition at line 1289 of file system_projection.C.
References libMesh::NumericVector< T >::close(), libMesh::libmesh_ignore(), and libMesh::Threads::parallel_for().
|
inherited |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system.
This method projects an arbitrary boundary function via L2 projections and nodal interpolations on each element.
Only degrees of freedom which affect the function's trace on a boundary in the set b
are affected. Only degrees of freedom associated with the variables listed in the vector variables
are projected. The function value fptr
and its gradient gptr
are represented by function pointers. A gradient gptr
is only required/used for projecting onto finite element spaces with continuous derivatives.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
Definition at line 1271 of file system_projection.C.
References fptr(), and gptr().
|
inherited |
Broadcasts parameters from processor proc_id to all processors.
This broadcasts the RBParameters object from .get_parameters(), and then sets it on all processors with .set_parameters().
Definition at line 720 of file rb_construction_base.C.
|
pure virtual |
Build an element assembly object that will access basis function bf_index
.
This is pure virtual, override in subclasses to specify the appropriate ElemAssembly object.
Implemented in SimpleEIMConstruction, and SimpleEIMConstruction.
Referenced by initialize_eim_assembly_objects().
|
inherited |
var
in the vector v
, in the specified norm (e.g. L2, L_INF, H1) Definition at line 1724 of file system.C.
References libMesh::DISCRETE_L1, libMesh::DISCRETE_L2, libMesh::DISCRETE_L_INF, libMesh::System::discrete_var_norm(), libMesh::L2, libMesh::System::n_vars(), and libMesh::Real.
Referenced by libMesh::TwostepTimeSolver::adjoint_solve(), libMesh::AdaptiveTimeSolver::calculate_norm(), libMesh::UnsteadySolver::du(), main(), output_norms(), ConstraintOperatorTest::testCoreform(), and MeshInputTest::testProjectionRegression().
|
inherited |
v
, using component_norm
and component_scale
to choose and weight the norms of each variable. Definition at line 1746 of file system.C.
References libMesh::System::_dof_map, libMesh::System::_mesh, libMesh::FEGenericBase< OutputType >::build(), libMesh::NumericVector< T >::build(), libMesh::ParallelObject::comm(), libMesh::FEType::default_quadrature_rule(), dim, libMesh::DISCRETE_L1, libMesh::DISCRETE_L2, libMesh::DISCRETE_L_INF, libMesh::System::discrete_var_norm(), libMesh::DofMap::dof_indices(), libMesh::MeshBase::elem_dimensions(), libMesh::Utility::enum_to_string(), libMesh::FEInterface::field_type(), libMesh::System::get_dof_map(), libMesh::System::get_mesh(), libMesh::GHOSTED, libMesh::H1, libMesh::H1_SEMINORM, libMesh::H2, libMesh::H2_SEMINORM, libMesh::L1, libMesh::NumericVector< T >::l1_norm(), libMesh::L2, libMesh::NumericVector< T >::l2_norm(), libMesh::L_INF, libMesh::libmesh_assert(), libMesh::NumericVector< T >::linfty_norm(), libMesh::NumericVector< T >::local_size(), libMesh::NumericVector< T >::localize(), libMesh::make_range(), TIMPI::Communicator::max(), libMesh::System::n_vars(), libMesh::TensorTools::norm(), libMesh::TensorTools::norm_sq(), libMesh::Real, libMesh::NumericVector< T >::size(), TIMPI::Communicator::sum(), libMesh::TYPE_SCALAR, libMesh::TYPE_VECTOR, libMesh::DofMap::variable_type(), libMesh::W1_INF_SEMINORM, libMesh::W2_INF_SEMINORM, and libMesh::SystemNorm::weight().
|
inlineprotectedinherited |
Definition at line 1975 of file system.h.
References libMesh::System::_matrices_initialized.
Referenced by libMesh::EigenSystem::set_eigenproblem_type().
|
overridevirtual |
Clear this object.
Reimplemented from libMesh::RBConstructionBase< System >.
Definition at line 127 of file rb_eim_construction.C.
References _eim_projection_matrix, _local_node_boundary_ids, _local_node_locations, _local_node_parametrized_functions_for_training, _local_parametrized_functions_for_training, _local_quad_point_JxW, _local_quad_point_locations, _local_quad_point_subdomain_ids, _local_side_parametrized_functions_for_training, _local_side_quad_point_boundary_ids, _local_side_quad_point_JxW, _local_side_quad_point_locations, _local_side_quad_point_side_types, _local_side_quad_point_subdomain_ids, _rb_eim_assembly_objects, libMesh::RBConstructionBase< Base >::clear(), and libMesh::DenseMatrix< T >::resize().
|
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::PetscLinearSolver< Number >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult(), libMesh::SlepcEigenSolver< libMesh::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::RBEIMEvaluation::add_interpolation_data(), libMesh::CondensedEigenSystem::add_matrices(), 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::AdvectionSystem::assemble_claw_rhs(), 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::Partitioner::build_graph(), 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::CondensedEigenSystem::copy_super_to_sub(), 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< T >::create_submatrix_nosort(), create_wrapped_function(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::RBEIMEvaluation::distribute_bfs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::DTKSolutionTransfer::DTKSolutionTransfer(), libMesh::MeshRefinement::eliminate_unrefined_patches(), enrich_eim_approximation_on_interiors(), enrich_eim_approximation_on_nodes(), 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(), libMesh::RBEIMEvaluation::gather_bfs(), libMesh::DofMap::gather_constraints(), libMesh::MeshfreeInterpolation::gather_remote_data(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::RBEIMEvaluation::get_eim_basis_function_node_value(), libMesh::RBEIMEvaluation::get_eim_basis_function_side_value(), libMesh::RBEIMEvaluation::get_eim_basis_function_value(), libMesh::MeshBase::get_info(), libMesh::System::get_info(), libMesh::DofMap::get_info(), libMesh::RBEIMEvaluation::get_interior_basis_functions_as_vecs(), libMesh::ImplicitSystem::get_linear_solver(), get_max_abs_value(), get_node_max_abs_value(), libMesh::RBEIMEvaluation::get_parametrized_function_node_value(), libMesh::RBEIMEvaluation::get_parametrized_function_side_value(), libMesh::RBEIMEvaluation::get_parametrized_function_value(), get_random_point(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::LocationMap< T >::init(), libMesh::TimeSolver::init(), libMesh::StaticCondensation::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::AdvectionSystem::init_data(), libMesh::ClawSystem::init_data(), libMesh::PetscDMWrapper::init_petscdm(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), initialize_parametrized_functions_in_training_set(), 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_constraint_rows(), 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::MeshTools::n_connected_components(), libMesh::DofMap::n_constrained_dofs(), libMesh::MeshBase::n_constraint_rows(), libMesh::DofMap::n_dofs(), libMesh::DofMap::n_dofs_per_processor(), 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(), libMesh::RBEIMEvaluation::node_distribute_bfs(), libMesh::RBEIMEvaluation::node_gather_bfs(), 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::MeshBase::print_constraint_rows(), 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(), libMesh::RBEIMEvaluation::read_in_interior_basis_functions(), libMesh::RBEIMEvaluation::read_in_node_basis_functions(), libMesh::RBEIMEvaluation::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::SimplexRefiner::refine_via_edges(), libMesh::StaticCondensationDofMap::reinit(), 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(), libMesh::RBEIMEvaluation::side_distribute_bfs(), libMesh::RBEIMEvaluation::side_gather_bfs(), side_inner_product(), libMesh::Partitioner::single_partition(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::VariationalMeshSmoother::smooth(), libMesh::ClawSystem::solve_conservation_law(), libMesh::split_mesh(), 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(), VolumeTest::testC0PolygonMethods(), VolumeTest::testC0PolyhedronMethods(), ConstraintOperatorTest::testCoreform(), ConnectedComponentsTest::testEdge(), MeshInputTest::testExodusIGASidesets(), MeshTriangulationTest::testFoundCenters(), PointLocatorTest::testLocator(), BoundaryInfoTest::testMesh(), PointLocatorTest::testPlanar(), MeshTriangulationTest::testPoly2TriRefinementBase(), SystemsTest::testProjectCubeWithMeshFunction(), BoundaryInfoTest::testRenumber(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), MeshTriangulationTest::testTriangulatorInterp(), MeshTriangulationTest::testTriangulatorMeshedHoles(), MeshTriangulationTest::testTriangulatorRoundHole(), 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(), update_current_local_solution(), 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::MeshTools::volume(), libMesh::STLIO::write(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::VTKIO::write_nodal_data(), libMesh::RBEIMEvaluation::write_out_interior_basis_functions(), libMesh::RBEIMEvaluation::write_out_node_basis_functions(), libMesh::RBEIMEvaluation::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().
|
virtualinherited |
true
when the other system contains identical data, up to the given threshold. Outputs some diagnostic info when verbose
is set. Definition at line 618 of file system.C.
References libMesh::System::_is_initialized, libMesh::System::_sys_name, libMesh::System::_vectors, libMesh::System::get_vector(), libMesh::libmesh_assert(), libMesh::System::n_vectors(), libMesh::System::name(), libMesh::out, and libMesh::System::solution.
Find the training sample that has the largest EIM approximation error based on the current EIM approximation.
Return the maximum error, and the training sample index at which it occurred.
Definition at line 1312 of file rb_eim_construction.C.
References _eim_projection_matrix, _local_node_parametrized_functions_for_training, _local_parametrized_functions_for_training, _local_side_parametrized_functions_for_training, best_fit_type_flag, libMesh::RBEIMEvaluation::decrement_vector(), EIM_BEST_FIT, libMesh::RBConstructionBase< System >::get_local_n_training_samples(), get_max_abs_value(), libMesh::RBEIMEvaluation::get_n_basis_functions(), libMesh::RBParametrized::get_n_params(), libMesh::RBConstructionBase< System >::get_n_training_samples(), get_node_max_abs_value(), libMesh::RBConstructionBase< System >::get_params_from_training_set(), libMesh::DenseMatrix< T >::get_principal_submatrix(), get_rb_eim_evaluation(), libMesh::RBEIMEvaluation::get_rb_eim_solutions(), inner_product(), libMesh::DenseMatrix< T >::lu_solve(), libMesh::make_range(), libMesh::RBEIMEvaluation::node_decrement_vector(), node_inner_product(), PROJECTION_BEST_FIT, libMesh::RBEIMEvaluation::rb_eim_solves(), libMesh::Real, libMesh::RBEIMEvaluation::side_decrement_vector(), and side_inner_product().
Referenced by train_eim_approximation_with_greedy().
|
inlineprotectedvirtualinherited |
Whether this object should condense out constrained degrees of freedom.
Reimplemented in libMesh::CondensedEigenSystem.
Definition at line 2013 of file system.h.
Referenced by libMesh::EigenSystem::init_matrices().
|
virtualinherited |
Request that static condensation be performed for this system.
Reimplemented in libMesh::ImplicitSystem, libMesh::NonlinearImplicitSystem, and libMesh::LinearImplicitSystem.
Definition at line 2866 of file system.C.
References libMesh::DofMap::create_static_condensation(), libMesh::System::get_dof_map(), and libMesh::System::get_mesh().
Referenced by libMesh::ImplicitSystem::create_static_condensation(), and libMesh::System::System().
|
inherited |
Definition at line 165 of file system.C.
References libMesh::System::_dof_map, and libMesh::System::current_local_solution.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::HPCoarsenTest::add_projection(), compute_stresses(), LinearElasticityWithContact::compute_stresses(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), libMesh::ExactErrorEstimator::estimate_error(), main(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::HPCoarsenTest::select_refinement(), SolidSystem::side_time_derivative(), libMesh::EnsightIO::write_scalar_ascii(), and libMesh::EnsightIO::write_vector_ascii().
|
inlineinherited |
Deactivates the system.
Only active systems are solved.
Definition at line 2406 of file system.h.
References libMesh::System::_active.
|
inlinevirtualinherited |
Avoids use of any cached data that might affect any solve result.
Should be overridden in derived systems.
Reimplemented in libMesh::ImplicitSystem.
Definition at line 2618 of file system.h.
References libMesh::System::assemble_before_solve.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error().
|
staticinherited |
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
staticinherited |
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
void libMesh::RBEIMConstruction::disable_set_Nmax_from_n_snapshots | ( | ) |
Call this method to set _set_Nmax_from_n_snapshots=false and reset _Nmax_from_n_snapshots_increment to 0.
Definition at line 1167 of file rb_eim_construction.C.
References _Nmax_from_n_snapshots_increment, and _set_Nmax_from_n_snapshots.
|
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.
|
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.
void libMesh::RBEIMConstruction::enable_set_Nmax_from_n_snapshots | ( | int | increment | ) |
Call this method to set _set_Nmax_from_n_snapshots=true and _Nmax_from_n_snapshots_increment=increment.
This means that we will overrule Nmax to be n_snapshots + increment, where increment can be positive or negative (typically it should be negative to limit Nmax to be less that the number of snapshots).
Definition at line 1161 of file rb_eim_construction.C.
References _Nmax_from_n_snapshots_increment, and _set_Nmax_from_n_snapshots.
|
private |
Add a new basis function to the EIM approximation.
Definition at line 2283 of file rb_eim_construction.C.
References _local_node_parametrized_functions_for_training, _local_parametrized_functions_for_training, _local_side_parametrized_functions_for_training, enrich_eim_approximation_on_interiors(), enrich_eim_approximation_on_nodes(), enrich_eim_approximation_on_sides(), libMesh::RBEIMEvaluation::get_parametrized_function(), get_rb_eim_evaluation(), libMesh::RBParametrizedFunction::on_mesh_nodes(), libMesh::RBParametrizedFunction::on_mesh_sides(), and libMesh::RBConstructionBase< System >::set_params_from_training_set().
Referenced by train_eim_approximation_with_greedy().
|
protected |
Implementation of enrich_eim_approximation() for the case of element interiors.
Definition at line 2618 of file rb_eim_construction.C.
References _component_scaling_in_training_set, _local_quad_point_locations, _local_quad_point_locations_perturbations, _local_quad_point_subdomain_ids, libMesh::RBEIMEvaluation::add_basis_function(), libMesh::RBEIMEvaluation::add_interpolation_data(), TIMPI::Communicator::broadcast(), libMesh::ParallelObject::comm(), libMesh::EimPointData::comp_index, libMesh::RBEIMEvaluation::decrement_vector(), dim, libMesh::Elem::dim(), libMesh::FEMContext::elem_dimensions(), libMesh::EimPointData::elem_id, libMesh::MeshBase::elem_ref(), libMesh::FEMContext::get_elem_dim(), libMesh::FEMContext::get_element_fe(), libMesh::FEMContext::get_element_qrule(), libMesh::RBEIMEvaluation::get_interpolation_points_comp(), libMesh::RBEIMEvaluation::get_interpolation_points_elem_id(), libMesh::RBEIMEvaluation::get_interpolation_points_qp(), libMesh::System::get_mesh(), libMesh::RBEIMEvaluation::get_n_basis_functions(), libMesh::QBase::get_order(), libMesh::RBParametrized::get_parameters(), libMesh::RBEIMEvaluation::get_parametrized_function(), libMesh::RBEIMEvaluation::get_parametrized_function_value(), get_rb_eim_evaluation(), libMesh::index_range(), libMesh::INVALID_ELEM, libMesh::DofObject::invalid_id, libMesh::INVALID_ORDER, TIMPI::Communicator::maxloc(), libMesh::out, libMesh::FEMContext::pre_fe_reinit(), libMesh::EimPointData::qp_index, libMesh::RBEIMEvaluation::rb_eim_solve(), libMesh::Real, libMesh::Elem::reference_elem(), libMesh::RBParametrizedFunction::requires_all_elem_center_data, libMesh::RBParametrizedFunction::requires_all_elem_qp_data, scale_parametrized_function(), libMesh::RBParametrized::set_parameters(), libMesh::Elem::type(), value, and libMesh::Elem::vertex_average().
Referenced by enrich_eim_approximation(), and train_eim_approximation_with_POD().
|
protected |
Implementation of enrich_eim_approximation() for the case of element nodes.
Definition at line 2504 of file rb_eim_construction.C.
References _local_node_boundary_ids, _local_node_locations, libMesh::RBEIMEvaluation::add_node_basis_function(), libMesh::RBEIMEvaluation::add_node_interpolation_data(), TIMPI::Communicator::broadcast(), libMesh::ParallelObject::comm(), libMesh::EimPointData::comp_index, libMesh::RBEIMEvaluation::get_interpolation_points_comp(), libMesh::RBEIMEvaluation::get_interpolation_points_node_id(), libMesh::RBEIMEvaluation::get_n_basis_functions(), libMesh::RBParametrized::get_parameters(), libMesh::RBEIMEvaluation::get_parametrized_function_node_value(), get_rb_eim_evaluation(), libMesh::index_range(), libMesh::DofObject::invalid_id, TIMPI::Communicator::maxloc(), libMesh::RBEIMEvaluation::node_decrement_vector(), libMesh::EimPointData::node_id, libMesh::out, libMesh::RBEIMEvaluation::rb_eim_solve(), libMesh::Real, scale_node_parametrized_function(), libMesh::RBParametrized::set_parameters(), and value.
Referenced by enrich_eim_approximation(), and train_eim_approximation_with_POD().
|
protected |
Implementation of enrich_eim_approximation() for the case of element sides.
If add_basis_function
is true, then we add an extra basis function to the EIM basis. If it is false, then we only store the data associated with the interpolation point that we identify, which can be relevant when setting up data for the error indicator, for example.
If eim_point_data
is not nullptr, then we add the extra point that is specified rather than looking for the "optimal point" in interior_pf
.
side_pf
is linearly dependent to the existing basis, and in this case we skip adding the basis function since we do not want to add linearly dependent data to the basis. Definition at line 2309 of file rb_eim_construction.C.
References _local_side_quad_point_boundary_ids, _local_side_quad_point_locations, _local_side_quad_point_locations_perturbations, _local_side_quad_point_side_types, _local_side_quad_point_subdomain_ids, libMesh::RBEIMEvaluation::add_side_basis_function(), libMesh::RBEIMEvaluation::add_side_interpolation_data(), TIMPI::Communicator::broadcast(), libMesh::ParallelObject::comm(), libMesh::EimPointData::comp_index, libMesh::Elem::dim(), libMesh::FEMContext::elem_fe_reinit(), libMesh::EimPointData::elem_id, libMesh::MeshBase::elem_ref(), libMesh::FEMContext::get_element_fe(), libMesh::RBEIMEvaluation::get_interpolation_points_comp(), libMesh::RBEIMEvaluation::get_interpolation_points_elem_id(), libMesh::RBEIMEvaluation::get_interpolation_points_qp(), libMesh::RBEIMEvaluation::get_interpolation_points_side_index(), libMesh::System::get_mesh(), libMesh::RBEIMEvaluation::get_n_basis_functions(), libMesh::RBParametrized::get_parameters(), libMesh::RBEIMEvaluation::get_parametrized_function_side_value(), get_rb_eim_evaluation(), libMesh::FEMContext::get_side_fe(), libMesh::index_range(), init_context(), libMesh::DofObject::invalid_id, TIMPI::Communicator::maxloc(), libMesh::out, libMesh::FEMContext::pre_fe_reinit(), libMesh::EimPointData::qp_index, libMesh::RBEIMEvaluation::rb_eim_solve(), libMesh::Real, scale_parametrized_function(), libMesh::RBParametrized::set_parameters(), libMesh::RBEIMEvaluation::side_decrement_vector(), libMesh::EimPointData::side_index, and value.
Referenced by enrich_eim_approximation(), and train_eim_approximation_with_POD().
|
inlinevirtualinherited |
Solves for parameter sensitivities using the forward method.
This method is only implemented in some derived classes.
Reimplemented in libMesh::ImplicitSystem.
Definition at line 2672 of file system.h.
Referenced by libMesh::System::qoi_parameter_sensitivity().
|
staticinherited |
Static helper function for generating a deterministic set of parameters.
Only works with 1 or 2 parameters (as defined by the lengths of min/max parameters vectors), otherwise throws an error. The parameter n_global_training_samples_in
is the total number of parameters to generate, and they will be split across all the processors (unless serial_training_set=true) in the local_training_parameters_in
map.
Definition at line 572 of file rb_construction_base.C.
|
staticinherited |
Static helper function for generating a randomized set of parameters.
The parameter n_global_training_samples_in
is the total number of parameters to generate, and they will be split across all the processors (unless serial_training_set=true) in the local_training_parameters_in
map.
Definition at line 472 of file rb_construction_base.C.
Real libMesh::RBEIMConstruction::get_abs_training_tolerance | ( | ) |
Definition at line 1146 of file rb_eim_construction.C.
References _abs_training_tolerance.
Referenced by print_info(), and train_eim_approximation_with_greedy().
|
inherited |
Definition at line 1307 of file system.C.
References libMesh::System::get_vector().
Referenced by libMesh::ImplicitSystem::adjoint_solve(), libMesh::FEMSystem::assemble_qoi_derivative(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), and libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
inherited |
Definition at line 1317 of file system.C.
References libMesh::System::get_vector().
|
inherited |
Definition at line 1245 of file system.C.
References libMesh::System::get_vector().
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::AdaptiveTimeSolver::adjoint_advance_timestep(), libMesh::UnsteadySolver::adjoint_advance_timestep(), libMesh::TwostepTimeSolver::adjoint_solve(), libMesh::ImplicitSystem::adjoint_solve(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), HeatSystem::init_context(), libMesh::Euler2Solver::integrate_adjoint_refinement_error_estimate(), libMesh::EulerSolver::integrate_adjoint_refinement_error_estimate(), main(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), libMesh::FileSolutionHistory::retrieve(), and libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
inherited |
Definition at line 1255 of file system.C.
References libMesh::System::get_vector().
|
inherited |
Fills all_variable_numbers
with all the variable numbers for the variables that have been added to this system.
Definition at line 1617 of file system.C.
References libMesh::System::_variable_numbers, and libMesh::System::n_vars().
Referenced by MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), and SystemsTest::testProjectCubeWithMeshFunction().
|
staticinherited |
value
from list_of_values
. Definition at line 446 of file rb_parametrized.C.
References distance(), libMesh::Real, and value.
Referenced by libMesh::RBParametrized::is_value_in_list().
|
inherited |
Return the user object for imposing constraints.
Definition at line 2226 of file system.C.
References libMesh::System::_constrain_system_object.
|
inherited |
Get the name of the parameter that we will generate deterministic training parameters for.
|
inherited |
Get a const reference to the discrete parameter values.
Definition at line 373 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().
|
inlineinherited |
_dof_map
. Definition at line 2374 of file system.h.
References libMesh::System::_dof_map.
Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::DifferentiableSystem::add_dot_var_dirichlet_bcs(), libMesh::System::add_matrix(), libMesh::HPCoarsenTest::add_projection(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::AdaptiveTimeSolver::adjoint_advance_timestep(), libMesh::UnsteadySolver::adjoint_advance_timestep(), libMesh::ImplicitSystem::adjoint_solve(), libMesh::NewmarkSolver::advance_timestep(), libMesh::AdaptiveTimeSolver::advance_timestep(), libMesh::UnsteadySolver::advance_timestep(), libMesh::EquationSystems::allgather(), libMesh::TransientRBConstruction::allocate_data_structures(), libMesh::RBConstruction::allocate_data_structures(), alternative_fe_assembly(), assemble(), LinearElasticity::assemble(), assemble_1D(), AssembleOptimization::assemble_A_and_F(), libMesh::ClawSystem::assemble_advection_matrices(), assemble_and_solve(), libMesh::ClawSystem::assemble_avg_coupling_matrices(), assemble_biharmonic(), libMesh::ClawSystem::assemble_boundary_condition_matrices(), assemble_divgrad(), assemble_elasticity(), assemble_ellipticdg(), assemble_func(), assemble_graddiv(), assemble_helmholtz(), libMesh::ClawSystem::assemble_jump_coupling_matrix(), assemble_laplace(), assemble_mass(), libMesh::ClawSystem::assemble_mass_matrix(), assemble_matrices(), assemble_matrix_and_rhs(), assemble_poisson(), assemble_SchroedingerEquation(), assemble_shell(), assemble_stokes(), assemble_wave(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::PetscDMWrapper::build_sf(), libMesh::System::calculate_norm(), compute_jacobian(), compute_residual(), compute_stresses(), LinearElasticityWithContact::compute_stresses(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), MyConstraint::constrain(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::Nemesis_IO::copy_elemental_solution(), libMesh::Nemesis_IO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), libMesh::CondensedEigenSystem::copy_sub_to_super(), libMesh::CondensedEigenSystem::copy_super_to_sub(), libMesh::System::create_static_condensation(), libMesh::ImplicitSystem::create_static_condensation_system_matrix(), create_wrapped_function(), DMCreateDomainDecomposition_libMesh(), DMCreateFieldDecomposition_libMesh(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), fe_assembly(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::VariationalSmootherConstraint::fix_node(), form_functionA(), form_functionB(), form_matrixA(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::System::get_info(), libMesh::System::has_static_condensation(), libMesh::SystemSubsetBySubdomain::init(), libMesh::SecondOrderUnsteadySolver::init_data(), libMesh::UnsteadySolver::init_data(), HeatSystem::init_data(), SimpleRBConstruction::init_data(), libMesh::ClawSystem::init_data(), LaplaceSystem::init_dirichlet_bcs(), NonManifoldCouplingTestBase::init_es(), libMesh::FEMContext::init_internal_data(), libMesh::EigenSystem::init_matrices(), libMesh::System::init_matrices(), libMesh::PetscDMWrapper::init_petscdm(), libMesh::CondensedEigenSystem::initialize_condensed_dofs(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), LaplaceYoung::jacobian(), LargeDeformationElasticity::jacobian(), libMesh::System::late_matrix_init(), libMesh::libmesh_petsc_snes_fd_residual(), libMesh::libmesh_petsc_snes_jacobian(), libMesh::libmesh_petsc_snes_mffd_residual(), libMesh::libmesh_petsc_snes_residual(), libMesh::libmesh_petsc_snes_residual_helper(), libMesh::System::local_dof_indices(), AssembleOptimization::lower_and_upper_bounds(), main(), libMesh::DofMap::max_constraint_error(), LinearElasticityWithContact::move_mesh(), libMesh::DGFEMContext::neighbor_side_fe_reinit(), libMesh::UnsteadySolver::old_nonlinear_solution(), libMesh::SecondOrderUnsteadySolver::old_solution_accel(), libMesh::SecondOrderUnsteadySolver::old_solution_rate(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectInteriors::operator()(), libMesh::RBSCMConstruction::perform_SCM_greedy(), periodic_bc_test_poisson(), libMesh::petsc_auto_fieldsplit(), libMesh::ErrorVector::plot_error(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::FEMContext::pre_fe_reinit(), libMesh::InterMeshProjection::project_system_vectors(), libMesh::System::re_update(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::SecondOrderUnsteadySolver::reinit(), libMesh::UnsteadySolver::reinit(), libMesh::System::reinit(), libMesh::System::reinit_constraints(), libMesh::EquationSystems::reinit_solutions(), LaplaceYoung::residual(), LargeDeformationElasticity::residual(), LinearElasticityWithContact::residual_and_jacobian(), libMesh::UnsteadySolver::retrieve_timestep(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), libMesh::HPCoarsenTest::select_refinement(), libMesh::ImplicitSystem::sensitivity_solve(), libMesh::RBConstruction::set_context_solution_vec(), libMesh::PetscDMWrapper::set_point_range_in_section(), set_system_parameters(), SlitMeshRefinedSystemTest::setUp(), FETestBase< order, family, elem_type, 1 >::setUp(), SolidSystem::side_time_derivative(), libMesh::NewtonSolver::solve(), libMesh::PetscDiffSolver::solve(), libMesh::EigenSystem::solve(), libMesh::RBConstruction::solve_for_matrix_and_rhs(), SystemsTest::test100KVariables(), ConstraintOperatorTest::test1DCoarseningNewNodes(), ConstraintOperatorTest::test1DCoarseningOperator(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), MeshFunctionTest::test_subdomain_id_sets(), SystemsTest::testBlockRestrictedVarNDofs(), DofMapTest::testConstraintLoopDetection(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), EquationSystemsTest::testDisableDefaultGhosting(), SystemsTest::testDofCouplingWithVarGroups(), DofMapTest::testDofOwner(), MeshInputTest::testDynaReadPatch(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), MeshAssignTest::testMeshMoveAssign(), PeriodicBCTest::testPeriodicBC(), SystemsTest::testPostInitAddVectorTypeChange(), SystemsTest::testProjectCubeWithMeshFunction(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), InfFERadialTest::testRefinement(), EquationSystemsTest::testSelectivePRefine(), BoundaryInfoTest::testShellFaceConstraints(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), libMesh::UnsteadySolver::update(), update_current_local_solution(), NonManifoldGhostingFunctorTest::verify_send_list_entries_helper(), libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve(), libMesh::ImplicitSystem::weighted_sensitivity_solve(), libMesh::Nemesis_IO_Helper::write_nodal_solution(), libMesh::System::write_parallel_data(), libMesh::EnsightIO::write_scalar_ascii(), libMesh::System::write_SCALAR_dofs(), libMesh::EnsightIO::write_vector_ascii(), and libMesh::RBConstruction::zero_constrained_dofs_on_vector().
|
inlineinherited |
_dof_map
. Definition at line 2382 of file system.h.
References libMesh::System::_dof_map.
std::vector< std::unique_ptr< ElemAssembly > > & libMesh::RBEIMConstruction::get_eim_assembly_objects | ( | ) |
Definition at line 1101 of file rb_eim_construction.C.
References _rb_eim_assembly_objects.
Referenced by main().
|
inlineinherited |
Definition at line 721 of file system.h.
References libMesh::System::_equation_systems.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::RBSCMConstruction::add_scaled_symm_Aq(), libMesh::NewmarkSystem::clear(), libMesh::FrequencySystem::clear_all(), compute_jacobian(), compute_residual(), LinearElasticityWithContact::compute_stresses(), SolidSystem::element_time_derivative(), libMesh::RBConstruction::enrich_basis_from_rhs_terms(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::ImplicitSystem::get_linear_solve_parameters(), SolidSystem::init_data(), HeatSystem::init_data(), libMesh::FrequencySystem::init_data(), LaplaceYoung::jacobian(), libMesh::RBSCMConstruction::load_matrix_B(), LinearElasticityWithContact::move_mesh(), libMesh::FrequencySystem::n_frequencies(), libMesh::RBSCMConstruction::perform_SCM_greedy(), libMesh::System::point_gradient(), libMesh::System::point_value(), libMesh::InterMeshProjection::project_system_vectors(), libMesh::StaticCondensationDofMap::reinit(), LaplaceYoung::residual(), LinearElasticityWithContact::residual_and_jacobian(), libMesh::FileHistoryData::retrieve_adjoint_solution(), libMesh::FileHistoryData::retrieve_primal_solution(), libMesh::FileHistoryData::rewrite_stored_solution(), SolidSystem::save_initial_mesh(), libMesh::FrequencySystem::set_current_frequency(), libMesh::FrequencySystem::set_frequencies(), libMesh::FrequencySystem::set_frequencies_by_range(), libMesh::FrequencySystem::set_frequencies_by_steps(), libMesh::NewmarkSystem::set_newmark_parameters(), libMesh::NonlinearImplicitSystem::set_solver_parameters(), SolidSystem::side_time_derivative(), libMesh::EigenSystem::solve(), libMesh::CondensedEigenSystem::solve(), libMesh::FrequencySystem::solve(), libMesh::ClawSystem::solve_conservation_law(), libMesh::RBConstruction::solve_for_matrix_and_rhs(), libMesh::EigenSystem::solve_helper(), libMesh::FileHistoryData::store_adjoint_solution(), libMesh::FileHistoryData::store_initial_solution(), libMesh::FileHistoryData::store_primal_solution(), MeshFunctionTest::test_p_level(), MeshFunctionTest::test_subdomain_id_sets(), MeshAssignTest::testMeshMoveAssign(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::DirectSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::DTKSolutionTransfer::transfer(), libMesh::TransientRBConstruction::truth_solve(), libMesh::RBConstruction::truth_solve(), and libMesh::WrappedFunction< Output >::WrappedFunction().
|
inlineinherited |
Definition at line 726 of file system.h.
References libMesh::System::_equation_systems.
|
inherited |
Get the first local index of the training parameters.
Definition at line 191 of file rb_construction_base.C.
|
staticprotectedinherited |
Static function to return the error pair (index,error) that is corresponds to the largest error on all processors.
Definition at line 134 of file rb_construction_base.C.
|
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().
|
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().
|
inherited |
Definition at line 2040 of file system.C.
References libMesh::ParallelObject::comm(), libMesh::FEType::family, libMesh::System::get_dof_map(), libMesh::DofMap::get_info(), libMesh::FEType::inf_map, libMesh::make_range(), TIMPI::Communicator::max(), libMesh::System::n_constrained_dofs(), libMesh::System::n_dofs(), libMesh::System::n_local_constrained_dofs(), libMesh::System::n_local_dofs(), libMesh::System::n_matrices(), libMesh::System::n_variable_groups(), libMesh::VariableGroup::n_variables(), libMesh::System::n_vectors(), libMesh::VariableGroup::name(), libMesh::System::name(), libMesh::System::number(), libMesh::FEType::order, libMesh::FEType::radial_family, libMesh::FEType::radial_order, libMesh::System::system_type(), libMesh::Variable::type(), libMesh::DofMap::variable_group(), and libMesh::System::variable_group().
|
inherited |
Get the last local index of the training parameters.
Definition at line 213 of file rb_construction_base.C.
|
inherited |
Get the total number of training samples local to this processor.
Definition at line 175 of file rb_construction_base.C.
Referenced by compute_max_eim_error().
const std::unordered_map< dof_id_type, std::vector< Real > > & libMesh::RBEIMConstruction::get_local_quad_point_JxW | ( | ) |
Get the interior and side quadrature weights.
Definition at line 1282 of file rb_eim_construction.C.
References _local_quad_point_JxW.
const std::map< std::pair< dof_id_type, unsigned int >, std::vector< Real > > & libMesh::RBEIMConstruction::get_local_side_quad_point_JxW | ( | ) |
Definition at line 1287 of file rb_eim_construction.C.
References _local_side_quad_point_JxW.
|
inherited |
mat_name
. Definition at line 1124 of file system.C.
References libMesh::System::_matrices.
Referenced by add_M_C_K_helmholtz(), assemble(), assemble_helmholtz(), assemble_poisson(), libMesh::NewmarkSystem::compute_matrix(), libMesh::ImplicitSystem::get_system_matrix(), main(), libMesh::EigenTimeSolver::solve(), and libMesh::NewmarkSystem::update_rhs().
|
inherited |
mat_name
. Definition at line 1131 of file system.C.
References libMesh::System::_matrices.
|
inlineprivate |
Get the maximum absolute value from a vector stored in the format that we use for basis functions.
Definition at line 394 of file rb_eim_construction.h.
References _component_scaling_in_training_set, libMesh::ParallelObject::comm(), get_rb_eim_evaluation(), libMesh::index_range(), TIMPI::Communicator::max(), libMesh::Real, and value.
Referenced by compute_max_eim_error().
Real libMesh::RBEIMConstruction::get_max_abs_value_in_training_set | ( | ) | const |
Get the maximum value (across all processors) from the parametrized functions in the training set.
Definition at line 1173 of file rb_eim_construction.C.
References _max_abs_value_in_training_set.
Referenced by train_eim_approximation_with_greedy().
|
inlineinherited |
_mesh
. Definition at line 2358 of file system.h.
References libMesh::System::_mesh.
Referenced by libMesh::ExactSolution::_compute_error(), LinearElasticityWithContact::add_contact_edge_elements(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::System::add_matrix(), libMesh::HPCoarsenTest::add_projection(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), AssembleOptimization::assemble_A_and_F(), libMesh::ClawSystem::assemble_advection_matrices(), libMesh::ClawSystem::assemble_avg_coupling_matrices(), libMesh::ClawSystem::assemble_boundary_condition_matrices(), libMesh::ClawSystem::assemble_jump_coupling_matrix(), libMesh::ClawSystem::assemble_mass_matrix(), libMesh::FEMSystem::assemble_qoi(), libMesh::FEMSystem::assemble_qoi_derivative(), libMesh::VariationalSmootherSystem::assembly(), libMesh::FEMSystem::assembly(), AssemblyA0::boundary_assembly(), AssemblyA1::boundary_assembly(), AssemblyF0::boundary_assembly(), AssemblyF1::boundary_assembly(), AssemblyA2::boundary_assembly(), AssemblyF2::boundary_assembly(), libMesh::System::calculate_norm(), libMesh::VariationalSmootherSystem::compute_element_reference_volume(), compute_jacobian(), compute_residual(), LinearElasticityWithContact::compute_stresses(), libMesh::VariationalSmootherConstraint::constrain(), libMesh::System::create_static_condensation(), libMesh::ImplicitSystem::create_static_condensation_system_matrix(), libMesh::RBEIMEvaluation::distribute_bfs(), DMCreateDomainDecomposition_libMesh(), DMCreateFieldDecomposition_libMesh(), DMlibMeshSetSystem_libMesh(), SolidSystem::element_time_derivative(), HeatSystem::element_time_derivative(), libMesh::RBConstruction::enrich_basis_from_rhs_terms(), enrich_eim_approximation_on_interiors(), enrich_eim_approximation_on_sides(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::VariationalSmootherConstraint::fix_node(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::GenericProjector(), LinearElasticityWithContact::get_least_and_max_gap_function(), libMesh::SystemSubsetBySubdomain::init(), init_context(), SolidSystem::init_data(), libMesh::VariationalSmootherSystem::init_data(), libMesh::System::init_data(), libMesh::System::init_matrices(), libMesh::PetscDMWrapper::init_petscdm(), LinearElasticityWithContact::initialize_contact_load_paths(), initialize_qp_data(), libMesh::System::local_dof_indices(), libMesh::DofMap::max_constraint_error(), libMesh::FEMSystem::mesh_position_get(), libMesh::FEMSystem::mesh_position_set(), LinearElasticityWithContact::move_mesh(), libMesh::System::n_components(), libMesh::RBEIMEvaluation::node_distribute_bfs(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::petsc_auto_fieldsplit(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::FEMSystem::postprocess(), libMesh::RBParametrizedFunction::preevaluate_parametrized_function_on_mesh(), libMesh::RBParametrizedFunction::preevaluate_parametrized_function_on_mesh_sides(), libMesh::System::read_header(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::System::read_legacy_data(), libMesh::System::read_parallel_data(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::System::reinit(), LinearElasticityWithContact::residual_and_jacobian(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), SolidSystem::save_initial_mesh(), libMesh::HPSingularity::select_refinement(), libMesh::HPCoarsenTest::select_refinement(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::RBEIMEvaluation::side_distribute_bfs(), SolidSystem::side_time_derivative(), libMesh::PetscDiffSolver::solve(), libMesh::ClawSystem::solve_conservation_law(), MeshAssignTest::testMeshMoveAssign(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::BoundaryVolumeSolutionTransfer::transfer(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), libMesh::BoundaryVolumeSolutionTransfer::transfer_volume_boundary(), libMesh::TransientRBConstruction::truth_solve(), libMesh::RBConstruction::truth_solve(), libMesh::System::write_header(), libMesh::RBEvaluation::write_out_vectors(), libMesh::System::write_parallel_data(), libMesh::System::write_serialized_vector(), libMesh::System::write_serialized_vectors(), and libMesh::System::zero_variable().
|
inlineinherited |
_mesh
. Definition at line 2366 of file system.h.
References libMesh::System::_mesh.
|
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 libMesh::RBEIMConstruction::get_n_parametrized_functions_for_training | ( | ) | const |
Get the number of parametrized functions used for training.
Definition at line 1292 of file rb_eim_construction.C.
References _local_node_parametrized_functions_for_training, _local_parametrized_functions_for_training, _local_side_parametrized_functions_for_training, and get_rb_eim_evaluation().
|
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(), compute_max_eim_error(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::RBParametrized::get_n_continuous_params(), libMesh::RBSCMConstruction::print_info(), print_info(), libMesh::RBConstruction::print_info(), libMesh::RBEIMEvaluation::set_eim_error_indicator_active(), and libMesh::RBConstruction::train_reduced_basis_with_POD().
|
inherited |
Get the number of global training samples.
Definition at line 153 of file rb_construction_base.C.
Referenced by apply_normalization_to_solution_snapshots(), compute_max_eim_error(), initialize_parametrized_functions_in_training_set(), print_info(), store_eim_solutions_for_training_set(), train_eim_approximation_with_greedy(), and train_eim_approximation_with_POD().
unsigned int libMesh::RBEIMConstruction::get_Nmax | ( | ) | const |
Get/set Nmax, the maximum number of RB functions we are willing to compute.
Definition at line 1151 of file rb_eim_construction.C.
References _Nmax.
Referenced by print_info(), reinit_eim_projection_matrix(), train_eim_approximation_with_greedy(), and train_eim_approximation_with_POD().
|
private |
Get the maximum absolute value from a vector stored in the format that we use for basis functions.
This case handles NodeDataMap.
Definition at line 2255 of file rb_eim_construction.C.
References _component_scaling_in_training_set, libMesh::ParallelObject::comm(), get_rb_eim_evaluation(), libMesh::index_range(), TIMPI::Communicator::max(), libMesh::Real, and value.
Referenced by compute_max_eim_error().
const RBEIMEvaluation::NodeDataMap & libMesh::RBEIMConstruction::get_node_parametrized_function_from_training_set | ( | unsigned int | training_index | ) | const |
Definition at line 1275 of file rb_eim_construction.C.
References _local_node_parametrized_functions_for_training.
|
inherited |
Get maximum allowable value of parameter param_name
.
Definition at line 185 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(), print_info(), and libMesh::RBConstruction::print_info().
|
inherited |
Get minimum allowable value of parameter param_name
.
Definition at line 178 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(), print_info(), and libMesh::RBConstruction::print_info().
|
inherited |
Get a set that stores the parameter names.
Definition at line 130 of file rb_parametrized.C.
References libMesh::RBParametrized::parameters_initialized, and libMesh::RBParametrized::parameters_min.
|
inherited |
Get the current parameters.
Definition at line 157 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(), enrich_eim_approximation_on_interiors(), enrich_eim_approximation_on_nodes(), 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(), 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(), 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(), train_eim_approximation_with_greedy(), 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 171 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(), 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 164 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(), set_rb_construction_parameters(), libMesh::RBConstruction::set_rb_construction_parameters(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
const RBEIMEvaluation::QpDataMap & libMesh::RBEIMConstruction::get_parametrized_function_from_training_set | ( | unsigned int | training_index | ) | const |
Get a const reference to the specified parametrized function from the training set.
Definition at line 1261 of file rb_eim_construction.C.
References _local_parametrized_functions_for_training.
|
protectedinherited |
Return the RBParameters in index global_index
of the global training set.
Why do we use an index here? RBParameters supports loading the full sample set. This seems probably unnecessary now to load individually. Maybe it's a memory issue?
Definition at line 231 of file rb_construction_base.C.
Referenced by compute_max_eim_error().
|
inlineinherited |
Setter and getter functions for project_with_constraints boolean.
Definition at line 1795 of file system.h.
References libMesh::System::project_with_constraints.
Referenced by libMesh::AdjointRefinementEstimator::estimate_error().
Definition at line 2413 of file system.C.
References libMesh::libmesh_assert(), and libMesh::System::qoi_error_estimates.
Referenced by libMesh::TwostepTimeSolver::integrate_adjoint_refinement_error_estimate(), and main().
Definition at line 2386 of file system.C.
References libMesh::libmesh_assert(), and libMesh::System::qoi.
Referenced by libMesh::Euler2Solver::integrate_qoi_timestep(), libMesh::TwostepTimeSolver::integrate_qoi_timestep(), libMesh::EulerSolver::integrate_qoi_timestep(), main(), libMesh::ImplicitSystem::qoi_parameter_hessian(), and libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product().
|
inherited |
Returns a copy of qoi, not a reference.
Definition at line 2393 of file system.C.
References libMesh::System::qoi.
Referenced by libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::FEMSystem::assemble_qoi(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::ImplicitSystem::qoi_parameter_hessian(), and libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product().
Static helper function that is used by get_random_point().
Definition at line 3032 of file rb_eim_construction.C.
Referenced by get_random_point().
|
private |
Helper function that identifies a random EIM point from v
.
Definition at line 3044 of file rb_eim_construction.C.
References TIMPI::Communicator::broadcast(), libMesh::ParallelObject::comm(), libMesh::EimPointData::comp_index, libMesh::EimPointData::elem_id, libMesh::VectorizedEvalInput::elem_ids, get_random_int_0_to_n(), get_rb_eim_evaluation(), libMesh::RBEIMEvaluation::get_vec_eval_input(), libMesh::EimPointData::qp_index, and TIMPI::Communicator::set_union().
Referenced by get_random_point_from_training_sample(), and train_eim_approximation_with_POD().
|
private |
Definition at line 3138 of file rb_eim_construction.C.
References TIMPI::Communicator::broadcast(), libMesh::ParallelObject::comm(), libMesh::EimPointData::comp_index, libMesh::EimPointData::elem_id, libMesh::VectorizedEvalInput::elem_ids, get_random_int_0_to_n(), get_rb_eim_evaluation(), libMesh::RBEIMEvaluation::get_vec_eval_input(), libMesh::MeshTools::Generation::Private::idx(), libMesh::index_range(), libMesh::EimPointData::qp_index, TIMPI::Communicator::set_union(), libMesh::EimPointData::side_index, and libMesh::VectorizedEvalInput::side_indices.
|
private |
Definition at line 3230 of file rb_eim_construction.C.
References TIMPI::Communicator::broadcast(), libMesh::ParallelObject::comm(), libMesh::EimPointData::comp_index, get_random_int_0_to_n(), get_rb_eim_evaluation(), libMesh::RBEIMEvaluation::get_vec_eval_input(), libMesh::EimPointData::node_id, libMesh::VectorizedEvalInput::node_ids, and TIMPI::Communicator::set_union().
|
private |
Get a random point using the 0^th training sample as input to get_random_point().
Definition at line 3304 of file rb_eim_construction.C.
References _local_node_parametrized_functions_for_training, _local_parametrized_functions_for_training, _local_side_parametrized_functions_for_training, libMesh::RBEIMEvaluation::get_parametrized_function(), get_random_point(), get_rb_eim_evaluation(), libMesh::RBParametrizedFunction::on_mesh_nodes(), and libMesh::RBParametrizedFunction::on_mesh_sides().
Referenced by train_eim_approximation_with_greedy().
RBEIMEvaluation & libMesh::RBEIMConstruction::get_rb_eim_evaluation | ( | ) |
Get a reference to the RBEvaluation object.
Definition at line 157 of file rb_eim_construction.C.
References _rb_eim_eval.
Referenced by apply_normalization_to_solution_snapshots(), compute_max_eim_error(), enrich_eim_approximation(), enrich_eim_approximation_on_interiors(), enrich_eim_approximation_on_nodes(), enrich_eim_approximation_on_sides(), libMesh::RBEIMAssembly::evaluate_basis_function(), libMesh::RBEIMAssembly::evaluate_node_basis_function(), libMesh::RBEIMAssembly::evaluate_side_basis_function(), get_max_abs_value(), get_n_parametrized_functions_for_training(), get_node_max_abs_value(), get_random_point(), get_random_point_from_training_sample(), initialize_eim_assembly_objects(), initialize_parametrized_functions_in_training_set(), initialize_qp_data(), reinit_eim_projection_matrix(), set_rb_construction_parameters(), store_eim_solutions_for_training_set(), train_eim_approximation_with_greedy(), train_eim_approximation_with_POD(), and update_eim_matrices().
const RBEIMEvaluation & libMesh::RBEIMConstruction::get_rb_eim_evaluation | ( | ) | const |
Get a const reference to the RBEvaluation object.
Definition at line 163 of file rb_eim_construction.C.
References _rb_eim_eval.
Real libMesh::RBEIMConstruction::get_rel_training_tolerance | ( | ) |
Definition at line 1136 of file rb_eim_construction.C.
References _rel_training_tolerance.
Referenced by print_info(), train_eim_approximation_with_greedy(), and train_eim_approximation_with_POD().
|
inherited |
assemble_residual_derivatives()
is called.When assembled, this vector should hold -(partial R / partial p_i)
Definition at line 1337 of file system.C.
References libMesh::System::get_vector().
Referenced by libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), and libMesh::ImplicitSystem::sensitivity_solve().
|
inherited |
Definition at line 1347 of file system.C.
References libMesh::System::get_vector().
|
inherited |
Definition at line 1192 of file system.C.
References libMesh::System::get_vector().
Referenced by libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::ImplicitSystem::qoi_parameter_hessian(), and libMesh::ImplicitSystem::sensitivity_solve().
|
inherited |
Definition at line 1202 of file system.C.
References libMesh::System::get_vector().
const RBEIMEvaluation::SideQpDataMap & libMesh::RBEIMConstruction::get_side_parametrized_function_from_training_set | ( | unsigned int | training_index | ) | const |
Definition at line 1268 of file rb_eim_construction.C.
References _local_side_parametrized_functions_for_training.
|
inherited |
vec_name
. Access is only granted when the vector is already properly initialized. Definition at line 943 of file system.C.
References libMesh::System::_vectors.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), add_M_C_K_helmholtz(), libMesh::AdaptiveTimeSolver::adjoint_advance_timestep(), libMesh::UnsteadySolver::adjoint_advance_timestep(), libMesh::NewmarkSolver::advance_timestep(), libMesh::AdaptiveTimeSolver::advance_timestep(), libMesh::UnsteadySolver::advance_timestep(), apply_initial(), assemble(), libMesh::System::compare(), libMesh::NewmarkSolver::compute_initial_accel(), libMesh::UnsteadySolver::du(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::System::get_adjoint_rhs(), libMesh::System::get_adjoint_solution(), libMesh::System::get_sensitivity_rhs(), libMesh::System::get_sensitivity_solution(), libMesh::System::get_weighted_sensitivity_adjoint_solution(), libMesh::System::get_weighted_sensitivity_solution(), libMesh::NewmarkSystem::initial_conditions(), AssembleOptimization::lower_and_upper_bounds(), main(), libMesh::NewmarkSolver::project_initial_accel(), libMesh::SecondOrderUnsteadySolver::project_initial_rate(), libMesh::InterMeshProjection::project_system_vectors(), libMesh::SecondOrderUnsteadySolver::reinit(), libMesh::UnsteadySolver::reinit(), libMesh::FileSolutionHistory::retrieve(), libMesh::UnsteadySolver::retrieve_timestep(), libMesh::MemoryHistoryData::retrieve_vectors(), libMesh::TwostepTimeSolver::solve(), libMesh::FrequencySystem::solve(), libMesh::UnsteadySolver::update(), libMesh::NewmarkSystem::update_rhs(), and libMesh::NewmarkSystem::update_u_v_a().
|
inherited |
vec_name
. Access is only granted when the vector is already properly initialized. Definition at line 950 of file system.C.
References libMesh::System::_vectors.
|
inherited |
vec_num
(where the vectors are counted starting with 0). Definition at line 957 of file system.C.
References libMesh::System::_vectors, and libMesh::System::vectors_begin().
|
inherited |
vec_num
(where the vectors are counted starting with 0). Definition at line 970 of file system.C.
References libMesh::System::_vectors, and libMesh::System::vectors_begin().
|
inherited |
Definition at line 1277 of file system.C.
References libMesh::System::get_vector().
Referenced by libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), and libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
inherited |
Definition at line 1287 of file system.C.
References libMesh::System::get_vector().
|
inherited |
Definition at line 1219 of file system.C.
References libMesh::System::get_vector().
Referenced by libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), and libMesh::ImplicitSystem::weighted_sensitivity_solve().
|
inherited |
Definition at line 1226 of file system.C.
References libMesh::System::get_vector().
|
inherited |
Definition at line 2221 of file system.C.
References libMesh::System::_constrain_system_object.
|
inherited |
Definition at line 2871 of file system.C.
References libMesh::System::get_dof_map(), and libMesh::DofMap::has_static_condensation().
Referenced by libMesh::System::add_matrix(), assemble_poisson(), libMesh::ImplicitSystem::ImplicitSystem(), libMesh::LinearImplicitSystem::LinearImplicitSystem(), and libMesh::NonlinearImplicitSystem::NonlinearImplicitSystem().
|
inherited |
true
if a variable named var
exists in this System Definition at line 1602 of file system.C.
References libMesh::System::_variable_numbers.
Referenced by libMesh::GMVIO::copy_nodal_solution(), and main().
|
inlineinherited |
true
if this System
has a matrix associated with the given name, false
otherwise. Definition at line 1891 of file system.h.
References libMesh::System::_matrices.
Referenced by libMesh::EigenTimeSolver::init().
|
inlineinherited |
true
if this System
has a vector associated with the given name, false
otherwise. Definition at line 2550 of file system.h.
References libMesh::System::_vectors.
|
inlineinherited |
true
, then EquationSystems::write
will ignore this system. Definition at line 1810 of file system.h.
References libMesh::System::_hide_output.
|
inlineinherited |
true
when VariableGroup
structures should be automatically identified, false
otherwise. Definition at line 2526 of file system.h.
References libMesh::System::_identify_variable_groups.
Referenced by libMesh::System::add_variable(), and libMesh::System::add_variables().
|
inlineinherited |
Toggle automatic VariableGroup
identification.
Definition at line 2534 of file system.h.
References libMesh::System::_identify_variable_groups.
|
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 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().
|
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().
|
inherited |
Initializes degrees of freedom on the current mesh.
Sets the
Definition at line 197 of file system.C.
References libMesh::System::is_initialized(), libMesh::libmesh_assert(), and libMesh::System::reinit_mesh().
Referenced by libMesh::StaticCondensationDofMap::reinit().
|
virtual |
Pre-request FE data needed for calculations.
Definition at line 1106 of file rb_eim_construction.C.
References dim, libMesh::FEMContext::get_element_fe(), libMesh::System::get_mesh(), libMesh::FEMContext::get_side_fe(), libMesh::DiffContext::get_system(), libMesh::make_range(), mesh, and libMesh::System::n_vars().
Referenced by enrich_eim_approximation_on_sides(), and initialize_qp_data().
|
protectedvirtualinherited |
Initializes the member data fields associated with the system, so that, e.g., assemble()
may be used.
Reimplemented from libMesh::System.
Reimplemented in SimpleEIMConstruction, and SimpleEIMConstruction.
Definition at line 123 of file rb_construction_base.C.
|
protectedvirtualinherited |
Initializes the matrices associated with this system.
Reimplemented in libMesh::EigenSystem.
Definition at line 323 of file system.C.
References libMesh::System::_matrices, libMesh::System::_matrices_initialized, libMesh::System::_matrix_types, libMesh::System::_prefer_hash_table_matrix_assembly, libMesh::System::_require_sparsity_pattern, libMesh::DofMap::attach_matrix(), libMesh::DofMap::compute_sparsity(), libMesh::System::get_dof_map(), libMesh::System::get_mesh(), libMesh::SparseMatrix< T >::initialized(), libMesh::DofMap::is_attached(), libMesh::libmesh_assert(), and libMesh::System::name().
Referenced by libMesh::System::init_data(), and libMesh::EigenSystem::init_matrices().
|
inherited |
Accessors for qoi and qoi_error_estimates vectors.
Definition at line 2371 of file system.C.
References libMesh::System::n_qois(), libMesh::System::qoi, and libMesh::System::qoi_error_estimates.
Referenced by CoupledSystemQoI::init_qoi_count(), LaplaceQoI::init_qoi_count(), and main().
|
virtual |
Build a vector of ElemAssembly objects that accesses the basis functions stored in this RBEIMConstruction object.
This is useful for performing the Offline stage of the Reduced Basis method where we want to use assembly functions based on this EIM approximation.
Definition at line 1094 of file rb_eim_construction.C.
References _rb_eim_assembly_objects, build_eim_assembly(), get_rb_eim_evaluation(), and libMesh::make_range().
Referenced by main().
void libMesh::RBEIMConstruction::initialize_eim_construction | ( | ) |
Perform initialization of this object to prepare for running train_eim_approximation().
Definition at line 226 of file rb_eim_construction.C.
References initialize_parametrized_functions_in_training_set().
Referenced by main().
|
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(), set_rb_construction_parameters(), libMesh::RBConstruction::set_rb_construction_parameters(), RBParametersTest::testRBParametrized(), train_eim_approximation_with_greedy(), 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().
|
private |
Compute and store the parametrized function for each parameter in the training set at all the stored qp locations.
Definition at line 1497 of file rb_eim_construction.C.
References _component_scaling_in_training_set, _local_node_boundary_ids, _local_node_locations, _local_node_parametrized_functions_for_training, _local_parametrized_functions_for_training, _local_quad_point_locations, _local_quad_point_locations_perturbations, _local_quad_point_subdomain_ids, _local_side_parametrized_functions_for_training, _local_side_quad_point_boundary_ids, _local_side_quad_point_locations, _local_side_quad_point_locations_perturbations, _local_side_quad_point_side_types, _local_side_quad_point_subdomain_ids, _max_abs_value_in_training_set, _max_abs_value_in_training_set_index, TIMPI::Communicator::broadcast(), libMesh::ParallelObject::comm(), libMesh::RBParametrizedFunction::get_n_components(), libMesh::RBConstructionBase< System >::get_n_training_samples(), libMesh::RBParametrized::get_parameters(), libMesh::RBEIMEvaluation::get_parametrized_function(), get_rb_eim_evaluation(), libMesh::index_range(), libMesh::RBParametrizedFunction::initialize_lookup_table(), initialize_qp_data(), libMesh::RBEIMEvaluation::initialize_rb_property_map(), libMesh::RBParametrizedFunction::is_lookup_table, libMesh::RBParametrizedFunction::lookup_preevaluated_node_value_on_mesh(), libMesh::RBParametrizedFunction::lookup_preevaluated_side_value_on_mesh(), libMesh::RBParametrizedFunction::lookup_preevaluated_value_on_mesh(), libMesh::make_range(), TIMPI::Communicator::max(), TIMPI::Communicator::maxloc(), libMesh::RBParametrizedFunction::on_mesh_nodes(), libMesh::RBParametrizedFunction::on_mesh_sides(), libMesh::out, libMesh::RBParametrizedFunction::preevaluate_parametrized_function_on_mesh(), libMesh::RBParametrizedFunction::preevaluate_parametrized_function_on_mesh_nodes(), libMesh::RBParametrizedFunction::preevaluate_parametrized_function_on_mesh_sides(), libMesh::Real, libMesh::RBEIMEvaluation::scale_components_in_enrichment(), libMesh::RBConstructionBase< System >::serial_training_set, libMesh::RBConstructionBase< System >::set_params_from_training_set(), and value.
Referenced by initialize_eim_construction().
|
private |
Initialize the data associated with each quad point (location, JxW, etc.) so that we can use this in evaluation of the parametrized functions.
Definition at line 1745 of file rb_eim_construction.C.
References _local_node_boundary_ids, _local_node_locations, _local_quad_point_JxW, _local_quad_point_locations, _local_quad_point_locations_perturbations, _local_quad_point_subdomain_ids, _local_side_quad_point_boundary_ids, _local_side_quad_point_JxW, _local_side_quad_point_locations, _local_side_quad_point_locations_perturbations, _local_side_quad_point_side_types, _local_side_quad_point_subdomain_ids, libMesh::FEMContext::elem_fe_reinit(), libMesh::RBParametrizedFunction::fd_delta, libMesh::FEMContext::get_elem(), libMesh::FEMContext::get_element_fe(), libMesh::System::get_mesh(), libMesh::RBEIMEvaluation::get_parametrized_function(), libMesh::RBParametrizedFunction::get_parametrized_function_boundary_ids(), get_rb_eim_evaluation(), libMesh::FEMContext::get_side_fe(), init_context(), libMesh::BoundaryInfo::invalid_id, libMesh::FEMap::inverse_map(), libMesh::libmesh_assert(), libMesh::FEMap::map(), mesh, libMesh::Elem::n_sides(), libMesh::Elem::neighbor_ptr(), node_boundary_id, libMesh::out, libMesh::FEMContext::pre_fe_reinit(), libMesh::DofObject::processor_id(), libMesh::Real, libMesh::System::reinit(), libMesh::FEMContext::side, and libMesh::TOLERANCE.
Referenced by initialize_parametrized_functions_in_training_set().
|
virtualinherited |
Initialize the parameter ranges and indicate whether deterministic or random training parameters should be used and whether or not we want the parameters to be scaled logarithmically.
n_global_training_samples
is the total number of samples to generate, which will be distributed across all the processors.
Definition at line 292 of file rb_construction_base.C.
Referenced by set_rb_construction_parameters().
|
private |
Evaluate the inner product of vec1 and vec2 which specify values at quadrature points.
The inner product includes the JxW contributions stored in _local_quad_point_JxW, so that this is equivalent to computing w^t M v, where M is the mass matrix.
If apply_comp_scaling
then we will incorporate the scaling from _component_scaling_in_training_set in the inner product.
Definition at line 2156 of file rb_eim_construction.C.
References _component_scaling_in_training_set, _local_quad_point_JxW, libMesh::ParallelObject::comm(), libMesh::index_range(), libMesh::libmesh_conj(), libMesh::Utility::pow(), libMesh::Real, and TIMPI::Communicator::sum().
Referenced by apply_normalization_to_solution_snapshots(), compute_max_eim_error(), train_eim_approximation_with_POD(), and update_eim_matrices().
|
inlineinherited |
Accessor for the adjoint_already_solved boolean.
Definition at line 409 of file system.h.
References libMesh::System::adjoint_already_solved.
Referenced by libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::ImplicitSystem::qoi_parameter_hessian(), and libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product().
|
inherited |
Is parameter mu_name
discrete?
Definition at line 365 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(), print_info(), libMesh::RBConstruction::print_info(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
|
inlineinherited |
true
iff this system has been initialized. Definition at line 2414 of file system.h.
References libMesh::System::_is_initialized.
Referenced by libMesh::System::add_variable(), libMesh::System::add_variables(), libMesh::System::init(), and libMesh::StaticCondensationDofMap::reinit().
|
inlineinherited |
Is the system in quiet mode?
Definition at line 106 of file rb_construction_base.h.
Referenced by print_info().
|
virtualinherited |
Overwrite the training parameters with new_training_set.
This training set is assumed to contain only the samples local to this processor.
Definition at line 379 of file rb_construction_base.C.
Referenced by set_rb_construction_parameters().
|
inherited |
Fills the std::set with the degrees of freedom on the local processor corresponding the the variable number passed in.
Definition at line 1627 of file system.C.
References libMesh::DofMap::dof_indices(), libMesh::DofMapBase::end_dof(), libMesh::DofMapBase::first_dof(), libMesh::System::get_dof_map(), libMesh::System::get_mesh(), and libMesh::libmesh_assert().
Referenced by libMesh::System::discrete_var_norm(), SystemsTest::testBlockRestrictedVarNDofs(), and libMesh::DirectSolutionTransfer::transfer().
|
inlineinherited |
Beginning of matrices container.
Definition at line 2588 of file system.h.
References libMesh::System::_matrices.
|
inlineinherited |
Beginning of matrices container.
Definition at line 2594 of file system.h.
References libMesh::System::_matrices.
|
inlineinherited |
End of matrices container.
Definition at line 2600 of file system.h.
References libMesh::System::_matrices.
|
inlineinherited |
End of matrices container.
Definition at line 2606 of file system.h.
References libMesh::System::_matrices.
|
inlineinherited |
Definition at line 2542 of file system.h.
References libMesh::System::n_constrained_dofs(), and libMesh::System::n_dofs().
|
inlineinherited |
n_vars()
in the case of all scalar-valued variables. Definition at line 2446 of file system.h.
References libMesh::System::_variables, libMesh::Variable::first_scalar_number(), libMesh::System::get_mesh(), and libMesh::Variable::n_components().
Referenced by libMesh::System::add_variables().
|
inherited |
Definition at line 128 of file system.C.
References libMesh::System::_dof_map.
Referenced by form_functionA(), form_functionB(), form_matrixA(), libMesh::System::get_info(), libMesh::System::n_active_dofs(), libMesh::EigenSystem::solve(), and BoundaryInfoTest::testShellFaceConstraints().
|
inherited |
Definition at line 121 of file system.C.
References libMesh::System::_dof_map.
Referenced by libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::System::add_vector(), libMesh::TransientRBConstruction::allocate_data_structures(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::assemble_affine_expansion(), libMesh::ClawSystem::assemble_avg_coupling_matrices(), libMesh::ClawSystem::assemble_boundary_condition_matrices(), libMesh::AdvectionSystem::assemble_claw_rhs(), libMesh::ClawSystem::assemble_jump_coupling_matrix(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::System::get_info(), libMesh::SecondOrderUnsteadySolver::init_data(), libMesh::AdvectionSystem::init_data(), libMesh::UnsteadySolver::init_data(), libMesh::System::init_data(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), main(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), libMesh::System::n_active_dofs(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), libMesh::FEMSystem::numerical_jacobian(), libMesh::RBSCMConstruction::perform_SCM_greedy(), 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::SecondOrderUnsteadySolver::reinit(), libMesh::UnsteadySolver::reinit(), libMesh::System::restrict_vectors(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::ClawSystem::solve_conservation_law(), SystemsTest::test100KVariables(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), SystemsTest::testPostInitAddVector(), SystemsTest::testPostInitAddVectorTypeChange(), SystemsTest::testProjectCubeWithMeshFunction(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), 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(), and libMesh::RBConstruction::update_residual_terms().
|
inherited |
Definition at line 143 of file system.C.
References libMesh::System::_dof_map.
Referenced by libMesh::System::get_info().
|
inherited |
Definition at line 158 of file system.C.
References libMesh::System::_dof_map.
Referenced by libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::System::add_vector(), libMesh::TransientRBConstruction::allocate_data_structures(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::assemble_affine_expansion(), libMesh::AdvectionSystem::assemble_claw_rhs(), libMesh::PetscDMWrapper::build_section(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::System::get_info(), libMesh::SecondOrderUnsteadySolver::init_data(), libMesh::AdvectionSystem::init_data(), libMesh::UnsteadySolver::init_data(), libMesh::System::init_data(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), main(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::SecondOrderUnsteadySolver::reinit(), libMesh::UnsteadySolver::reinit(), libMesh::System::restrict_vectors(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::ClawSystem::solve_conservation_law(), MeshFunctionTest::test_p_level(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), 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(), and libMesh::RBConstruction::update_residual_terms().
|
inlineinherited |
_matrices
map Definition at line 2699 of file system.h.
References libMesh::System::_matrices.
Referenced by libMesh::ImplicitSystem::add_matrices(), and libMesh::System::get_info().
|
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().
|
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::Partitioner::build_graph(), 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::UnstructuredMesh::copy_nodes_and_elements(), 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(), libMesh::RBEIMEvaluation::gather_bfs(), libMesh::MeshBase::get_info(), libMesh::StaticCondensation::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_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::DofMap::n_dofs_per_processor(), libMesh::MeshBase::n_elem_on_proc(), libMesh::MeshBase::n_nodes_on_proc(), libMesh::RBEIMEvaluation::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::MeshBase::print_constraint_rows(), 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(), libMesh::RBEIMEvaluation::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().
|
inlineinherited |
Number of currently active quantities of interest.
Definition at line 2621 of file system.h.
References libMesh::System::qoi, and libMesh::System::qoi_error_estimates.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::AdaptiveTimeSolver::adjoint_advance_timestep(), libMesh::UnsteadySolver::adjoint_advance_timestep(), libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::TwostepTimeSolver::adjoint_solve(), libMesh::ImplicitSystem::adjoint_solve(), libMesh::SensitivityData::allocate_data(), libMesh::SensitivityData::allocate_hessian_data(), libMesh::ExplicitSystem::assemble_qoi(), libMesh::FEMSystem::assemble_qoi(), libMesh::ExplicitSystem::assemble_qoi_derivative(), libMesh::FEMSystem::assemble_qoi_derivative(), libMesh::DiffContext::DiffContext(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::FileSolutionHistory::FileSolutionHistory(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::UnsteadySolver::init_adjoints(), libMesh::TimeSolver::init_adjoints(), libMesh::System::init_qois(), libMesh::Euler2Solver::integrate_adjoint_refinement_error_estimate(), libMesh::TwostepTimeSolver::integrate_adjoint_refinement_error_estimate(), libMesh::EulerSolver::integrate_adjoint_refinement_error_estimate(), libMesh::Euler2Solver::integrate_qoi_timestep(), libMesh::TwostepTimeSolver::integrate_qoi_timestep(), libMesh::EulerSolver::integrate_qoi_timestep(), main(), libMesh::FEMContext::pre_fe_reinit(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), libMesh::FileSolutionHistory::retrieve(), libMesh::QoISet::size(), libMesh::UnsteadySolver::UnsteadySolver(), and libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
inlineinherited |
VariableGroup
variable groups in the system Definition at line 2438 of file system.h.
References libMesh::System::_variable_groups.
Referenced by libMesh::System::add_variable(), libMesh::System::add_variables(), libMesh::FEMSystem::assembly(), libMesh::System::get_info(), and libMesh::System::init_data().
|
inlineinherited |
Definition at line 2430 of file system.h.
References libMesh::System::_variables.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::PetscDMWrapper::add_dofs_helper(), libMesh::DiffContext::add_localized_vector(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::System::add_variable(), libMesh::System::add_variables(), libMesh::TwostepTimeSolver::adjoint_solve(), libMesh::FEMContext::attach_quadrature_rules(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::PetscDMWrapper::build_section(), libMesh::System::calculate_norm(), compute_stresses(), LinearElasticityWithContact::compute_stresses(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), libMesh::DGFEMContext::DGFEMContext(), libMesh::DiffContext::DiffContext(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::ErrorEstimator::estimate_errors(), libMesh::ExactSolution::ExactSolution(), libMesh::FEMContext::find_hardest_fe_type(), libMesh::EquationSystems::find_variable_numbers(), libMesh::System::get_all_variable_numbers(), libMesh::FEMSystem::init_context(), init_context(), libMesh::FEMContext::init_internal_data(), libMesh::PetscDMWrapper::init_petscdm(), libMesh::DifferentiablePhysics::init_physics(), AssemblyA0::interior_assembly(), AssemblyA1::interior_assembly(), AssemblyA2::interior_assembly(), InnerProductAssembly::interior_assembly(), main(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), output_norms(), libMesh::petsc_auto_fieldsplit(), libMesh::FEMContext::pre_fe_reinit(), libMesh::InterMeshProjection::project_system_vectors(), libMesh::System::re_update(), libMesh::System::read_legacy_data(), libMesh::System::read_parallel_data(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::System::reinit_mesh(), libMesh::HPCoarsenTest::select_refinement(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::SystemSubsetBySubdomain::set_var_nums(), OverlappingTestBase::setup_coupling_matrix(), SystemsTest::testDofCouplingWithVarGroups(), SlitMeshRefinedSystemTest::testRestart(), SlitMeshRefinedSystemTest::testSystem(), libMesh::System::write_header(), libMesh::System::write_parallel_data(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::System::write_serialized_vector(), libMesh::System::write_serialized_vectors(), and libMesh::System::zero_variable().
|
inlineinherited |
_vectors
map Definition at line 2558 of file system.h.
References libMesh::System::_vectors.
Referenced by libMesh::ExplicitSystem::add_system_rhs(), libMesh::System::compare(), libMesh::System::get_info(), main(), libMesh::InterMeshProjection::project_system_vectors(), and libMesh::System::write_header().
|
inlineinherited |
Definition at line 2342 of file system.h.
References libMesh::System::_sys_name.
Referenced by libMesh::System::compare(), compute_jacobian(), compute_residual(), DMlibMeshSetUpName_Private(), libMesh::RBConstruction::enrich_basis_from_rhs_terms(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::ExactSolution::ExactSolution(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::System::get_info(), libMesh::NewtonSolver::init(), libMesh::StaticCondensation::init(), libMesh::TimeSolver::init_data(), libMesh::System::init_matrices(), main(), output_norms(), libMesh::petsc_auto_fieldsplit(), libMesh::System::prefix(), libMesh::RBSCMConstruction::print_info(), libMesh::ClawSystem::print_info(), print_info(), libMesh::RBConstruction::print_info(), libMesh::TimeSolver::reinit(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::FrequencySystem::solve(), libMesh::RBConstruction::truth_solve(), libMesh::System::user_assembly(), libMesh::System::user_constrain(), libMesh::System::user_initialization(), libMesh::System::user_QOI(), libMesh::System::user_QOI_derivative(), libMesh::System::variable_number(), libMesh::System::write_header(), libMesh::System::write_parallel_data(), and libMesh::System::write_serialized_data().
|
private |
Same as inner_product() except for node data.
Definition at line 2224 of file rb_eim_construction.C.
References _component_scaling_in_training_set, libMesh::ParallelObject::comm(), libMesh::index_range(), libMesh::libmesh_conj(), libMesh::Utility::pow(), libMesh::Real, and TIMPI::Communicator::sum().
Referenced by apply_normalization_to_solution_snapshots(), compute_max_eim_error(), train_eim_approximation_with_POD(), and update_eim_matrices().
|
inlineinherited |
Definition at line 2350 of file system.h.
References libMesh::System::_sys_number.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::PetscDMWrapper::add_dofs_helper(), assemble_matrix_and_rhs(), assemble_shell(), libMesh::VariationalSmootherSystem::assembly(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::Nemesis_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::Nemesis_IO::copy_nodal_solution(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::EquationSystems::find_variable_numbers(), libMesh::VariationalSmootherConstraint::fix_node(), libMesh::System::get_info(), libMesh::VariationalSmootherSystem::init_data(), main(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectInteriors::operator()(), libMesh::System::read_legacy_data(), libMesh::System::read_parallel_data(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::StaticCondensationDofMap::reinit(), LinearElasticityWithContact::residual_and_jacobian(), SolidSystem::save_initial_mesh(), libMesh::HPCoarsenTest::select_refinement(), libMesh::PetscDMWrapper::set_point_range_in_section(), MeshInputTest::testCopyElementVectorImpl(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), libMesh::BoundaryVolumeSolutionTransfer::transfer_volume_boundary(), libMesh::DTKAdapter::update_variable_values(), libMesh::System::write_parallel_data(), libMesh::System::write_serialized_blocked_dof_objects(), and libMesh::System::zero_variable().
|
delete |
|
delete |
|
inherited |
var
at the physical point p
in the mesh, similarly to point_value. Definition at line 2550 of file system.C.
References libMesh::Variable::active_subdomains(), TIMPI::Communicator::broadcast(), libMesh::ParallelObject::comm(), libMesh::PointLocatorBase::enable_out_of_mesh_mode(), libMesh::System::get_dof_map(), libMesh::System::get_mesh(), libMesh::libmesh_assert(), mesh, TIMPI::Communicator::min(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::processor_id(), libMesh::DofObject::processor_id(), and libMesh::System::variable().
Referenced by line_print(), and libMesh::System::point_gradient().
|
inherited |
var
at the physical point p
in local Elem e
in the mesh, similarly to point_value. Definition at line 2612 of file system.C.
References libMesh::FEInterface::compute_data(), libMesh::Elem::contains_point(), libMesh::System::current_local_solution, dim, libMesh::Elem::dim(), libMesh::DofMap::dof_indices(), libMesh::FEComputeData::dshape, libMesh::FEComputeData::enable_derivative(), libMesh::System::get_dof_map(), libMesh::System::get_equation_systems(), libMesh::FEMap::inverse_map(), libMesh::DofMap::is_evaluable(), libMesh::libmesh_assert(), libMesh::FEComputeData::local_transform, and libMesh::DofMap::variable_type().
|
inherited |
Calls the version of point_gradient() which takes a reference.
This function exists only to prevent people from calling the version of point_gradient() that has a boolean third argument, which would result in unnecessary PointLocator calls.
Definition at line 2677 of file system.C.
References libMesh::libmesh_assert(), and libMesh::System::point_gradient().
|
inherited |
Calls the parallel version of point_gradient().
This function exists only to prevent people from accidentally calling the version of point_gradient() that has a boolean third argument, which would result in incorrect output.
Definition at line 2685 of file system.C.
References libMesh::System::point_gradient().
|
inherited |
var
at the physical point p
in the mesh, similarly to point_value. Definition at line 2694 of file system.C.
References libMesh::Variable::active_subdomains(), TIMPI::Communicator::broadcast(), libMesh::ParallelObject::comm(), libMesh::PointLocatorBase::enable_out_of_mesh_mode(), libMesh::System::get_dof_map(), libMesh::System::get_mesh(), libMesh::libmesh_assert(), mesh, TIMPI::Communicator::min(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::processor_id(), libMesh::DofObject::processor_id(), and libMesh::System::variable().
Referenced by libMesh::System::point_hessian().
|
inherited |
var
at the physical point p
in local Elem e
in the mesh, similarly to point_value. Definition at line 2755 of file system.C.
References libMesh::TypeTensor< T >::add_scaled(), libMesh::FEGenericBase< OutputType >::build(), libMesh::Elem::contains_point(), libMesh::System::current_local_solution, libMesh::Elem::dim(), libMesh::DofMap::dof_indices(), libMesh::System::get_dof_map(), libMesh::Elem::infinite(), libMesh::FEMap::inverse_map(), libMesh::DofMap::is_evaluable(), libMesh::libmesh_assert(), and libMesh::DofMap::variable_type().
|
inherited |
Calls the version of point_hessian() which takes a reference.
This function exists only to prevent people from calling the version of point_hessian() that has a boolean third argument, which would result in unnecessary PointLocator calls.
Definition at line 2815 of file system.C.
References libMesh::libmesh_assert(), and libMesh::System::point_hessian().
|
inherited |
Calls the parallel version of point_hessian().
This function exists only to prevent people from accidentally calling the version of point_hessian() that has a boolean third argument, which would result in incorrect output.
Definition at line 2823 of file system.C.
References libMesh::System::point_hessian().
|
inherited |
var
at the physical point p
in the mesh, without knowing a priori which element contains p
, using the degree of freedom coefficients in sol
(or in current_local_solution
if sol
is left null).MeshBase::sub_point_locator()
; users may or may not want to call MeshBase::clear_point_locator()
afterward. Also, point_locator() is expensive (N log N for initial construction, log N for evaluations). Avoid using this function in any context where you are already looping over elements.Because the element containing p
may lie on any processor, this function is parallel-only.
By default this method expects the point to reside inside the domain and will abort if no element can be found which contains p
. The optional parameter insist_on_success
can be set to false to allow the method to return 0 when the point is not located.
Definition at line 2421 of file system.C.
References libMesh::Variable::active_subdomains(), TIMPI::Communicator::broadcast(), libMesh::ParallelObject::comm(), libMesh::PointLocatorBase::enable_out_of_mesh_mode(), libMesh::System::get_dof_map(), libMesh::System::get_mesh(), libMesh::libmesh_assert(), mesh, TIMPI::Communicator::min(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::processor_id(), libMesh::DofObject::processor_id(), and libMesh::System::variable().
Referenced by line_print(), main(), libMesh::System::point_value(), MeshInputTest::testCopyElementSolutionImpl(), MeshInputTest::testCopyElementVectorImpl(), MeshInputTest::testCopyNodalSolutionImpl(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), PeriodicBCTest::testPeriodicBC(), SystemsTest::testProjectCubeWithMeshFunction(), and EquationSystemsTest::testRepartitionThenReinit().
|
inherited |
var
at the physical point p
contained in local Elem e
, using the degree of freedom coefficients in sol
(or in current_local_solution
if sol
is left null).This version of point_value can be run in serial, but assumes e
is in the local mesh partition or is algebraically ghosted.
Definition at line 2482 of file system.C.
References libMesh::FEInterface::compute_data(), libMesh::Elem::contains_point(), libMesh::System::current_local_solution, libMesh::Elem::dim(), libMesh::DofMap::dof_indices(), libMesh::System::get_dof_map(), libMesh::System::get_equation_systems(), libMesh::FEMap::inverse_map(), libMesh::DofMap::is_evaluable(), libMesh::libmesh_assert(), and libMesh::DofMap::variable_type().
|
inherited |
Calls the version of point_value() which takes a reference.
This function exists only to prevent people from calling the version of point_value() that has a boolean third argument, which would result in unnecessary PointLocator calls.
Definition at line 2534 of file system.C.
References libMesh::libmesh_assert(), and libMesh::System::point_value().
|
inherited |
Calls the parallel version of point_value().
This function exists only to prevent people from accidentally calling the version of point_value() that has a boolean third argument, which would result in incorrect output.
Definition at line 2542 of file system.C.
References libMesh::System::point_value().
|
inlineinherited |
Sets whether to use hash table matrix assembly if the matrix sub-classes support it.
Definition at line 2728 of file system.h.
References libMesh::System::_matrices_initialized, and libMesh::System::_prefer_hash_table_matrix_assembly.
Referenced by main().
|
inlineinherited |
prefix_with_name()
Definition at line 1938 of file system.h.
References libMesh::System::name().
Referenced by libMesh::ImplicitSystem::get_linear_solver(), libMesh::LinearImplicitSystem::solve(), and libMesh::NonlinearImplicitSystem::solve().
|
inlineinherited |
Instructs this system to prefix solve options with its name for solvers that leverage prefixes.
Definition at line 1927 of file system.h.
References libMesh::System::_prefix_with_name, and value.
|
inlineinherited |
Definition at line 1932 of file system.h.
References libMesh::System::_prefix_with_name.
Referenced by libMesh::ContinuationSystem::ContinuationSystem(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::LinearImplicitSystem::solve(), libMesh::NonlinearImplicitSystem::solve(), and libMesh::System::System().
|
inherited |
Print out all the discrete parameter values.
Definition at line 380 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(), 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().
|
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().
|
virtual |
Print out info that describes the current setup of this RBConstruction.
Definition at line 187 of file rb_eim_construction.C.
References _Nmax_from_n_snapshots_increment, _set_Nmax_from_n_snapshots, best_fit_type_flag, EIM_BEST_FIT, get_abs_training_tolerance(), libMesh::RBParametrized::get_n_params(), libMesh::RBConstructionBase< System >::get_n_training_samples(), get_Nmax(), libMesh::RBParametrized::get_parameter_max(), libMesh::RBParametrized::get_parameter_min(), libMesh::RBParametrized::get_parameters(), get_rel_training_tolerance(), libMesh::RBParametrized::is_discrete_parameter(), libMesh::RBConstructionBase< System >::is_quiet(), libMesh::System::name(), libMesh::out, libMesh::RBParametrized::print_discrete_parameter_values(), and PROJECTION_BEST_FIT.
Referenced by main().
|
inherited |
Print the current parameters.
Definition at line 192 of file rb_parametrized.C.
References libMesh::RBParametrized::get_parameters(), libMesh::RBParametrized::parameters_initialized, and libMesh::RBParameters::print().
Referenced by train_eim_approximation_with_greedy(), and libMesh::RBConstruction::train_reduced_basis_with_greedy().
|
virtual |
Read parameters in from file and set up this system accordingly.
Definition at line 231 of file rb_eim_construction.C.
References _abs_training_tolerance, _Nmax, _rel_training_tolerance, libMesh::make_range(), libMesh::RBConstructionBase< System >::quiet_mode, libMesh::Real, set_best_fit_type_flag(), set_rb_construction_parameters(), and libMesh::RBParameters::set_value().
Referenced by main().
|
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::MeshFunction::check_found_elem(), 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_scalar_dofs(), libMesh::DistributedMesh::DistributedMesh(), libMesh::DofMapBase::end_dof(), libMesh::DofMapBase::end_old_dof(), libMesh::EnsightIO::EnsightIO(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::DofMapBase::first_dof(), libMesh::DofMapBase::first_old_dof(), libMesh::RBEIMEvaluation::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::RBEIMEvaluation::get_interior_basis_functions_as_vecs(), libMesh::Nemesis_IO_Helper::get_loadbal_param(), libMesh::DofMap::get_local_constraints(), libMesh::MeshBase::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(), 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::MeshTools::n_connected_components(), libMesh::MeshBase::n_constraint_rows(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::DofMapBase::n_local_dofs(), libMesh::MeshBase::n_local_elem(), libMesh::MeshBase::n_local_nodes(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::RBEIMEvaluation::node_gather_bfs(), 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::MeshBase::print_constraint_rows(), 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::SimplexRefiner::refine_via_edges(), libMesh::StaticCondensationDofMap::reinit(), 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(), libMesh::RBEIMEvaluation::side_gather_bfs(), ExodusTest< elem_type >::test_read_gold(), ExodusTest< elem_type >::test_write(), MeshInputTest::testAbaqusRead(), MeshInputTest::testBadGmsh(), 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::testGmshBCIDOverlap(), MeshInputTest::testGoodGmsh(), MeshInputTest::testGoodSTL(), MeshInputTest::testGoodSTLBinary(), MeshInputTest::testLowOrderEdgeBlocks(), SystemsTest::testProjectMatrix3D(), BoundaryInfoTest::testShellFaceConstraints(), MeshInputTest::testSingleElementImpl(), WriteVecAndScalar::testSolution(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), libMesh::MeshTools::total_weight(), libMesh::NetGenMeshInterface::triangulate(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::DTKAdapter::update_variable_values(), libMesh::MeshTools::volume(), libMesh::STLIO::write(), 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(), libMesh::RBEIMEvaluation::write_out_interior_basis_functions(), libMesh::RBEIMEvaluation::write_out_node_basis_functions(), libMesh::RBEIMEvaluation::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().
|
inherited |
Projects arbitrary functions onto the current solution.
This method projects an arbitrary function onto the solution via L2 projections and nodal interpolations on each element.
The function value f
and its gradient g
are user-provided cloneable functors. A gradient g
is only required/used for projecting onto finite element spaces with continuous derivatives.
Definition at line 1041 of file system_projection.C.
Referenced by init_sys(), initialize(), main(), set_initial_condition(), SlitMeshRefinedSystemTest::setUp(), FETestBase< order, family, elem_type, 1 >::setUp(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), MeshFunctionTest::test_subdomain_id_sets(), MeshInputTest::testCopyElementSolutionImpl(), MeshInputTest::testCopyNodalSolutionImpl(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), SystemsTest::testProjectCubeWithMeshFunction(), MeshInputTest::testProjectionRegression(), EquationSystemsTest::testRepartitionThenReinit(), and libMesh::MeshfreeSolutionTransfer::transfer().
|
inherited |
Projects arbitrary functions onto the current solution.
This method projects an arbitrary function onto the solution via L2 projections and nodal interpolations on each element.
The function value f
and its gradient g
are user-provided cloneable functors. A gradient g
is only required/used for projecting onto finite element spaces with continuous derivatives.
Definition at line 1054 of file system_projection.C.
|
inherited |
This method projects an arbitrary function onto the solution via L2 projections and nodal interpolations on each element.
Definition at line 1027 of file system_projection.C.
References fptr(), and gptr().
|
inlineinherited |
Tells the System whether or not to project the solution vector onto new grids when the system is reinitialized.
The solution will be projected unless project_solution_on_reinit() = false is called.
Definition at line 838 of file system.h.
References libMesh::System::_solution_projection.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), and libMesh::MemoryHistoryData::store_vectors().
|
inherited |
Projects arbitrary functions onto a vector of degree of freedom values for the current system.
This method projects an arbitrary function via L2 projections and nodal interpolations on each element.
The function value f
and its gradient g
are user-provided cloneable functors. A gradient g
is only required/used for projecting onto finite element spaces with continuous derivatives.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
Definition at line 1082 of file system_projection.C.
References libMesh::libmesh_assert().
Referenced by main(), libMesh::NewmarkSolver::project_initial_accel(), libMesh::SecondOrderUnsteadySolver::project_initial_rate(), libMesh::InterMeshProjection::project_system_vectors(), and libMesh::System::restrict_vectors().
|
inherited |
Projects arbitrary functions onto a vector of degree of freedom values for the current system.
This method projects an arbitrary function via L2 projections and nodal interpolations on each element.
The function value f
and its gradient g
are user-provided cloneable functors. A gradient g
is only required/used for projecting onto finite element spaces with continuous derivatives.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
Definition at line 1108 of file system_projection.C.
References libMesh::NumericVector< T >::close(), libMesh::FEMFunctionBase< Output >::component(), libMesh::FEType::family, libMesh::Utility::iota(), libMesh::libmesh_assert(), libMesh::libmesh_ignore(), libMesh::make_range(), n_vars, libMesh::NODEELEM, libMesh::FEMContext::pre_fe_reinit(), libMesh::RATIONAL_BERNSTEIN, libMesh::SCALAR, libMesh::DofMap::SCALAR_dof_indices(), libMesh::NumericVector< T >::set(), and libMesh::Variable::type().
|
inherited |
Projects arbitrary functions onto a vector of degree of freedom values for the current system.
This method projects an arbitrary function via L2 projections and nodal interpolations on each element.
The function value fptr
and its gradient gptr
are represented by function pointers. A gradient gptr
is only required/used for projecting onto finite element spaces with continuous derivatives.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
Definition at line 1067 of file system_projection.C.
References fptr(), and gptr().
|
protectedinherited |
Projects the vector defined on the old mesh onto the new mesh.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
Definition at line 247 of file system_projection.C.
References libMesh::NumericVector< T >::clone().
|
protectedinherited |
Projects the vector defined on the old mesh onto the new mesh.
This method projects the vector via L2 projections or nodal interpolations on each element.
The original vector is unchanged and the new vector is passed through the second argument.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
This method projects a solution from an old mesh to a current, refined mesh. The input vector old_v
gives the solution on the old mesh, while the new_v
gives the solution (to be computed) on the new mesh.
Definition at line 265 of file system_projection.C.
References libMesh::NumericVector< T >::clear(), libMesh::NumericVector< T >::close(), libMesh::NumericVector< T >::get(), libMesh::GHOSTED, libMesh::index_range(), libMesh::NumericVector< T >::init(), libMesh::Utility::iota(), libMesh::libmesh_assert(), libMesh::libmesh_ignore(), libMesh::NumericVector< T >::local_size(), libMesh::NumericVector< T >::localize(), libMesh::make_range(), n_vars, libMesh::PARALLEL, libMesh::Threads::parallel_reduce(), libMesh::SCALAR, libMesh::DofMap::SCALAR_dof_indices(), libMesh::BuildProjectionList::send_list, libMesh::SERIAL, libMesh::NumericVector< T >::set(), libMesh::NumericVector< T >::size(), libMesh::NumericVector< T >::type(), libMesh::TYPE_SCALAR, and libMesh::BuildProjectionList::unique().
|
inherited |
This method creates a projection matrix which corresponds to the operation of project_vector between old and new solution spaces.
Heterogeneous Dirichlet boundary conditions are not taken into account here; if this matrix is used for prolongation (mesh refinement) on a side with a heterogeneous BC, the newly created degrees of freedom on that side will still match the coarse grid approximation of the BC, not the fine grid approximation.
Definition at line 961 of file system_projection.C.
References libMesh::Utility::iota(), libMesh::make_range(), n_vars, libMesh::SCALAR, libMesh::DofMap::SCALAR_dof_indices(), and libMesh::SparseMatrix< T >::set().
Referenced by libMesh::PetscDMWrapper::init_petscdm(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), and SystemsTest::testProjectMatrix3D().
|
virtualinherited |
Prolong vectors after the mesh has refined.
Definition at line 444 of file system.C.
References libMesh::System::restrict_vectors().
Referenced by libMesh::EquationSystems::reinit_solutions().
|
inlinevirtualinherited |
For each of the system's quantities of interest q in qoi
[qoi_indices], and for a vector of parameters p, the parameter sensitivity Hessian H_ij is defined as H_ij = (d^2 q)/(d p_i d p_j) This Hessian is the output of this method, where for each q_i, H_jk is stored in hessian.second_derivative(i,j,k)
.
This method is only implemented in some derived classes.
Reimplemented in libMesh::ImplicitSystem.
|
inlinevirtualinherited |
For each of the system's quantities of interest q in qoi
[qoi_indices], and for a vector of parameters p, the parameter sensitivity Hessian H_ij is defined as H_ij = (d^2 q)/(d p_i d p_j) The Hessian-vector product, for a vector v_k in parameter space, is S_j = H_jk v_k This product is the output of this method, where for each q_i, S_j is stored in sensitivities
[i][j].
This method is only implemented in some derived classes.
Reimplemented in libMesh::ImplicitSystem.
|
virtualinherited |
Solves for the derivative of each of the system's quantities of interest q in qoi
[qoi_indices] with respect to each parameter in parameters
, placing the result for qoi i
and parameter j
into sensitivities
[i][j].
parameters
is a const vector, not a vector-of-const; parameter values in this vector need to be mutable for finite differencing to work.Automatically chooses the forward method for problems with more quantities of interest than parameters, or the adjoint method otherwise.
This method is only usable in derived classes which override an implementation.
Definition at line 602 of file system.C.
References libMesh::System::adjoint_qoi_parameter_sensitivity(), libMesh::System::forward_qoi_parameter_sensitivity(), libMesh::ParameterVector::size(), and libMesh::QoISet::size().
|
virtualinherited |
Re-update the local values when the mesh has changed.
This method takes the data updated by update()
and makes it up-to-date on the current mesh.
Reimplemented in libMesh::TransientSystem< RBConstruction >.
Definition at line 533 of file system.C.
References libMesh::System::current_local_solution, libMesh::System::get_dof_map(), libMesh::DofMap::get_send_list(), libMesh::System::n_vars(), and libMesh::System::solution.
|
inherited |
Reads the basic data header for this System.
Definition at line 97 of file system_io.C.
References libMesh::System::_additional_data_written, libMesh::System::_written_var_indices, libMesh::System::add_variable(), libMesh::System::add_vector(), TIMPI::Communicator::broadcast(), libMesh::System::clear(), libMesh::ParallelObject::comm(), libMesh::Xdr::data(), libMesh::FEType::family, libMesh::System::get_mesh(), libMesh::OrderWrapper::get_order(), libMesh::FEType::inf_map, libMesh::libmesh_assert(), libMesh::MeshBase::mesh_dimension(), libMesh::MONOMIAL, libMesh::on_command_line(), libMesh::FEType::order, libMesh::out, libMesh::ParallelObject::processor_id(), libMesh::FEType::radial_family, libMesh::FEType::radial_order, libMesh::Xdr::reading(), libMesh::System::variable_number(), libMesh::Xdr::version(), and libMesh::XYZ.
Referenced by libMesh::EquationSystems::read(), and libMesh::RBEvaluation::read_in_vectors_from_multiple_files().
|
inherited |
Reads additional data, namely vectors, for this System.
Definition at line 302 of file system_io.C.
References libMesh::System::_additional_data_written, libMesh::System::_vectors, libMesh::System::_written_var_indices, TIMPI::Communicator::broadcast(), libMesh::ParallelObject::comm(), libMesh::Xdr::data(), libMesh::System::get_mesh(), libMesh::DofObject::invalid_id, libMesh::libmesh_assert(), libMesh::make_range(), libMesh::System::n_dofs(), libMesh::System::n_vars(), libMesh::System::number(), libMesh::ParallelObject::processor_id(), libMesh::Xdr::reading(), libMesh::System::solution, and libMesh::zero.
|
inherited |
Reads additional data, namely vectors, for this System.
This method may safely be called on a distributed-memory mesh. This method will read an individual file for each processor in the simulation where the local solution components for that processor are stored.
This method implements the output of the vectors contained in this System object, embedded in the output of an EquationSystems<T_sys>.
9.) The global solution vector, re-ordered to be node-major (More on this later.)
for each additional vector in the object
10.) The global additional vector, re-ordered to be node-major (More on this later.)
Note that the actual IO is handled through the Xdr class (to be renamed later?) which provides a uniform interface to both the XDR (eXternal Data Representation) interface and standard ASCII output. Thus this one section of code will read XDR or ASCII files with no changes.
Definition at line 449 of file system_io.C.
References libMesh::System::_additional_data_written, libMesh::System::_vectors, libMesh::System::_written_var_indices, libMesh::Xdr::data(), libMesh::FEType::family, libMesh::System::get_dof_map(), libMesh::System::get_mesh(), libMesh::DofObject::invalid_id, libMesh::Xdr::is_open(), libMesh::libmesh_assert(), libMesh::make_range(), libMesh::ParallelObject::n_processors(), libMesh::System::n_vars(), libMesh::System::number(), libMesh::ParallelObject::processor_id(), libMesh::Xdr::reading(), libMesh::SCALAR, libMesh::DofMap::SCALAR_dof_indices(), libMesh::System::solution, libMesh::Variable::type(), and libMesh::System::variable().
|
inlineinherited |
Non-templated version for backward compatibility.
Reads additional data, namely vectors, for this System. This method may safely be called on a distributed-memory mesh. This method will read an individual file for each processor in the simulation where the local solution components for that processor are stored.
|
inherited |
Read in the parameter ranges from files.
Definition at line 276 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().
|
inherited |
Reads additional data, namely vectors, for this System.
This method may safely be called on a distributed-memory mesh.
Definition at line 680 of file system_io.C.
References libMesh::System::_additional_data_written, libMesh::System::_vectors, libMesh::ParallelObject::processor_id(), and libMesh::System::solution.
Referenced by libMesh::TransientRBConstruction::initialize_truth(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), and libMesh::RBConstruction::read_riesz_representors_from_files().
|
inherited |
Read a number of identically distributed vectors.
This method allows for optimization for the multiple vector case by only communicating the metadata once.
Definition at line 2165 of file system_io.C.
References libMesh::Xdr::data(), libMesh::System::get_mesh(), libMesh::libmesh_assert(), libMesh::make_range(), libMesh::MeshTools::n_elem(), libMesh::MeshBase::n_elem(), n_nodes, libMesh::MeshBase::n_nodes(), libMesh::System::n_vars(), libMesh::ParallelObject::processor_id(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::Xdr::reading(), libMesh::SCALAR, and libMesh::System::variable().
Referenced by libMesh::RBEvaluation::read_in_vectors_from_multiple_files().
|
inlineinherited |
Non-templated version for backward compatibility.
Read a number of identically distributed vectors. This method allows for optimization for the multiple vector case by only communicating the metadata once.
|
virtualinherited |
Reinitializes degrees of freedom and other required data on the current mesh.
Reimplemented in libMesh::NonlinearImplicitSystem, libMesh::OptimizationSystem, libMesh::CondensedEigenSystem, libMesh::LinearImplicitSystem, libMesh::EigenSystem, libMesh::DifferentiableSystem, and libMesh::NewmarkSystem.
Definition at line 454 of file system.C.
References libMesh::System::_basic_system_only, libMesh::System::_matrices, libMesh::System::_require_sparsity_pattern, libMesh::DofMap::clear_sparsity(), libMesh::DofMap::compute_sparsity(), libMesh::System::current_local_solution, libMesh::System::get_dof_map(), libMesh::System::get_mesh(), libMesh::DofMap::reinit_static_condensation(), and libMesh::System::solution.
Referenced by alternative_fe_assembly(), initialize_qp_data(), libMesh::DifferentiableSystem::reinit(), libMesh::EigenSystem::reinit(), libMesh::LinearImplicitSystem::reinit(), libMesh::OptimizationSystem::reinit(), and libMesh::NonlinearImplicitSystem::reinit().
|
virtualinherited |
Reinitializes the constraints for this system.
Also prepares the send_list, whether or not constraints have changed.
Definition at line 495 of file system.C.
References libMesh::System::_mesh, libMesh::DofMap::create_dof_constraints(), libMesh::System::get_dof_map(), libMesh::on_command_line(), libMesh::out, libMesh::DofMap::prepare_send_list(), libMesh::DofMap::print_dof_constraints(), libMesh::DofMap::process_constraints(), libMesh::System::time, and libMesh::System::user_constrain().
Referenced by libMesh::EquationSystems::allgather(), libMesh::System::init_data(), libMesh::PetscDMWrapper::init_petscdm(), and libMesh::EquationSystems::reinit_solutions().
void libMesh::RBEIMConstruction::reinit_eim_projection_matrix | ( | ) |
Zero the _eim_projection_matrix and resize it to be get_Nmax() x get_Nmax().
Definition at line 1302 of file rb_eim_construction.C.
References _eim_projection_matrix, get_Nmax(), get_rb_eim_evaluation(), libMesh::DenseMatrix< T >::resize(), and libMesh::RBEIMEvaluation::use_eim_error_indicator().
|
virtualinherited |
Reinitializes the system with a new mesh.
Definition at line 301 of file system.C.
References libMesh::System::_basic_system_only, libMesh::System::init_data(), libMesh::System::n_vars(), and libMesh::System::user_initialization().
Referenced by libMesh::System::init().
|
inherited |
Removes the additional matrix mat_name
from this system.
Definition at line 1089 of file system.C.
References libMesh::System::_matrices.
|
inherited |
Removes the additional vector vec_name
from this system.
Definition at line 873 of file system.C.
References libMesh::System::_vector_is_adjoint, libMesh::System::_vector_projections, libMesh::System::_vectors, and libMesh::libmesh_assert().
Referenced by libMesh::AdjointRefinementEstimator::estimate_error(), and libMesh::UnsteadySolver::integrate_adjoint_sensitivity().
|
inherited |
mat_name
, or nullptr
if no matrix by that name exists. Definition at line 1100 of file system.C.
References libMesh::System::_matrices.
Referenced by libMesh::EigenSystem::has_matrix_A(), libMesh::EigenSystem::has_matrix_B(), libMesh::EigenSystem::has_precond_matrix(), libMesh::ImplicitSystem::sensitivity_solve(), libMesh::NewtonSolver::solve(), and libMesh::LinearImplicitSystem::solve().
|
inherited |
mat_name
, or nullptr
if no matrix by that name exists. Definition at line 1112 of file system.C.
References libMesh::System::_matrices.
|
inherited |
System
has a vector associated with the given name, nullptr
otherwise. Definition at line 891 of file system.C.
References libMesh::System::_vectors, and libMesh::NumericVector< T >::get().
Referenced by libMesh::UniformRefinementEstimator::_estimate_error().
|
inherited |
System
has a vector associated with the given name, nullptr
otherwise. Definition at line 903 of file system.C.
References libMesh::System::_vectors, and libMesh::NumericVector< T >::get().
|
inherited |
vec_num
(where the vectors are counted starting with 0), or nullptr
if the system has no such vector. Definition at line 915 of file system.C.
References libMesh::System::_vectors, and libMesh::System::vectors_begin().
|
inherited |
vec_num
(where the vectors are counted starting with 0), or nullptr
if the system has no such vector. Definition at line 929 of file system.C.
References libMesh::System::_vectors, and libMesh::System::vectors_begin().
|
virtualinherited |
After calling this method, any solve will be restricted to the given subdomain.
To disable this mode, call this method with subset
being a nullptr
.
Reimplemented in libMesh::LinearImplicitSystem.
|
virtualinherited |
Restrict vectors after the mesh has coarsened.
Definition at line 386 of file system.C.
References libMesh::System::_dof_map, libMesh::System::_solution_projection, libMesh::System::_vector_projections, libMesh::System::_vectors, libMesh::System::current_local_solution, libMesh::NumericVector< T >::get(), libMesh::GHOSTED, libMesh::System::n_dofs(), libMesh::System::n_local_dofs(), libMesh::PARALLEL, libMesh::System::project_vector(), libMesh::System::solution, and libMesh::System::vector_is_adjoint().
Referenced by libMesh::System::prolong_vectors(), and libMesh::EquationSystems::reinit_solutions().
|
staticprivate |
Scale all values in pf
by scaling_factor
The templated function above handles the elem and side cases, and this separate case handles the node case.
Definition at line 3021 of file rb_eim_construction.C.
References value.
Referenced by apply_normalization_to_solution_snapshots(), enrich_eim_approximation_on_nodes(), and train_eim_approximation_with_POD().
|
inlinestaticprivate |
Scale all values in pf
by scaling_factor
.
Definition at line 440 of file rb_eim_construction.h.
References libMesh::index_range().
Referenced by apply_normalization_to_solution_snapshots(), enrich_eim_approximation_on_interiors(), enrich_eim_approximation_on_sides(), and train_eim_approximation_with_POD().
|
inlinevirtualinherited |
Solves the sensitivity system, for the provided parameters.
Must be overridden in derived systems.
This method is only implemented in some derived classes.
Reimplemented in libMesh::ImplicitSystem.
void libMesh::RBEIMConstruction::set_abs_training_tolerance | ( | Real | new_training_tolerance | ) |
Get/set the absolute tolerance for the basis training.
Definition at line 1141 of file rb_eim_construction.C.
References _abs_training_tolerance.
Referenced by set_rb_construction_parameters().
|
inlineinherited |
Setter for the adjoint_already_solved boolean.
Definition at line 415 of file system.h.
References libMesh::System::adjoint_already_solved.
Referenced by main().
|
inlineinherited |
Sets the system to be "basic only": i.e.
advanced system components such as ImplicitSystem matrices may not be initialized. This is useful for efficiency in certain utility programs that never use System::solve(). This method must be called after the System or derived class is created but before it is initialized; e.g. from within EquationSystems::read()
Definition at line 2422 of file system.h.
References libMesh::System::_basic_system_only.
Referenced by libMesh::EquationSystems::read().
|
virtual |
Specify which type of "best fit" we use to guide the EIM greedy algorithm.
Definition at line 169 of file rb_eim_construction.C.
References best_fit_type_flag, EIM_BEST_FIT, POD_BEST_FIT, and PROJECTION_BEST_FIT.
Referenced by process_parameters_file().
|
inherited |
In some cases we only want to allow discrete parameter values, instead of parameters that may take any value in a specified interval.
Here we provide a method to set the d Set the discrete values for parameter mu
that are allowed in the training set. This must be called before the training set is generated. Set the name of the parameter that we will generate deterministic training parameters for. Defaults to "NONE".
|
virtual |
Definition at line 1156 of file rb_eim_construction.C.
References _Nmax.
Referenced by set_rb_construction_parameters().
|
inherited |
Set the boolean option that indicates if we normalization solution snapshots or not.
Definition at line 147 of file rb_construction_base.C.
|
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 143 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(), enrich_eim_approximation_on_interiors(), enrich_eim_approximation_on_nodes(), 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().
|
protectedinherited |
Set parameters to the RBParameters stored in index global_index
of the global training set.
Definition at line 225 of file rb_construction_base.C.
Referenced by enrich_eim_approximation(), initialize_parametrized_functions_in_training_set(), and train_eim_approximation_with_greedy().
|
protectedvirtualinherited |
Load the specified training parameter and then broadcast to all processors.
Definition at line 270 of file rb_construction_base.C.
|
inlineinherited |
Definition at line 1800 of file system.h.
References libMesh::System::project_with_constraints.
Referenced by libMesh::AdjointRefinementEstimator::estimate_error().
Definition at line 2378 of file system.C.
References libMesh::libmesh_assert(), and libMesh::System::qoi.
Referenced by libMesh::ExplicitSystem::assemble_qoi(), libMesh::FEMSystem::assemble_qoi(), libMesh::Euler2Solver::integrate_qoi_timestep(), libMesh::TwostepTimeSolver::integrate_qoi_timestep(), and libMesh::EulerSolver::integrate_qoi_timestep().
|
inherited |
Definition at line 2399 of file system.C.
References libMesh::System::qoi.
|
inherited |
Definition at line 2406 of file system.C.
References libMesh::libmesh_assert(), and libMesh::System::qoi_error_estimates.
Referenced by libMesh::Euler2Solver::integrate_adjoint_refinement_error_estimate(), libMesh::TwostepTimeSolver::integrate_adjoint_refinement_error_estimate(), and libMesh::EulerSolver::integrate_adjoint_refinement_error_estimate().
|
inlineinherited |
Set the quiet_mode flag.
If quiet == false then we print out a lot of extra information during the Offline stage.
Definition at line 100 of file rb_construction_base.h.
Referenced by set_rb_construction_parameters().
void libMesh::RBEIMConstruction::set_rb_construction_parameters | ( | unsigned int | n_training_samples_in, |
bool | deterministic_training_in, | ||
int | training_parameters_random_seed_in, | ||
bool | quiet_mode_in, | ||
unsigned int | Nmax_in, | ||
Real | rel_training_tolerance_in, | ||
Real | abs_training_tolerance_in, | ||
const RBParameters & | mu_min_in, | ||
const RBParameters & | mu_max_in, | ||
const std::map< std::string, std::vector< Real >> & | discrete_parameter_values_in, | ||
const std::map< std::string, bool > & | log_scaling, | ||
std::map< std::string, std::vector< RBParameter >> * | training_sample_list = nullptr |
||
) |
Set the state of this RBConstruction object based on the arguments to this function.
Definition at line 308 of file rb_eim_construction.C.
References libMesh::RBParametrized::get_parameters_max(), libMesh::RBParametrized::get_parameters_min(), libMesh::RBEIMEvaluation::get_parametrized_function(), get_rb_eim_evaluation(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBConstructionBase< System >::initialize_training_parameters(), libMesh::Utility::iota(), libMesh::RBConstructionBase< System >::load_training_set(), libMesh::RBParametrizedFunction::lookup_table_param_name, libMesh::Real, set_abs_training_tolerance(), set_Nmax(), libMesh::RBConstructionBase< System >::set_quiet_mode(), set_rel_training_tolerance(), libMesh::RBConstructionBase< System >::set_training_parameter_values(), and libMesh::RBConstructionBase< System >::set_training_random_seed().
Referenced by process_parameters_file().
void libMesh::RBEIMConstruction::set_rb_eim_evaluation | ( | RBEIMEvaluation & | rb_eim_eval_in | ) |
Set the RBEIMEvaluation object.
Definition at line 152 of file rb_eim_construction.C.
References _rb_eim_eval.
Referenced by main().
void libMesh::RBEIMConstruction::set_rel_training_tolerance | ( | Real | new_training_tolerance | ) |
Get/set the relative tolerance for the basis training.
Definition at line 1131 of file rb_eim_construction.C.
References _rel_training_tolerance.
Referenced by set_rb_construction_parameters().
|
inherited |
Overwrite the local training samples for param_name
using values
.
This assumes that values.size() matches get_local_n_training_samples().
Definition at line 456 of file rb_construction_base.C.
Referenced by set_rb_construction_parameters().
|
inherited |
Set the seed that is used to randomly generate training parameters.
Definition at line 780 of file rb_construction_base.C.
Referenced by set_rb_construction_parameters().
|
inherited |
Allows one to set the QoI index controlling whether the vector identified by vec_name represents a solution from the adjoint (qoi_num >= 0) or primal (qoi_num == -1) space.
This becomes significant if those spaces have differing heterogeneous Dirichlet constraints.
qoi_num == -2 can be used to indicate a vector which should not be affected by constraints during projection operations.
Definition at line 1160 of file system.C.
References libMesh::System::_vector_is_adjoint.
Referenced by libMesh::System::add_adjoint_solution(), and libMesh::System::add_weighted_sensitivity_adjoint_solution().
|
inherited |
Allows one to set the boolean controlling whether the vector identified by vec_name should be "preserved": projected to new meshes, saved, etc.
Definition at line 1138 of file system.C.
References libMesh::System::_vector_projections.
Referenced by libMesh::AdjointRefinementEstimator::estimate_error(), and main().
|
private |
Same as inner_product() except for side data.
Definition at line 2190 of file rb_eim_construction.C.
References _component_scaling_in_training_set, _local_side_quad_point_JxW, libMesh::ParallelObject::comm(), libMesh::index_range(), libMesh::libmesh_conj(), libMesh::Utility::pow(), libMesh::Real, and TIMPI::Communicator::sum().
Referenced by apply_normalization_to_solution_snapshots(), compute_max_eim_error(), train_eim_approximation_with_POD(), and update_eim_matrices().
|
inlinevirtualinherited |
Solves the system.
Should be overridden in derived systems.
Reimplemented in libMesh::NonlinearImplicitSystem, libMesh::OptimizationSystem, libMesh::ImplicitSystem, libMesh::DifferentiableSystem, libMesh::LinearImplicitSystem, libMesh::ExplicitSystem, libMesh::FEMSystem, libMesh::CondensedEigenSystem, libMesh::FrequencySystem, libMesh::EigenSystem, and libMesh::ContinuationSystem.
Definition at line 347 of file system.h.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), main(), and SystemsTest::testAssemblyWithDgFemContext().
|
protectedinherited |
Definition at line 2041 of file system_projection.C.
References libMesh::DofMap::build_sparsity(), libMesh::DofMap::computed_sparsity_already(), libMesh::DofMapBase::end_dof(), libMesh::DofMapBase::first_dof(), libMesh::NumericVector< T >::get(), libMesh::DofMap::heterogenously_constrain_element_matrix_and_vector(), libMesh::DofMap::is_constrained_dof(), libMesh::NumericVector< T >::local_size(), libMesh::DofMap::n_dofs(), libMesh::DofMap::n_local_dofs(), libMesh::PARALLEL, libMesh::Real, libMesh::NumericVector< T >::size(), and libMesh::DofMap::update_sparsity_pattern().
void libMesh::RBEIMConstruction::store_eim_solutions_for_training_set | ( | ) |
Get the EIM solution vector at all parametrized functions in the training set.
In some cases we want to store this data for future use. For example this is useful in the case that the parametrized function is defined based on a look-up table rather than an analytical function, since if we store the EIM solution data, we can do Online solves without initializing the look-up table data.
Definition at line 1178 of file rb_eim_construction.C.
References _local_node_parametrized_functions_for_training, _local_parametrized_functions_for_training, _local_side_parametrized_functions_for_training, libMesh::ParallelObject::comm(), libMesh::RBEIMEvaluation::get_eim_solutions_for_training_set(), libMesh::RBEIMEvaluation::get_interpolation_points_comp(), libMesh::RBEIMEvaluation::get_interpolation_points_elem_id(), libMesh::RBEIMEvaluation::get_interpolation_points_node_id(), libMesh::RBEIMEvaluation::get_interpolation_points_qp(), libMesh::RBEIMEvaluation::get_interpolation_points_side_index(), libMesh::RBEIMEvaluation::get_n_basis_functions(), libMesh::RBConstructionBase< System >::get_n_training_samples(), libMesh::RBEIMEvaluation::get_parametrized_function(), libMesh::RBEIMEvaluation::get_parametrized_function_node_value(), libMesh::RBEIMEvaluation::get_parametrized_function_side_value(), libMesh::RBEIMEvaluation::get_parametrized_function_value(), get_rb_eim_evaluation(), libMesh::make_range(), libMesh::RBParametrizedFunction::on_mesh_nodes(), libMesh::RBParametrizedFunction::on_mesh_sides(), and libMesh::RBEIMEvaluation::rb_eim_solve().
Referenced by train_eim_approximation_with_greedy().
|
inlineinherited |
Definition at line 87 of file rb_construction_base.h.
|
inlinevirtualinherited |
Reimplemented in libMesh::NonlinearImplicitSystem, libMesh::OptimizationSystem, libMesh::LinearImplicitSystem, libMesh::RBConstruction, libMesh::EigenSystem, libMesh::FrequencySystem, libMesh::ExplicitSystem, libMesh::ImplicitSystem, libMesh::TransientSystem< RBConstruction >, libMesh::NewmarkSystem, libMesh::ClawSystem, and SolidSystem.
Definition at line 508 of file system.h.
Referenced by libMesh::System::get_info().
|
virtual |
Generate the EIM approximation for the specified parametrized function using either POD or the Greedy Algorithm.
Return the final tolerance.
Definition at line 416 of file rb_eim_construction.C.
References libMesh::RBConstructionBase< System >::_normalize_solution_snapshots, apply_normalization_to_solution_snapshots(), best_fit_type_flag, POD_BEST_FIT, train_eim_approximation_with_greedy(), and train_eim_approximation_with_POD().
Referenced by main().
|
virtual |
Generate the EIM approximation for the specified parametrized function using the Greedy Algorithm.
Return the final tolerance. Method is virtual so that behavior can be specialized further in subclasses, if needed.
Definition at line 432 of file rb_eim_construction.C.
References _eim_projection_matrix, _max_abs_value_in_training_set_index, best_fit_type_flag, compute_max_eim_error(), EIM_BEST_FIT, enrich_eim_approximation(), get_abs_training_tolerance(), get_max_abs_value_in_training_set(), libMesh::RBEIMEvaluation::get_n_basis_functions(), libMesh::RBConstructionBase< System >::get_n_training_samples(), get_Nmax(), libMesh::RBParametrized::get_parameters(), libMesh::RBEIMEvaluation::get_parametrized_function(), get_random_point_from_training_sample(), get_rb_eim_evaluation(), get_rel_training_tolerance(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBParametrizedFunction::is_lookup_table, libMesh::RBParameters::n_parameters(), libMesh::out, libMesh::RBParametrized::print_parameters(), libMesh::Real, libMesh::DenseMatrix< T >::resize(), libMesh::RBEIMEvaluation::resize_data_structures(), libMesh::RBConstructionBase< System >::set_params_from_training_set(), store_eim_solutions_for_training_set(), update_eim_matrices(), and libMesh::RBEIMEvaluation::use_eim_error_indicator().
Referenced by train_eim_approximation().
|
virtual |
Generate the EIM approximation for the specified parametrized function using Proper Orthogonal Decomposition (POD).
Return the final tolerance. Method is virtual so that behavior can be specialized further in subclasses, if needed.
Definition at line 695 of file rb_eim_construction.C.
References _eim_projection_matrix, _local_node_parametrized_functions_for_training, _local_parametrized_functions_for_training, _local_side_parametrized_functions_for_training, _Nmax, _Nmax_from_n_snapshots_increment, _set_Nmax_from_n_snapshots, libMesh::DenseMatrix< T >::el(), enrich_eim_approximation_on_interiors(), enrich_eim_approximation_on_nodes(), enrich_eim_approximation_on_sides(), libMesh::RBEIMEvaluation::get_n_basis_functions(), libMesh::RBConstructionBase< System >::get_n_training_samples(), get_Nmax(), libMesh::RBParametrized::get_parameters(), libMesh::RBEIMEvaluation::get_parametrized_function(), get_random_point(), get_rb_eim_evaluation(), get_rel_training_tolerance(), libMesh::RBParametrized::initialize_parameters(), inner_product(), libMesh::libmesh_conj(), libMesh::RBParameters::n_parameters(), node_inner_product(), libMesh::RBParametrizedFunction::on_mesh_nodes(), libMesh::RBParametrizedFunction::on_mesh_sides(), libMesh::out, libMesh::Real, libMesh::DenseMatrix< T >::resize(), libMesh::RBEIMEvaluation::resize_data_structures(), libMesh::RBEIMEvaluation::scale_components_in_enrichment(), scale_node_parametrized_function(), scale_parametrized_function(), side_inner_product(), libMesh::DenseMatrix< T >::svd(), update_eim_matrices(), and libMesh::RBEIMEvaluation::use_eim_error_indicator().
Referenced by train_eim_approximation().
|
virtualinherited |
Update the local values to reflect the solution on neighboring processors.
Reimplemented in SolidSystem.
Definition at line 510 of file system.C.
References libMesh::System::_dof_map, libMesh::System::current_local_solution, libMesh::libmesh_assert(), and libMesh::System::solution.
Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::FEMSystem::assemble_qoi(), libMesh::FEMSystem::assemble_qoi_derivative(), libMesh::NonlinearImplicitSystem::assembly(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::NewmarkSolver::compute_initial_accel(), compute_stresses(), LinearElasticityWithContact::compute_stresses(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::Nemesis_IO::copy_elemental_solution(), libMesh::GMVIO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::Nemesis_IO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), DMlibMeshFunction(), DMlibMeshJacobian(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::TransientRBConstruction::initialize_truth(), libMesh::Euler2Solver::integrate_adjoint_refinement_error_estimate(), libMesh::EulerSolver::integrate_adjoint_refinement_error_estimate(), libMesh::libmesh_petsc_snes_fd_residual(), libMesh::libmesh_petsc_snes_jacobian(), libMesh::libmesh_petsc_snes_mffd_residual(), libMesh::libmesh_petsc_snes_residual(), libMesh::libmesh_petsc_snes_residual_helper(), libMesh::NewtonSolver::line_search(), libMesh::RBConstruction::load_basis_function(), libMesh::TransientRBConstruction::load_rb_solution(), libMesh::RBConstruction::load_rb_solution(), main(), libMesh::FEMSystem::mesh_position_get(), HeatSystem::perturb_accumulate_residuals(), libMesh::FEMSystem::postprocess(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::MemorySolutionHistory::retrieve(), libMesh::FileSolutionHistory::retrieve(), libMesh::NewtonSolver::solve(), libMesh::ExplicitSystem::solve(), libMesh::LinearImplicitSystem::solve(), libMesh::OptimizationSystem::solve(), libMesh::NonlinearImplicitSystem::solve(), libMesh::ClawSystem::solve_conservation_law(), libMesh::RBConstruction::solve_for_matrix_and_rhs(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::DirectSolutionTransfer::transfer(), and update_current_local_solution().
|
protected |
Update the matrices used in training the EIM approximation.
If set_eim_error_indicator
is true then we add data corresponding to the EIM error indicator.
Definition at line 2850 of file rb_eim_construction.C.
References _eim_projection_matrix, libMesh::RBEIMEvaluation::get_basis_function(), libMesh::RBEIMEvaluation::get_eim_basis_function_node_value(), libMesh::RBEIMEvaluation::get_eim_basis_function_side_value(), libMesh::RBEIMEvaluation::get_eim_basis_function_value(), libMesh::RBEIMEvaluation::get_interpolation_points_comp(), libMesh::RBEIMEvaluation::get_interpolation_points_elem_id(), libMesh::RBEIMEvaluation::get_interpolation_points_node_id(), libMesh::RBEIMEvaluation::get_interpolation_points_qp(), libMesh::RBEIMEvaluation::get_interpolation_points_side_index(), libMesh::RBEIMEvaluation::get_n_basis_functions(), libMesh::RBEIMEvaluation::get_node_basis_function(), libMesh::RBEIMEvaluation::get_parametrized_function(), get_rb_eim_evaluation(), libMesh::RBEIMEvaluation::get_side_basis_function(), inner_product(), libMesh::libmesh_conj(), node_inner_product(), libMesh::RBParametrizedFunction::on_mesh_nodes(), libMesh::RBParametrizedFunction::on_mesh_sides(), libMesh::RBEIMEvaluation::set_error_indicator_interpolation_row(), libMesh::RBEIMEvaluation::set_interpolation_matrix_entry(), side_inner_product(), and value.
Referenced by train_eim_approximation_with_greedy(), and train_eim_approximation_with_POD().
|
inherited |
Fill the input vector global_soln
so that it contains the global solution on all processors.
Requires communication with all other processors.
Definition at line 745 of file system.C.
References libMesh::System::solution.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::ExactErrorEstimator::estimate_error(), main(), and libMesh::InterMeshProjection::project_system_vectors().
|
inherited |
Fill the input vector global_soln
so that it contains the global solution on processor dest_proc
.
Requires communication with all other processors.
Definition at line 756 of file system.C.
References libMesh::System::solution.
|
virtualinherited |
Calls user's attached assembly function, or is overridden by the user in derived classes.
Definition at line 2311 of file system.C.
References libMesh::System::_assemble_system_function, libMesh::System::_assemble_system_object, libMesh::System::_equation_systems, libMesh::System::Assembly::assemble(), and libMesh::System::name().
Referenced by libMesh::System::assemble().
|
virtualinherited |
Calls user's attached constraint function, or is overridden by the user in derived classes.
Definition at line 2325 of file system.C.
References libMesh::System::_constrain_system_function, libMesh::System::_constrain_system_object, libMesh::System::_equation_systems, libMesh::System::Constraint::constrain(), and libMesh::System::name().
Referenced by libMesh::System::reinit_constraints().
|
virtualinherited |
Calls user's attached initialization function, or is overridden by the user in derived classes.
Definition at line 2297 of file system.C.
References libMesh::System::_equation_systems, libMesh::System::_init_system_function, libMesh::System::_init_system_object, libMesh::System::Initialization::initialize(), and libMesh::System::name().
Referenced by libMesh::NewmarkSystem::initial_conditions(), and libMesh::System::reinit_mesh().
|
virtualinherited |
Calls user's attached quantity of interest function, or is overridden by the user in derived classes.
Definition at line 2339 of file system.C.
References libMesh::System::_equation_systems, libMesh::System::_qoi_evaluate_function, libMesh::System::_qoi_evaluate_object, libMesh::System::name(), and libMesh::System::QOI::qoi().
Referenced by libMesh::System::assemble_qoi().
|
virtualinherited |
Calls user's attached quantity of interest derivative function, or is overridden by the user in derived classes.
Definition at line 2353 of file system.C.
References libMesh::System::_equation_systems, libMesh::System::_qoi_evaluate_derivative_function, libMesh::System::_qoi_evaluate_derivative_object, libMesh::System::name(), and libMesh::System::QOIDerivative::qoi_derivative().
Referenced by libMesh::System::assemble_qoi_derivative().
Return a constant reference to Variable
var
.
Definition at line 2458 of file system.h.
References libMesh::System::_variables.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DifferentiableSystem::add_second_order_dot_vars(), libMesh::System::add_variable(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::FirstOrderUnsteadySolver::compute_second_order_eqns(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::DifferentiableSystem::have_first_order_scalar_vars(), libMesh::DifferentiableSystem::have_second_order_scalar_vars(), main(), libMesh::DifferentiablePhysics::nonlocal_mass_residual(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectInteriors::operator()(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::System::write_header(), libMesh::Nemesis_IO_Helper::write_nodal_solution(), libMesh::System::write_parallel_data(), libMesh::System::write_serialized_vector(), and libMesh::System::write_serialized_vectors().
|
inlineinherited |
Return a constant reference to VariableGroup
vg
.
Definition at line 2468 of file system.h.
References libMesh::System::_variable_groups.
Referenced by libMesh::FEMSystem::assembly(), libMesh::System::get_info(), and libMesh::System::init_data().
|
inlineinherited |
i
. Definition at line 2478 of file system.h.
References libMesh::System::_variables.
Referenced by libMesh::System::add_variable(), libMesh::System::add_variables(), libMesh::PetscDMWrapper::build_section(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::ExactSolution::ExactSolution(), libMesh::EquationSystems::find_variable_numbers(), main(), output_norms(), libMesh::petsc_auto_fieldsplit(), libMesh::InterMeshProjection::project_system_vectors(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), libMesh::System::write_header(), and libMesh::Nemesis_IO_Helper::write_nodal_solution().
|
inherited |
var
. Definition at line 1609 of file system.C.
References libMesh::System::_variable_numbers, libMesh::System::_variables, and libMesh::System::name().
Referenced by libMesh::ExactSolution::_compute_error(), alternative_fe_assembly(), LinearElasticity::assemble(), AssembleOptimization::assemble_A_and_F(), assemble_divgrad(), assemble_elasticity(), assemble_graddiv(), assemble_matrix_and_rhs(), assemble_shell(), assemble_stokes(), compute_enriched_soln(), compute_stresses(), LinearElasticityWithContact::compute_stresses(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::Nemesis_IO::copy_elemental_solution(), libMesh::GMVIO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::Nemesis_IO::copy_nodal_solution(), libMesh::ExactErrorEstimator::estimate_error(), fe_assembly(), libMesh::ExactErrorEstimator::find_squared_element_error(), CoupledSystemQoI::init_context(), libMesh::HDGProblem::jacobian(), LargeDeformationElasticity::jacobian(), line_print(), main(), LinearElasticityWithContact::move_mesh(), libMesh::System::read_header(), libMesh::HDGProblem::residual(), LargeDeformationElasticity::residual(), LinearElasticityWithContact::residual_and_jacobian(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), OverlappingTestBase::setup_coupling_matrix(), libMesh::DTKAdapter::update_variable_values(), libMesh::System::variable_scalar_number(), libMesh::System::variable_type(), libMesh::EnsightIO::write_scalar_ascii(), and libMesh::EnsightIO::write_vector_ascii().
|
inlineinherited |
variable_number(var)
Irony: currently our only non-scalar-valued variable type is SCALAR.
Definition at line 2489 of file system.h.
References libMesh::System::variable_number().
Referenced by libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), and libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectInteriors::operator()().
|
inlineinherited |
var_num
Irony: currently our only non-scalar-valued variable type is SCALAR.
Definition at line 2499 of file system.h.
References libMesh::System::_variables.
i
. Definition at line 2508 of file system.h.
References libMesh::System::_variables.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::System::add_variable(), libMesh::System::add_variables(), alternative_fe_assembly(), assemble(), libMesh::ClawSystem::assemble_advection_matrices(), libMesh::ClawSystem::assemble_avg_coupling_matrices(), libMesh::ClawSystem::assemble_boundary_condition_matrices(), assemble_ellipticdg(), libMesh::ClawSystem::assemble_jump_coupling_matrix(), libMesh::ClawSystem::assemble_mass_matrix(), assemble_shell(), assemble_stokes(), libMesh::FEMContext::attach_quadrature_rules(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::Nemesis_IO::copy_elemental_solution(), libMesh::GMVIO::copy_nodal_solution(), libMesh::DGFEMContext::DGFEMContext(), fe_assembly(), libMesh::FEMContext::find_hardest_fe_type(), libMesh::EquationSystems::find_variable_numbers(), form_functionA(), form_functionB(), form_matrixA(), libMesh::FEMSystem::init_context(), libMesh::FEMContext::init_internal_data(), RationalMapTest< elem_type >::setUp(), FETestBase< order, family, elem_type, 1 >::setUp(), EquationSystemsTest::testBadVarNames(), libMesh::Nemesis_IO_Helper::write_element_values(), libMesh::System::write_header(), libMesh::Nemesis_IO_Helper::write_nodal_solution(), libMesh::EnsightIO::write_scalar_ascii(), and libMesh::EnsightIO::write_vector_ascii().
|
inlineinherited |
var
. Definition at line 2518 of file system.h.
References libMesh::System::_variables, and libMesh::System::variable_number().
|
inherited |
Definition at line 1173 of file system.C.
References libMesh::System::_vector_is_adjoint, and libMesh::libmesh_assert().
Referenced by libMesh::InterMeshProjection::project_system_vectors(), and libMesh::System::restrict_vectors().
|
inherited |
vec_num
(where the vectors are counted starting with 0). Definition at line 983 of file system.C.
References libMesh::System::_vectors, and libMesh::System::vectors_begin().
Referenced by libMesh::AdjointRefinementEstimator::estimate_error(), and main().
|
inherited |
Definition at line 994 of file system.C.
References libMesh::System::_vectors, libMesh::NumericVector< T >::get(), libMesh::libmesh_assert(), libMesh::System::vectors_begin(), and libMesh::System::vectors_end().
|
inherited |
Definition at line 1148 of file system.C.
References libMesh::System::_vector_projections.
Referenced by libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::MemoryHistoryData::store_vectors(), SystemsTest::testAddVectorProjChange(), SystemsTest::testAddVectorTypeChange(), and SystemsTest::testPostInitAddVectorTypeChange().
|
inlineinherited |
Beginning of vectors container.
Definition at line 2564 of file system.h.
References libMesh::System::_vectors.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::System::get_vector(), libMesh::InterMeshProjection::project_system_vectors(), libMesh::System::request_vector(), libMesh::MemoryHistoryData::store_vectors(), and libMesh::System::vector_name().
|
inlineinherited |
Beginning of vectors container.
Definition at line 2570 of file system.h.
References libMesh::System::_vectors.
|
inlineinherited |
End of vectors container.
Definition at line 2576 of file system.h.
References libMesh::System::_vectors.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::InterMeshProjection::project_system_vectors(), libMesh::MemoryHistoryData::store_vectors(), and libMesh::System::vector_name().
|
inlineinherited |
End of vectors container.
Definition at line 2582 of file system.h.
References libMesh::System::_vectors.
|
inlinevirtualinherited |
Assembles & solves the linear system(s) (dR/du)^T*z_w = sum(w_p*(d^2q/dudp - d^2R/dudp*z)), for those parameters p contained within parameters
, weighted by the values w_p found within weights
.
Assumes that adjoint_solve has already calculated z for each qoi in qoi_indices
.
This method is only implemented in some derived classes.
Reimplemented in libMesh::ImplicitSystem.
|
inlinevirtualinherited |
Assembles & solves the linear system(s) (dR/du)*u_w = sum(w_p*-dR/dp), for those parameters p contained within parameters
weighted by the values w_p found within weights
.
This method is only implemented in some derived classes.
Reimplemented in libMesh::ImplicitSystem.
|
inherited |
Writes the basic data header for this System.
This method implements the output of a System object, embedded in the output of an EquationSystems<T_sys>. This warrants some documentation. The output of this part consists of 5 sections:
for this system
5.) The number of variables in the system (unsigned int)
for each variable in the system
6.) The name of the variable (string)
6.1.) subdomain where the variable lives
7.) Combined in an FEType:
end variable loop
8.) The number of additional vectors (unsigned int),
for each additional vector in the system object
9.) the name of the additional vector (string)
end system
Definition at line 1267 of file system_io.C.
References libMesh::System::_vector_projections, libMesh::System::_vectors, libMesh::Variable::active_subdomains(), libMesh::Xdr::data(), libMesh::FEType::family, libMesh::System::get_mesh(), libMesh::FEType::inf_map, libMesh::libmesh_assert(), libMesh::make_range(), libMesh::System::n_vars(), libMesh::System::n_vectors(), libMesh::System::name(), libMesh::FEType::order, libMesh::ParallelObject::processor_id(), libMesh::FEType::radial_family, libMesh::FEType::radial_order, libMesh::System::variable(), libMesh::System::variable_name(), libMesh::System::variable_type(), and libMesh::Xdr::writing().
Referenced by libMesh::RBEvaluation::write_out_vectors().
|
inherited |
Writes additional data, namely vectors, for this System.
This method may safely be called on a distributed-memory mesh. This method will create an individual file for each processor in the simulation where the local solution components for that processor will be stored.
This method implements the output of the vectors contained in this System object, embedded in the output of an EquationSystems<T_sys>.
9.) The global solution vector, re-ordered to be node-major (More on this later.)
for each additional vector in the object
10.) The global additional vector, re-ordered to be node-major (More on this later.)
Note that the actual IO is handled through the Xdr class (to be renamed later?) which provides a uniform interface to both the XDR (eXternal Data Representation) interface and standard ASCII output. Thus this one section of code will read XDR or ASCII files with no changes.
Definition at line 1468 of file system_io.C.
References libMesh::System::_vectors, libMesh::Xdr::data(), libMesh::FEType::family, libMesh::System::get_dof_map(), libMesh::System::get_mesh(), libMesh::DofObject::invalid_id, libMesh::libmesh_assert(), libMesh::make_range(), libMesh::ParallelObject::n_processors(), libMesh::System::n_vars(), libMesh::System::name(), libMesh::System::number(), libMesh::ParallelObject::processor_id(), libMesh::SCALAR, libMesh::DofMap::SCALAR_dof_indices(), libMesh::System::solution, libMesh::Variable::type(), libMesh::System::variable(), and libMesh::Xdr::writing().
|
inherited |
Write out the parameter ranges to files.
Definition at line 199 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().
|
inherited |
Writes additional data, namely vectors, for this System.
This method may safely be called on a distributed-memory mesh.
This method implements the output of the vectors contained in this System object, embedded in the output of an EquationSystems<T_sys>.
9.) The global solution vector, re-ordered to be node-major (More on this later.)
for each additional vector in the object
10.) The global additional vector, re-ordered to be node-major (More on this later.)
Definition at line 1668 of file system_io.C.
References libMesh::System::_vectors, libMesh::Xdr::comment(), libMesh::System::name(), libMesh::ParallelObject::processor_id(), libMesh::System::solution, and libMesh::System::write_serialized_vector().
Referenced by libMesh::TransientRBConstruction::write_riesz_representors_to_files(), and libMesh::RBConstruction::write_riesz_representors_to_files().
|
inherited |
Serialize & write a number of identically distributed vectors.
This method allows for optimization for the multiple vector case by only communicating the metadata once.
Definition at line 2261 of file system_io.C.
References libMesh::Xdr::data(), libMesh::System::get_mesh(), libMesh::libmesh_assert(), libMesh::make_range(), libMesh::MeshTools::n_elem(), libMesh::MeshBase::n_elem(), n_nodes, libMesh::MeshBase::n_nodes(), libMesh::System::n_vars(), libMesh::ParallelObject::processor_id(), libMesh::SCALAR, libMesh::System::variable(), libMesh::System::write_SCALAR_dofs(), libMesh::System::write_serialized_blocked_dof_objects(), and libMesh::Xdr::writing().
Referenced by libMesh::RBEvaluation::write_out_vectors().
|
inherited |
Zeroes all dofs in v
that correspond to variable number var_num
.
Definition at line 1668 of file system.C.
References libMesh::System::get_mesh(), mesh, libMesh::System::n_vars(), libMesh::System::number(), and libMesh::NumericVector< T >::set().
|
private |
Definition at line 506 of file rb_eim_construction.h.
Referenced by get_abs_training_tolerance(), process_parameters_file(), and set_abs_training_tolerance().
|
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::StaticCondensation::close(), libMesh::ParallelObject::comm(), libMesh::CondensedEigenSystem::initialize_condensed_matrices(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), libMesh::ParallelObject::processor_id(), libMesh::BoundaryInfo::regenerate_id_sets(), and libMesh::StaticCondensationDofMap::reinit().
|
private |
Keep track of a scaling factor for each component of the parametrized functions in the training set which "scales up" each component to have a similar magnitude as the largest component encountered in the training set.
This can give more uniform scaling across all components and is helpful in cases where components have widely varying magnitudes.
Definition at line 570 of file rb_eim_construction.h.
Referenced by enrich_eim_approximation_on_interiors(), get_max_abs_value(), get_node_max_abs_value(), initialize_parametrized_functions_in_training_set(), inner_product(), node_inner_product(), and side_inner_product().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 124 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 124 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info().
|
private |
The matrix we use in order to perform L2 projections of parametrized functions as part of EIM training.
Definition at line 512 of file rb_eim_construction.h.
Referenced by clear(), compute_max_eim_error(), reinit_eim_projection_matrix(), train_eim_approximation_with_greedy(), train_eim_approximation_with_POD(), and update_eim_matrices().
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 143 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
|
staticprotectedinherited |
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 |
Definition at line 609 of file rb_eim_construction.h.
Referenced by clear(), enrich_eim_approximation_on_nodes(), initialize_parametrized_functions_in_training_set(), and initialize_qp_data().
|
private |
Same as above except for node data.
Definition at line 608 of file rb_eim_construction.h.
Referenced by clear(), enrich_eim_approximation_on_nodes(), initialize_parametrized_functions_in_training_set(), and initialize_qp_data().
|
private |
Same as _local_parametrized_functions_for_training except for node data.
The indexing is as follows: basis function index –> node ID –> variable –> value
Definition at line 550 of file rb_eim_construction.h.
Referenced by apply_normalization_to_solution_snapshots(), clear(), compute_max_eim_error(), enrich_eim_approximation(), get_n_parametrized_functions_for_training(), get_node_parametrized_function_from_training_set(), get_random_point_from_training_sample(), initialize_parametrized_functions_in_training_set(), store_eim_solutions_for_training_set(), and train_eim_approximation_with_POD().
|
private |
The parametrized functions that are used for training.
We pre-compute and store all of these functions, rather than recompute them at each iteration of the training.
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 generally will not start at zero.
Definition at line 536 of file rb_eim_construction.h.
Referenced by apply_normalization_to_solution_snapshots(), clear(), compute_max_eim_error(), enrich_eim_approximation(), get_n_parametrized_functions_for_training(), get_parametrized_function_from_training_set(), get_random_point_from_training_sample(), initialize_parametrized_functions_in_training_set(), store_eim_solutions_for_training_set(), and train_eim_approximation_with_POD().
|
private |
Definition at line 584 of file rb_eim_construction.h.
Referenced by clear(), get_local_quad_point_JxW(), initialize_qp_data(), and inner_product().
|
private |
The quadrature point locations, quadrature point weights (JxW), and subdomain IDs on every element local to this processor.
The indexing is as follows: element ID –> quadrature point –> xyz element ID –> quadrature point –> JxW element ID –> subdomain_id We use a map to index the element ID, since the IDs on this processor in generally will not start at zero.
Definition at line 583 of file rb_eim_construction.h.
Referenced by clear(), enrich_eim_approximation_on_interiors(), initialize_parametrized_functions_in_training_set(), and initialize_qp_data().
|
private |
EIM approximations often arise when applying a geometric mapping to a Reduced Basis formulation.
In this context, we often need to approximate derivates of the mapping function via EIM. In order to enable this, we also optionally store perturbations about each point in _local_quad_point_locations to enable finite difference approximation to the mapping function derivatives.
Definition at line 594 of file rb_eim_construction.h.
Referenced by enrich_eim_approximation_on_interiors(), initialize_parametrized_functions_in_training_set(), and initialize_qp_data().
|
private |
Definition at line 585 of file rb_eim_construction.h.
Referenced by clear(), enrich_eim_approximation_on_interiors(), initialize_parametrized_functions_in_training_set(), and initialize_qp_data().
|
private |
Same as _local_parametrized_functions_for_training except for side data.
The indexing is as follows: basis function index –> (element ID,side index) –> variable –> quadrature point –> value
Definition at line 543 of file rb_eim_construction.h.
Referenced by apply_normalization_to_solution_snapshots(), clear(), compute_max_eim_error(), enrich_eim_approximation(), get_n_parametrized_functions_for_training(), get_random_point_from_training_sample(), get_side_parametrized_function_from_training_set(), initialize_parametrized_functions_in_training_set(), store_eim_solutions_for_training_set(), and train_eim_approximation_with_POD().
|
private |
Definition at line 602 of file rb_eim_construction.h.
Referenced by clear(), enrich_eim_approximation_on_sides(), initialize_parametrized_functions_in_training_set(), and initialize_qp_data().
|
private |
Definition at line 600 of file rb_eim_construction.h.
Referenced by clear(), get_local_side_quad_point_JxW(), initialize_qp_data(), and side_inner_product().
|
private |
Same as above except for side data.
Definition at line 599 of file rb_eim_construction.h.
Referenced by clear(), enrich_eim_approximation_on_sides(), initialize_parametrized_functions_in_training_set(), and initialize_qp_data().
|
private |
Definition at line 603 of file rb_eim_construction.h.
Referenced by enrich_eim_approximation_on_sides(), initialize_parametrized_functions_in_training_set(), and initialize_qp_data().
|
private |
For side data, we also store "side type" info.
This is used to distinguish between data that is stored on a "shellface" vs. a "standard side". The convention we use here is: 0 –> standard side 1 –> shellface
Definition at line 618 of file rb_eim_construction.h.
Referenced by clear(), enrich_eim_approximation_on_sides(), initialize_parametrized_functions_in_training_set(), and initialize_qp_data().
|
private |
Definition at line 601 of file rb_eim_construction.h.
Referenced by clear(), enrich_eim_approximation_on_sides(), initialize_parametrized_functions_in_training_set(), and initialize_qp_data().
|
private |
Maximum value in _local_parametrized_functions_for_training across all processors.
This can be used for normalization purposes, for example.
Definition at line 556 of file rb_eim_construction.h.
Referenced by apply_normalization_to_solution_snapshots(), get_max_abs_value_in_training_set(), and initialize_parametrized_functions_in_training_set().
|
private |
The training sample index at which we found _max_abs_value_in_training_set.
Definition at line 561 of file rb_eim_construction.h.
Referenced by apply_normalization_to_solution_snapshots(), initialize_parametrized_functions_in_training_set(), and train_eim_approximation_with_greedy().
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 137 of file reference_counter.h.
|
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().
|
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 |
Maximum number of EIM basis functions we are willing to use.
Definition at line 488 of file rb_eim_construction.h.
Referenced by get_Nmax(), process_parameters_file(), set_Nmax(), and train_eim_approximation_with_POD().
|
private |
Definition at line 500 of file rb_eim_construction.h.
Referenced by disable_set_Nmax_from_n_snapshots(), enable_set_Nmax_from_n_snapshots(), print_info(), and train_eim_approximation_with_POD().
|
protectedinherited |
Set this boolean to true if we want to normalize solution snapshots used in training to have norm of 1.
This is relevant if snapshots have differing magnitudes and we want to approximate them all with equal accuracy.
Definition at line 281 of file rb_construction_base.h.
Referenced by train_eim_approximation().
|
private |
The vector of assembly objects that are created to point to this RBEIMConstruction.
Definition at line 523 of file rb_eim_construction.h.
Referenced by clear(), get_eim_assembly_objects(), and initialize_eim_assembly_objects().
|
private |
The RBEIMEvaluation object that we use to perform the EIM training.
Definition at line 517 of file rb_eim_construction.h.
Referenced by get_rb_eim_evaluation(), and set_rb_eim_evaluation().
|
private |
Relative and absolute tolerances for training the EIM approximation.
Definition at line 505 of file rb_eim_construction.h.
Referenced by get_rel_training_tolerance(), process_parameters_file(), and set_rel_training_tolerance().
|
private |
If _set_Nmax_from_n_snapshots=true, then we overrule Nmax to be Nmax += _Nmax_from_n_snapshots_increment.
Note that the "increment can be positive or negative. Typically we would want to set the increment to be negative or 0 to limit Nmax based on the number of available snapshots, but in some rare cases it could make sense to set it to a positive value, e.g. if we are appending to a basis that has already been generated via a previous training.
Definition at line 499 of file rb_eim_construction.h.
Referenced by disable_set_Nmax_from_n_snapshots(), enable_set_Nmax_from_n_snapshots(), print_info(), and train_eim_approximation_with_POD().
|
inherited |
Flag which tells the system to whether or not to call the user assembly function during each call to solve().
By default, every call to solve() begins with a call to the user assemble, so this flag is true. (For explicit systems, "solving" the system occurs during the assembly step, so this flag is always true for explicit systems.)
You will only want to set this to false if you need direct control over when the system is assembled, and are willing to track the state of its assembly yourself. An example of such a case is an implicit system with multiple right hand sides. In this instance, a single assembly would likely be followed with multiple calls to solve.
The frequency system and Newmark system have their own versions of this flag, called _finished_assemble, which might be able to be replaced with this more general concept.
Definition at line 1547 of file system.h.
Referenced by libMesh::ImplicitSystem::adjoint_solve(), libMesh::ClawSystem::ClawSystem(), libMesh::ImplicitSystem::disable_cache(), libMesh::System::disable_cache(), main(), libMesh::RBConstruction::RBConstruction(), libMesh::RBSCMConstruction::RBSCMConstruction(), libMesh::ImplicitSystem::sensitivity_solve(), libMesh::EigenSystem::solve(), libMesh::CondensedEigenSystem::solve(), and libMesh::LinearImplicitSystem::solve().
BEST_FIT_TYPE libMesh::RBEIMConstruction::best_fit_type_flag |
Enum that indicates which type of "best fit" algorithm we should use.
a) projection: Find the best fit in the inner product b) eim: Use empirical interpolation to find a "best fit"
Definition at line 302 of file rb_eim_construction.h.
Referenced by compute_max_eim_error(), print_info(), set_best_fit_type_flag(), train_eim_approximation(), and train_eim_approximation_with_greedy().
|
inherited |
All the values I need to compute my contribution to the simulation at hand.
Think of this as the current solution with any ghost values needed from other processors. This vector is necessarily larger than the solution
vector in the case of a parallel simulation. The update()
member is used to synchronize the contents of the solution
and current_local_solution
vectors.
Definition at line 1605 of file system.h.
Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::UniformRefinementEstimator::_estimate_error(), alternative_fe_assembly(), libMesh::VariationalSmootherSystem::assembly(), libMesh::NonlinearImplicitSystem::assembly(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::System::clear(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::System::current_solution(), DMlibMeshFunction(), DMlibMeshJacobian(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), fe_assembly(), libMesh::StaticCondensation::init(), libMesh::System::init_data(), libMesh::libmesh_petsc_snes_fd_residual(), libMesh::libmesh_petsc_snes_jacobian(), libMesh::libmesh_petsc_snes_mffd_residual(), libMesh::libmesh_petsc_snes_residual(), libMesh::libmesh_petsc_snes_residual_helper(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::FEMContext::pre_fe_reinit(), libMesh::System::re_update(), libMesh::System::reinit(), libMesh::System::restrict_vectors(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), SolidSystem::save_initial_mesh(), libMesh::RBConstruction::set_context_solution_vec(), setup(), MeshFunctionTest::test_subdomain_id_sets(), MeshInputTest::testCopyElementVectorImpl(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::TransientRBConstruction::truth_solve(), libMesh::System::update(), libMesh::Nemesis_IO_Helper::write_element_values(), and libMesh::Nemesis_IO_Helper::write_nodal_solution().
|
inherited |
A member int that can be employed to indicate increased or reduced quadrature order.
Definition at line 1578 of file system.h.
Referenced by CurlCurlSystem::init_data(), and set_system_parameters().
|
protectedinherited |
We keep an extra temporary vector that is useful for performing inner products (avoids unnecessary memory allocation/deallocation).
Definition at line 288 of file rb_construction_base.h.
|
inherited |
Parameters for the system. If a parameter is not provided, it should be retrieved from the EquationSystems.
Definition at line 1526 of file system.h.
Referenced by libMesh::ImplicitSystem::get_linear_solve_parameters(), libMesh::FrequencySystem::init_data(), libMesh::NonlinearImplicitSystem::set_solver_parameters(), libMesh::EigenSystem::solve(), libMesh::CondensedEigenSystem::solve(), and libMesh::EigenSystem::solve_helper().
|
protectedinherited |
Flag to indicate whether we print out extra information during the Offline stage.
Definition at line 265 of file rb_construction_base.h.
Referenced by process_parameters_file().
|
protectedinherited |
This boolean flag indicates whether or not the training set should be the same on all processors.
By default it is false, but in the case of the Empirical Interpolation Method (RBEIMConstruction), for example, we need the training set to be identical on all processors.
Definition at line 273 of file rb_construction_base.h.
Referenced by initialize_parametrized_functions_in_training_set(), and RBEIMConstruction().
|
inherited |
Data structure to hold solution values.
Definition at line 1593 of file system.h.
Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::NewmarkSolver::advance_timestep(), libMesh::AdaptiveTimeSolver::advance_timestep(), libMesh::UnsteadySolver::advance_timestep(), libMesh::ContinuationSystem::apply_predictor(), libMesh::TransientRBConstruction::assemble_affine_expansion(), libMesh::VariationalSmootherSystem::assembly(), libMesh::FEMSystem::assembly(), libMesh::LinearImplicitSystem::assembly(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::RBConstruction::check_if_zero_truth_solve(), libMesh::System::clear(), libMesh::System::compare(), compute_enriched_soln(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::NewmarkSolver::compute_initial_accel(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), compute_stresses(), LinearElasticityWithContact::compute_stresses(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ContinuationSystem::continuation_solve(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::Nemesis_IO::copy_elemental_solution(), libMesh::GMVIO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::Nemesis_IO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), create_wrapped_function(), DMCreateGlobalVector_libMesh(), DMlibMeshFunction(), DMlibMeshJacobian(), libMesh::UnsteadySolver::du(), libMesh::RBConstruction::enrich_RB_space(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::RBSCMConstruction::evaluate_stability_constant(), libMesh::EigenSystem::get_eigenpair(), libMesh::CondensedEigenSystem::get_eigenpair(), LinearElasticityWithContact::get_least_and_max_gap_function(), libMesh::VariationalSmootherSystem::init_data(), libMesh::System::init_data(), libMesh::ContinuationSystem::initialize_tangent(), libMesh::TransientRBConstruction::initialize_truth(), libMesh::libmesh_petsc_snes_fd_residual(), libMesh::libmesh_petsc_snes_jacobian(), libMesh::libmesh_petsc_snes_mffd_residual(), libMesh::libmesh_petsc_snes_residual(), libMesh::libmesh_petsc_snes_residual_helper(), libMesh::RBConstruction::load_basis_function(), libMesh::TransientRBConstruction::load_rb_solution(), libMesh::RBConstruction::load_rb_solution(), main(), libMesh::DofMap::max_constraint_error(), libMesh::FEMSystem::mesh_position_get(), libMesh::ErrorVector::plot_error(), libMesh::RBConstruction::print_basis_function_orthogonality(), libMesh::InterMeshProjection::project_system_vectors(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), libMesh::System::re_update(), libMesh::System::read_legacy_data(), libMesh::System::read_parallel_data(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::System::read_serialized_data(), libMesh::System::reinit(), libMesh::System::restrict_vectors(), libMesh::MemoryHistoryData::retrieve_vectors(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), libMesh::ContinuationSystem::save_current_solution(), libMesh::TransientRBConstruction::set_error_temporal_data(), setup(), WriteVecAndScalar::setupTests(), libMesh::TwostepTimeSolver::solve(), libMesh::NewtonSolver::solve(), libMesh::PetscDiffSolver::solve(), libMesh::FrequencySystem::solve(), libMesh::LinearImplicitSystem::solve(), libMesh::NonlinearImplicitSystem::solve(), libMesh::ClawSystem::solve_conservation_law(), libMesh::RBConstruction::solve_for_matrix_and_rhs(), libMesh::ContinuationSystem::solve_tangent(), libMesh::MemoryHistoryData::store_vectors(), ConstraintOperatorTest::test1DCoarseningOperator(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), SystemsTest::testBoundaryProjectCube(), ConstraintOperatorTest::testCoreform(), SystemsTest::testDofCouplingWithVarGroups(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), SystemsTest::testPostInitAddVector(), SystemsTest::testProjectCubeWithMeshFunction(), MeshInputTest::testProjectionRegression(), WriteVecAndScalar::testSolution(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::DirectSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), libMesh::BoundaryVolumeSolutionTransfer::transfer_volume_boundary(), libMesh::TransientRBConstruction::truth_solve(), libMesh::RBConstruction::truth_solve(), libMesh::System::update(), update_current_local_solution(), libMesh::System::update_global_solution(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::ContinuationSystem::update_solution(), libMesh::NewmarkSystem::update_u_v_a(), libMesh::DTKAdapter::update_variable_values(), libMesh::System::write_parallel_data(), libMesh::TransientRBConstruction::write_riesz_representors_to_files(), libMesh::RBConstruction::write_riesz_representors_to_files(), and libMesh::System::write_serialized_data().
|
inherited |
For time-dependent problems, this is the time t at the beginning of the current timestep.
Definition at line 1615 of file system.h.
Referenced by libMesh::AdaptiveTimeSolver::adjoint_advance_timestep(), libMesh::UnsteadySolver::adjoint_advance_timestep(), libMesh::TwostepTimeSolver::adjoint_solve(), libMesh::AdaptiveTimeSolver::advance_timestep(), libMesh::UnsteadySolver::advance_timestep(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::construct_projection(), HeatSystem::element_qoi(), fill_dirichlet_bc(), libMesh::ExactErrorEstimator::find_squared_element_error(), initialize(), libMesh::Euler2Solver::integrate_adjoint_refinement_error_estimate(), libMesh::EulerSolver::integrate_adjoint_refinement_error_estimate(), libMesh::UnsteadySolver::integrate_adjoint_sensitivity(), libMesh::Euler2Solver::integrate_qoi_timestep(), libMesh::EulerSolver::integrate_qoi_timestep(), main(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectInteriors::operator()(), libMesh::System::reinit_constraints(), libMesh::UnsteadySolver::retrieve_timestep(), and libMesh::TwostepTimeSolver::solve().
|
inherited |
A boolean to be set to true by systems using elem_fixed_solution, for optional use by e.g.
stabilized methods. False by default.
Definition at line 1563 of file system.h.
Referenced by libMesh::EulerSolver::_general_residual(), libMesh::Euler2Solver::_general_residual(), libMesh::SteadySolver::_general_residual(), libMesh::NewmarkSolver::_general_residual(), libMesh::DifferentiableSystem::clear(), libMesh::DiffContext::DiffContext(), and libMesh::FEMContext::pre_fe_reinit().
|
inherited |
Public boolean to toggle verbose mode.
Definition at line 193 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::check_if_valid_params().