libMesh
|
This class is part of the rbOOmit framework. More...
#include <rb_scm_construction.h>
Public Types | |
typedef RBSCMConstruction | sys_type |
The type of system. More... | |
typedef RBConstructionBase< CondensedEigenSystem > | Parent |
The type of the parent. 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, NumericVector< Number > * >::iterator | vectors_iterator |
Vector iterator typedefs. More... | |
typedef std::map< std::string, NumericVector< Number > * >::const_iterator | const_vectors_iterator |
Public Member Functions | |
RBSCMConstruction (EquationSystems &es, const std::string &name_in, const unsigned int number_in) | |
Constructor. More... | |
virtual | ~RBSCMConstruction () |
Destructor. More... | |
virtual void | clear () override |
Clear all the data structures associated with the system. More... | |
void | set_rb_scm_evaluation (RBSCMEvaluation &rb_scm_eval_in) |
Set the RBSCMEvaluation object. More... | |
RBSCMEvaluation & | get_rb_scm_evaluation () |
Get a reference to the RBSCMEvaluation object. More... | |
RBThetaExpansion & | get_rb_theta_expansion () |
Get a reference to the RBThetaExpansion object. More... | |
virtual void | resize_SCM_vectors () |
Clear and resize the SCM data vectors. More... | |
virtual void | process_parameters_file (const std::string ¶meters_filename) |
Read in the parameters from file specified by parameters_filename and set the this system's member variables accordingly. More... | |
virtual void | print_info () |
Print out info that describes the current setup of this RBSCMConstruction. More... | |
virtual void | set_eigensolver_properties (int) |
This function is called before truth eigensolves in compute_SCM_bounding_box and evaluate_stability_constant. More... | |
void | set_RB_system_name (const std::string &new_name) |
Set the name of the associated RB system — we need this to load the (symmetrized) affine operators. More... | |
Real | get_SCM_training_tolerance () const |
Get/set SCM_training_tolerance: tolerance for SCM greedy. More... | |
void | set_SCM_training_tolerance (Real SCM_training_tolerance_in) |
virtual void | perform_SCM_greedy () |
Perform the SCM greedy algorithm to develop a lower bound over the training set. More... | |
virtual void | attach_deflation_space () |
Attach the deflation space defined by the specified vector, can be useful in solving constrained eigenvalue problems. 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... | |
numeric_index_type | get_n_training_samples () const |
Get the total number of 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, unsigned int n_training_parameters, std::map< std::string, bool > log_param_scale, 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 (std::map< std::string, std::vector< Number >> &new_training_set) |
Overwrite the training parameters with new_training_set. More... | |
void | broadcast_parameters (unsigned int proc_id) |
Broadcasts parameters on processor proc_id to all processors. More... | |
void | set_training_random_seed (unsigned 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 | set_deterministic_training_parameter_repeats (unsigned int repeats) |
Set the number of times each sample of the deterministic training parameter is repeated. More... | |
unsigned int | get_deterministic_training_parameter_repeats () const |
Get the number of times each sample of the deterministic training parameter is repeated. More... | |
void | initialize_condensed_dofs (const std::set< dof_id_type > &global_condensed_dofs_set=std::set< dof_id_type >()) |
Loop over the dofs on each processor to initialize the list of non-condensed dofs. More... | |
dof_id_type | n_global_non_condensed_dofs () const |
virtual void | solve () override |
Override to solve the condensed eigenproblem with the dofs in local_non_condensed_dofs_vector stripped out of the system matrices on each processor. More... | |
virtual std::pair< Real, Real > | get_eigenpair (dof_id_type i) override |
Override get_eigenpair() to retrieve the eigenpair for the condensed eigensolve. More... | |
virtual void | reinit () override |
Reinitializes the member data fields associated with the system, so that, e.g., assemble() may be used. More... | |
virtual void | assemble () override |
Assembles the system matrix. More... | |
virtual std::string | system_type () const override |
virtual unsigned int | n_matrices () const override |
unsigned int | get_n_converged () const |
unsigned int | get_n_iterations () const |
void | set_eigenproblem_type (EigenProblemType ept) |
Sets the type of the current eigen problem. More... | |
EigenProblemType | get_eigenproblem_type () const |
bool | generalized () const |
void | init () |
Initializes degrees of freedom on the current mesh. More... | |
virtual void | reinit_constraints () |
Reinitializes the constraints for this system. More... | |
bool | is_initialized () |
virtual void | update () |
Update the local values to reflect the solution on neighboring processors. 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 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 |
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 |
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... | |
NumericVector< Number > & | add_vector (const std::string &vec_name, const bool projections=true, const ParallelType type=PARALLEL) |
Adds the additional vector vec_name to this system. More... | |
void | remove_vector (const std::string &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 (const std::string &vec_name) const |
const NumericVector< Number > * | request_vector (const std::string &vec_name) const |
NumericVector< Number > * | request_vector (const std::string &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 (const std::string &vec_name) const |
NumericVector< Number > & | get_vector (const std::string &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 (const std::string &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 (const std::string &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_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 (const std::string &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 (const std::string &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 (const std::string &var) const |
const std::string & | variable_name (const unsigned int i) const |
unsigned short int | variable_number (const std::string &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 (const std::string &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 (const std::string &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, const std::string &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, const std::string &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... | |
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... | |
Number | point_value (unsigned int var, const Point &p, const bool insist_on_success=true) const |
Number | point_value (unsigned int var, const Point &p, const Elem &e) 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... | |
Gradient | point_gradient (unsigned int var, const Point &p, const bool insist_on_success=true) const |
Gradient | point_gradient (unsigned int var, const Point &p, const Elem &e) 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... | |
Tensor | point_hessian (unsigned int var, const Point &p, const bool insist_on_success=true) const |
Tensor | point_hessian (unsigned int var, const Point &p, const Elem &e) 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... | |
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 & | 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... | |
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... | |
void | set_parameters (const RBParameters ¶ms) |
Set the current parameters to params . 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::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=libMesh::out) |
Prints the reference information, by default to libMesh::out . More... | |
static void | print_info (std::ostream &out=libMesh::out) |
Prints the reference information, by default to libMesh::out . More... | |
static unsigned int | n_objects () |
Prints the number of outstanding (created, but not yet destroyed) objects. More... | |
static 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 | |
std::unique_ptr< SparseMatrix< Number > > | condensed_matrix_A |
The (condensed) system matrix for standard eigenvalue problems. More... | |
std::unique_ptr< SparseMatrix< Number > > | condensed_matrix_B |
A second (condensed) system matrix for generalized eigenvalue problems. More... | |
std::vector< dof_id_type > | local_non_condensed_dofs_vector |
Vector storing the local dof indices that will not be condensed. More... | |
std::unique_ptr< SparseMatrix< Number > > | matrix_A |
The system matrix for standard eigenvalue problems. More... | |
std::unique_ptr< SparseMatrix< Number > > | matrix_B |
A second system matrix for generalized eigenvalue problems. More... | |
std::unique_ptr< EigenSolver< Number > > | eigen_solver |
The EigenSolver, defining which interface, i.e solver package to use. 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... | |
std::vector< Number > | qoi |
Values of the quantities of interest. 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 | |
virtual void | add_scaled_symm_Aq (unsigned int q_a, Number scalar) |
Add the scaled symmetrized affine matrix from the associated RBSystem to matrix_A. More... | |
virtual void | load_matrix_B () |
Copy over the matrix to store in matrix_B, usually this is the mass or inner-product matrix, but needs to be implemented in subclass. More... | |
virtual void | compute_SCM_bounding_box () |
Compute the SCM bounding box. More... | |
virtual void | evaluate_stability_constant () |
Compute the stability constant for current_parameters by solving a generalized eigenvalue problem over the truth space. More... | |
virtual void | enrich_C_J (unsigned int new_C_J_index) |
Enrich C_J by adding the element of SCM_training_samples that has the largest gap between alpha_LB and alpha_LB. More... | |
virtual std::pair< unsigned int, Real > | compute_SCM_bounds_on_training_set () |
Compute upper and lower bounds for each SCM training point. More... | |
Number | B_inner_product (const NumericVector< Number > &v, const NumericVector< Number > &w) const |
Compute the inner product between two vectors using the system's matrix_B. More... | |
Number | Aq_inner_product (unsigned int q, const NumericVector< Number > &v, const NumericVector< Number > &w) |
Compute the inner product between two vectors using matrix Aq. More... | |
virtual Real | SCM_greedy_error_indicator (Real LB, Real UB) |
Helper function which provides an error indicator to be used in the SCM greedy. 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 index) |
Return the RBParameters in index index of training set. More... | |
void | set_params_from_training_set (unsigned int index) |
Set parameters to the RBParameters stored in index index of the training set. More... | |
virtual void | set_params_from_training_set_and_broadcast (unsigned int index) |
Load the specified training parameter and then broadcast to all processors. More... | |
virtual void | init_matrices () |
Initializes the matrices associated with the system. More... | |
void | set_n_converged (unsigned int nconv) |
Set the _n_converged_eigenpairs member, useful for subclasses of EigenSystem. More... | |
void | set_n_iterations (unsigned int its) |
Set the _n_iterations member, useful for subclasses of EigenSystem. 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... | |
void | increment_constructor_count (const std::string &name) |
Increments the construction counter. More... | |
void | increment_constructor_count (const std::string &name) |
Increments the construction counter. More... | |
void | increment_destructor_count (const std::string &name) |
Increments the destruction counter. More... | |
void | increment_destructor_count (const std::string &name) |
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... | |
static void | generate_training_parameters_random (const Parallel::Communicator &communicator, std::map< std::string, bool > log_param_scale, std::map< std::string, std::unique_ptr< NumericVector< Number >>> &training_parameters_in, unsigned int n_training_samples_in, const RBParameters &min_parameters, const RBParameters &max_parameters, int training_parameters_random_seed=-1, bool serial_training_set=false) |
Static helper function for generating a randomized set of parameters. More... | |
static void | generate_training_parameters_deterministic (const Parallel::Communicator &communicator, std::map< std::string, bool > log_param_scale, std::map< std::string, std::unique_ptr< NumericVector< Number >>> &training_parameters_in, unsigned int n_training_samples_in, const RBParameters &min_parameters, const RBParameters &max_parameters, bool serial_training_set=false) |
Static helper function for generating a deterministic set of parameters. More... | |
Protected Attributes | |
Real | SCM_training_tolerance |
Tolerance which controls when to terminate the SCM Greedy. More... | |
std::string | RB_system_name |
The name of the associated RB system. More... | |
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... | |
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 |
Flag to control whether reference count information is printed when print_info is called. More... | |
static bool | _enable_print_counter |
Flag to control whether reference count information is printed when print_info is called. More... | |
Private Attributes | |
RBSCMEvaluation * | rb_scm_eval |
The current RBSCMEvaluation object we are using to perform the Evaluation stage of the SCM. More... | |
This class is part of the rbOOmit framework.
RBSCMConstruction implements the the Successive Constraint Method (SCM) for computing rigorous lower bounds for stability constants.
Definition at line 53 of file rb_scm_construction.h.
|
inherited |
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 117 of file reference_counter.h.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 117 of file reference_counter.h.
|
inherited |
The type of the parent.
Definition at line 78 of file rb_scm_construction.h.
The type of system.
Definition at line 73 of file rb_scm_construction.h.
|
inherited |
|
inherited |
libMesh::RBSCMConstruction::RBSCMConstruction | ( | EquationSystems & | es, |
const std::string & | name_in, | ||
const unsigned int | number_in | ||
) |
Constructor.
Optionally initializes required data structures.
|
virtual |
Destructor.
|
inherited |
Activates the system.
Only active systems are solved.
Definition at line 2073 of file system.h.
References libMesh::System::_active.
|
inherited |
true
if the system is active, false
otherwise. An active system will be solved. Definition at line 2065 of file system.h.
References libMesh::System::_active.
|
inherited |
|
inherited |
|
protectedvirtual |
Add the scaled symmetrized affine matrix from the associated RBSystem to matrix_A.
|
inherited |
|
inherited |
|
inherited |
Adds the variable var
to the list of variables for this system.
Referenced by SimpleRBConstruction::init_data(), and FETest< order, family, elem_type >::setUp().
|
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
.
|
inherited |
Adds the variable var
to the list of variables for this system.
|
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
.
|
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
|
inherited |
|
inherited |
|
virtualinherited |
Solves for parameter sensitivities using the adjoint method.
This method is only implemented in some derived classes.
Reimplemented in libMesh::ImplicitSystem.
|
virtualinherited |
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.
|
protected |
Compute the inner product between two vectors using matrix Aq.
|
overridevirtualinherited |
Assembles the system matrix.
Reimplemented from libMesh::System.
|
virtualinherited |
Calls user qoi function.
Can be overridden in derived classes.
Reimplemented in libMesh::FEMSystem, and libMesh::ExplicitSystem.
|
virtualinherited |
Calls user qoi derivative function.
Can be overridden in derived classes.
Reimplemented in libMesh::FEMSystem, and libMesh::ExplicitSystem.
|
virtualinherited |
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.
|
inherited |
Register a user object to use in assembling the system matrix and RHS.
|
inherited |
Register a user function for imposing constraints.
|
inherited |
Register a user object for imposing constraints.
|
virtual |
Attach the deflation space defined by the specified vector, can be useful in solving constrained eigenvalue problems.
This function is called at the start of perform_SCM_greedy and by default is does nothing. Override in subclass to attach a specific vector.
Definition at line 156 of file rb_scm_construction.h.
|
inherited |
Register a user function to use in initializing the system.
|
inherited |
Register a user class to use to initialize the system.
attach_init_function
.
|
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
.
|
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
.
|
inherited |
Register a user function for evaluating the quantities of interest, whose values should be placed in System::qoi
.
|
inherited |
Register a user object for evaluating the quantities of interest, whose values should be placed in System::qoi
.
|
protected |
Compute the inner product between two vectors using the system's matrix_B.
|
inherited |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system.
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. If non-default Parameters
are to be used, they can be provided in the parameters
argument.
|
inherited |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system.
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.
|
inherited |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system.
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. If non-default Parameters
are to be used, they can be provided in the parameters
argument.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
|
inherited |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system.
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.
|
inherited |
Broadcasts parameters on processor proc_id to all processors.
|
inherited |
var
in the vector v
, in the specified norm (e.g. L2, L_INF, H1)
|
inherited |
v
, using component_norm
and component_scale
to choose and weight the norms of each variable.
|
overridevirtual |
Clear all the data structures associated with the system.
Reimplemented from libMesh::RBConstructionBase< CondensedEigenSystem >.
|
inherited |
Parallel::Communicator
object used by this mesh. Definition at line 89 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::EpetraVector< T >::EpetraVector(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::Parallel::sync_node_data_by_element_id(), and libMesh::Parallel::sync_node_data_by_element_id_once().
|
virtualinherited |
true
when the other system contains identical data, up to the given threshold. Outputs some diagnostic info when verbose
is set.
|
protectedvirtual |
Compute the SCM bounding box.
|
protectedvirtual |
Compute upper and lower bounds for each SCM training point.
Return a pair containing the maximum SCM error, and the index of the parameter in the training set at which the max error is achieved.
|
inherited |
|
inherited |
Deactivates the system.
Only active systems are solved.
Definition at line 2081 of file system.h.
References libMesh::System::_active.
|
virtualinherited |
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 2275 of file system.h.
References libMesh::System::assemble_before_solve.
|
staticinherited |
|
staticinherited |
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
|
protectedvirtual |
Enrich C_J by adding the element of SCM_training_samples that has the largest gap between alpha_LB and alpha_LB.
|
protectedvirtual |
Compute the stability constant for current_parameters by solving a generalized eigenvalue problem over the truth space.
|
virtualinherited |
Solves for parameter sensitivities using the forward method.
This method is only implemented in some derived classes.
Reimplemented in libMesh::ImplicitSystem.
|
inherited |
true
if the underlying problem is generalized , false otherwise. Definition at line 149 of file eigen_system.h.
References libMesh::EigenSystem::_is_generalized_eigenproblem.
|
staticprotectedinherited |
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.
|
staticprotectedinherited |
Static helper function for generating a randomized set of parameters.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Fills all_variable_numbers
with all the variable numbers for the variables that have been added to this system.
|
staticinherited |
value
from list_of_values
.
|
inherited |
Get the name of the parameter that we will generate deterministic training parameters for.
|
inherited |
Get the number of times each sample of the deterministic training parameter is repeated.
|
inherited |
Get a const reference to the discrete parameter values.
|
inherited |
_dof_map
. Definition at line 2049 of file system.h.
References libMesh::System::_dof_map.
Referenced by SimpleRBConstruction::init_data(), and FETest< order, family, elem_type >::setUp().
|
inherited |
_dof_map
. Definition at line 2057 of file system.h.
References libMesh::System::_dof_map.
|
overridevirtualinherited |
Override get_eigenpair()
to retrieve the eigenpair for the condensed eigensolve.
We only set the non-condensed entries of the solution vector (the condensed entries are set to zero by default).
Reimplemented from libMesh::EigenSystem.
|
inherited |
Definition at line 143 of file eigen_system.h.
References libMesh::EigenSystem::_eigen_problem_type.
|
inherited |
Definition at line 712 of file system.h.
References libMesh::System::_equation_systems.
Referenced by libMesh::WrappedFunction< Output >::WrappedFunction().
|
inherited |
Definition at line 717 of file system.h.
References libMesh::System::_equation_systems.
|
inherited |
Get the first local index of the training parameters.
|
staticprotectedinherited |
Static function to return the error pair (index,error) that is corresponds to the largest error on all processors.
|
staticinherited |
Gets a string containing the reference information.
|
staticinherited |
Gets a string containing the reference information.
|
inherited |
|
inherited |
Get the last local index of the training parameters.
|
inherited |
Get the total number of training samples local to this processor.
|
inherited |
_mesh
. Definition at line 2033 of file system.h.
References libMesh::System::_mesh.
Referenced by AssemblyA0::boundary_assembly(), AssemblyA1::boundary_assembly(), and AssemblyA2::boundary_assembly().
|
inherited |
_mesh
. Definition at line 2041 of file system.h.
References libMesh::System::_mesh.
|
inherited |
Get the number of continuous parameters.
|
inherited |
Definition at line 128 of file eigen_system.h.
References libMesh::EigenSystem::_n_converged_eigenpairs.
|
inherited |
Get the number of discrete parameters.
|
inherited |
Definition at line 133 of file eigen_system.h.
References libMesh::EigenSystem::_n_iterations.
|
inherited |
Get the number of parameters.
|
inherited |
Get the total number of training samples.
|
inherited |
Get maximum allowable value of parameter param_name
.
|
inherited |
Get minimum allowable value of parameter param_name
.
|
inherited |
Get a set that stores the parameter names.
|
inherited |
Get the current parameters.
Referenced by SimpleRBEvaluation::get_stability_lower_bound().
|
inherited |
Get an RBParameters object that specifies the maximum allowable value for each parameter.
|
inherited |
Get an RBParameters object that specifies the minimum allowable value for each parameter.
|
protectedinherited |
Return the RBParameters in index index
of training set.
RBSCMEvaluation& libMesh::RBSCMConstruction::get_rb_scm_evaluation | ( | ) |
Get a reference to the RBSCMEvaluation object.
RBThetaExpansion& libMesh::RBSCMConstruction::get_rb_theta_expansion | ( | ) |
Get a reference to the RBThetaExpansion object.
Real libMesh::RBSCMConstruction::get_SCM_training_tolerance | ( | ) | const |
Get/set SCM_training_tolerance: tolerance for SCM greedy.
Definition at line 139 of file rb_scm_construction.h.
References SCM_training_tolerance.
|
inherited |
assemble_residual_derivatives()
is called.When assembled, this vector should hold -(partial R / partial p_i)
|
inherited |
|
inherited |
|
inherited |
|
inherited |
vec_name
. Access is only granted when the vector is already properly initialized.
|
inherited |
vec_name
. Access is only granted when the vector is already properly initialized.
|
inherited |
vec_num
(where the vectors are counted starting with 0).
|
inherited |
vec_num
(where the vectors are counted starting with 0).
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
true
if a variable named var
exists in this System
|
inherited |
true
if this System
has a vector associated with the given name, false
otherwise. Definition at line 2225 of file system.h.
References libMesh::System::_vectors.
|
inherited |
true
, then EquationSystems::write
will ignore this system. Definition at line 1662 of file system.h.
References libMesh::System::_hide_output.
|
inherited |
true
when VariableGroup
structures should be automatically identified, false
otherwise. Definition at line 2201 of file system.h.
References libMesh::System::_identify_variable_groups.
|
inherited |
Toggle automatic VariableGroup
identification.
Definition at line 2209 of file system.h.
References libMesh::System::_identify_variable_groups.
|
protectedinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 181 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
protectedinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 181 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
protectedinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 194 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
protectedinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 194 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
inherited |
Initializes degrees of freedom on the current mesh.
Sets the
|
protectedvirtualinherited |
Initializes the member data fields associated with the system, so that, e.g., assemble()
may be used.
Reimplemented from libMesh::EigenSystem.
|
protectedvirtualinherited |
Initializes the matrices associated with the system.
|
inherited |
Loop over the dofs on each processor to initialize the list of non-condensed dofs.
These are the dofs in the system that are not contained in global_dirichlet_dofs_set
and are not subject to constraints due to adaptive mesh hanging nodes, periodic boundary conditions, or Dirichlet boundary conditions.
Most users will not need to use the global_condensed_dofs_set
argument; simply call initialize_condensed_dofs() after any time the EquationSystems (and therefore its constraint equations) gets initialized or reinitialized.
|
inherited |
Initialize the parameter ranges and set current_parameters.
|
inherited |
Initialize the parameter ranges and set current_parameters.
|
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.
|
inherited |
Accessor for the adjoint_already_solved boolean.
Definition at line 388 of file system.h.
References libMesh::System::adjoint_already_solved.
|
inherited |
Is parameter mu_name
discrete?
|
inherited |
true
iff this system has been initialized. Definition at line 2089 of file system.h.
References libMesh::System::_is_initialized.
|
inherited |
Is the system in quiet mode?
Definition at line 98 of file rb_construction_base.h.
References libMesh::RBConstructionBase< Base >::quiet_mode.
|
protectedvirtual |
Copy over the matrix to store in matrix_B, usually this is the mass or inner-product matrix, but needs to be implemented in subclass.
|
virtualinherited |
Overwrite the training parameters with new_training_set.
|
inherited |
Fills the std::set with the degrees of freedom on the local processor corresponding the the variable number passed in.
|
inherited |
Definition at line 2217 of file system.h.
References libMesh::System::n_constrained_dofs(), and libMesh::System::n_dofs().
|
inherited |
n_vars()
in the case of all scalar-valued variables. Definition at line 2121 of file system.h.
References libMesh::System::_variables, libMesh::Variable::first_scalar_number(), and libMesh::Variable::n_components().
|
inherited |
Referenced by libMesh::System::n_active_dofs().
|
inherited |
Referenced by libMesh::System::n_active_dofs().
|
inherited |
|
inherited |
|
inherited |
|
overridevirtualinherited |
Reimplemented from libMesh::System.
Definition at line 226 of file eigen_system.h.
References libMesh::EigenSystem::_is_generalized_eigenproblem.
|
staticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 83 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
|
staticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 83 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
|
inherited |
Definition at line 95 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and libMesh::Parallel::Communicator::size().
Referenced by libMesh::MeshBase::partition().
|
inherited |
Number of currently active quantities of interest.
Definition at line 2278 of file system.h.
References libMesh::System::qoi.
Referenced by libMesh::SensitivityData::allocate_data(), and libMesh::SensitivityData::allocate_hessian_data().
|
inherited |
VariableGroup
variable groups in the system Definition at line 2113 of file system.h.
References libMesh::System::_variable_groups.
|
inherited |
Definition at line 2105 of file system.h.
References libMesh::System::_variables.
|
inherited |
_vectors
map Definition at line 2233 of file system.h.
References libMesh::System::_vectors.
|
inherited |
Definition at line 2017 of file system.h.
References libMesh::System::_sys_name.
|
inherited |
Definition at line 2025 of file system.h.
References libMesh::System::_sys_number.
|
virtual |
Perform the SCM greedy algorithm to develop a lower bound over the training set.
|
inherited |
var
at the physical point p
in the mesh, similarly to point_value.
|
inherited |
var
at the physical point p
in local Elem e
in the mesh, similarly to point_value.
|
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.
|
inherited |
var
at the physical point p
in the mesh, similarly to point_value.
|
inherited |
var
at the physical point p
in local Elem e
in the mesh, similarly to point_value.
|
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.
|
inherited |
var
at the physical point p
in the mesh, without knowing a priori which element contains p
.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.
|
inherited |
var
at the physical point p
contained in local Elem e
This version of point_value can be run in serial, but assumes e
is in the local mesh partition or is algebraically ghosted.
|
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.
|
inherited |
Print out all the discrete parameter values.
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
|
virtual |
Print out info that describes the current setup of this RBSCMConstruction.
|
inherited |
Print the current parameters.
|
virtual |
Read in the parameters from file specified by parameters_filename
and set the this system's member variables accordingly.
|
inherited |
Definition at line 101 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and libMesh::Parallel::Communicator::rank().
Referenced by libMesh::DofMap::end_dof(), libMesh::DofMap::end_old_dof(), libMesh::DofMap::first_dof(), libMesh::DofMap::first_old_dof(), libMesh::DofMap::last_dof(), libMesh::MeshBase::n_active_local_elem(), libMesh::DofMap::n_local_dofs(), libMesh::MeshBase::n_local_elem(), libMesh::MeshBase::n_local_nodes(), and libMesh::MeshTools::weight().
|
inherited |
Projects arbitrary functions onto the current solution.
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. If non-default Parameters
are to be used, they can be provided in the parameters
argument.
Referenced by FETest< order, family, elem_type >::setUp().
|
inherited |
Projects arbitrary functions onto the current solution.
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. If non-default Parameters
are to be used, they can be provided in the parameters
argument.
|
inherited |
|
inherited |
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 794 of file system.h.
References libMesh::System::_solution_projection.
|
inherited |
Projects arbitrary functions onto a vector of degree of freedom values for the current system.
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. If non-default Parameters
are to be used, they can be provided in the parameters
argument.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
|
inherited |
Projects arbitrary functions onto a vector of degree of freedom values for the current system.
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. If non-default Parameters
are to be used, they can be provided in the parameters
argument.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
|
inherited |
Projects arbitrary functions onto a vector of degree of freedom values for the current system.
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.
|
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.
|
protectedinherited |
Projects the vector defined on the old mesh onto the new mesh.
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.
|
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.
|
virtualinherited |
Prolong vectors after the mesh has refined.
|
virtualinherited |
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.
|
virtualinherited |
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.
|
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 >.
|
inherited |
Reads the basic data header for this System.
|
inherited |
Reads additional data, namely vectors, for this System.
|
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.
|
inherited |
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.
|
inherited |
Reads additional data, namely vectors, for this System.
This method may safely be called on a distributed-memory mesh.
|
inherited |
|
inherited |
Read a number of identically distributed vectors.
This method allows for optimization for the multiple vector case by only communicating the metadata once.
|
inherited |
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.
|
overridevirtualinherited |
Reinitializes the member data fields associated with the system, so that, e.g., assemble()
may be used.
Reimplemented from libMesh::System.
|
virtualinherited |
Reinitializes the constraints for this system.
|
inherited |
Removes the additional vector vec_name
from this system.
|
inherited |
System
has a vector associated with the given name, nullptr
otherwise.
|
inherited |
System
has a vector associated with the given name, nullptr
otherwise.
|
inherited |
vec_num
(where the vectors are counted starting with 0), or nullptr
if the system has no such vector.
|
inherited |
vec_num
(where the vectors are counted starting with 0), or nullptr
if the system has no such vector.
|
virtual |
Clear and resize the SCM data vectors.
Override in subclass as necessary.
|
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.
|
protectedvirtual |
Helper function which provides an error indicator to be used in the SCM greedy.
Override in subclasses to specialize behavior.
Definition at line 218 of file rb_scm_construction.h.
|
virtualinherited |
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.
|
inherited |
Setter for the adjoint_already_solved boolean.
Definition at line 394 of file system.h.
References libMesh::System::adjoint_already_solved.
|
inherited |
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 2097 of file system.h.
References libMesh::System::_basic_system_only.
|
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".
|
inherited |
Set the number of times each sample of the deterministic training parameter is repeated.
|
inherited |
Sets the type of the current eigen problem.
|
virtual |
This function is called before truth eigensolves in compute_SCM_bounding_box and evaluate_stability_constant.
Override it to set specific properties to optimize eigensolver performance. The argument refers to the operator index in compute_SCM_bounding_box; a negative value of the argument indicates we are not performing a bounding box solve.
Definition at line 127 of file rb_scm_construction.h.
|
protectedinherited |
Set the _n_converged_eigenpairs member, useful for subclasses of EigenSystem.
Definition at line 186 of file eigen_system.h.
References libMesh::EigenSystem::_n_converged_eigenpairs.
|
protectedinherited |
Set the _n_iterations member, useful for subclasses of EigenSystem.
Definition at line 193 of file eigen_system.h.
References libMesh::EigenSystem::_n_iterations.
|
inherited |
Set the current parameters to params
.
Referenced by SimpleRBEvaluation::get_stability_lower_bound().
|
protectedinherited |
Set parameters to the RBParameters stored in index index
of the training set.
|
protectedvirtualinherited |
Load the specified training parameter and then broadcast to all processors.
|
inherited |
Set the quiet_mode flag.
If quiet == false then we print out a lot of extra information during the Offline stage.
Definition at line 92 of file rb_construction_base.h.
References libMesh::RBConstructionBase< Base >::quiet_mode.
void libMesh::RBSCMConstruction::set_rb_scm_evaluation | ( | RBSCMEvaluation & | rb_scm_eval_in | ) |
Set the RBSCMEvaluation object.
void libMesh::RBSCMConstruction::set_RB_system_name | ( | const std::string & | new_name | ) |
Set the name of the associated RB system — we need this to load the (symmetrized) affine operators.
Definition at line 133 of file rb_scm_construction.h.
References RB_system_name.
void libMesh::RBSCMConstruction::set_SCM_training_tolerance | ( | Real | SCM_training_tolerance_in | ) |
Definition at line 140 of file rb_scm_construction.h.
References SCM_training_tolerance.
|
inherited |
Set the seed that is used to randomly generate training 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.
|
inherited |
Allows one to set the boolean controlling whether the vector identified by vec_name should be "preserved": projected to new meshes, saved, etc.
|
overridevirtualinherited |
Override to solve the condensed eigenproblem with the dofs in local_non_condensed_dofs_vector stripped out of the system matrices on each processor.
Reimplemented from libMesh::EigenSystem.
|
inherited |
Definition at line 79 of file rb_construction_base.h.
|
overridevirtualinherited |
"Eigen"
. Helps in identifying the system type in an equation system file. Reimplemented from libMesh::System.
Definition at line 118 of file eigen_system.h.
|
virtualinherited |
Update the local values to reflect the solution on neighboring processors.
Reimplemented in SolidSystem.
|
inherited |
Fill the input vector global_soln
so that it contains the global solution on all processors.
Requires communication with all other processors.
|
inherited |
Fill the input vector global_soln
so that it contains the global solution on processor dest_proc
.
Requires communication with all other processors.
|
virtualinherited |
Calls user's attached assembly function, or is overridden by the user in derived classes.
|
virtualinherited |
Calls user's attached constraint function, or is overridden by the user in derived classes.
|
virtualinherited |
Calls user's attached initialization function, or is overridden by the user in derived classes.
|
virtualinherited |
Calls user's attached quantity of interest function, or is overridden by the user in derived classes.
|
virtualinherited |
Calls user's attached quantity of interest derivative function, or is overridden by the user in derived classes.
|
inherited |
Return a constant reference to Variable
var
.
Definition at line 2133 of file system.h.
References libMesh::System::_variables.
|
inherited |
Return a constant reference to VariableGroup
vg
.
Definition at line 2143 of file system.h.
References libMesh::System::_variable_groups.
|
inherited |
i
. Definition at line 2153 of file system.h.
References libMesh::System::_variables.
|
inherited |
var
. Referenced by libMesh::System::variable_scalar_number(), and libMesh::System::variable_type().
|
inherited |
variable_number(var)
Irony: currently our only non-scalar-valued variable type is SCALAR.
Definition at line 2164 of file system.h.
References libMesh::System::variable_number().
|
inherited |
var_num
Irony: currently our only non-scalar-valued variable type is SCALAR.
Definition at line 2174 of file system.h.
References libMesh::System::_variables.
|
inherited |
i
. Definition at line 2183 of file system.h.
References libMesh::System::_variables.
Referenced by FETest< order, family, elem_type >::setUp().
|
inherited |
var
. Definition at line 2193 of file system.h.
References libMesh::System::_variables, and libMesh::System::variable_number().
|
inherited |
|
inherited |
vec_num
(where the vectors are counted starting with 0).
|
inherited |
|
inherited |
|
inherited |
Beginning of vectors container.
Definition at line 2245 of file system.h.
References libMesh::System::_vectors.
|
inherited |
Beginning of vectors container.
Definition at line 2251 of file system.h.
References libMesh::System::_vectors.
|
inherited |
End of vectors container.
Definition at line 2257 of file system.h.
References libMesh::System::_vectors.
|
inherited |
End of vectors container.
Definition at line 2263 of file system.h.
References libMesh::System::_vectors.
|
virtualinherited |
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.
|
virtualinherited |
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.
|
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.
|
inherited |
Write out the parameter ranges to files.
|
inherited |
Writes additional data, namely vectors, for this System.
This method may safely be called on a distributed-memory mesh.
|
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.
|
inherited |
Zeroes all dofs in v
that correspond to variable number var_num
.
|
protectedinherited |
Definition at line 107 of file parallel_object.h.
Referenced by libMesh::ParallelObject::comm(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), and libMesh::ParallelObject::processor_id().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 122 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 122 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 141 of file reference_counter.h.
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 141 of file reference_counter.h.
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 135 of file reference_counter.h.
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 135 of file reference_counter.h.
|
staticprotectedinherited |
The number of objects.
Print the reference count information when the number returns to 0.
Definition at line 130 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
|
staticprotectedinherited |
The number of objects.
Print the reference count information when the number returns to 0.
Definition at line 130 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
|
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 1477 of file system.h.
Referenced by libMesh::System::disable_cache().
|
inherited |
The (condensed) system matrix for standard eigenvalue problems.
Definition at line 112 of file condensed_eigen_system.h.
|
inherited |
A second (condensed) system matrix for generalized eigenvalue problems.
Definition at line 117 of file condensed_eigen_system.h.
|
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 1535 of file system.h.
Referenced by FETest< order, family, elem_type >::testGradU(), FETest< order, family, elem_type >::testGradUComp(), and FETest< order, family, elem_type >::testU().
|
inherited |
The EigenSolver, defining which interface, i.e solver package to use.
Definition at line 165 of file eigen_system.h.
|
inherited |
A member int that can be employed to indicate increased or reduced quadrature order.
|
protectedinherited |
We keep an extra temporary vector that is useful for performing inner products (avoids unnecessary memory allocation/deallocation).
Definition at line 254 of file rb_construction_base.h.
|
inherited |
Vector storing the local dof indices that will not be condensed.
All dofs that are not in this vector will be eliminated from the system when we perform a solve.
Definition at line 124 of file condensed_eigen_system.h.
|
inherited |
The system matrix for standard eigenvalue problems.
Definition at line 154 of file eigen_system.h.
|
inherited |
A second system matrix for generalized eigenvalue problems.
Definition at line 159 of file eigen_system.h.
|
inherited |
Values of the quantities of interest.
This vector needs to be both resized and filled by the user before any quantity of interest assembly is done and before any sensitivities are calculated.
Definition at line 1558 of file system.h.
Referenced by libMesh::DifferentiableSystem::attach_qoi(), and libMesh::System::n_qois().
|
protectedinherited |
Flag to indicate whether we print out extra information during the Offline stage.
Definition at line 239 of file rb_construction_base.h.
|
private |
The current RBSCMEvaluation object we are using to perform the Evaluation stage of the SCM.
Definition at line 238 of file rb_scm_construction.h.
|
protected |
The name of the associated RB system.
Definition at line 230 of file rb_scm_construction.h.
Referenced by set_RB_system_name().
|
protected |
Tolerance which controls when to terminate the SCM Greedy.
Definition at line 225 of file rb_scm_construction.h.
Referenced by get_SCM_training_tolerance(), and set_SCM_training_tolerance().
|
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 247 of file rb_construction_base.h.
|
inherited |
|
inherited |
For time-dependent problems, this is the time t at the beginning of the current timestep.
|
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.
|
inherited |
Public boolean to toggle verbose mode.
Definition at line 170 of file rb_parametrized.h.