|
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. | |
| typedef RBConstructionBase< CondensedEigenSystem > | Parent |
| The type of the parent. | |
| 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. | |
| 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. | |
| 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. | |
| typedef std::map< std::string, std::unique_ptr< SparseMatrix< Number > >, std::less<> >::const_iterator | const_matrices_iterator |
Public Member Functions | |
| RBSCMConstruction (EquationSystems &es, const std::string &name_in, const unsigned int number_in) | |
| Constructor. | |
| RBSCMConstruction (RBSCMConstruction &&)=default | |
| Special functions. | |
| RBSCMConstruction (const RBSCMConstruction &)=delete | |
| RBSCMConstruction & | operator= (const RBSCMConstruction &)=delete |
| RBSCMConstruction & | operator= (RBSCMConstruction &&)=delete |
| virtual | ~RBSCMConstruction () |
| virtual void | clear () override |
| Clear all the data structures associated with the system. | |
| void | set_rb_scm_evaluation (RBSCMEvaluation &rb_scm_eval_in) |
| Set the RBSCMEvaluation object. | |
| RBSCMEvaluation & | get_rb_scm_evaluation () |
| Get a reference to the RBSCMEvaluation object. | |
| RBThetaExpansion & | get_rb_theta_expansion () |
| Get a reference to the RBThetaExpansion object. | |
| virtual void | resize_SCM_vectors () |
| Clear and resize the SCM data vectors. | |
| 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. | |
| virtual void | print_info () |
| Print out info that describes the current setup of this RBSCMConstruction. | |
| virtual void | set_eigensolver_properties (int) |
| This function is called before truth eigensolves in compute_SCM_bounding_box and evaluate_stability_constant. | |
| 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. | |
| Real | get_SCM_training_tolerance () const |
| Get/set SCM_training_tolerance: tolerance for SCM greedy. | |
| 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. | |
| virtual void | attach_deflation_space () |
| Attach the deflation space defined by the specified vector, can be useful in solving constrained eigenvalue problems. | |
| sys_type & | system () |
| void | set_quiet_mode (bool quiet_mode_in) |
| Set the quiet_mode flag. | |
| bool | is_quiet () const |
| Is the system in quiet mode? | |
| void | set_normalize_solution_snapshots (bool value) |
| Set the boolean option that indicates if we normalization solution snapshots or not. | |
| numeric_index_type | get_n_training_samples () const |
| Get the number of global training samples. | |
| numeric_index_type | get_local_n_training_samples () const |
| Get the total number of training samples local to this processor. | |
| numeric_index_type | get_first_local_training_index () const |
| Get the first local index of the training parameters. | |
| numeric_index_type | get_last_local_training_index () const |
| Get the last local index of the training parameters. | |
| 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. | |
| virtual void | load_training_set (const std::map< std::string, std::vector< RBParameter > > &new_training_set) |
| Overwrite the training parameters with new_training_set. | |
| 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. | |
| void | broadcast_parameters (const unsigned int proc_id) |
| Broadcasts parameters from processor proc_id to all processors. | |
| void | set_training_random_seed (int seed) |
| Set the seed that is used to randomly generate training parameters. | |
| 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. | |
| const std::string & | get_deterministic_training_parameter_name () const |
| Get the name of the parameter that we will generate deterministic training parameters for. | |
| 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. | |
| 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. | |
| virtual std::pair< Real, Real > | get_eigenpair (dof_id_type i) override |
Override get_eigenpair() to retrieve the eigenpair for the condensed eigensolve. | |
| bool | has_condensed_matrix_A () const |
| bool | has_condensed_matrix_B () const |
| bool | has_condensed_precond_matrix () const |
| SparseMatrix< Number > & | get_condensed_matrix_A () |
| SparseMatrix< Number > & | get_condensed_matrix_B () |
| SparseMatrix< Number > & | get_condensed_precond_matrix () |
| void | copy_sub_to_super (const NumericVector< Number > &sub, NumericVector< Number > &super) |
| Copy a logically sub-vector into a super-vector. | |
| void | copy_super_to_sub (NumericVector< Number > &super, NumericVector< Number > &sub) |
| Copy a logically super-vector into a sub-vector. | |
| void | copy_super_to_sub (const SparseMatrix< Number > &super, SparseMatrix< Number > &sub) |
| Copy a logically super-matrix into a sub-matrix. | |
| void | dont_create_submatrices_in_solve () |
| Instructs not to create the condensed submatrices from the global matrices right before the solve. | |
| void | initialize_condensed_matrices () |
| Initializes the condensed matrices. | |
| bool | have_condensed_dofs () const |
| virtual void | reinit () override |
Reinitializes the member data fields associated with the system, so that, e.g., assemble() may be used. | |
| virtual std::pair< Real, Real > | get_eigenvalue (dof_id_type i) |
| virtual std::string | system_type () 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. | |
| EigenProblemType | get_eigenproblem_type () const |
| void | set_initial_space (NumericVector< Number > &initial_space_in) |
| Sets an initial eigen vector. | |
| bool | generalized () const |
| bool | use_shell_matrices () const |
| void | use_shell_matrices (bool use_shell_matrices) |
| Set a flag to use shell matrices. | |
| bool | use_shell_precond_matrix () const |
| void | use_shell_precond_matrix (bool use_shell_precond_matrix) |
| Set a flag to use a shell preconditioning matrix. | |
| const SparseMatrix< Number > & | get_matrix_A () const |
| SparseMatrix< Number > & | get_matrix_A () |
| const SparseMatrix< Number > & | get_matrix_B () const |
| SparseMatrix< Number > & | get_matrix_B () |
| const SparseMatrix< Number > & | get_precond_matrix () const |
| SparseMatrix< Number > & | get_precond_matrix () |
| const ShellMatrix< Number > & | get_shell_matrix_A () const |
| ShellMatrix< Number > & | get_shell_matrix_A () |
| const ShellMatrix< Number > & | get_shell_matrix_B () const |
| ShellMatrix< Number > & | get_shell_matrix_B () |
| const ShellMatrix< Number > & | get_shell_precond_matrix () const |
| ShellMatrix< Number > & | get_shell_precond_matrix () |
| const EigenSolver< Number > & | get_eigen_solver () const |
| EigenSolver< Number > & | get_eigen_solver () |
| bool | has_matrix_A () const |
| bool | has_matrix_B () const |
| bool | has_precond_matrix () const |
| bool | has_shell_matrix_A () const |
| bool | has_shell_matrix_B () const |
| bool | has_shell_precond_matrix () const |
| void | init () |
| Initializes degrees of freedom on the current mesh. | |
| virtual void | reinit_constraints () |
| Reinitializes the constraints for this system. | |
| virtual void | reinit_mesh () |
| Reinitializes the system with a new mesh. | |
| bool | is_initialized () const |
| virtual void | update () |
| Update the local values to reflect the solution on neighboring processors. | |
| virtual void | assemble () |
Prepares matrix and _dof_map for matrix assembly. | |
| virtual void | assemble_qoi (const QoISet &qoi_indices=QoISet()) |
| Calls user qoi function. | |
| virtual void | assemble_qoi_derivative (const QoISet &qoi_indices=QoISet(), bool include_liftfunc=true, bool apply_constraints=true) |
| Calls user qoi derivative function. | |
| virtual void | assemble_residual_derivatives (const ParameterVector ¶meters) |
| Calls residual parameter derivative function. | |
| 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. | |
| virtual std::pair< unsigned int, Real > | sensitivity_solve (const ParameterVector ¶meters) |
| Solves the sensitivity system, for the provided parameters. | |
| 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. | |
| 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. | |
| 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. | |
| bool | is_adjoint_already_solved () const |
| Accessor for the adjoint_already_solved boolean. | |
| void | set_adjoint_already_solved (bool setting) |
| Setter for the adjoint_already_solved boolean. | |
| 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]. | |
| virtual void | adjoint_qoi_parameter_sensitivity (const QoISet &qoi_indices, const ParameterVector ¶meters, SensitivityData &sensitivities) |
| Solves for parameter sensitivities using the adjoint method. | |
| virtual void | forward_qoi_parameter_sensitivity (const QoISet &qoi_indices, const ParameterVector ¶meters, SensitivityData &sensitivities) |
| Solves for parameter sensitivities using the forward method. | |
| 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). | |
| 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]. | |
| 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, std::optional< ConstElemRange > active_local_range=std::nullopt, std::optional< std::vector< unsigned int > > variable_numbers=std::nullopt) const |
| Projects arbitrary functions onto the current solution. | |
| void | project_solution (FEMFunctionBase< Number > *f, FEMFunctionBase< Gradient > *g=nullptr, std::optional< ConstElemRange > active_local_range=std::nullopt, std::optional< std::vector< unsigned int > > variable_numbers=std::nullopt) const |
| Projects arbitrary functions onto the current solution. | |
| void | project_solution (ValueFunctionPointer fptr, GradientFunctionPointer gptr, const Parameters ¶meters, std::optional< ConstElemRange > active_local_range=std::nullopt, std::optional< std::vector< unsigned int > > variable_numbers=std::nullopt) const |
| This method projects an arbitrary function onto the solution via L2 projections and nodal interpolations on each element. | |
| void | project_vector (NumericVector< Number > &new_vector, FunctionBase< Number > *f, FunctionBase< Gradient > *g=nullptr, int is_adjoint=-1, std::optional< ConstElemRange > active_local_range=std::nullopt, std::optional< std::vector< unsigned int > > variable_numbers=std::nullopt) const |
| Projects arbitrary functions onto a vector of degree of freedom values for the current system. | |
| void | project_vector (NumericVector< Number > &new_vector, FEMFunctionBase< Number > *f, FEMFunctionBase< Gradient > *g=nullptr, int is_adjoint=-1, std::optional< ConstElemRange > active_local_range=std::nullopt, std::optional< std::vector< unsigned int > > variable_numbers=std::nullopt) const |
| Projects arbitrary functions onto a vector of degree of freedom values for the current system. | |
| void | project_vector (ValueFunctionPointer fptr, GradientFunctionPointer gptr, const Parameters ¶meters, NumericVector< Number > &new_vector, int is_adjoint=-1, std::optional< ConstElemRange > active_local_range=std::nullopt, std::optional< std::vector< unsigned int > > variable_numbers=std::nullopt) const |
| Projects arbitrary functions onto a vector of degree of freedom values for the current system. | |
| void | boundary_project_solution (const std::set< boundary_id_type > &b, const std::vector< unsigned int > &variables, FunctionBase< Number > *f, FunctionBase< Gradient > *g=nullptr, std::optional< ConstElemRange > active_local_range=std::nullopt) |
| Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system. | |
| void | boundary_project_solution (const std::set< boundary_id_type > &b, const std::vector< unsigned int > &variables, ValueFunctionPointer fptr, GradientFunctionPointer gptr, const Parameters ¶meters, std::optional< ConstElemRange > active_local_range=std::nullopt) |
| Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system. | |
| 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, std::optional< ConstElemRange > active_local_range=std::nullopt) const |
| Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system. | |
| 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, std::optional< ConstElemRange > active_local_range=std::nullopt) const |
| Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system. | |
| 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. | |
| 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. | |
| 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. | |
| void | deactivate () |
| Deactivates the system. | |
| void | set_basic_system_only () |
| Sets the system to be "basic only": i.e. | |
| vectors_iterator | vectors_begin () |
| Beginning of vectors container. | |
| const_vectors_iterator | vectors_begin () const |
| Beginning of vectors container. | |
| vectors_iterator | vectors_end () |
| End of vectors container. | |
| const_vectors_iterator | vectors_end () const |
| End of vectors container. | |
| matrices_iterator | matrices_begin () |
| Beginning of matrices container. | |
| const_matrices_iterator | matrices_begin () const |
| Beginning of matrices container. | |
| matrices_iterator | matrices_end () |
| End of matrices container. | |
| const_matrices_iterator | matrices_end () const |
| End of matrices container. | |
| 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. | |
| void | remove_vector (std::string_view vec_name) |
Removes the additional vector vec_name from this system. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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, const bool p_refinement=true) |
Adds the variable var to the list of variables for this system. | |
| 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 variables vars to the list of variables for this system. | |
| 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, const bool p_refinement=true) |
Adds the variable var to the list of variables for this system. | |
| unsigned int | add_variable_array (const std::vector< std::string > &vars, const FEType &type, const std::set< subdomain_id_type > *const active_subdomains=nullptr) |
Adds variables vars to the list of variables for this system. | |
| const Variable & | variable (unsigned int var) const |
Return a constant reference to Variable var. | |
| const VariableGroup & | variable_group (unsigned int vg) const |
Return a constant reference to VariableGroup vg. | |
| 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. | |
| 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. | |
| 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. | |
| template<typename ValType > | |
| void | read_serialized_data (Xdr &io, const bool read_additional_data=true) |
| Reads additional data, namely vectors, for this System. | |
| void | read_serialized_data (Xdr &io, const bool read_additional_data=true) |
| Non-templated version for backward compatibility. | |
| 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. | |
| std::size_t | read_serialized_vectors (Xdr &io, const std::vector< NumericVector< Number > * > &vectors) const |
| Non-templated version for backward compatibility. | |
| template<typename InValType > | |
| void | read_parallel_data (Xdr &io, const bool read_additional_data) |
| Reads additional data, namely vectors, for this System. | |
| void | read_parallel_data (Xdr &io, const bool read_additional_data) |
| Non-templated version for backward compatibility. | |
| void | write_header (Xdr &io, std::string_view version, const bool write_additional_data) const |
| Writes the basic data header for this System. | |
| void | write_serialized_data (Xdr &io, const bool write_additional_data=true) const |
| Writes additional data, namely vectors, for this System. | |
| std::size_t | write_serialized_vectors (Xdr &io, const std::vector< const NumericVector< Number > * > &vectors) const |
| Serialize & write a number of identically distributed vectors. | |
| void | write_parallel_data (Xdr &io, const bool write_additional_data) const |
| Writes additional data, namely vectors, for this System. | |
| 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. | |
| void | attach_init_object (Initialization &init) |
| Register a user class to use to initialize the system. | |
| 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. | |
| void | attach_assemble_object (Assembly &assemble) |
| Register a user object to use in assembling the system matrix and RHS. | |
| void | attach_constraint_function (void fptr(EquationSystems &es, const std::string &name)) |
| Register a user function for imposing constraints. | |
| void | attach_constraint_object (Constraint &constrain) |
| Register a user object for imposing constraints. | |
| bool | has_constraint_object () const |
| Constraint & | get_constraint_object () |
| Return the user object for imposing constraints. | |
| 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. | |
| void | attach_QOI_object (QOI &qoi) |
Register a user object for evaluating the quantities of interest, whose values should be placed in System::qoi. | |
| 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. | |
| 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. | |
| virtual void | user_initialization () |
| Calls user's attached initialization function, or is overridden by the user in derived classes. | |
| virtual void | user_assembly () |
| Calls user's attached assembly function, or is overridden by the user in derived classes. | |
| virtual void | user_constrain () |
| Calls user's attached constraint function, or is overridden by the user in derived classes. | |
| 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. | |
| 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. | |
| virtual void | re_update () |
| Re-update the local values when the mesh has changed. | |
| virtual void | restrict_vectors () |
| Restrict vectors after the mesh has coarsened. | |
| virtual void | prolong_vectors () |
| Prolong vectors after the mesh has refined. | |
| virtual void | disable_cache () |
| Avoids use of any cached data that might affect any solve result. | |
| Number | current_solution (const dof_id_type global_dof_number) const |
| unsigned int | n_qois () const |
| Number of currently active quantities of interest. | |
| void | init_qois (unsigned int n_qois) |
| Accessors for qoi and qoi_error_estimates vectors. | |
| 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. | |
| 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. | |
| Number | point_value (unsigned int var, const Point &p, const NumericVector< Number > *sol) const |
| Calls the parallel version of point_value(). | |
| 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. | |
| Gradient | point_gradient (unsigned int var, const Point &p, const NumericVector< Number > *sol) const |
| Calls the parallel version of point_gradient(). | |
| 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. | |
| Tensor | point_hessian (unsigned int var, const Point &p, const NumericVector< Number > *sol) const |
| Calls the parallel version of point_hessian(). | |
| 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. | |
| void | zero_variable (NumericVector< Number > &v, unsigned int var_num) const |
Zeroes all dofs in v that correspond to variable number var_num. | |
| bool | get_project_with_constraints () |
| Setter and getter functions for project_with_constraints boolean. | |
| 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. | |
| 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. | |
| template<template< typename > class> | |
| SparseMatrix< Number > & | add_matrix (std::string_view mat_name, ParallelType=PARALLEL) |
Adds the additional matrix mat_name to this system. | |
| 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. | |
| void | remove_matrix (std::string_view mat_name) |
Removes the additional matrix mat_name from this system. | |
| 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. | |
| void | prefix_with_name (bool value) |
| Instructs this system to prefix solve options with its name for solvers that leverage prefixes. | |
| bool | prefix_with_name () const |
| std::string | prefix () const |
| virtual void | create_static_condensation () |
| Request that static condensation be performed for this system. | |
| bool | has_static_condensation () const |
| void | solve_for_unconstrained_dofs (NumericVector< Number > &, int is_adjoint=-1) 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. | |
| void | initialize_parameters (const RBParametrized &rb_parametrized) |
| Initialize the parameter ranges and set current_parameters. | |
| unsigned int | get_n_params () const |
| Get the number of parameters. | |
| unsigned int | get_n_continuous_params () const |
| Get the number of continuous parameters. | |
| unsigned int | get_n_discrete_params () const |
| Get the number of discrete parameters. | |
| const RBParameters & | get_parameters () const |
| Get the current parameters. | |
| 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. | |
| const RBParameters & | get_parameters_min () const |
| Get an RBParameters object that specifies the minimum allowable value for each parameter. | |
| const RBParameters & | get_parameters_max () const |
| Get an RBParameters object that specifies the maximum allowable value for each parameter. | |
| Real | get_parameter_min (const std::string ¶m_name) const |
Get minimum allowable value of parameter param_name. | |
| Real | get_parameter_max (const std::string ¶m_name) const |
Get maximum allowable value of parameter param_name. | |
| void | print_parameters () const |
| Print the current parameters. | |
| 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. | |
| 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. | |
| bool | is_discrete_parameter (const std::string &mu_name) const |
Is parameter mu_name discrete? | |
| const std::map< std::string, std::vector< Real > > & | get_discrete_parameter_values () const |
| Get a const reference to the discrete parameter values. | |
| void | print_discrete_parameter_values () const |
| Print out all the discrete parameter values. | |
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. | |
| 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. | |
| static std::string | get_info () |
| Gets a string containing the reference information. | |
| static std::string | get_info () |
| Gets a string containing the reference information. | |
| static void | print_info (std::ostream &out_stream=libMesh::out) |
Prints the reference information, by default to libMesh::out. | |
| static void | print_info (std::ostream &out_stream=libMesh::out) |
Prints the reference information, by default to libMesh::out. | |
| static unsigned int | n_objects () |
| Prints the number of outstanding (created, but not yet destroyed) objects. | |
| static unsigned int | n_objects () |
| Prints the number of outstanding (created, but not yet destroyed) objects. | |
| static void | enable_print_counter_info () |
| Methods to enable/disable the reference counter output from print_info(). | |
| static void | enable_print_counter_info () |
| Methods to enable/disable the reference counter output from print_info(). | |
| 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::vector< dof_id_type > | local_non_condensed_dofs_vector |
| Vector storing the local dof indices that will not be condensed. | |
| SparseMatrix< Number > * | matrix_A |
| The system matrix for standard eigenvalue problems. | |
| SparseMatrix< Number > * | matrix_B |
| A second system matrix for generalized eigenvalue problems. | |
| std::unique_ptr< ShellMatrix< Number > > | shell_matrix_A |
| The system shell matrix for standard eigenvalue problems. | |
| std::unique_ptr< ShellMatrix< Number > > | shell_matrix_B |
| A second system shell matrix for generalized eigenvalue problems. | |
| SparseMatrix< Number > * | precond_matrix |
| A preconditioning matrix. | |
| std::unique_ptr< ShellMatrix< Number > > | shell_precond_matrix |
| A preconditioning shell matrix. | |
| std::unique_ptr< EigenSolver< Number > > | eigen_solver |
| The EigenSolver, defining which interface, i.e solver package to use. | |
| Parameters | parameters |
| Parameters for the system. If a parameter is not provided, it should be retrieved from the EquationSystems. | |
| bool | assemble_before_solve |
| Flag which tells the system to whether or not to call the user assembly function during each call to solve(). | |
| bool | use_fixed_solution |
| A boolean to be set to true by systems using elem_fixed_solution, for optional use by e.g. | |
| int | extra_quadrature_order |
| A member int that can be employed to indicate increased or reduced quadrature order. | |
| std::unique_ptr< NumericVector< Number > > | solution |
| Data structure to hold solution values. | |
| std::unique_ptr< NumericVector< Number > > | current_local_solution |
| All the values I need to compute my contribution to the simulation at hand. | |
| Real | time |
| For time-dependent problems, this is the time t at the beginning of the current timestep. | |
| bool | verbose_mode |
| Public boolean to toggle verbose mode. | |
Protected Types | |
| typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
| Data structure to log the information. | |
| typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
| Data structure to log the information. | |
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. | |
| 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. | |
| virtual void | compute_SCM_bounding_box () |
| Compute the SCM bounding box. | |
| virtual void | evaluate_stability_constant () |
| Compute the stability constant for current_parameters by solving a generalized eigenvalue problem over the truth space. | |
| 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. | |
| virtual std::pair< unsigned int, Real > | compute_SCM_bounds_on_training_set () |
| Compute upper and lower bounds for each SCM training point. | |
| 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. | |
| 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. | |
| virtual Real | SCM_greedy_error_indicator (Real LB, Real UB) |
| Helper function which provides an error indicator to be used in the SCM greedy. | |
| virtual void | init_data () |
Initializes the member data fields associated with the system, so that, e.g., assemble() may be used. | |
| RBParameters | get_params_from_training_set (unsigned int global_index) |
Return the RBParameters in index global_index of the global training set. | |
| 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. | |
| virtual void | set_params_from_training_set_and_broadcast (unsigned int global_index) |
| Load the specified training parameter and then broadcast to all processors. | |
| virtual void | add_matrices () override |
| Adds the necessary matrices and shell matrices. | |
| virtual void | init_matrices () override |
| Initializes the matrices associated with the system. | |
| void | set_n_converged (unsigned int nconv) |
| Set the _n_converged_eigenpairs member, useful for subclasses of EigenSystem. | |
| void | set_n_iterations (unsigned int its) |
| Set the _n_iterations member, useful for subclasses of EigenSystem. | |
| void | solve_helper (SparseMatrix< Number > *const A, SparseMatrix< Number > *const B, SparseMatrix< Number > *const P) |
| void | project_vector (NumericVector< Number > &, int is_adjoint=-1, std::optional< ConstElemRange > active_local_range=std::nullopt, std::optional< std::vector< unsigned int > > variable_numbers=std::nullopt) const |
| Projects the vector defined on the old mesh onto the new mesh. | |
| void | project_vector (const NumericVector< Number > &, NumericVector< Number > &, int is_adjoint=-1, std::optional< ConstElemRange > active_local_range=std::nullopt, std::optional< std::vector< unsigned int > > variable_numbers=std::nullopt) const |
| Projects the vector defined on the old mesh onto the new mesh. | |
| bool | can_add_matrices () const |
| void | increment_constructor_count (const std::string &name) noexcept |
| Increments the construction counter. | |
| void | increment_constructor_count (const std::string &name) noexcept |
| Increments the construction counter. | |
| void | increment_destructor_count (const std::string &name) noexcept |
| Increments the destruction counter. | |
| void | increment_destructor_count (const std::string &name) noexcept |
| Increments the destruction counter. | |
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. | |
Protected Attributes | |
| Real | SCM_training_tolerance |
| Tolerance which controls when to terminate the SCM Greedy. | |
| std::string | RB_system_name |
| The name of the associated RB system. | |
| bool | quiet_mode |
| Flag to indicate whether we print out extra information during the Offline stage. | |
| bool | serial_training_set |
| This boolean flag indicates whether or not the training set should be the same on all processors. | |
| bool | _normalize_solution_snapshots |
| Set this boolean to true if we want to normalize solution snapshots used in training to have norm of 1. | |
| 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). | |
| const Parallel::Communicator & | _communicator |
Static Protected Attributes | |
| static Counts | _counts |
| Actually holds the data. | |
| static Counts | _counts |
| Actually holds the data. | |
| static Threads::atomic< unsigned int > | _n_objects |
| The number of objects. | |
| static Threads::atomic< unsigned int > | _n_objects |
| The number of objects. | |
| static Threads::spin_mutex | _mutex |
| Mutual exclusion object to enable thread-safe reference counting. | |
| static Threads::spin_mutex | _mutex |
| Mutual exclusion object to enable thread-safe reference counting. | |
| static bool | _enable_print_counter = true |
| Flag to control whether reference count information is printed when print_info is called. | |
| static bool | _enable_print_counter = true |
| Flag to control whether reference count information is printed when print_info is called. | |
Private Member Functions | |
| virtual bool | condense_constrained_dofs () const override final |
| Whether this object should condense out constrained degrees of freedom. | |
| void | late_matrix_init (SparseMatrix< Number > &mat, ParallelType type) |
| Helper function to keep DofMap forward declarable in system.h. | |
| Real | discrete_var_norm (const NumericVector< Number > &v, unsigned int var, FEMNormType norm_type) const |
| Finds the discrete norm for the entries in the vector corresponding to Dofs associated with var. | |
| template<typename iterator_type , typename InValType > | |
| std::size_t | read_serialized_blocked_dof_objects (const dof_id_type n_objects, const iterator_type begin, const iterator_type end, const InValType dummy, Xdr &io, const std::vector< NumericVector< Number > * > &vecs, const unsigned int var_to_read=libMesh::invalid_uint) const |
Reads an input vector from the stream io and assigns the values to a set of DofObjects. | |
| unsigned int | read_SCALAR_dofs (const unsigned int var, Xdr &io, NumericVector< Number > *vec) const |
Reads the SCALAR dofs from the stream io and assigns the values to the appropriate entries of vec. | |
| template<typename InValType > | |
| numeric_index_type | read_serialized_vector (Xdr &io, NumericVector< Number > *vec) |
| Reads a vector for this System. | |
| numeric_index_type | read_serialized_vector (Xdr &io, NumericVector< Number > &vec) |
| Non-templated version for backward compatibility. | |
| template<typename iterator_type > | |
| std::size_t | write_serialized_blocked_dof_objects (const std::vector< const NumericVector< Number > * > &vecs, const dof_id_type n_objects, const iterator_type begin, const iterator_type end, Xdr &io, const unsigned int var_to_write=libMesh::invalid_uint) const |
Writes an output vector to the stream io for a set of DofObjects. | |
| unsigned int | write_SCALAR_dofs (const NumericVector< Number > &vec, const unsigned int var, Xdr &io) const |
Writes the SCALAR dofs associated with var to the stream io. | |
| dof_id_type | write_serialized_vector (Xdr &io, const NumericVector< Number > &vec) const |
| Writes a vector for this System. | |
| void | write_parameter_ranges_to_file (const std::string &file_name, const bool write_binary) |
| Write out the parameter ranges to file. | |
| void | write_discrete_parameter_values_to_file (const std::string &file_name, const bool write_binary_data) |
| Write out the discrete parameter values to file. | |
| void | read_parameter_ranges_from_file (const std::string &file_name, const bool read_binary, RBParameters ¶m_min, RBParameters ¶m_max) |
| Read in the parameter ranges from file. | |
| void | read_discrete_parameter_values_from_file (const std::string &file_name, const bool read_binary_data, std::map< std::string, std::vector< Real > > &discrete_parameter_values_in) |
| Read in the discrete parameter values from file, if we have any. | |
| bool | check_if_valid_params (const RBParameters ¶ms) const |
Helper function to check that params is valid: | |
Static Private Member Functions | |
| static bool | is_value_in_list (Real value, const std::vector< Real > &list_of_values, Real tol) |
Helper function to check if the specified value is in the list of values (within a tolerance given by tol). | |
Private Attributes | |
| RBSCMEvaluation * | rb_scm_eval |
| The current RBSCMEvaluation object we are using to perform the Evaluation stage of the SCM. | |
| bool | _training_parameters_initialized |
| Boolean flag to indicate whether or not the parameter ranges have been initialized. | |
| std::map< std::string, std::vector< RBParameter > > | _training_parameters |
| The training samples for each parameter. | |
| numeric_index_type | _first_local_index |
| The first sample-vector index from the global vector which is stored in the _training_parameters on this processor. | |
| numeric_index_type | _n_local_training_samples |
| numeric_index_type | _n_global_training_samples |
| int | _training_parameters_random_seed |
| If < 0, use std::time() * processor_id() to seed the random number generator for the training parameters (default). | |
| bool | _condensed_dofs_initialized |
| A private flag to indicate whether the condensed dofs have been initialized. | |
| bool | _have_condensed_dofs |
| Whether there are any condensed degrees of freedom. | |
| bool | _create_submatrices_in_solve |
| Denotes whether to create the condensed submatrices from the global matrices in the solve. | |
| std::unique_ptr< SparseMatrix< Number > > | _condensed_matrix_A |
| The (condensed) system matrix for standard eigenvalue problems. | |
| std::unique_ptr< SparseMatrix< Number > > | _condensed_matrix_B |
| A second (condensed) system matrix for generalized eigenvalue problems. | |
| std::unique_ptr< SparseMatrix< Number > > | _condensed_precond_matrix |
| The condensed preconditioning matrix. | |
| unsigned int | _n_converged_eigenpairs |
| The number of converged eigenpairs. | |
| unsigned int | _n_iterations |
| The number of iterations of the eigen solver algorithm. | |
| EigenProblemType | _eigen_problem_type |
| The type of the eigenvalue problem. | |
| bool | _use_shell_matrices |
| A boolean flag to indicate whether or not to use shell matrices. | |
| bool | _use_shell_precond_matrix |
| A boolean flag to indicate whether or not to use a shell preconditioning matrix. | |
| void(* | _init_system_function )(EquationSystems &es, const std::string &name) |
| Function that initializes the system. | |
| Initialization * | _init_system_object |
| Object that initializes the system. | |
| void(* | _assemble_system_function )(EquationSystems &es, const std::string &name) |
| Function that assembles the system. | |
| Assembly * | _assemble_system_object |
| Object that assembles the system. | |
| void(* | _constrain_system_function )(EquationSystems &es, const std::string &name) |
| Function to impose constraints. | |
| Constraint * | _constrain_system_object |
| Object that constrains the system. | |
| void(* | _qoi_evaluate_function )(EquationSystems &es, const std::string &name, const QoISet &qoi_indices) |
| Function to evaluate quantity of interest. | |
| QOI * | _qoi_evaluate_object |
| Object to compute quantities of interest. | |
| void(* | _qoi_evaluate_derivative_function )(EquationSystems &es, const std::string &name, const QoISet &qoi_indices, bool include_liftfunc, bool apply_constraints) |
| Function to evaluate quantity of interest derivative. | |
| QOIDerivative * | _qoi_evaluate_derivative_object |
| Object to compute derivatives of quantities of interest. | |
| std::unique_ptr< DofMap > | _dof_map |
| Data structure describing the relationship between nodes, variables, etc... and degrees of freedom. | |
| EquationSystems & | _equation_systems |
Constant reference to the EquationSystems object used for the simulation. | |
| MeshBase & | _mesh |
Constant reference to the mesh data structure used for the simulation. | |
| const std::string | _sys_name |
| A name associated with this system. | |
| const unsigned int | _sys_number |
| The number associated with this system. | |
| bool | _active |
| Flag stating if the system is active or not. | |
| std::map< std::string, std::unique_ptr< NumericVector< Number > >, std::less<> > | _vectors |
| Some systems need an arbitrary number of vectors. | |
| std::map< std::string, bool, std::less<> > | _vector_projections |
| Holds true if a vector by that name should be projected onto a changed grid, false if it should be zeroed. | |
| std::map< std::string, int, std::less<> > | _vector_is_adjoint |
| Holds non-negative if a vector by that name should be projected using adjoint constraints/BCs, -1 if primal. | |
| std::map< std::string, std::unique_ptr< SparseMatrix< Number > >, std::less<> > | _matrices |
| Some systems need an arbitrary number of matrices. | |
| std::map< std::string, ParallelType, std::less<> > | _matrix_types |
| Holds the types of the matrices. | |
| bool | _matrices_initialized |
false when additional matrices being added require initialization, true otherwise. | |
| bool | _solution_projection |
| Holds true if the solution vector should be projected onto a changed grid, false if it should be zeroed. | |
| bool | _basic_system_only |
| Holds true if the components of more advanced system types (e.g. | |
| bool | _is_initialized |
true when additional vectors and variables do not require immediate initialization, false otherwise. | |
| unsigned int | _additional_data_written |
| This flag is used only when reading in a system from file. | |
| std::vector< unsigned int > | _written_var_indices |
| This vector is used only when reading in a system from file. | |
| bool | adjoint_already_solved |
Has the adjoint problem already been solved? If the user sets adjoint_already_solved to true, we won't waste time solving it again. | |
| bool | _hide_output |
Are we allowed to write this system to file? If _hide_output is true, then EquationSystems::write will ignore this system. | |
| bool | project_with_constraints |
| Do we want to apply constraints while projecting vectors ? | |
| bool | _prefer_hash_table_matrix_assembly |
| Whether to use hash table matrix assembly if the matrix sub-classes support it. | |
| bool | _require_sparsity_pattern |
| Whether any of our matrices require an initial sparsity pattern computation in order to determine preallocation. | |
| bool | _prefix_with_name |
| Whether we are name prefixing solver options. | |
| std::vector< Number > | _qoi |
| Values of the quantities of interest. | |
| std::vector< Number > | _qoi_error_estimates |
| Vector to hold error estimates for qois, either from a steady state calculation, or from a single unsteady solver timestep. | |
| bool | parameters_initialized |
| Flag indicating whether the parameters have been initialized. | |
| RBParameters | parameters_min |
| Vectors that define the ranges (min and max) for the parameters. | |
| RBParameters | parameters_max |
| std::map< std::string, std::vector< Real > > | _discrete_parameter_values |
| Map that defines the allowable values of any discrete parameters. | |
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 |
|
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 |
The type of the parent.
Definition at line 84 of file rb_scm_construction.h.
The type of system.
Definition at line 79 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.
Definition at line 47 of file rb_scm_construction.C.
References libMesh::System::assemble_before_solve, libMesh::GHEP, and libMesh::EigenSystem::set_eigenproblem_type().
|
default |
Special functions.
|
delete |
|
virtualdefault |
|
inlineinherited |
Activates the system.
Only active systems are solved.
Definition at line 2441 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 2433 of file system.h.
References libMesh::System::_active.
|
inherited |
Definition at line 1284 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 1220 of file system.C.
References libMesh::System::add_vector(), and libMesh::System::set_vector_as_adjoint().
Referenced by libMesh::ImplicitSystem::adjoint_solve().
|
overrideprotectedvirtualinherited |
Adds the necessary matrices and shell matrices.
Reimplemented from libMesh::EigenSystem.
Definition at line 143 of file condensed_eigen_system.C.
References libMesh::CondensedEigenSystem::_condensed_matrix_A, libMesh::CondensedEigenSystem::_condensed_matrix_B, libMesh::CondensedEigenSystem::_condensed_precond_matrix, libMesh::EigenSystem::add_matrices(), libMesh::SparseMatrix< T >::build(), libMesh::ParallelObject::comm(), libMesh::EigenSystem::use_shell_matrices(), and libMesh::EigenSystem::use_shell_precond_matrix().
|
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 998 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::System::has_static_condensation(), libMesh::System::late_matrix_init(), and libMesh::libmesh_assert().
Referenced by libMesh::EigenSystem::add_matrices(), libMesh::ImplicitSystem::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 2646 of file system.h.
References libMesh::System::_matrices, libMesh::System::_matrix_types, libMesh::ParallelObject::comm(), 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 1041 of file system.C.
References libMesh::System::_matrices, libMesh::System::_matrix_types, libMesh::ParallelObject::comm(), libMesh::System::late_matrix_init(), and libMesh::libmesh_assert().
|
protectedvirtual |
Add the scaled symmetrized affine matrix from the associated RBSystem to matrix_A.
Definition at line 204 of file rb_scm_construction.C.
References libMesh::RBConstruction::add_scaled_Aq(), libMesh::System::get_equation_systems(), libMesh::EigenSystem::get_matrix_A(), libMesh::EquationSystems::get_system(), and RB_system_name.
Referenced by Aq_inner_product(), compute_SCM_bounding_box(), and evaluate_stability_constant().
|
inherited |
Definition at line 1314 of file system.C.
References libMesh::System::add_vector().
Referenced by libMesh::ImplicitSystem::assemble_residual_derivatives().
|
inherited |
Definition at line 1169 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 1344 of file system.C.
References libMesh::DofMap::add_variable(), and libMesh::System::get_dof_map().
Referenced by libMesh::DifferentiableSystem::add_second_order_dot_vars(), libMesh::System::add_variable(), assemble_and_solve(), OverlappingTestBase::init(), LaplaceSystem::init_data(), CoupledSystem::init_data(), HeatSystem::init_data(), PoissonSystem::init_data(), NavierSystem::init_data(), SolidSystem::init_data(), ElasticitySystem::init_data(), SimpleRBConstruction::init_data(), SimpleEIMConstruction::init_data(), ElasticityRBConstruction::init_data(), CurlCurlSystem::init_data(), HilbertSystem::init_data(), libMesh::AdvectionSystem::init_data(), libMesh::VariationalSmootherSystem::init_data(), FirstOrderScalarSystemBase::init_data(), SecondOrderScalarSystemSecondOrderTimeSolverBase::init_data(), NonManifoldCouplingTestBase::init_es(), main(), main(), libMesh::ErrorVector::plot_error(), libMesh::System::read_header(), libMesh::PetscPreconditioner< T >::set_hypre_ads_data(), libMesh::PetscPreconditioner< T >::set_hypre_ams_data(), RationalMapTest< elem_type >::setUp(), FETestBase< order, family, elem_type, build_nx, CaseName >::setUp(), SlitMeshRefinedSystemTest::setUp(), ParsedFEMFunctionTest::setUp(), WriteVecAndScalar::setupTests(), SystemsTest::simpleSetup(), MultiEvaluablePredTest::test(), ConstraintOperatorTest::test1DCoarseningNewNodes(), ConstraintOperatorTest::test1DCoarseningOperator(), MeshFunctionTest::test_bad_gradient_var_with_out_of_mesh_value(), MeshFunctionTest::test_bad_hessian_var_with_out_of_mesh_value(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), ProjectSolutionTest::test_partial_project_solution(), 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(), SystemsTest::testFirstScalarNumber(), MeshAssignTest::testMeshMoveAssign(), PeriodicBCTest::testPeriodicBC(), EquationSystemsTest::testPostInitAddElem(), EquationSystemsTest::testPostInitAddRealSystem(), SystemsTest::testProjectCubeWithMeshFunction(), MeshInputTest::testProjectionRegression(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), SystemsTest::testProjectScalarCoarsening(), InfFERadialTest::testRefinement(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), EquationSystemsTest::testReinitWithNodeElem(), EquationSystemsTest::testRepartitionThenReinit(), EquationSystemsTest::testSelectivePRefine(), SystemsTest::testSetSystemParameterOverEquationSystem(), BoundaryInfoTest::testShellFaceConstraints(), MeshInputTest::testSingleElementImpl(), DisjointNeighborTest::testTempJump(), DisjointNeighborTest::testTempJumpRefine(), 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. If p_refinement is false, then even when on an Elem with non-zero p_level() this variable will not be p-refined.
Definition at line 1353 of file system.C.
References libMesh::System::add_variable().
|
inherited |
Adds variables vars 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 the vars have no subdomain restrictions. This API will end up calling this->add_variables(). However, we will additionally store data that can be leveraged by the DofMap to build degrees of freedom containers corresponding to all the variables in this variable array
An 'array variable' is simply a sequence of contiguous variable numbers defined by pair where the first member of the pair is the first number in the variable sequence and the second member of the pair is the number of the last variable in the sequence plus one. Array variables may be used in tandem with variable grouping by downstream code to build optimized physics kernels since each variable in the array will have the same shape functions.
Definition at line 1386 of file system.C.
References libMesh::DofMap::add_variable_array(), and libMesh::System::get_dof_map().
Referenced by DofMapTest::testArrayDofIndicesWithType().
|
inherited |
Adds the variables vars 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 the vars have no subdomain restrictions
Definition at line 1366 of file system.C.
References libMesh::DofMap::add_variables(), and libMesh::System::get_dof_map().
Referenced by 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. If p_refinement is false, then even when on an Elem with non-zero p_level() this variable will not be p-refined.
Definition at line 1375 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 756 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::NumericVector< T >::get(), 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::TimeSolver::init_adjoints(), libMesh::UnsteadySolver::init_adjoints(), libMesh::ContinuationSystem::init_data(), libMesh::OptimizationSystem::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 1252 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 1199 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 2602 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::DifferentiableSystem, and libMesh::ImplicitSystem.
Definition at line 2586 of file system.h.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), and libMesh::AdjointResidualErrorEstimator::estimate_error().
|
protected |
Compute the inner product between two vectors using matrix Aq.
Definition at line 405 of file rb_scm_construction.C.
References add_scaled_symm_Aq(), libMesh::NumericVector< T >::dot(), get_rb_theta_expansion(), libMesh::RBConstructionBase< CondensedEigenSystem >::inner_product_storage_vector, libMesh::EigenSystem::matrix_A, libMesh::SparseMatrix< T >::vector_mult(), and libMesh::SparseMatrix< T >::zero().
Referenced by evaluate_stability_constant().
|
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::DifferentiableSystem, libMesh::FrequencySystem, libMesh::ImplicitSystem, libMesh::LinearImplicitSystem, and libMesh::NewmarkSystem.
Definition at line 554 of file system.C.
References libMesh::System::user_assembly().
Referenced by libMesh::ImplicitSystem::assemble(), libMesh::CondensedEigenSystem::solve(), libMesh::EigenSystem::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 565 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::ExplicitSystem, and libMesh::FEMSystem.
Definition at line 576 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.
Definition at line 2553 of file system.h.
|
inherited |
Register a user function to use in assembling the system matrix and RHS.
Definition at line 1959 of file system.C.
References fptr(), and libMesh::libmesh_assert().
Referenced by assemble_and_solve(), main(), ConstraintOperatorTest::test1DCoarseningNewNodes(), ConstraintOperatorTest::test1DCoarseningOperator(), SystemsTest::testAssemblyWithDgFemContext(), ConstraintOperatorTest::testCoreform(), SystemsTest::testDofCouplingWithVarGroups(), PeriodicBCTest::testPeriodicBC(), DisjointNeighborTest::testTempJump(), and DisjointNeighborTest::testTempJumpRefine().
|
inherited |
Register a user object to use in assembling the system matrix and RHS.
Definition at line 1976 of file system.C.
Referenced by main().
|
inherited |
Register a user function for imposing constraints.
Definition at line 1990 of file system.C.
References fptr(), and libMesh::libmesh_assert().
|
inherited |
Register a user object for imposing constraints.
Definition at line 2007 of file system.C.
Referenced by libMesh::VariationalMeshSmoother::setup(), and DofMapTest::testConstraintLoopDetection().
|
inlinevirtual |
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 162 of file rb_scm_construction.h.
Referenced by perform_SCM_greedy().
|
inherited |
Register a user function to use in initializing the system.
Definition at line 1928 of file system.C.
References fptr(), and libMesh::libmesh_assert().
|
inherited |
Register a user class to use to initialize the system.
attach_init_function. Definition at line 1945 of file system.C.
|
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 2064 of file system.C.
References 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 2081 of file system.C.
|
inherited |
Register a user function for evaluating the quantities of interest, whose values should be placed in System::qoi.
Definition at line 2032 of file system.C.
References 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 2050 of file system.C.
|
protected |
Compute the inner product between two vectors using the system's matrix_B.
Definition at line 397 of file rb_scm_construction.C.
References libMesh::NumericVector< T >::dot(), libMesh::RBConstructionBase< CondensedEigenSystem >::inner_product_storage_vector, libMesh::EigenSystem::matrix_B, and libMesh::SparseMatrix< T >::vector_mult().
Referenced by evaluate_stability_constant().
|
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. elem_range active_local_range, if provided, indicates the range of elements over which to perform the projection.
Definition at line 1306 of file system_projection.C.
References b.
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. elem_range active_local_range, if provided, indicates the range of elements over which to perform the projection.
Definition at line 1287 of file system_projection.C.
|
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. elem_range active_local_range, if provided, indicates the range of elements over which to perform the projection.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
Definition at line 1344 of file system_projection.C.
References b, libMesh::NumericVector< T >::close(), and libMesh::libmesh_ignore().
|
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. elem_range active_local_range, if provided, indicates the range of elements over which to perform the projection.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
Definition at line 1325 of file system_projection.C.
|
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 165 of file rb_construction_base.C.
|
inherited |
v, using component_norm and component_scale to choose and weight the norms of each variable. Definition at line 1533 of file system.C.
References libMesh::FEType::default_quadrature_rule(), dim, libMesh::DISCRETE_L1, libMesh::DISCRETE_L2, libMesh::DISCRETE_L_INF, 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(), libMesh::QBase::n_points(), n_vars, libMesh::Real, libMesh::NumericVector< T >::size(), libMesh::TYPE_SCALAR, libMesh::TYPE_VECTOR, libMesh::W1_INF_SEMINORM, libMesh::W2_INF_SEMINORM, and libMesh::SystemNorm::weight().
|
inherited |
var in the vector v, in the specified norm (e.g. L2, L_INF, H1) Definition at line 1511 of file system.C.
References libMesh::DISCRETE_L1, libMesh::DISCRETE_L2, libMesh::DISCRETE_L_INF, libMesh::L2, 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().
|
inlineprotectedinherited |
Definition at line 2028 of file system.h.
References libMesh::System::_matrices_initialized.
Referenced by libMesh::EigenSystem::set_eigenproblem_type().
|
privateinherited |
Helper function to check that params is valid:
Definition at line 378 of file rb_parametrized.C.
References libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::RBParametrized::get_n_params(), libMesh::RBParametrized::get_parameter_max(), libMesh::RBParametrized::get_parameter_min(), libMesh::RBParameters::get_sample_value(), libMesh::RBParametrized::is_value_in_list(), libMesh::RBParameters::n_parameters(), libMesh::out, libMesh::Real, libMesh::TOLERANCE, value, and libMesh::RBParametrized::verbose_mode.
Referenced by libMesh::RBParametrized::set_parameters().
|
overridevirtual |
Clear all the data structures associated with the system.
Reimplemented from libMesh::RBConstructionBase< CondensedEigenSystem >.
Definition at line 67 of file rb_scm_construction.C.
References libMesh::RBConstructionBase< CondensedEigenSystem >::clear().
|
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::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::Partitioner::_find_global_index_by_pid_map(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< T >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_mult(), libMesh::SlepcEigenSolver< T >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_mult_add(), 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::System::add_matrix(), libMesh::System::add_matrix(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::System::add_vector(), libMesh::MeshTools::Modification::all_tri(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::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::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::PetscDMWrapper::build_section(), libMesh::PetscDMWrapper::build_sf(), libMesh::MeshBase::cache_elem_data(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::MeshTetInterface::check_hull_integrity(), libMesh::MeshBase::complete_preparation(), 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(), compute_SCM_bounds_on_training_set(), libMesh::DofMap::computed_sparsity_already(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), PetscSolverConfiguration::configure_solver(), 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::MeshBase::detect_interior_parents(), libMesh::RBEIMEvaluation::distribute_bfs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::DTKSolutionTransfer::DTKSolutionTransfer(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::EpetraVector< T >::EpetraVector(), AssembleOptimization::equality_constraints(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::SmoothnessEstimator::estimate_smoothness(), 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::RBEIMEvaluation::get_interior_basis_functions_as_vecs(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::RBEIMConstruction::get_max_abs_value(), libMesh::RBEIMConstruction::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(), libMesh::RBEIMConstruction::get_random_point(), libMesh::RBEIMConstruction::get_random_point(), libMesh::RBEIMConstruction::get_random_point(), libMesh::MeshTetInterface::improve_hull_integrity(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::StaticCondensation::init(), libMesh::TimeSolver::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::LocationMap< T >::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), ElasticitySystem::init_data(), 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(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::RBEIMConstruction::inner_product(), integrate_function(), libMesh::MeshTools::Modification::interpolate_surface(), 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_snes_mffd_interface(), libMesh::libmesh_petsc_snes_postcheck(), 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::MeshCommunication::make_elems_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::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(), libMesh::RBEIMConstruction::node_inner_product(), libMesh::PetscVector< T >::operator=(), libMesh::MeshBase::operator==(), libMesh::DistributedMesh::parallel_max_elem_id(), libMesh::DistributedMesh::parallel_max_node_id(), libMesh::DistributedMesh::parallel_max_unique_id(), libMesh::ReplicatedMesh::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(), LaplaceSystem::postprocess(), PoissonSystem::postprocess(), 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(), libMesh::XdrIO::read(), libMesh::Nemesis_IO::read(), FEMParameters::read(), libMesh::EquationSystems::read(), libMesh::CheckpointIO::read_header(), libMesh::ExodusII_IO::read_header(), libMesh::System::read_header(), libMesh::XdrIO::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::RBConstruction::read_riesz_representors_from_files(), libMesh::TransientRBConstruction::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(), MeshFunctionTest::read_variable_info_from_output_data(), libMesh::MeshBase::recalculate_n_partitions(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::StaticCondensationDofMap::reinit(), libMesh::BoundaryInfo::remove_edge_id(), libMesh::BoundaryInfo::remove_node_id(), libMesh::BoundaryInfo::remove_shellface_id(), libMesh::BoundaryInfo::remove_side_id(), 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(), libMesh::RBEIMConstruction::side_inner_product(), libMesh::Partitioner::single_partition(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::VariationalMeshSmoother::smooth(), libMesh::NoxNonlinearSolver< Number >::solve(), libMesh::ClawSystem::solve_conservation_law(), libMesh::split_mesh(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), libMesh::MeshBase::subdomain_ids(), libMesh::BoundaryInfo::sync(), libMesh::MeshBase::sync_subdomain_name_map(), ConstraintOperatorTest::test1DCoarseningNewNodes(), ConstraintOperatorTest::test1DCoarseningOperator(), MeshFunctionTest::test_bad_gradient_var_with_out_of_mesh_value(), MeshFunctionTest::test_bad_hessian_var_with_out_of_mesh_value(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), ExodusC0PolyhedronTest::test_write_and_read_hexagonal_prism(), ExodusC0PolygonTest::test_write_and_read_pentagon(), DofMapTest::testBadElemFECombo(), SystemsTest::testBlockRestrictedVarNDofs(), BoundaryInfoTest::testBoundaryOnChildrenErrors(), CheckpointIOTest::testC0PolygonCheckpoint(), VolumeTest::testC0PolygonMethods(), CheckpointIOTest::testC0PolyhedronCheckpoint(), VolumeTest::testC0PolyhedronMethods(), ConstraintOperatorTest::testCoreform(), ConnectedComponentsTest::testEdge(), MeshInputTest::testExodusIGASidesets(), MeshTriangulationTest::testFoundCenters(), PointLocatorTest::testLocator(), BoundaryInfoTest::testMesh(), BoundaryMeshSubdomainTest::testPerBoundarySubdomain(), PointLocatorTest::testPlanar(), MeshTriangulationTest::testPoly2TriEdge3ToTri7CenterFixup(), MeshTriangulationTest::testPoly2TriRefinementBase(), SystemsTest::testProjectCubeWithMeshFunction(), SystemsTest::testProjectScalarCoarsening(), BoundaryInfoTest::testRenumber(), BoundaryInfoTest::testSelectiveRenumber(), BoundaryMeshSubdomainTest::testSingleSubdomain(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), MeshTriangulationTest::testTriangulatorInterp(), MeshTriangulationTest::testTriangulatorMeshedHoles(), MeshTriangulationTest::testTriangulatorRoundHole(), MeshSmootherTest::testVariationalSmoother(), libMesh::MeshTools::total_weight(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::Poly2TriTriangulator::triangulate(), libMesh::RBConstruction::truth_assembly(), libMesh::TransientRBConstruction::truth_assembly(), update_current_local_solution(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::MeshTools::volume(), libMesh::STLIO::write(), libMesh::XdrIO::write(), libMesh::NameBasedIO::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::RBConstruction::write_riesz_representors_to_files(), libMesh::TransientRBConstruction::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 606 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.
|
protectedvirtual |
Compute the SCM bounding box.
Definition at line 287 of file rb_scm_construction.C.
References add_scaled_symm_Aq(), libMesh::RBSCMEvaluation::B_max, libMesh::RBSCMEvaluation::B_min, libMesh::EigenSystem::eigen_solver, libMesh::RBSCMEvaluation::get_B_max(), libMesh::RBSCMEvaluation::get_B_min(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::RBThetaExpansion::get_n_A_terms(), libMesh::EigenSystem::get_n_converged(), get_rb_theta_expansion(), libMesh::LARGEST_REAL, libMesh::EigenSystem::matrix_A, libMesh::out, rb_scm_eval, libMesh::RBSCMEvaluation::set_B_max(), libMesh::RBSCMEvaluation::set_B_min(), set_eigensolver_properties(), libMesh::SMALLEST_REAL, libMesh::CondensedEigenSystem::solve(), libMesh::TOLERANCE, and libMesh::SparseMatrix< T >::zero().
Referenced by perform_SCM_greedy().
|
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.
Definition at line 419 of file rb_scm_construction.C.
References libMesh::ParallelObject::comm(), libMesh::RBConstructionBase< CondensedEigenSystem >::get_first_local_training_index(), libMesh::RBConstructionBase< CondensedEigenSystem >::get_global_max_error_pair(), libMesh::RBConstructionBase< CondensedEigenSystem >::get_local_n_training_samples(), libMesh::RBParametrized::get_parameters(), libMesh::RBSCMEvaluation::get_SCM_LB(), libMesh::RBSCMEvaluation::get_SCM_UB(), rb_scm_eval, libMesh::Real, SCM_greedy_error_indicator(), libMesh::RBParametrized::set_parameters(), and libMesh::RBConstructionBase< CondensedEigenSystem >::set_params_from_training_set().
Referenced by perform_SCM_greedy().
|
inlinefinaloverrideprivatevirtualinherited |
Whether this object should condense out constrained degrees of freedom.
Reimplemented from libMesh::System.
Definition at line 196 of file condensed_eigen_system.h.
|
inherited |
Copy a logically sub-vector into a super-vector.
The sub-vector local size should correspond to the size of our local_non_condensed_dofs_vector, e.g. the sub-vector should represent non-condensed degree of freedom. The super should contain both condensed and non-condensed dofs
Definition at line 283 of file condensed_eigen_system.C.
References libMesh::NumericVector< T >::get_subvector(), libMesh::CondensedEigenSystem::local_non_condensed_dofs_vector, libMesh::NumericVector< T >::local_size(), and libMesh::NumericVector< T >::restore_subvector().
Referenced by update_current_local_solution().
|
inherited |
Copy a logically super-matrix into a sub-matrix.
The super matrix should represent all dofs, both condensed and non-condensed. The sub should contain only non-condensed dofs, e.g. its local row ownership size should match the size of our local_non_condensed_dofs_vector
Definition at line 307 of file condensed_eigen_system.C.
References libMesh::SparseMatrix< T >::build(), libMesh::ParallelObject::comm(), libMesh::SparseMatrix< T >::create_submatrix(), libMesh::SparseMatrix< T >::local_m(), and libMesh::CondensedEigenSystem::local_non_condensed_dofs_vector.
|
inherited |
Copy a logically super-vector into a sub-vector.
The super vector should represent all dofs, both condensed and non-condensed. The sub should contain only non-condensed dofs, e.g. its local size should match the size of our local_non_condensed_dofs_vector
Definition at line 295 of file condensed_eigen_system.C.
References libMesh::NumericVector< T >::get_subvector(), libMesh::CondensedEigenSystem::local_non_condensed_dofs_vector, libMesh::NumericVector< T >::local_size(), and libMesh::NumericVector< T >::restore_subvector().
|
virtualinherited |
Request that static condensation be performed for this system.
Reimplemented in libMesh::ImplicitSystem, libMesh::LinearImplicitSystem, and libMesh::NonlinearImplicitSystem.
Definition at line 2664 of file system.C.
Referenced by libMesh::System::clear(), libMesh::ImplicitSystem::create_static_condensation(), and libMesh::System::System().
|
inherited |
Definition at line 162 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(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), LinearElasticityWithContact::compute_stresses(), compute_stresses(), libMesh::ExactErrorEstimator::estimate_error(), main(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::SmoothnessEstimator::EstimateSmoothness::operator()(), libMesh::WeightedPatchRecoveryErrorEstimator::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 2449 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 2559 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.
|
privateinherited |
Finds the discrete norm for the entries in the vector corresponding to Dofs associated with var.
Definition at line 1492 of file system.C.
References libMesh::DISCRETE_L1, libMesh::DISCRETE_L2, libMesh::DISCRETE_L_INF, libMesh::Real, libMesh::NumericVector< T >::subset_l1_norm(), libMesh::NumericVector< T >::subset_l2_norm(), and libMesh::NumericVector< T >::subset_linfty_norm().
|
inlineinherited |
Instructs not to create the condensed submatrices from the global matrices right before the solve.
This API should be used when assembly occurs during callbacks during the solve, e.g. for a nonlinear eigen problem, solved with a Newton-based solver to determine the fundamental mode, in which function and matrix evalations are liable to change with every nonlinear iteration. Moreover, calling create_submatrix wipes away callbacks associated with the condensed matrix
Definition at line 169 of file condensed_eigen_system.h.
References libMesh::CondensedEigenSystem::_create_submatrices_in_solve.
|
staticinherited |
Methods to enable/disable the reference counter output from print_info().
Enabled by default.
Definition at line 94 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
staticinherited |
Methods to enable/disable the reference counter output from print_info().
Enabled by default.
Definition at line 94 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
protectedvirtual |
Enrich C_J by adding the element of SCM_training_samples that has the largest gap between alpha_LB and alpha_LB.
Definition at line 451 of file rb_scm_construction.C.
References libMesh::RBSCMEvaluation::C_J, libMesh::RBSCMEvaluation::C_J_stability_vector, libMesh::RBParametrized::get_parameters(), get_rb_theta_expansion(), libMesh::RBParameters::get_value(), libMesh::out, rb_scm_eval, libMesh::RBSCMEvaluation::SCM_UB_vectors, and libMesh::RBConstructionBase< CondensedEigenSystem >::set_params_from_training_set_and_broadcast().
Referenced by perform_SCM_greedy().
|
protectedvirtual |
Compute the stability constant for current_parameters by solving a generalized eigenvalue problem over the truth space.
Definition at line 344 of file rb_scm_construction.C.
References add_scaled_symm_Aq(), Aq_inner_product(), B_inner_product(), libMesh::RBSCMEvaluation::C_J, libMesh::EigenSystem::eigen_solver, libMesh::RBSCMEvaluation::get_C_J_stability_constraint(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::RBThetaExpansion::get_n_A_terms(), libMesh::EigenSystem::get_n_converged(), libMesh::RBParametrized::get_parameters(), get_rb_theta_expansion(), libMesh::libmesh_real(), libMesh::EigenSystem::matrix_A, libMesh::out, rb_scm_eval, libMesh::Real, libMesh::RBSCMEvaluation::set_C_J_stability_constraint(), set_eigensolver_properties(), libMesh::RBSCMEvaluation::set_SCM_UB_vector(), libMesh::SMALLEST_REAL, libMesh::System::solution, libMesh::CondensedEigenSystem::solve(), libMesh::TOLERANCE, and libMesh::SparseMatrix< T >::zero().
Referenced by perform_SCM_greedy().
|
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 2611 of file system.h.
Referenced by libMesh::System::qoi_parameter_sensitivity().
|
inherited |
true if the underlying problem is generalized , false otherwise. Definition at line 325 of file eigen_system.C.
References libMesh::EigenSystem::_eigen_problem_type, libMesh::GHEP, libMesh::GHIEP, and libMesh::GNHEP.
Referenced by libMesh::EigenSystem::add_matrices(), libMesh::EigenSystem::get_matrix_B(), libMesh::EigenSystem::get_matrix_B(), libMesh::EigenSystem::get_shell_matrix_B(), libMesh::EigenSystem::get_shell_matrix_B(), libMesh::CondensedEigenSystem::solve(), and libMesh::EigenSystem::solve_helper().
|
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 217 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 199 of file rb_construction_base.C.
|
inherited |
Definition at line 1294 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 1304 of file system.C.
References libMesh::System::get_vector().
|
inherited |
Definition at line 1232 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(), HeatSystem::element_qoi_derivative(), 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 1242 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 1403 of file system.C.
References libMesh::DofMap::get_all_variable_numbers(), and libMesh::System::get_dof_map().
Referenced by MeshFunctionTest::read_variable_info_from_output_data(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), and SystemsTest::testProjectCubeWithMeshFunction().
|
staticinherited |
value from list_of_values. Definition at line 432 of file rb_parametrized.C.
References distance(), libMesh::Real, and value.
Referenced by libMesh::RBParametrized::is_value_in_list().
|
inherited |
Definition at line 264 of file condensed_eigen_system.C.
References libMesh::CondensedEigenSystem::_condensed_matrix_A, and libMesh::libmesh_assert().
Referenced by libMesh::CondensedEigenSystem::initialize_condensed_matrices().
|
inherited |
Definition at line 270 of file condensed_eigen_system.C.
References libMesh::CondensedEigenSystem::_condensed_matrix_B, and libMesh::libmesh_assert().
Referenced by libMesh::CondensedEigenSystem::initialize_condensed_matrices().
|
inherited |
Definition at line 276 of file condensed_eigen_system.C.
References libMesh::CondensedEigenSystem::_condensed_precond_matrix, and libMesh::libmesh_assert().
Referenced by libMesh::CondensedEigenSystem::initialize_condensed_matrices().
|
inherited |
|
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 359 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 2425 of file system.h.
References libMesh::System::_dof_map.
|
inlineinherited |
_dof_map. Definition at line 2417 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::System::add_variable(), libMesh::System::add_variable_array(), libMesh::System::add_variables(), libMesh::AdaptiveTimeSolver::adjoint_advance_timestep(), libMesh::UnsteadySolver::adjoint_advance_timestep(), libMesh::ImplicitSystem::adjoint_solve(), libMesh::AdaptiveTimeSolver::advance_timestep(), libMesh::NewmarkSolver::advance_timestep(), libMesh::UnsteadySolver::advance_timestep(), libMesh::EquationSystems::allgather(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::allocate_data_structures(), alternative_fe_assembly(), LinearElasticity::assemble(), assemble(), 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_poisson(), assemble_SchroedingerEquation(), assemble_shell(), assemble_shell(), assemble_stokes(), assemble_temperature_jump(), assemble_wave(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::PetscDMWrapper::build_sf(), compute_jacobian(), compute_residual(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), LinearElasticityWithContact::compute_stresses(), compute_stresses(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), MyConstraint::constrain(), libMesh::VariationalSmootherConstraint::constrain_node_to_line(), libMesh::VariationalSmootherConstraint::constrain_node_to_plane(), 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::ImplicitSystem::create_static_condensation_system_matrix(), create_wrapped_function(), DMCreateDomainDecomposition_libMesh(), DMCreateFieldDecomposition_libMesh(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), fe_assembly(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::VariationalSmootherConstraint::fix_node(), libMesh::PetscNonlinearSolver< Number >::force_new_preconditioner(), form_functionA(), form_functionB(), form_matrixA(), libMesh::System::get_all_variable_numbers(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::System::has_variable(), libMesh::SystemSubsetBySubdomain::init(), CoupledSystem::init_data(), HeatSystem::init_data(), PoissonSystem::init_data(), NavierSystem::init_data(), ElasticitySystem::init_data(), SimpleRBConstruction::init_data(), ElasticityRBConstruction::init_data(), libMesh::ClawSystem::init_data(), libMesh::SecondOrderUnsteadySolver::init_data(), libMesh::UnsteadySolver::init_data(), SigmaPhysics::init_data(), LaplaceSystem::init_dirichlet_bcs(), NonManifoldCouplingTestBase::init_es(), libMesh::System::init_matrices(), libMesh::EigenSystem::init_matrices(), libMesh::PetscDMWrapper::init_petscdm(), libMesh::CondensedEigenSystem::initialize_condensed_dofs(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), LargeDeformationElasticity::jacobian(), LaplaceYoung::jacobian(), libMesh::System::late_matrix_init(), 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::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::SmoothnessEstimator::EstimateSmoothness::operator()(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), perform_SCM_greedy(), periodic_bc_test_poisson(), libMesh::petsc_auto_fieldsplit(), libMesh::ErrorVector::plot_error(), libMesh::FEMContext::pre_fe_reinit(), libMesh::InterMeshProjection::project_system_vectors(), libMesh::System::re_update(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), MeshFunctionTest::read_variable_info_from_output_data(), libMesh::System::reinit(), libMesh::SecondOrderUnsteadySolver::reinit(), libMesh::UnsteadySolver::reinit(), libMesh::System::reinit_constraints(), libMesh::EquationSystems::reinit_solutions(), LargeDeformationElasticity::residual(), LaplaceYoung::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::PetscPreconditioner< T >::set_hypre_ads_data(), libMesh::PetscPreconditioner< T >::set_hypre_ams_data(), libMesh::PetscDMWrapper::set_point_range_in_section(), set_system_parameters(), FETestBase< order, family, elem_type, build_nx, CaseName >::setUp(), SlitMeshRefinedSystemTest::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(), MeshFunctionTest::test_bad_gradient_var_with_out_of_mesh_value(), MeshFunctionTest::test_bad_hessian_var_with_out_of_mesh_value(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), ProjectSolutionTest::test_partial_project_solution(), 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(), SystemsTest::testProjectScalarCoarsening(), InfFERadialTest::testRefinement(), EquationSystemsTest::testSelectivePRefine(), BoundaryInfoTest::testShellFaceConstraints(), DisjointNeighborTest::testTempJump(), DisjointNeighborTest::testTempJumpRefine(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), libMesh::UnsteadySolver::update(), update_current_local_solution(), libMesh::System::variable_number(), 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().
|
inherited |
Definition at line 489 of file eigen_system.C.
References libMesh::EigenSystem::eigen_solver, and libMesh::libmesh_assert().
|
inherited |
Definition at line 482 of file eigen_system.C.
References libMesh::EigenSystem::eigen_solver, and libMesh::libmesh_assert().
Referenced by main().
|
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.
Definition at line 218 of file condensed_eigen_system.C.
References libMesh::CondensedEigenSystem::_have_condensed_dofs, libMesh::NumericVector< T >::build(), libMesh::ParallelObject::comm(), libMesh::EigenSystem::eigen_solver, libMesh::DofMap::enforce_constraints_exactly(), libMesh::System::get_dof_map(), libMesh::EigenSystem::get_eigenpair(), libMesh::libmesh_assert(), libMesh::CondensedEigenSystem::local_non_condensed_dofs_vector, libMesh::make_range(), libMesh::PARALLEL, libMesh::System::solution, libMesh::Parallel::Communicator::sum(), and libMesh::System::update().
Referenced by compute_SCM_bounding_box(), evaluate_stability_constant(), and main().
|
inlineinherited |
Definition at line 145 of file eigen_system.h.
References libMesh::EigenSystem::_eigen_problem_type.
|
virtualinherited |
Definition at line 314 of file eigen_system.C.
References libMesh::EigenSystem::eigen_solver.
|
inlineinherited |
Definition at line 772 of file system.h.
References libMesh::System::_equation_systems.
|
inlineinherited |
Definition at line 767 of file system.h.
References libMesh::System::_equation_systems.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), 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(), HeatSystem::init_data(), SolidSystem::init_data(), libMesh::FrequencySystem::init_data(), LaplaceYoung::jacobian(), load_matrix_B(), LinearElasticityWithContact::move_mesh(), libMesh::FrequencySystem::n_frequencies(), perform_SCM_greedy(), 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::PetscPreconditioner< T >::set_hypre_ads_data(), libMesh::PetscPreconditioner< T >::set_hypre_ams_data(), libMesh::NewmarkSystem::set_newmark_parameters(), libMesh::NonlinearImplicitSystem::set_solver_parameters(), SolidSystem::side_time_derivative(), libMesh::CondensedEigenSystem::solve(), libMesh::EigenSystem::solve(), libMesh::FrequencySystem::solve(), 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::DirectSolutionTransfer::transfer(), libMesh::DTKSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::RBConstruction::truth_solve(), and libMesh::WrappedFunction< Output >::WrappedFunction().
|
inherited |
Get the first local index of the training parameters.
Definition at line 128 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 255 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.
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.
Referenced by libMesh::ReferenceCounter::print_info().
|
inherited |
Definition at line 1827 of file system.C.
References libMesh::make_range(), libMesh::VariableGroup::n_variables(), and libMesh::VariableGroup::name().
Referenced by SystemsTest::testUninitializedInfo().
|
inherited |
Get the last local index of the training parameters.
Definition at line 133 of file rb_construction_base.C.
|
inherited |
Get the total number of training samples local to this processor.
Definition at line 123 of file rb_construction_base.C.
|
inherited |
mat_name. Definition at line 1118 of file system.C.
References libMesh::System::_matrices.
|
inherited |
mat_name. Definition at line 1111 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(), libMesh::ImplicitSystem::get_system_matrix(), main(), libMesh::EigenTimeSolver::solve(), and libMesh::NewmarkSystem::update_rhs().
|
inherited |
This matrix should only be available (and therefore this should only be called) if !_use_shell_matrices.
Definition at line 342 of file eigen_system.C.
References libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::has_matrix_A(), libMesh::libmesh_assert(), and libMesh::EigenSystem::matrix_A.
|
inherited |
This matrix should only be available (and therefore this should only be called) if !_use_shell_matrices.
Definition at line 333 of file eigen_system.C.
References libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::has_matrix_A(), libMesh::libmesh_assert(), and libMesh::EigenSystem::matrix_A.
Referenced by add_scaled_symm_Aq(), assemble_mass(), assemble_matrices(), and assemble_SchroedingerEquation().
|
inherited |
This matrix should only be available (and therefore this should only be called) if !_use_shell_matrices and generalized().
Definition at line 361 of file eigen_system.C.
References libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::generalized(), libMesh::EigenSystem::has_matrix_B(), libMesh::libmesh_assert(), and libMesh::EigenSystem::matrix_B.
|
inherited |
This matrix should only be available (and therefore this should only be called) if !_use_shell_matrices and generalized().
Definition at line 351 of file eigen_system.C.
References libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::generalized(), libMesh::EigenSystem::has_matrix_B(), libMesh::libmesh_assert(), and libMesh::EigenSystem::matrix_B.
Referenced by assemble_mass(), assemble_matrices(), and assemble_SchroedingerEquation().
|
inlineinherited |
_mesh. Definition at line 2409 of file system.h.
References libMesh::System::_mesh.
|
inlineinherited |
_mesh. Definition at line 2401 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(), libMesh::DofMap::add_variables(), 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::FEMSystem::assembly(), libMesh::VariationalSmootherSystem::assembly(), AssemblyF0::boundary_assembly(), AssemblyF1::boundary_assembly(), AssemblyF2::boundary_assembly(), AssemblyA0::boundary_assembly(), AssemblyA1::boundary_assembly(), AssemblyA2::boundary_assembly(), compute_jacobian(), libMesh::VariationalSmootherSystem::compute_mesh_quality_info(), compute_residual(), LinearElasticityWithContact::compute_stresses(), libMesh::VariationalSmootherConstraint::constrain(), libMesh::VariationalSmootherConstraint::constrain_node_to_line(), libMesh::VariationalSmootherConstraint::constrain_node_to_plane(), libMesh::ImplicitSystem::create_static_condensation_system_matrix(), libMesh::RBEIMEvaluation::distribute_bfs(), DMCreateDomainDecomposition_libMesh(), DMCreateFieldDecomposition_libMesh(), DMlibMeshSetSystem_libMesh(), NavierSystem::element_constraint(), HeatSystem::element_time_derivative(), NavierSystem::element_time_derivative(), SolidSystem::element_time_derivative(), libMesh::RBConstruction::enrich_basis_from_rhs_terms(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::SmoothnessEstimator::estimate_smoothness(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::VariationalSmootherConstraint::fix_node(), NavierSystem::forcing(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::GenericProjector(), LinearElasticityWithContact::get_least_and_max_gap_function(), AssemblyPointLoadX::get_nodal_rhs_values(), AssemblyPointLoadY::get_nodal_rhs_values(), AssemblyPointLoadZ::get_nodal_rhs_values(), libMesh::SystemSubsetBySubdomain::init(), libMesh::RBEIMConstruction::init_context(), NavierSystem::init_data(), SolidSystem::init_data(), ElasticitySystem::init_data(), ElasticityRBConstruction::init_data(), libMesh::System::init_data(), libMesh::VariationalSmootherSystem::init_data(), libMesh::System::init_matrices(), libMesh::PetscDMWrapper::init_petscdm(), LinearElasticityWithContact::initialize_contact_load_paths(), libMesh::RBEIMConstruction::initialize_qp_data(), libMesh::System::local_dof_indices(), NavierSystem::mass_residual(), libMesh::DofMap::max_constraint_error(), libMesh::FEMSystem::mesh_position_get(), libMesh::FEMSystem::mesh_position_set(), LinearElasticityWithContact::move_mesh(), libMesh::RBEIMEvaluation::node_distribute_bfs(), Integrate::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::SmoothnessEstimator::EstimateSmoothness::operator()(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::petsc_auto_fieldsplit(), NavierSystem::postprocess(), libMesh::FEMSystem::postprocess(), libMesh::RBParametrizedFunction::preevaluate_parametrized_function_on_mesh(), libMesh::RBParametrizedFunction::preevaluate_parametrized_function_on_mesh_sides(), libMesh::VariationalSmootherSystem::prepare_for_smoothing(), libMesh::System::read_header(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), 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::PetscPreconditioner< T >::set_hypre_ads_data(), libMesh::PetscPreconditioner< T >::set_hypre_ams_data(), libMesh::PetscPreconditioner< T >::set_petsc_aux_data(), libMesh::PetscDMWrapper::set_point_range_in_section(), NavierSystem::side_constraint(), libMesh::RBEIMEvaluation::side_distribute_bfs(), SolidSystem::side_time_derivative(), libMesh::PetscDiffSolver::solve(), libMesh::ClawSystem::solve_conservation_law(), MeshAssignTest::testMeshMoveAssign(), libMesh::BoundaryVolumeSolutionTransfer::transfer(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), libMesh::BoundaryVolumeSolutionTransfer::transfer_volume_boundary(), libMesh::RBConstruction::truth_solve(), libMesh::TransientRBConstruction::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().
|
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().
|
inlineinherited |
Definition at line 130 of file eigen_system.h.
References libMesh::EigenSystem::_n_converged_eigenpairs.
Referenced by compute_SCM_bounding_box(), evaluate_stability_constant(), and main().
|
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().
|
inlineinherited |
Definition at line 135 of file eigen_system.h.
References libMesh::EigenSystem::_n_iterations.
|
inherited |
Get the number of parameters.
Definition at line 103 of file rb_parametrized.C.
References libMesh::RBParameters::n_parameters(), libMesh::RBParametrized::parameters_initialized, libMesh::RBParametrized::parameters_max, and libMesh::RBParametrized::parameters_min.
Referenced by libMesh::RBParametrized::check_if_valid_params(), libMesh::RBEIMConstruction::compute_max_eim_error(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::RBParametrized::get_n_continuous_params(), libMesh::RBEIMConstruction::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 118 of file rb_construction_base.C.
|
inherited |
Get maximum allowable value of parameter param_name.
Definition at line 171 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(), main(), libMesh::RBEIMConstruction::print_info(), print_info(), and libMesh::RBConstruction::print_info().
|
inherited |
Get minimum allowable value of parameter param_name.
Definition at line 164 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(), main(), libMesh::RBEIMConstruction::print_info(), print_info(), and libMesh::RBConstruction::print_info().
|
inherited |
Get the current parameters.
Definition at line 143 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(), compute_SCM_bounds_on_training_set(), enrich_C_J(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::RBEvaluation::eval_output_dual_norm(), evaluate_stability_constant(), libMesh::RBConstruction::get_RB_error_bound(), libMesh::RBSCMEvaluation::get_SCM_LB(), libMesh::RBSCMEvaluation::get_SCM_UB(), SimpleRBEvaluation::get_stability_lower_bound(), libMesh::RBConstruction::greedy_termination_test(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::RBSCMEvaluation::legacy_read_offline_data_from_files(), main(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), libMesh::RBConstruction::preevaluate_thetas(), libMesh::RBEIMConstruction::print_info(), print_info(), libMesh::RBConstruction::print_info(), libMesh::RBParametrized::print_parameters(), process_parameters_file(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::RBEvaluation::rb_solve(), libMesh::RBSCMEvaluation::save_current_parameters(), libMesh::RBEIMConstruction::train_eim_approximation_with_greedy(), libMesh::RBEIMConstruction::train_eim_approximation_with_POD(), libMesh::RBConstruction::truth_assembly(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_solve(), libMesh::TransientRBConstruction::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 157 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(), process_parameters_file(), libMesh::RBConstruction::set_rb_construction_parameters(), libMesh::RBEIMConstruction::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 150 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(), process_parameters_file(), libMesh::RBConstruction::set_rb_construction_parameters(), libMesh::RBEIMConstruction::set_rb_construction_parameters(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
|
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 238 of file rb_construction_base.C.
|
inherited |
This matrix should only be available (and therefore this should only be called) if !_use_shell_matrices.
Definition at line 381 of file eigen_system.C.
References libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::_use_shell_precond_matrix, libMesh::EigenSystem::has_precond_matrix(), libMesh::libmesh_assert(), and libMesh::EigenSystem::precond_matrix.
|
inherited |
This matrix should only be available (and therefore this should only be called) if !_use_shell_matrices.
Definition at line 371 of file eigen_system.C.
References libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::_use_shell_precond_matrix, libMesh::EigenSystem::has_precond_matrix(), libMesh::libmesh_assert(), and libMesh::EigenSystem::precond_matrix.
|
inlineinherited |
Setter and getter functions for project_with_constraints boolean.
Definition at line 1837 of file system.h.
References libMesh::System::project_with_constraints.
Referenced by libMesh::AdjointRefinementEstimator::estimate_error().
Definition at line 2211 of file system.C.
References libMesh::libmesh_assert().
Referenced by libMesh::TwostepTimeSolver::integrate_adjoint_refinement_error_estimate(), and main().
Definition at line 2184 of file system.C.
References libMesh::libmesh_assert().
Referenced by libMesh::Euler2Solver::integrate_qoi_timestep(), libMesh::EulerSolver::integrate_qoi_timestep(), libMesh::TwostepTimeSolver::integrate_qoi_timestep(), main(), CoupledSystem::postprocess(), 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 2191 of file system.C.
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().
| RBSCMEvaluation & libMesh::RBSCMConstruction::get_rb_scm_evaluation | ( | ) |
Get a reference to the RBSCMEvaluation object.
Definition at line 77 of file rb_scm_construction.C.
References rb_scm_eval.
Referenced by get_rb_theta_expansion().
| RBThetaExpansion & libMesh::RBSCMConstruction::get_rb_theta_expansion | ( | ) |
Get a reference to the RBThetaExpansion object.
Definition at line 84 of file rb_scm_construction.C.
References get_rb_scm_evaluation(), and libMesh::RBSCMEvaluation::get_rb_theta_expansion().
Referenced by Aq_inner_product(), compute_SCM_bounding_box(), enrich_C_J(), evaluate_stability_constant(), print_info(), and resize_SCM_vectors().
|
inline |
Get/set SCM_training_tolerance: tolerance for SCM greedy.
Definition at line 145 of file rb_scm_construction.h.
References SCM_training_tolerance.
Referenced by print_info().
|
inherited |
assemble_residual_derivatives() is called.When assembled, this vector should hold -(partial R / partial p_i)
Definition at line 1324 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 1334 of file system.C.
References libMesh::System::get_vector().
|
inherited |
Definition at line 1179 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 1189 of file system.C.
References libMesh::System::get_vector().
|
inherited |
This matrix should only be available (and therefore this should only be called) if _use_shell_matrices.
Definition at line 399 of file eigen_system.C.
References libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::has_shell_matrix_A(), libMesh::libmesh_assert(), and libMesh::EigenSystem::shell_matrix_A.
|
inherited |
This matrix should only be available (and therefore this should only be called) if _use_shell_matrices.
Definition at line 391 of file eigen_system.C.
References libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::has_shell_matrix_A(), libMesh::libmesh_assert(), and libMesh::EigenSystem::shell_matrix_A.
|
inherited |
This matrix should only be available (and therefore this should only be called) if _use_shell_matrices and generalized().
Definition at line 416 of file eigen_system.C.
References libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::generalized(), libMesh::EigenSystem::has_shell_matrix_B(), libMesh::libmesh_assert(), and libMesh::EigenSystem::shell_matrix_B.
|
inherited |
This matrix should only be available (and therefore this should only be called) if _use_shell_matrices and generalized().
Definition at line 407 of file eigen_system.C.
References libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::generalized(), libMesh::EigenSystem::has_shell_matrix_B(), libMesh::libmesh_assert(), and libMesh::EigenSystem::shell_matrix_B.
|
inherited |
Definition at line 434 of file eigen_system.C.
References libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::_use_shell_precond_matrix, libMesh::EigenSystem::has_shell_precond_matrix(), libMesh::libmesh_assert(), and libMesh::EigenSystem::shell_precond_matrix.
|
inherited |
Definition at line 425 of file eigen_system.C.
References libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::_use_shell_precond_matrix, libMesh::EigenSystem::has_shell_precond_matrix(), libMesh::libmesh_assert(), and libMesh::EigenSystem::shell_precond_matrix.
|
inherited |
vec_num (where the vectors are counted starting with 0). Definition at line 958 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 945 of file system.C.
References libMesh::System::_vectors, and libMesh::System::vectors_begin().
|
inherited |
vec_name. Access is only granted when the vector is already properly initialized. Definition at line 938 of file system.C.
References libMesh::System::_vectors.
|
inherited |
vec_name. Access is only granted when the vector is already properly initialized. Definition at line 931 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::AdaptiveTimeSolver::advance_timestep(), libMesh::NewmarkSolver::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_rhs(), libMesh::System::get_adjoint_solution(), libMesh::System::get_adjoint_solution(), libMesh::System::get_sensitivity_rhs(), libMesh::System::get_sensitivity_rhs(), libMesh::System::get_sensitivity_solution(), libMesh::System::get_sensitivity_solution(), libMesh::System::get_weighted_sensitivity_adjoint_solution(), libMesh::System::get_weighted_sensitivity_adjoint_solution(), libMesh::System::get_weighted_sensitivity_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 |
Definition at line 1264 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 1274 of file system.C.
References libMesh::System::get_vector().
|
inherited |
Definition at line 1206 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 1213 of file system.C.
References libMesh::System::get_vector().
|
inlineinherited |
Definition at line 121 of file condensed_eigen_system.h.
References libMesh::CondensedEigenSystem::_condensed_matrix_A.
Referenced by libMesh::CondensedEigenSystem::initialize_condensed_matrices().
|
inlineinherited |
Definition at line 122 of file condensed_eigen_system.h.
References libMesh::CondensedEigenSystem::_condensed_matrix_B.
Referenced by libMesh::CondensedEigenSystem::initialize_condensed_matrices().
|
inlineinherited |
Definition at line 123 of file condensed_eigen_system.h.
References libMesh::CondensedEigenSystem::_condensed_precond_matrix.
Referenced by libMesh::CondensedEigenSystem::initialize_condensed_matrices().
|
inherited |
|
inherited |
Definition at line 443 of file eigen_system.C.
References libMesh::EigenSystem::matrix_A, and libMesh::System::request_matrix().
Referenced by libMesh::EigenSystem::get_matrix_A(), and libMesh::EigenSystem::get_matrix_A().
|
inherited |
Definition at line 450 of file eigen_system.C.
References libMesh::EigenSystem::matrix_B, and libMesh::System::request_matrix().
Referenced by libMesh::EigenSystem::get_matrix_B(), and libMesh::EigenSystem::get_matrix_B().
|
inherited |
Definition at line 457 of file eigen_system.C.
References libMesh::EigenSystem::precond_matrix, and libMesh::System::request_matrix().
Referenced by libMesh::EigenSystem::get_precond_matrix(), and libMesh::EigenSystem::get_precond_matrix().
|
inherited |
Definition at line 464 of file eigen_system.C.
References libMesh::EigenSystem::shell_matrix_A.
Referenced by libMesh::EigenSystem::get_shell_matrix_A(), and libMesh::EigenSystem::get_shell_matrix_A().
|
inherited |
Definition at line 470 of file eigen_system.C.
References libMesh::EigenSystem::shell_matrix_B.
Referenced by libMesh::EigenSystem::get_shell_matrix_B(), and libMesh::EigenSystem::get_shell_matrix_B().
|
inherited |
Definition at line 476 of file eigen_system.C.
References libMesh::EigenSystem::shell_precond_matrix.
Referenced by libMesh::EigenSystem::get_shell_precond_matrix(), and libMesh::EigenSystem::get_shell_precond_matrix().
|
inherited |
Definition at line 2669 of file system.C.
Referenced by libMesh::System::add_matrix(), assemble_poisson(), libMesh::ImplicitSystem::clear(), libMesh::LinearImplicitSystem::clear(), libMesh::NonlinearImplicitSystem::clear(), libMesh::ImplicitSystem::ImplicitSystem(), libMesh::LinearImplicitSystem::LinearImplicitSystem(), and libMesh::NonlinearImplicitSystem::NonlinearImplicitSystem().
|
inherited |
true if a variable named var exists in this System Definition at line 1393 of file system.C.
References libMesh::System::get_dof_map(), and libMesh::DofMap::has_variable().
Referenced by libMesh::ExactSolution::compute_error(), libMesh::GMVIO::copy_nodal_solution(), and main().
|
inlineinherited |
Definition at line 187 of file condensed_eigen_system.h.
References libMesh::CondensedEigenSystem::_condensed_dofs_initialized, libMesh::CondensedEigenSystem::_have_condensed_dofs, and libMesh::libmesh_assert().
|
inlineinherited |
true if this System has a matrix associated with the given name, false otherwise. Definition at line 1933 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 2491 of file system.h.
References libMesh::System::_vectors.
|
inlineinherited |
true, then EquationSystems::write will ignore this system. Definition at line 1852 of file system.h.
References libMesh::System::_hide_output.
Referenced by libMesh::StaticCondensationDofMap::reinit(), libMesh::PetscPreconditioner< T >::set_hypre_ads_data(), and libMesh::PetscPreconditioner< T >::set_hypre_ams_data().
|
inherited |
true when VariableGroup structures should be automatically identified, false otherwise.
|
inherited |
Toggle automatic VariableGroup identification.
|
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(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< T >::ReferenceCountedObject(), libMesh::ReferenceCountedObject< T >::ReferenceCountedObject(), and libMesh::ReferenceCountedObject< T >::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(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< T >::ReferenceCountedObject(), libMesh::ReferenceCountedObject< T >::ReferenceCountedObject(), and libMesh::ReferenceCountedObject< T >::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(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< T >::~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(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< T >::~ReferenceCountedObject().
|
inherited |
Initializes degrees of freedom on the current mesh.
Sets the
Definition at line 196 of file system.C.
References libMesh::System::is_initialized(), libMesh::libmesh_assert(), and libMesh::System::reinit_mesh().
Referenced by libMesh::StaticCondensationDofMap::reinit().
|
protectedvirtualinherited |
Initializes the member data fields associated with the system, so that, e.g., assemble() may be used.
Reimplemented from libMesh::System.
Definition at line 231 of file rb_construction_base.C.
|
overrideprotectedvirtualinherited |
Initializes the matrices associated with the system.
Reimplemented from libMesh::System.
Definition at line 158 of file eigen_system.C.
References libMesh::System::condense_constrained_dofs(), libMesh::System::get_dof_map(), libMesh::System::init_matrices(), libMesh::EigenSystem::shell_matrix_A, libMesh::EigenSystem::shell_matrix_B, and libMesh::EigenSystem::shell_precond_matrix.
|
inherited |
Accessors for qoi and qoi_error_estimates vectors.
Definition at line 2169 of file system.C.
Referenced by CoupledSystem::CoupledSystem(), HeatSystem::HeatSystem(), LaplaceQoI::init_qoi_count(), CoupledSystemQoI::init_qoi_count(), LaplaceSystem::LaplaceSystem(), main(), and PoissonSystem::PoissonSystem().
|
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.
Definition at line 49 of file condensed_eigen_system.C.
References libMesh::CondensedEigenSystem::_condensed_dofs_initialized, libMesh::CondensedEigenSystem::_have_condensed_dofs, libMesh::DofMapBase::end_dof(), libMesh::DofMapBase::first_dof(), libMesh::System::get_dof_map(), libMesh::DofMap::is_constrained_dof(), libMesh::CondensedEigenSystem::local_non_condensed_dofs_vector, libMesh::make_range(), and libMesh::DofMap::n_constrained_dofs().
Referenced by libMesh::CondensedEigenSystem::initialize_condensed_matrices(), main(), and perform_SCM_greedy().
|
inherited |
Initializes the condensed matrices.
This API should be used if the condensed matrices will be assembled during the solve as opposed to pre-solve
Definition at line 90 of file condensed_eigen_system.C.
References libMesh::ParallelObject::_communicator, libMesh::CondensedEigenSystem::_condensed_dofs_initialized, libMesh::CondensedEigenSystem::_have_condensed_dofs, libMesh::SparseMatrix< T >::close(), libMesh::CondensedEigenSystem::get_condensed_matrix_A(), libMesh::CondensedEigenSystem::get_condensed_matrix_B(), libMesh::CondensedEigenSystem::get_condensed_precond_matrix(), libMesh::CondensedEigenSystem::has_condensed_matrix_A(), libMesh::CondensedEigenSystem::has_condensed_matrix_B(), libMesh::CondensedEigenSystem::has_condensed_precond_matrix(), libMesh::SparseMatrix< T >::init(), libMesh::CondensedEigenSystem::initialize_condensed_dofs(), libMesh::CondensedEigenSystem::local_non_condensed_dofs_vector, and libMesh::Parallel::Communicator::sum().
|
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::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(), perform_SCM_greedy(), process_parameters_file(), libMesh::RBParametrized::read_parameter_data_from_files(), libMesh::RBConstruction::set_rb_construction_parameters(), libMesh::RBEIMConstruction::set_rb_construction_parameters(), RBParametersTest::testRBParametrized(), libMesh::RBEIMConstruction::train_eim_approximation_with_greedy(), libMesh::RBEIMConstruction::train_eim_approximation_with_POD(), libMesh::RBConstruction::train_reduced_basis_with_greedy(), and libMesh::RBConstruction::train_reduced_basis_with_POD().
|
inherited |
Initialize the parameter ranges and set current_parameters.
Definition at line 96 of file rb_parametrized.C.
References libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::RBParametrized::get_parameters_max(), libMesh::RBParametrized::get_parameters_min(), and libMesh::RBParametrized::initialize_parameters().
|
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 142 of file rb_construction_base.C.
|
inlineinherited |
Accessor for the adjoint_already_solved boolean.
Definition at line 411 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 351 of file rb_parametrized.C.
References libMesh::RBParametrized::_discrete_parameter_values, and libMesh::RBParametrized::parameters_initialized.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), libMesh::RBEIMConstruction::print_info(), libMesh::RBConstruction::print_info(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
|
inlineinherited |
true iff this system has been initialized. Definition at line 2457 of file system.h.
References libMesh::System::_is_initialized.
Referenced by libMesh::DofMap::add_variable(), libMesh::DofMap::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.
|
staticprivateinherited |
Helper function to check if the specified value is in the list of values (within a tolerance given by tol).
Definition at line 451 of file rb_parametrized.C.
References libMesh::RBParametrized::get_closest_value(), libMesh::Real, and value.
Referenced by libMesh::RBParametrized::check_if_valid_params().
|
privateinherited |
Helper function to keep DofMap forward declarable in system.h.
Definition at line 1063 of file system.C.
References libMesh::System::_matrices_initialized, libMesh::DofMap::attach_matrix(), libMesh::System::get_dof_map(), and libMesh::SparseMatrix< T >::init().
Referenced by libMesh::System::add_matrix(), libMesh::System::add_matrix(), and libMesh::System::add_matrix().
|
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.
Definition at line 213 of file rb_scm_construction.C.
References libMesh::SparseMatrix< T >::add(), libMesh::SparseMatrix< T >::close(), libMesh::System::get_equation_systems(), libMesh::RBConstruction::get_inner_product_matrix(), libMesh::EquationSystems::get_system(), libMesh::EigenSystem::matrix_B, RB_system_name, and libMesh::SparseMatrix< T >::zero().
Referenced by perform_SCM_greedy().
|
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 152 of file rb_construction_base.C.
|
inherited |
Fills the std::set with the degrees of freedom on the local processor corresponding the the variable number passed in.
Definition at line 1409 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 SystemsTest::testBlockRestrictedVarNDofs(), and libMesh::DirectSolutionTransfer::transfer().
|
inlineinherited |
Beginning of matrices container.
Definition at line 2529 of file system.h.
References libMesh::System::_matrices.
|
inlineinherited |
Beginning of matrices container.
Definition at line 2535 of file system.h.
References libMesh::System::_matrices.
|
inlineinherited |
End of matrices container.
Definition at line 2541 of file system.h.
References libMesh::System::_matrices.
|
inlineinherited |
End of matrices container.
Definition at line 2547 of file system.h.
References libMesh::System::_matrices.
|
inlineinherited |
Definition at line 2483 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 2694 of file system.C.
Referenced by ElasticityRBConstruction::init_data().
|
inherited |
Definition at line 125 of file system.C.
References libMesh::System::_dof_map.
Referenced by form_functionA(), form_functionB(), form_matrixA(), libMesh::System::n_active_dofs(), libMesh::EigenSystem::solve(), and BoundaryInfoTest::testShellFaceConstraints().
|
inherited |
Definition at line 118 of file system.C.
References libMesh::System::_dof_map.
Referenced by libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::System::add_vector(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::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::init_data(), libMesh::AdvectionSystem::init_data(), libMesh::SecondOrderUnsteadySolver::init_data(), libMesh::UnsteadySolver::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(), perform_SCM_greedy(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), MeshFunctionTest::read_variable_info_from_output_data(), 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::PetscPreconditioner< T >::set_hypre_ads_data(), libMesh::PetscPreconditioner< T >::set_hypre_ams_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(), SystemsTest::testProjectScalarCoarsening(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::RBConstruction::truth_assembly(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), and libMesh::RBConstruction::update_residual_terms().
|
inherited |
Definition at line 119 of file condensed_eigen_system.C.
References libMesh::CondensedEigenSystem::_have_condensed_dofs, libMesh::ParallelObject::comm(), libMesh::CondensedEigenSystem::local_non_condensed_dofs_vector, libMesh::System::n_dofs(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), and libMesh::Parallel::Communicator::sum().
Referenced by libMesh::CondensedEigenSystem::n_global_non_condensed_dofs().
|
inherited |
Definition at line 140 of file system.C.
References libMesh::System::_dof_map.
|
inherited |
Definition at line 155 of file system.C.
References libMesh::System::_dof_map.
Referenced by libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::System::add_vector(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::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::init_data(), libMesh::AdvectionSystem::init_data(), libMesh::SecondOrderUnsteadySolver::init_data(), libMesh::UnsteadySolver::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::RBConstruction::read_riesz_representors_from_files(), libMesh::TransientRBConstruction::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::PetscPreconditioner< T >::set_hypre_ads_data(), libMesh::PetscPreconditioner< T >::set_hypre_ams_data(), libMesh::ClawSystem::solve_conservation_law(), MeshFunctionTest::test_p_level(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::RBConstruction::truth_assembly(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), and libMesh::RBConstruction::update_residual_terms().
|
inlineinherited |
_matrices map Definition at line 2638 of file system.h.
References libMesh::System::_matrices.
Referenced by libMesh::ImplicitSystem::add_matrices().
|
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 libMesh::Parallel::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::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::DistributedMesh::DistributedMesh(), libMesh::EnsightIO::EnsightIO(), libMesh::RBEIMEvaluation::gather_bfs(), libMesh::MeshBase::get_info(), libMesh::StaticCondensation::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_petscdm(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::DistributedMesh::insert_elem(), libMesh::NumericVector< T >::is_effectively_ghosted(), libMesh::NumericVector< T >::is_effectively_serial(), 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::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::MeshBase::partition(), libMesh::Partitioner::partition(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::MeshBase::print_constraint_rows(), libMesh::DofMap::print_dof_constraints(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::NameBasedIO::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::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::VTKIO::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 2562 of file system.h.
References libMesh::System::_qoi.
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::FEMSystem::assemble_qoi(), libMesh::ExplicitSystem::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::TimeSolver::init_adjoints(), libMesh::UnsteadySolver::init_adjoints(), libMesh::Euler2Solver::integrate_adjoint_refinement_error_estimate(), libMesh::EulerSolver::integrate_adjoint_refinement_error_estimate(), libMesh::SteadySolver::integrate_adjoint_refinement_error_estimate(), libMesh::TwostepTimeSolver::integrate_adjoint_refinement_error_estimate(), libMesh::Euler2Solver::integrate_qoi_timestep(), libMesh::EulerSolver::integrate_qoi_timestep(), libMesh::TwostepTimeSolver::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().
|
inherited |
VariableGroup variable groups in the system Definition at line 2699 of file system.C.
Referenced by libMesh::FEMSystem::assembly().
|
inherited |
Definition at line 2674 of file system.C.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::PetscDMWrapper::add_dofs_helper(), libMesh::DiffContext::add_localized_vector(), libMesh::TwostepTimeSolver::adjoint_solve(), libMesh::FEMContext::attach_quadrature_rules(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::PetscDMWrapper::build_section(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), LinearElasticityWithContact::compute_stresses(), compute_stresses(), libMesh::DGFEMContext::DGFEMContext(), libMesh::DiffContext::DiffContext(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::ErrorEstimator::estimate_errors(), libMesh::ExactSolution::ExactSolution(), libMesh::FEMContext::find_hardest_fe_type(), libMesh::EquationSystems::find_variable_numbers_by_predicate(), libMesh::RBEIMConstruction::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::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::SmoothnessEstimator::EstimateSmoothness::operator()(), libMesh::WeightedPatchRecoveryErrorEstimator::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_parallel_data(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::System::reinit_mesh(), libMesh::HPCoarsenTest::select_refinement(), libMesh::PetscPreconditioner< T >::set_petsc_aux_data(), 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 2499 of file system.h.
References libMesh::System::_vectors.
Referenced by libMesh::ExplicitSystem::add_system_rhs(), libMesh::System::compare(), main(), libMesh::InterMeshProjection::project_system_vectors(), and libMesh::System::write_header().
|
inlineinherited |
Definition at line 2385 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::StaticCondensation::init(), libMesh::NewtonSolver::init(), libMesh::TimeSolver::init_data(), libMesh::System::init_matrices(), main(), output_norms(), libMesh::petsc_auto_fieldsplit(), libMesh::System::prefix(), libMesh::ClawSystem::print_info(), libMesh::RBEIMConstruction::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::write_header(), libMesh::System::write_parallel_data(), and libMesh::System::write_serialized_data().
|
inlineinherited |
Definition at line 2393 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::VariationalSmootherConstraint::constrain_node_to_line(), libMesh::VariationalSmootherConstraint::constrain_node_to_plane(), 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_by_predicate(), libMesh::VariationalSmootherConstraint::fix_node(), AssemblyPointLoadX::get_nodal_rhs_values(), AssemblyPointLoadY::get_nodal_rhs_values(), AssemblyPointLoadZ::get_nodal_rhs_values(), libMesh::VariationalSmootherSystem::init_data(), main(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectInteriors::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::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::PetscPreconditioner< T >::set_hypre_ads_data(), libMesh::PetscPreconditioner< T >::set_hypre_ams_data(), libMesh::PetscDMWrapper::set_point_range_in_section(), MeshInputTest::testCopyElementVectorImpl(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::MeshFunctionSolutionTransfer::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 |
|
virtual |
Perform the SCM greedy algorithm to develop a lower bound over the training set.
Definition at line 224 of file rb_scm_construction.C.
References attach_deflation_space(), compute_SCM_bounding_box(), compute_SCM_bounds_on_training_set(), enrich_C_J(), evaluate_stability_constant(), libMesh::System::get_dof_map(), libMesh::System::get_equation_systems(), libMesh::EquationSystems::get_system(), libMesh::CondensedEigenSystem::initialize_condensed_dofs(), libMesh::RBParametrized::initialize_parameters(), libMesh::DofMap::is_constrained_dof(), load_matrix_B(), libMesh::System::n_dofs(), libMesh::out, rb_scm_eval, RB_system_name, and SCM_training_tolerance.
|
inherited |
var at the physical point p in the mesh, similarly to point_value. Definition at line 2348 of file system.C.
References libMesh::PointLocatorBase::enable_out_of_mesh_mode(), libMesh::libmesh_assert(), mesh, and libMesh::DofObject::processor_id().
Referenced by line_print().
|
inherited |
var at the physical point p in local Elem e in the mesh, similarly to point_value. Definition at line 2410 of file system.C.
References libMesh::Elem::contains_point(), dim, libMesh::Elem::dim(), libMesh::DofMap::dof_indices(), libMesh::FEComputeData::dshape, libMesh::FEComputeData::enable_derivative(), libMesh::NumericVector< T >::get(), 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 2475 of file system.C.
References libMesh::libmesh_assert().
|
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.
|
inherited |
var at the physical point p in the mesh, similarly to point_value. Definition at line 2492 of file system.C.
References libMesh::PointLocatorBase::enable_out_of_mesh_mode(), libMesh::libmesh_assert(), mesh, and libMesh::DofObject::processor_id().
|
inherited |
var at the physical point p in local Elem e in the mesh, similarly to point_value. Definition at line 2553 of file system.C.
References libMesh::TypeTensor< T >::add_scaled(), libMesh::Elem::contains_point(), libMesh::Elem::dim(), libMesh::DofMap::dof_indices(), libMesh::NumericVector< T >::get(), libMesh::Elem::infinite(), 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 2613 of file system.C.
References libMesh::libmesh_assert().
|
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.
|
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 2219 of file system.C.
References libMesh::PointLocatorBase::enable_out_of_mesh_mode(), libMesh::libmesh_assert(), mesh, and libMesh::DofObject::processor_id().
Referenced by line_print(), main(), NavierSystem::postprocess(), MeshInputTest::testCopyElementSolutionImpl(), MeshInputTest::testCopyElementVectorImpl(), MeshInputTest::testCopyNodalSolutionImpl(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), PeriodicBCTest::testPeriodicBC(), SystemsTest::testProjectCubeWithMeshFunction(), EquationSystemsTest::testRepartitionThenReinit(), DisjointNeighborTest::testTempJump(), and DisjointNeighborTest::testTempJumpRefine().
|
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 2280 of file system.C.
References libMesh::Elem::contains_point(), libMesh::Elem::dim(), libMesh::DofMap::dof_indices(), libMesh::NumericVector< T >::get(), libMesh::DofMap::is_evaluable(), libMesh::libmesh_assert(), libMesh::FEComputeData::shape, 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 2332 of file system.C.
References libMesh::libmesh_assert().
|
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.
|
inlineinherited |
Sets whether to use hash table matrix assembly if the matrix sub-classes support it.
Definition at line 2667 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 1980 of file system.h.
References libMesh::System::name().
Referenced by libMesh::ContinuationSystem::ContinuationSystem(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::LinearImplicitSystem::solve(), and libMesh::NonlinearImplicitSystem::solve().
|
inlineinherited |
Definition at line 1974 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().
|
inlineinherited |
Instructs this system to prefix solve options with its name for solvers that leverage prefixes.
Definition at line 1969 of file system.h.
References libMesh::System::_prefix_with_name, and value.
|
inherited |
Print out all the discrete parameter values.
Definition at line 366 of file rb_parametrized.C.
References libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::out, and value.
Referenced by libMesh::RBEIMConstruction::print_info(), print_info(), and libMesh::RBConstruction::print_info().
|
virtual |
Print out info that describes the current setup of this RBSCMConstruction.
Definition at line 161 of file rb_scm_construction.C.
References libMesh::RBThetaExpansion::get_n_A_terms(), libMesh::RBParametrized::get_n_params(), libMesh::RBConstructionBase< CondensedEigenSystem >::get_n_training_samples(), libMesh::RBParametrized::get_parameter_max(), libMesh::RBParametrized::get_parameter_min(), libMesh::RBParametrized::get_parameters(), get_rb_theta_expansion(), get_SCM_training_tolerance(), libMesh::System::name(), libMesh::out, libMesh::RBParametrized::print_discrete_parameter_values(), and rb_scm_eval.
|
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().
|
inherited |
Print the current parameters.
Definition at line 178 of file rb_parametrized.C.
References libMesh::RBParametrized::get_parameters(), libMesh::RBParametrized::parameters_initialized, and libMesh::RBParameters::print().
Referenced by main(), libMesh::RBEIMConstruction::train_eim_approximation_with_greedy(), and libMesh::RBConstruction::train_reduced_basis_with_greedy().
|
virtual |
Read in the parameters from file specified by parameters_filename and set the this system's member variables accordingly.
Definition at line 89 of file rb_scm_construction.C.
References libMesh::RBParametrized::get_parameters(), libMesh::RBParametrized::get_parameters_max(), libMesh::RBParametrized::get_parameters_min(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBConstructionBase< CondensedEigenSystem >::initialize_training_parameters(), libMesh::Real, SCM_training_tolerance, set_SCM_training_tolerance(), libMesh::RBConstructionBase< CondensedEigenSystem >::set_training_random_seed(), and libMesh::RBParameters::set_value().
|
inlineinherited |
Definition at line 114 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and libMesh::Parallel::Communicator::rank().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::DistributedMesh::add_node(), libMesh::MeshTools::Modification::all_tri(), 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::MeshCommunication::delete_remote_elements(), libMesh::DistributedMesh::DistributedMesh(), 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::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::MeshTools::Modification::interpolate_surface(), libMesh::SparsityPattern::Build::join(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libMesh::TransientRBEvaluation::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(), main(), 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::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::XdrIO::read(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::NameBasedIO::read(), libMesh::EquationSystems::read(), libMesh::EquationSystems::read(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::ExodusII_IO_Helper::read_global_values(), libMesh::CheckpointIO::read_header(), libMesh::ExodusII_IO::read_header(), libMesh::System::read_header(), libMesh::XdrIO::read_header(), libMesh::DynaIO::read_mesh(), libMesh::ExodusII_IO_Helper::read_node_num_map(), libMesh::System::read_parallel_data(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::TransientRBConstruction::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::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(), MeshFunctionTest::test_bad_gradient_var_with_out_of_mesh_value(), MeshFunctionTest::test_bad_hessian_var_with_out_of_mesh_value(), ExodusTest< elem_type >::test_read_gold(), ExodusTest< elem_type >::test_write(), ExodusC0PolyhedronTest::test_write_and_read_hexagonal_prism(), ExodusC0PolygonTest::test_write_and_read_pentagon(), MeshInputTest::testAbaqusRead(), MeshInputTest::testBadGmsh(), BoundaryInfoTest::testBoundaryIDs(), 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(), BoundaryInfoTest::testInternalBoundary(), MeshInputTest::testLowOrderEdgeBlocks(), BoundaryMeshSubdomainTest::testPerBoundarySubdomain(), SystemsTest::testProjectMatrix3D(), BoundaryInfoTest::testShellFaceConstraints(), MeshInputTest::testSingleElementImpl(), BoundaryMeshSubdomainTest::testSingleSubdomain(), WriteVecAndScalar::testSolution(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), MeshSmootherTest::testVariationalSmoother(), libMesh::MeshTools::total_weight(), libMesh::NetGenMeshInterface::triangulate(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::Parallel::Packing< Node * >::unpack(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::DTKAdapter::update_variable_values(), libMesh::MeshTools::volume(), libMesh::STLIO::write(), libMesh::XdrIO::write(), libMesh::NameBasedIO::write(), libMesh::CheckpointIO::write(), libMesh::EquationSystems::write(), libMesh::EquationSystems::write(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO::write_element_data(), libMesh::ExodusII_IO::write_element_data_from_discontinuous_nodal_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::ExodusII_IO::write_nodal_data(), libMesh::VTKIO::write_nodal_data(), libMesh::UCDIO::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::ExodusII_IO_Helper::write_nodesets(), libMesh::Nemesis_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::ExodusII_IO_Helper::write_sidesets(), libMesh::Nemesis_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. elem_range active_local_range, if provided, indicates the range of elements over which to perform the projection. variable_numbers variable_numbers, if provided, indicates the variable numbers onto which to project.
Definition at line 1080 of file system_projection.C.
|
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. elem_range active_local_range, if provided, indicates the range of elements over which to perform the projection. variable_numbers variable_numbers, if provided, indicates the variable numbers onto which to project.
Definition at line 1065 of file system_projection.C.
Referenced by init_sys(), initialize(), main(), set_initial_condition(), FETestBase< order, family, elem_type, build_nx, CaseName >::setUp(), SlitMeshRefinedSystemTest::setUp(), MeshFunctionTest::test_bad_gradient_var_with_out_of_mesh_value(), MeshFunctionTest::test_bad_hessian_var_with_out_of_mesh_value(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), ProjectSolutionTest::test_partial_project_solution(), MeshFunctionTest::test_subdomain_id_sets(), MeshInputTest::testCopyElementSolutionImpl(), MeshInputTest::testCopyNodalSolutionImpl(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), SystemsTest::testProjectCubeWithMeshFunction(), MeshInputTest::testProjectionRegression(), EquationSystemsTest::testRepartitionThenReinit(), and libMesh::MeshfreeSolutionTransfer::transfer().
|
inherited |
This method projects an arbitrary function onto the solution via L2 projections and nodal interpolations on each element.
Definition at line 1049 of file system_projection.C.
|
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 884 of file system.h.
References libMesh::System::_solution_projection.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), and libMesh::MemoryHistoryData::store_vectors().
|
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 267 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::libmesh_assert(), libMesh::libmesh_ignore(), libMesh::NumericVector< T >::local_size(), libMesh::NumericVector< T >::localize(), libMesh::make_range(), n_vars, libMesh::PARALLEL, 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().
|
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().
|
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. elem_range active_local_range, if provided, indicates the range of elements over which to perform the projection. variable_numbers variable_numbers, if provided, indicates the variable numbers onto which to project.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
Definition at line 1140 of file system_projection.C.
References libMesh::NumericVector< T >::close(), libMesh::FEMFunctionBase< Output >::component(), libMesh::FEType::family, libMesh::libmesh_assert(), libMesh::libmesh_ignore(), 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 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. elem_range active_local_range, if provided, indicates the range of elements over which to perform the projection. variable_numbers variable_numbers, if provided, indicates the variable numbers onto which to project.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
Definition at line 1112 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 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. elem_range active_local_range, if provided, indicates the range of elements over which to perform the projection. variable_numbers variable_numbers, if provided, indicates the variable numbers onto which to project.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
Definition at line 1095 of file system_projection.C.
|
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 983 of file system_projection.C.
References 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 432 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.
Definition at line 2620 of file system.h.
|
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.
Definition at line 2629 of file system.h.
|
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 590 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 521 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.
|
privateinherited |
Read in the discrete parameter values from file, if we have any.
Definition at line 318 of file rb_parametrized.C.
References libMesh::DECODE, and libMesh::READ.
Referenced by libMesh::RBParametrized::read_parameter_data_from_files().
|
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(), libMesh::Parallel::Communicator::broadcast(), libMesh::System::clear(), libMesh::ParallelObject::comm(), libMesh::Utility::contains(), 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.
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 302 of file system_io.C.
References libMesh::System::_additional_data_written, libMesh::System::_vectors, libMesh::System::_written_var_indices, libMesh::Xdr::data(), 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, 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.
Definition at line 1412 of file system.h.
|
inherited |
Read in the parameter ranges from files.
Definition at line 262 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::RBEvaluation::legacy_read_offline_data_from_files(), and libMesh::RBSCMEvaluation::legacy_read_offline_data_from_files().
|
privateinherited |
Read in the parameter ranges from file.
Initialize parameters to the "minimum" parameter values.
Definition at line 281 of file rb_parametrized.C.
References libMesh::Xdr::close(), libMesh::DECODE, libMesh::READ, libMesh::Real, and libMesh::RBParameters::set_value().
Referenced by libMesh::RBParametrized::read_parameter_data_from_files().
|
privateinherited |
Reads the SCALAR dofs from the stream io and assigns the values to the appropriate entries of vec.
Reads data and discards it if vec is a null pointer.
Definition at line 939 of file system_io.C.
References libMesh::ParallelObject::comm(), libMesh::Xdr::data_stream(), libMesh::System::get_dof_map(), libMesh::OrderWrapper::get_order(), libMesh::Parallel::Communicator::get_unique_tag(), libMesh::index_range(), libMesh::ParallelObject::n_processors(), libMesh::FEType::order, libMesh::ParallelObject::processor_id(), libMesh::Parallel::Communicator::receive(), libMesh::DofMap::SCALAR_dof_indices(), libMesh::Parallel::Communicator::send(), libMesh::NumericVector< T >::set(), libMesh::Variable::type(), and libMesh::System::variable().
Referenced by libMesh::System::read_serialized_vector(), and libMesh::System::read_serialized_vectors().
|
privateinherited |
Reads an input vector from the stream io and assigns the values to a set of DofObjects.
This method uses blocked input and is safe to call on a distributed memory-mesh. Unless otherwise specified, all variables are read.
If an entry in vecs is a null pointer, the corresponding data is read (incrementing the file read location) but discarded.
Definition at line 618 of file system_io.C.
References libMesh::System::_written_var_indices, TIMPI::any_source, libMesh::ParallelObject::comm(), libMesh::Parallel::Communicator::get_unique_tag(), libMesh::index_range(), libMesh::invalid_uint, libMesh::Threads::NonConcurrentThread::join(), libMesh::libmesh_assert(), libMesh::make_range(), libMesh::ParallelObject::n_processors(), libMesh::System::number(), libMesh::ParallelObject::processor_id(), libMesh::Parallel::Communicator::receive(), libMesh::Parallel::Communicator::send(), TIMPI::Status::source(), libMesh::Parallel::Communicator::sum(), and TIMPI::wait().
Referenced by libMesh::System::read_serialized_vector(), and libMesh::System::read_serialized_vectors().
|
inherited |
Reads additional data, namely vectors, for this System.
This method may safely be called on a distributed-memory mesh.
Definition at line 533 of file system_io.C.
References libMesh::System::_additional_data_written, libMesh::System::_vectors, libMesh::Xdr::comment(), libMesh::ParallelObject::processor_id(), and libMesh::System::solution.
Referenced by libMesh::TransientRBConstruction::initialize_truth(), libMesh::RBConstruction::read_riesz_representors_from_files(), and libMesh::TransientRBConstruction::read_riesz_representors_from_files().
|
inlineprivateinherited |
|
privateinherited |
Reads a vector for this System.
This method may safely be called on a distributed-memory mesh.
Reads data and discards it if vec is a null pointer.
Definition at line 986 of file system_io.C.
References libMesh::System::_written_var_indices, libMesh::Parallel::Communicator::broadcast(), libMesh::NumericVector< T >::close(), libMesh::ParallelObject::comm(), libMesh::Xdr::data(), libMesh::System::get_mesh(), libMesh::GHOSTED, libMesh::libmesh_assert(), libMesh::MeshBase::n_elem(), libMesh::MeshBase::n_nodes(), n_nodes, libMesh::ParallelObject::n_processors(), libMesh::System::n_vars(), libMesh::PARALLEL, libMesh::ParallelObject::processor_id(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::Xdr::reading(), libMesh::SCALAR, libMesh::Parallel::Communicator::sum(), libMesh::NumericVector< T >::type(), libMesh::System::variable(), and libMesh::Xdr::version().
|
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 2015 of file system_io.C.
References libMesh::Xdr::data(), libMesh::FEType::family, libMesh::System::get_mesh(), libMesh::libmesh_assert(), libMesh::make_range(), libMesh::MeshBase::n_elem(), libMesh::MeshBase::n_nodes(), 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, libMesh::Variable::type(), 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.
Definition at line 1390 of file system.h.
|
overridevirtualinherited |
Reinitializes the member data fields associated with the system, so that, e.g., assemble() may be used.
Reimplemented from libMesh::EigenSystem.
Definition at line 83 of file condensed_eigen_system.C.
References libMesh::CondensedEigenSystem::_condensed_dofs_initialized, and libMesh::EigenSystem::reinit().
Referenced by form_functionA(), form_functionB(), and form_matrixA().
|
virtualinherited |
Reinitializes the constraints for this system.
Also prepares the send_list, whether or not constraints have changed.
Definition at line 483 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().
|
virtualinherited |
Reinitializes the system with a new mesh.
Definition at line 289 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(), libMesh::PetscPreconditioner< T >::set_hypre_ads_data(), and libMesh::PetscPreconditioner< T >::set_hypre_ams_data().
|
inherited |
Removes the additional matrix mat_name from this system.
Definition at line 1076 of file system.C.
References libMesh::System::_matrices.
|
inherited |
Removes the additional vector vec_name from this system.
Definition at line 861 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 1099 of file system.C.
References libMesh::System::_matrices.
|
inherited |
mat_name, or nullptr if no matrix by that name exists. Definition at line 1087 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 |
vec_num (where the vectors are counted starting with 0), or nullptr if the system has no such vector. Definition at line 917 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 903 of file system.C.
References libMesh::System::_vectors, and libMesh::System::vectors_begin().
|
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().
|
inherited |
System has a vector associated with the given name, nullptr otherwise. Definition at line 879 of file system.C.
References libMesh::System::_vectors, and libMesh::NumericVector< T >::get().
Referenced by libMesh::UniformRefinementEstimator::_estimate_error().
|
virtual |
Clear and resize the SCM data vectors.
Override in subclass as necessary.
Definition at line 188 of file rb_scm_construction.C.
References libMesh::RBSCMEvaluation::B_max, libMesh::RBSCMEvaluation::B_min, libMesh::RBSCMEvaluation::C_J, libMesh::RBSCMEvaluation::C_J_stability_vector, libMesh::RBThetaExpansion::get_n_A_terms(), get_rb_theta_expansion(), rb_scm_eval, and libMesh::RBSCMEvaluation::SCM_UB_vectors.
|
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.
Definition at line 545 of file system.C.
|
virtualinherited |
Restrict vectors after the mesh has coarsened.
Definition at line 374 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().
|
inlineprotectedvirtual |
Helper function which provides an error indicator to be used in the SCM greedy.
Override in subclasses to specialize behavior.
Definition at line 224 of file rb_scm_construction.h.
Referenced by compute_SCM_bounds_on_training_set().
|
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.
Definition at line 2571 of file system.h.
|
inlineinherited |
Setter for the adjoint_already_solved boolean.
Definition at line 417 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 2465 of file system.h.
References libMesh::System::_basic_system_only.
Referenced by libMesh::EquationSystems::read().
|
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 |
Sets the type of the current eigen problem.
Definition at line 85 of file eigen_system.C.
References libMesh::EigenSystem::_eigen_problem_type, libMesh::System::can_add_matrices(), libMesh::EigenSystem::eigen_solver, libMesh::GHEP, libMesh::GHIEP, libMesh::GNHEP, libMesh::HEP, and libMesh::NHEP.
Referenced by main(), and RBSCMConstruction().
|
inlinevirtual |
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 133 of file rb_scm_construction.h.
Referenced by compute_SCM_bounding_box(), and evaluate_stability_constant().
|
inherited |
Sets an initial eigen vector.
Definition at line 319 of file eigen_system.C.
References libMesh::EigenSystem::eigen_solver.
|
inlineprotectedinherited |
Set the _n_converged_eigenpairs member, useful for subclasses of EigenSystem.
Definition at line 381 of file eigen_system.h.
References libMesh::EigenSystem::_n_converged_eigenpairs.
|
inlineprotectedinherited |
Set the _n_iterations member, useful for subclasses of EigenSystem.
Definition at line 388 of file eigen_system.h.
References libMesh::EigenSystem::_n_iterations.
|
inherited |
Set the boolean option that indicates if we normalization solution snapshots or not.
Definition at line 113 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 129 of file rb_parametrized.C.
References libMesh::RBParametrized::check_if_valid_params(), libMesh::RBParametrized::parameters, and libMesh::RBParametrized::parameters_initialized.
Referenced by compute_SCM_bounds_on_training_set(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::RBConstruction::get_RB_error_bound(), SimpleRBEvaluation::get_stability_lower_bound(), libMesh::RBParametrized::initialize_parameters(), main(), 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 243 of file rb_construction_base.C.
|
protectedvirtualinherited |
Load the specified training parameter and then broadcast to all processors.
Definition at line 248 of file rb_construction_base.C.
|
inlineinherited |
Definition at line 1842 of file system.h.
References libMesh::System::project_with_constraints.
Referenced by libMesh::AdjointRefinementEstimator::estimate_error().
|
inherited |
Definition at line 2176 of file system.C.
References libMesh::libmesh_assert().
Referenced by libMesh::FEMSystem::assemble_qoi(), libMesh::ExplicitSystem::assemble_qoi(), libMesh::Euler2Solver::integrate_qoi_timestep(), libMesh::EulerSolver::integrate_qoi_timestep(), and libMesh::TwostepTimeSolver::integrate_qoi_timestep().
|
inherited |
Definition at line 2204 of file system.C.
References libMesh::libmesh_assert().
Referenced by libMesh::Euler2Solver::integrate_adjoint_refinement_error_estimate(), libMesh::EulerSolver::integrate_adjoint_refinement_error_estimate(), libMesh::SteadySolver::integrate_adjoint_refinement_error_estimate(), and libMesh::TwostepTimeSolver::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.
| void libMesh::RBSCMConstruction::set_rb_scm_evaluation | ( | RBSCMEvaluation & | rb_scm_eval_in | ) |
Set the RBSCMEvaluation object.
Definition at line 72 of file rb_scm_construction.C.
References rb_scm_eval.
|
inline |
Set the name of the associated RB system — we need this to load the (symmetrized) affine operators.
Definition at line 139 of file rb_scm_construction.h.
References RB_system_name.
Referenced by main().
|
inline |
Definition at line 146 of file rb_scm_construction.h.
References SCM_training_tolerance.
Referenced by process_parameters_file().
|
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 158 of file rb_construction_base.C.
|
inherited |
Set the seed that is used to randomly generate training parameters.
Definition at line 170 of file rb_construction_base.C.
|
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 1147 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 1125 of file system.C.
References libMesh::System::_vector_projections.
Referenced by libMesh::AdjointRefinementEstimator::estimate_error(), and main().
|
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.
Definition at line 164 of file condensed_eigen_system.C.
References libMesh::CondensedEigenSystem::_condensed_matrix_A, libMesh::CondensedEigenSystem::_condensed_matrix_B, libMesh::CondensedEigenSystem::_condensed_precond_matrix, libMesh::CondensedEigenSystem::_create_submatrices_in_solve, libMesh::CondensedEigenSystem::_have_condensed_dofs, libMesh::System::assemble(), libMesh::System::assemble_before_solve, libMesh::SparseMatrix< T >::close(), libMesh::SparseMatrix< T >::create_submatrix(), libMesh::EigenSystem::generalized(), libMesh::System::get_equation_systems(), libMesh::Parameters::have_parameter(), libMesh::libmesh_assert(), libMesh::CondensedEigenSystem::local_non_condensed_dofs_vector, libMesh::EigenSystem::matrix_A, libMesh::EigenSystem::matrix_B, libMesh::System::parameters, libMesh::EigenSystem::precond_matrix, libMesh::EigenSystem::solve(), and libMesh::EigenSystem::solve_helper().
Referenced by compute_SCM_bounding_box(), evaluate_stability_constant(), and main().
|
inherited |
Definition at line 2103 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().
|
protectedinherited |
Definition at line 215 of file eigen_system.C.
References libMesh::EigenSystem::_n_converged_eigenpairs, libMesh::EigenSystem::_n_iterations, libMesh::EigenSystem::_use_shell_matrices, libMesh::EigenSystem::_use_shell_precond_matrix, libMesh::EigenSystem::eigen_solver, libMesh::EigenSystem::generalized(), libMesh::Parameters::get(), libMesh::System::get_equation_systems(), libMesh::Parameters::have_parameter(), libMesh::libmesh_assert(), libMesh::EigenSystem::matrix_B, libMesh::EquationSystems::parameters, libMesh::System::parameters, libMesh::Real, libMesh::EigenSystem::shell_matrix_A, libMesh::EigenSystem::shell_matrix_B, and libMesh::EigenSystem::shell_precond_matrix.
Referenced by libMesh::CondensedEigenSystem::solve(), and libMesh::EigenSystem::solve().
|
inlineinherited |
Definition at line 87 of file rb_construction_base.h.
|
inlineoverridevirtualinherited |
"Eigen". Helps in identifying the system type in an equation system file. Reimplemented from libMesh::System.
Definition at line 125 of file eigen_system.h.
|
virtualinherited |
Update the local values to reflect the solution on neighboring processors.
Reimplemented in SolidSystem.
Definition at line 498 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(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), LinearElasticityWithContact::compute_stresses(), compute_stresses(), 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::NewtonSolver::line_search(), libMesh::RBConstruction::load_basis_function(), libMesh::RBConstruction::load_rb_solution(), libMesh::TransientRBConstruction::load_rb_solution(), main(), libMesh::FEMSystem::mesh_position_get(), HeatSystem::perturb_accumulate_residuals(), libMesh::ErrorVector::plot_error(), libMesh::FEMSystem::postprocess(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::FileSolutionHistory::retrieve(), libMesh::MemorySolutionHistory::retrieve(), ParsedFEMFunctionTest::setUp(), libMesh::NewtonSolver::solve(), libMesh::ExplicitSystem::solve(), libMesh::LinearImplicitSystem::solve(), libMesh::NonlinearImplicitSystem::solve(), libMesh::OptimizationSystem::solve(), libMesh::ClawSystem::solve_conservation_law(), libMesh::RBConstruction::solve_for_matrix_and_rhs(), libMesh::DirectSolutionTransfer::transfer(), libMesh::MeshFunctionSolutionTransfer::transfer(), and update_current_local_solution().
|
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 733 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 744 of file system.C.
References libMesh::System::solution.
|
inlineinherited |
true if the shell matrices are used Definition at line 161 of file eigen_system.h.
References libMesh::EigenSystem::_use_shell_matrices.
Referenced by libMesh::CondensedEigenSystem::add_matrices().
|
inlineinherited |
Set a flag to use shell matrices.
Definition at line 166 of file eigen_system.h.
References libMesh::EigenSystem::_use_shell_matrices, and libMesh::EigenSystem::use_shell_matrices().
Referenced by libMesh::EigenSystem::use_shell_matrices().
|
inlineinherited |
true if a shell preconditioning matrix is used Definition at line 171 of file eigen_system.h.
References libMesh::EigenSystem::_use_shell_precond_matrix.
Referenced by libMesh::CondensedEigenSystem::add_matrices().
|
inlineinherited |
Set a flag to use a shell preconditioning matrix.
Definition at line 176 of file eigen_system.h.
References libMesh::EigenSystem::_use_shell_precond_matrix, and libMesh::EigenSystem::use_shell_precond_matrix().
Referenced by libMesh::EigenSystem::use_shell_precond_matrix().
|
virtualinherited |
Calls user's attached assembly function, or is overridden by the user in derived classes.
Definition at line 2109 of file system.C.
Referenced by libMesh::System::assemble().
|
virtualinherited |
Calls user's attached constraint function, or is overridden by the user in derived classes.
Definition at line 2123 of file system.C.
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 2095 of file system.C.
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 2137 of file system.C.
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 2151 of file system.C.
Referenced by libMesh::System::assemble_qoi_derivative().
Return a constant reference to Variable var.
Definition at line 2704 of file system.C.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DifferentiableSystem::add_second_order_dot_vars(), 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(), main(), libMesh::DifferentiablePhysics::nonlocal_mass_residual(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectInteriors::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::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::PetscPreconditioner< T >::set_petsc_aux_data(), libMesh::PetscDMWrapper::set_point_range_in_section(), SystemsTest::testFirstScalarNumber(), 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().
|
inherited |
Return a constant reference to VariableGroup vg.
Definition at line 2709 of file system.C.
Referenced by libMesh::FEMSystem::assembly().
|
inherited |
i. Definition at line 2679 of file system.C.
Referenced by libMesh::PetscDMWrapper::build_section(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::ExactSolution::ExactSolution(), libMesh::EquationSystems::find_variable_numbers_by_predicate(), 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 1398 of file system.C.
References libMesh::System::get_dof_map(), and libMesh::DofMap::variable_number().
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(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), LinearElasticityWithContact::compute_stresses(), 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(), AssemblyPointLoadX::get_nodal_rhs_values(), AssemblyPointLoadY::get_nodal_rhs_values(), AssemblyPointLoadZ::get_nodal_rhs_values(), CoupledSystemQoI::init_context(), LargeDeformationElasticity::jacobian(), libMesh::HDGProblem::jacobian(), line_print(), main(), LinearElasticityWithContact::move_mesh(), OverlappingCouplingFunctor::operator()(), libMesh::System::read_header(), LargeDeformationElasticity::residual(), libMesh::HDGProblem::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::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 2474 of file system.h.
References libMesh::System::variable_number(), and libMesh::System::variable_scalar_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 >::ProjectInteriors::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()(), and libMesh::System::variable_scalar_number().
|
inherited |
var_num Irony: currently our only non-scalar-valued variable type is SCALAR.
Definition at line 2715 of file system.C.
i. Definition at line 2721 of file system.C.
Referenced by libMesh::ExactSolution::_compute_error(), 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_shell(), assemble_stokes(), libMesh::FEMContext::attach_quadrature_rules(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::ExactSolution::compute_error(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::Nemesis_IO::copy_elemental_solution(), libMesh::GMVIO::copy_nodal_solution(), libMesh::DGFEMContext::DGFEMContext(), libMesh::JumpErrorEstimator::estimate_error(), fe_assembly(), libMesh::FEMContext::find_hardest_fe_type(), libMesh::EquationSystems::find_variable_numbers_by_predicate(), form_functionA(), form_functionB(), form_matrixA(), libMesh::FEMSystem::init_context(), libMesh::FEMContext::init_internal_data(), OverlappingCouplingFunctor::operator()(), RationalMapTest< elem_type >::setUp(), FETestBase< order, family, elem_type, build_nx, CaseName >::setUp(), EquationSystemsTest::testBadVarNames(), FETest< order, family, elem_type, CaseName >::testCustomReinit(), FETest< order, family, elem_type, CaseName >::testFEInterface(), 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().
|
inherited |
var.
|
inherited |
Definition at line 1160 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 |
Definition at line 982 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 |
vec_num (where the vectors are counted starting with 0). Definition at line 971 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 1135 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 2505 of file system.h.
References libMesh::System::_vectors.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::System::get_vector(), libMesh::System::get_vector(), libMesh::InterMeshProjection::project_system_vectors(), libMesh::System::request_vector(), libMesh::System::request_vector(), libMesh::MemoryHistoryData::store_vectors(), libMesh::System::vector_name(), and libMesh::System::vector_name().
|
inlineinherited |
Beginning of vectors container.
Definition at line 2511 of file system.h.
References libMesh::System::_vectors.
|
inlineinherited |
End of vectors container.
Definition at line 2517 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 2523 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.
Definition at line 2593 of file system.h.
|
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.
Definition at line 2578 of file system.h.
|
privateinherited |
Write out the discrete parameter values to file.
Definition at line 230 of file rb_parametrized.C.
References libMesh::ENCODE, libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::RBParametrized::get_n_discrete_params(), libMesh::Real, and libMesh::WRITE.
Referenced by libMesh::RBParametrized::write_parameter_data_to_files().
|
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 1117 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 1318 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 185 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::RBEvaluation::legacy_write_offline_data_to_files(), and libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files().
|
privateinherited |
Write out the parameter ranges to file.
Definition at line 193 of file rb_parametrized.C.
References libMesh::Xdr::close(), libMesh::ENCODE, libMesh::RBParametrized::get_n_continuous_params(), libMesh::RBParametrized::get_parameters_max(), libMesh::RBParametrized::get_parameters_min(), libMesh::RBParameters::get_value(), libMesh::RBParametrized::is_discrete_parameter(), libMesh::Real, and libMesh::WRITE.
Referenced by libMesh::RBParametrized::write_parameter_data_to_files().
|
privateinherited |
Writes the SCALAR dofs associated with var to the stream io.
Definition at line 1912 of file system_io.C.
References libMesh::ParallelObject::comm(), libMesh::Xdr::data_stream(), libMesh::System::get_dof_map(), libMesh::Parallel::Communicator::get_unique_tag(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::processor_id(), libMesh::Parallel::Communicator::receive(), libMesh::DofMap::SCALAR_dof_indices(), and libMesh::Parallel::Communicator::send().
Referenced by libMesh::System::write_serialized_vector(), and libMesh::System::write_serialized_vectors().
|
privateinherited |
Writes an output vector to the stream io for a set of DofObjects.
This method uses blocked output and is safe to call on a distributed memory-mesh.
Definition at line 1626 of file system_io.C.
References TIMPI::any_source, libMesh::Parallel::Communicator::broadcast(), libMesh::ParallelObject::comm(), libMesh::Parallel::Communicator::get_unique_tag(), libMesh::invalid_uint, libMesh::libmesh_assert(), libMesh::make_range(), libMesh::ParallelObject::n_processors(), libMesh::System::n_vars(), libMesh::System::number(), libMesh::ParallelObject::processor_id(), libMesh::Parallel::Communicator::receive(), libMesh::Parallel::Communicator::send(), TIMPI::Status::source(), and TIMPI::wait().
Referenced by libMesh::System::write_serialized_vector(), and libMesh::System::write_serialized_vectors().
|
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 1518 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::RBConstruction::write_riesz_representors_to_files(), and libMesh::TransientRBConstruction::write_riesz_representors_to_files().
|
privateinherited |
Writes a vector for this System.
This method may safely be called on a distributed-memory mesh.
Definition at line 1968 of file system_io.C.
References libMesh::Xdr::data(), libMesh::FEType::family, libMesh::System::get_mesh(), libMesh::libmesh_assert(), libMesh::make_range(), n_nodes, libMesh::System::n_vars(), libMesh::ParallelObject::processor_id(), libMesh::SCALAR, libMesh::NumericVector< T >::size(), libMesh::Variable::type(), libMesh::System::variable(), libMesh::System::write_SCALAR_dofs(), libMesh::System::write_serialized_blocked_dof_objects(), and libMesh::Xdr::writing().
Referenced by libMesh::System::write_serialized_data().
|
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 2111 of file system_io.C.
References libMesh::Xdr::data(), libMesh::FEType::family, libMesh::System::get_mesh(), libMesh::libmesh_assert(), libMesh::make_range(), libMesh::MeshBase::n_elem(), libMesh::MeshBase::n_nodes(), n_nodes, libMesh::System::n_vars(), libMesh::ParallelObject::processor_id(), libMesh::SCALAR, libMesh::Variable::type(), 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 1450 of file system.C.
References libMesh::System::get_mesh(), mesh, libMesh::System::n_vars(), libMesh::System::number(), libMesh::Threads::parallel_for(), and libMesh::NumericVector< T >::set().
|
privateinherited |
Flag stating if the system is active or not.
Definition at line 2252 of file system.h.
Referenced by libMesh::System::activate(), libMesh::System::active(), and libMesh::System::deactivate().
|
privateinherited |
This flag is used only when reading in a system from file.
Based on the system header, it keeps track of how many additional vectors were actually written for this file.
Definition at line 2313 of file system.h.
Referenced by libMesh::System::read_header(), libMesh::System::read_parallel_data(), and libMesh::System::read_serialized_data().
|
privateinherited |
|
privateinherited |
|
privateinherited |
Holds true if the components of more advanced system types (e.g.
system matrices) should not be initialized.
Definition at line 2300 of file system.h.
Referenced by libMesh::System::init_data(), libMesh::System::reinit(), libMesh::System::reinit_mesh(), and libMesh::System::set_basic_system_only().
|
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(), libMesh::StaticCondensationDofMap::reinit(), and libMesh::BoundaryInfo::synchronize_global_id_set().
|
privateinherited |
A private flag to indicate whether the condensed dofs have been initialized.
Definition at line 202 of file condensed_eigen_system.h.
Referenced by libMesh::CondensedEigenSystem::have_condensed_dofs(), libMesh::CondensedEigenSystem::initialize_condensed_dofs(), libMesh::CondensedEigenSystem::initialize_condensed_matrices(), and libMesh::CondensedEigenSystem::reinit().
|
privateinherited |
The (condensed) system matrix for standard eigenvalue problems.
Definition at line 217 of file condensed_eigen_system.h.
Referenced by libMesh::CondensedEigenSystem::add_matrices(), libMesh::CondensedEigenSystem::clear(), libMesh::CondensedEigenSystem::get_condensed_matrix_A(), libMesh::CondensedEigenSystem::has_condensed_matrix_A(), and libMesh::CondensedEigenSystem::solve().
|
privateinherited |
A second (condensed) system matrix for generalized eigenvalue problems.
Definition at line 222 of file condensed_eigen_system.h.
Referenced by libMesh::CondensedEigenSystem::add_matrices(), libMesh::CondensedEigenSystem::clear(), libMesh::CondensedEigenSystem::get_condensed_matrix_B(), libMesh::CondensedEigenSystem::has_condensed_matrix_B(), and libMesh::CondensedEigenSystem::solve().
|
privateinherited |
The condensed preconditioning matrix.
Definition at line 227 of file condensed_eigen_system.h.
Referenced by libMesh::CondensedEigenSystem::add_matrices(), libMesh::CondensedEigenSystem::clear(), libMesh::CondensedEigenSystem::get_condensed_precond_matrix(), libMesh::CondensedEigenSystem::has_condensed_precond_matrix(), and libMesh::CondensedEigenSystem::solve().
|
privateinherited |
|
privateinherited |
|
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().
|
privateinherited |
Denotes whether to create the condensed submatrices from the global matrices in the solve.
Definition at line 212 of file condensed_eigen_system.h.
Referenced by libMesh::CondensedEigenSystem::dont_create_submatrices_in_solve(), and libMesh::CondensedEigenSystem::solve().
|
privateinherited |
Map that defines the allowable values of any discrete parameters.
Definition at line 250 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::RBParametrized::initialize_parameters(), and libMesh::RBParametrized::is_discrete_parameter().
|
privateinherited |
Data structure describing the relationship between nodes, variables, etc... and degrees of freedom.
Definition at line 2225 of file system.h.
Referenced by libMesh::System::add_vector(), libMesh::System::clear(), libMesh::System::current_solution(), libMesh::System::get_dof_map(), libMesh::System::get_dof_map(), libMesh::System::init_data(), libMesh::System::n_constrained_dofs(), libMesh::System::n_dofs(), libMesh::System::n_local_constrained_dofs(), libMesh::System::n_local_dofs(), libMesh::System::restrict_vectors(), and libMesh::System::update().
|
privateinherited |
The type of the eigenvalue problem.
Definition at line 409 of file eigen_system.h.
Referenced by libMesh::EigenSystem::generalized(), libMesh::EigenSystem::get_eigenproblem_type(), and libMesh::EigenSystem::set_eigenproblem_type().
|
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().
|
privateinherited |
Constant reference to the EquationSystems object used for the simulation.
Definition at line 2231 of file system.h.
Referenced by libMesh::System::get_equation_systems(), and libMesh::System::get_equation_systems().
|
privateinherited |
The first sample-vector index from the global vector which is stored in the _training_parameters on this processor.
_n_local_training_samples is equivalent to the .size() of any vector in _training_parameters.
Definition at line 313 of file rb_construction_base.h.
|
privateinherited |
Whether there are any condensed degrees of freedom.
Definition at line 207 of file condensed_eigen_system.h.
Referenced by libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::CondensedEigenSystem::have_condensed_dofs(), libMesh::CondensedEigenSystem::initialize_condensed_dofs(), libMesh::CondensedEigenSystem::initialize_condensed_matrices(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), and libMesh::CondensedEigenSystem::solve().
|
privateinherited |
Are we allowed to write this system to file? If _hide_output is true, then EquationSystems::write will ignore this system.
Definition at line 2338 of file system.h.
Referenced by libMesh::System::hide_output().
|
privateinherited |
|
privateinherited |
|
privateinherited |
true when additional vectors and variables do not require immediate initialization, false otherwise.
Definition at line 2306 of file system.h.
Referenced by libMesh::System::add_vector(), libMesh::System::clear(), libMesh::System::compare(), libMesh::System::init_data(), and libMesh::System::is_initialized().
|
privateinherited |
Some systems need an arbitrary number of matrices.
Definition at line 2277 of file system.h.
Referenced by libMesh::System::add_matrix(), libMesh::System::add_matrix(), libMesh::System::add_matrix(), libMesh::System::clear(), libMesh::System::get_matrix(), libMesh::System::get_matrix(), libMesh::System::have_matrix(), libMesh::System::init_data(), libMesh::System::init_matrices(), libMesh::System::matrices_begin(), libMesh::System::matrices_begin(), libMesh::System::matrices_end(), libMesh::System::matrices_end(), libMesh::System::n_matrices(), libMesh::System::reinit(), libMesh::System::remove_matrix(), libMesh::System::request_matrix(), and libMesh::System::request_matrix().
|
privateinherited |
false when additional matrices being added require initialization, true otherwise.
Definition at line 2287 of file system.h.
Referenced by libMesh::System::can_add_matrices(), libMesh::System::clear(), libMesh::System::init_matrices(), libMesh::System::late_matrix_init(), and libMesh::System::prefer_hash_table_matrix_assembly().
|
privateinherited |
Holds the types of the matrices.
Definition at line 2282 of file system.h.
Referenced by libMesh::System::add_matrix(), libMesh::System::add_matrix(), libMesh::System::add_matrix(), and libMesh::System::init_matrices().
|
privateinherited |
Constant reference to the mesh data structure used for the simulation.
Definition at line 2237 of file system.h.
Referenced by libMesh::System::get_mesh(), libMesh::System::get_mesh(), and libMesh::System::reinit_constraints().
|
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.
|
privateinherited |
The number of converged eigenpairs.
Definition at line 399 of file eigen_system.h.
Referenced by libMesh::EigenSystem::get_n_converged(), libMesh::EigenSystem::set_n_converged(), and libMesh::EigenSystem::solve_helper().
|
privateinherited |
Definition at line 315 of file rb_construction_base.h.
|
privateinherited |
The number of iterations of the eigen solver algorithm.
Definition at line 404 of file eigen_system.h.
Referenced by libMesh::EigenSystem::get_n_iterations(), libMesh::EigenSystem::set_n_iterations(), and libMesh::EigenSystem::solve_helper().
|
privateinherited |
Definition at line 314 of file rb_construction_base.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(), libMesh::ReferenceCounter::ReferenceCounter(), 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(), libMesh::ReferenceCounter::ReferenceCounter(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
|
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.
|
privateinherited |
Whether to use hash table matrix assembly if the matrix sub-classes support it.
Definition at line 2348 of file system.h.
Referenced by libMesh::System::init_matrices(), and libMesh::System::prefer_hash_table_matrix_assembly().
|
privateinherited |
Whether we are name prefixing solver options.
Definition at line 2358 of file system.h.
Referenced by libMesh::System::prefix_with_name(), and libMesh::System::prefix_with_name().
|
privateinherited |
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. Use the get_qoi_values() accessor to get these values.
Definition at line 2367 of file system.h.
Referenced by libMesh::System::n_qois().
|
privateinherited |
Vector to hold error estimates for qois, either from a steady state calculation, or from a single unsteady solver timestep.
Used by the library after resizing to match the size of the qoi vector. User code can use this for accumulating error estimates for example. Use the set_qoi_error_estimate()/get_qoi_error_estimate_value() accessors to set/get these values.
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
Whether any of our matrices require an initial sparsity pattern computation in order to determine preallocation.
Definition at line 2353 of file system.h.
Referenced by libMesh::System::init_matrices(), and libMesh::System::reinit().
|
privateinherited |
Holds true if the solution vector should be projected onto a changed grid, false if it should be zeroed.
This is true by default.
Definition at line 2294 of file system.h.
Referenced by libMesh::System::project_solution_on_reinit(), and libMesh::System::restrict_vectors().
|
privateinherited |
A name associated with this system.
Definition at line 2242 of file system.h.
Referenced by libMesh::System::clear(), libMesh::System::compare(), and libMesh::System::name().
|
privateinherited |
The number associated with this system.
Definition at line 2247 of file system.h.
Referenced by libMesh::System::number().
|
privateinherited |
The training samples for each parameter.
When serial_training_set is true, the map contains all samples of all parameters. Otherwise, the sample vectors will only contain the values for the local samples as defined by _first_local_index and _n_local_training_samples. Mapped from parameter_name -> sample_vector -> value_vector.
Definition at line 306 of file rb_construction_base.h.
|
privateinherited |
Boolean flag to indicate whether or not the parameter ranges have been initialized.
Definition at line 297 of file rb_construction_base.h.
|
privateinherited |
If < 0, use std::time() * processor_id() to seed the random number generator for the training parameters (default).
If >= 0, use the provided value * processor_id() as the random number generator seed.
Definition at line 323 of file rb_construction_base.h.
|
privateinherited |
A boolean flag to indicate whether or not to use shell matrices.
Definition at line 414 of file eigen_system.h.
Referenced by libMesh::EigenSystem::add_matrices(), libMesh::EigenSystem::get_matrix_A(), libMesh::EigenSystem::get_matrix_A(), libMesh::EigenSystem::get_matrix_B(), libMesh::EigenSystem::get_matrix_B(), libMesh::EigenSystem::get_precond_matrix(), libMesh::EigenSystem::get_precond_matrix(), libMesh::EigenSystem::get_shell_matrix_A(), libMesh::EigenSystem::get_shell_matrix_A(), libMesh::EigenSystem::get_shell_matrix_B(), libMesh::EigenSystem::get_shell_matrix_B(), libMesh::EigenSystem::get_shell_precond_matrix(), libMesh::EigenSystem::get_shell_precond_matrix(), libMesh::EigenSystem::solve_helper(), libMesh::EigenSystem::use_shell_matrices(), and libMesh::EigenSystem::use_shell_matrices().
|
privateinherited |
A boolean flag to indicate whether or not to use a shell preconditioning matrix.
Definition at line 419 of file eigen_system.h.
Referenced by libMesh::EigenSystem::add_matrices(), libMesh::EigenSystem::get_precond_matrix(), libMesh::EigenSystem::get_precond_matrix(), libMesh::EigenSystem::get_shell_precond_matrix(), libMesh::EigenSystem::get_shell_precond_matrix(), libMesh::EigenSystem::solve_helper(), libMesh::EigenSystem::use_shell_precond_matrix(), and libMesh::EigenSystem::use_shell_precond_matrix().
|
privateinherited |
Holds non-negative if a vector by that name should be projected using adjoint constraints/BCs, -1 if primal.
Definition at line 2272 of file system.h.
Referenced by libMesh::System::add_vector(), libMesh::System::clear(), libMesh::System::remove_vector(), libMesh::System::set_vector_as_adjoint(), and libMesh::System::vector_is_adjoint().
|
privateinherited |
Holds true if a vector by that name should be projected onto a changed grid, false if it should be zeroed.
Definition at line 2266 of file system.h.
Referenced by libMesh::System::add_vector(), libMesh::System::clear(), libMesh::System::remove_vector(), libMesh::System::restrict_vectors(), libMesh::System::set_vector_preservation(), libMesh::System::vector_preservation(), and libMesh::System::write_header().
|
privateinherited |
Some systems need an arbitrary number of vectors.
This map allows names to be associated with arbitrary vectors. All the vectors in this map will be distributed in the same way as the solution vector.
Definition at line 2260 of file system.h.
Referenced by libMesh::System::add_vector(), libMesh::System::clear(), libMesh::System::compare(), libMesh::System::get_vector(), libMesh::System::get_vector(), libMesh::System::get_vector(), libMesh::System::get_vector(), libMesh::System::have_vector(), libMesh::System::init_data(), libMesh::System::n_vectors(), libMesh::System::read_parallel_data(), libMesh::System::read_serialized_data(), libMesh::System::remove_vector(), libMesh::System::request_vector(), libMesh::System::request_vector(), libMesh::System::request_vector(), libMesh::System::request_vector(), libMesh::System::restrict_vectors(), libMesh::System::vector_name(), libMesh::System::vector_name(), libMesh::System::vectors_begin(), libMesh::System::vectors_begin(), libMesh::System::vectors_end(), libMesh::System::vectors_end(), libMesh::System::write_header(), libMesh::System::write_parallel_data(), and libMesh::System::write_serialized_data().
|
privateinherited |
This vector is used only when reading in a system from file.
Based on the system header, it keeps track of any index remapping between variable names in the data file and variable names in the already-constructed system. I.e. if we have a system with variables "A1", "A2", "B1", and "B2", but we read in a data file with only "A1" and "B1" defined, then we don't want to try and read in A2 or B2, and we don't want to assign A1 and B1 values to different dof indices.
Definition at line 2325 of file system.h.
Referenced by libMesh::System::read_header(), libMesh::System::read_parallel_data(), libMesh::System::read_serialized_blocked_dof_objects(), and libMesh::System::read_serialized_vector().
|
privateinherited |
Has the adjoint problem already been solved? If the user sets adjoint_already_solved to true, we won't waste time solving it again.
Definition at line 2332 of file system.h.
Referenced by libMesh::System::is_adjoint_already_solved(), and libMesh::System::set_adjoint_already_solved().
|
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 1609 of file system.h.
Referenced by libMesh::ImplicitSystem::adjoint_solve(), libMesh::ClawSystem::ClawSystem(), libMesh::System::disable_cache(), libMesh::ImplicitSystem::disable_cache(), main(), libMesh::RBConstruction::RBConstruction(), RBSCMConstruction(), libMesh::ImplicitSystem::sensitivity_solve(), libMesh::CondensedEigenSystem::solve(), libMesh::EigenSystem::solve(), and libMesh::LinearImplicitSystem::solve().
|
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 1667 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::NonlinearImplicitSystem::assembly(), libMesh::VariationalSmootherSystem::assembly(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::System::clear(), 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::PetscNonlinearSolver< Number >::force_new_preconditioner(), libMesh::StaticCondensation::init(), libMesh::System::init_data(), 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_bad_gradient_var_with_out_of_mesh_value(), MeshFunctionTest::test_bad_hessian_var_with_out_of_mesh_value(), MeshFunctionTest::test_subdomain_id_sets(), MeshInputTest::testCopyElementVectorImpl(), FETest< order, family, elem_type, CaseName >::testGradU(), FETest< order, family, elem_type, CaseName >::testGradUComp(), FETest< order, family, elem_type, CaseName >::testHessU(), FETest< order, family, elem_type, CaseName >::testHessUComp(), FETest< order, family, elem_type, CaseName >::testU(), 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 |
The EigenSolver, defining which interface, i.e solver package to use.
Public access to this member variable will be deprecated in the future! Use get_eigen_solver instead.
Definition at line 362 of file eigen_system.h.
Referenced by libMesh::EigenSystem::clear(), compute_SCM_bounding_box(), evaluate_stability_constant(), libMesh::EigenSystem::get_eigen_solver(), libMesh::EigenSystem::get_eigen_solver(), libMesh::EigenSystem::get_eigenpair(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::EigenSystem::get_eigenvalue(), libMesh::EigenSystem::set_eigenproblem_type(), libMesh::EigenSystem::set_initial_space(), and libMesh::EigenSystem::solve_helper().
|
inherited |
A member int that can be employed to indicate increased or reduced quadrature order.
Definition at line 1640 of file system.h.
Referenced by libMesh::JumpErrorEstimator::estimate_error(), 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 |
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 176 of file condensed_eigen_system.h.
Referenced by libMesh::CondensedEigenSystem::copy_sub_to_super(), libMesh::CondensedEigenSystem::copy_super_to_sub(), libMesh::CondensedEigenSystem::copy_super_to_sub(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::CondensedEigenSystem::initialize_condensed_dofs(), libMesh::CondensedEigenSystem::initialize_condensed_matrices(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), and libMesh::CondensedEigenSystem::solve().
|
inherited |
The system matrix for standard eigenvalue problems.
Public access to this member variable will be deprecated in the future! Use get_matrix_A() instead.
Definition at line 313 of file eigen_system.h.
Referenced by libMesh::EigenSystem::add_matrices(), Aq_inner_product(), libMesh::EigenSystem::clear(), compute_SCM_bounding_box(), evaluate_stability_constant(), libMesh::EigenSystem::get_matrix_A(), libMesh::EigenSystem::get_matrix_A(), libMesh::EigenSystem::has_matrix_A(), libMesh::CondensedEigenSystem::solve(), and libMesh::EigenSystem::solve().
|
inherited |
A second system matrix for generalized eigenvalue problems.
Public access to this member variable will be deprecated in the future! Use get_matrix_B() instead.
Definition at line 321 of file eigen_system.h.
Referenced by libMesh::EigenSystem::add_matrices(), B_inner_product(), libMesh::EigenSystem::clear(), libMesh::EigenSystem::get_matrix_B(), libMesh::EigenSystem::get_matrix_B(), libMesh::EigenSystem::has_matrix_B(), load_matrix_B(), libMesh::CondensedEigenSystem::solve(), libMesh::EigenSystem::solve(), and libMesh::EigenSystem::solve_helper().
|
inherited |
Parameters for the system. If a parameter is not provided, it should be retrieved from the EquationSystems.
Definition at line 1588 of file system.h.
Referenced by libMesh::ImplicitSystem::get_linear_solve_parameters(), libMesh::FrequencySystem::init_data(), libMesh::NonlinearImplicitSystem::set_solver_parameters(), libMesh::CondensedEigenSystem::solve(), libMesh::EigenSystem::solve(), and libMesh::EigenSystem::solve_helper().
|
privateinherited |
Flag indicating whether the parameters have been initialized.
Definition at line 234 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::clear(), libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::RBParametrized::get_n_continuous_params(), libMesh::RBParametrized::get_n_discrete_params(), libMesh::RBParametrized::get_n_params(), libMesh::RBParametrized::get_parameter_max(), libMesh::RBParametrized::get_parameter_min(), libMesh::RBParametrized::get_parameters(), libMesh::RBParametrized::get_parameters_max(), libMesh::RBParametrized::get_parameters_min(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBParametrized::is_discrete_parameter(), libMesh::RBParametrized::print_parameters(), and libMesh::RBParametrized::set_parameters().
|
privateinherited |
Definition at line 245 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::clear(), libMesh::RBParametrized::get_n_params(), libMesh::RBParametrized::get_parameter_max(), libMesh::RBParametrized::get_parameters_max(), and libMesh::RBParametrized::initialize_parameters().
|
privateinherited |
Vectors that define the ranges (min and max) for the parameters.
Definition at line 244 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::clear(), libMesh::RBParametrized::get_n_params(), libMesh::RBParametrized::get_parameter_min(), libMesh::RBParametrized::get_parameters_min(), and libMesh::RBParametrized::initialize_parameters().
|
inherited |
A preconditioning matrix.
Public access to this member variable will be deprecated in the future! Use get_precond_matrix() instead.
Definition at line 345 of file eigen_system.h.
Referenced by libMesh::EigenSystem::add_matrices(), libMesh::EigenSystem::clear(), libMesh::EigenSystem::get_precond_matrix(), libMesh::EigenSystem::get_precond_matrix(), libMesh::EigenSystem::has_precond_matrix(), libMesh::CondensedEigenSystem::solve(), and libMesh::EigenSystem::solve().
|
privateinherited |
Do we want to apply constraints while projecting vectors ?
Definition at line 2343 of file system.h.
Referenced by libMesh::System::get_project_with_constraints(), and libMesh::System::set_project_with_constraints().
|
protectedinherited |
Flag to indicate whether we print out extra information during the Offline stage.
Definition at line 265 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 244 of file rb_scm_construction.h.
Referenced by compute_SCM_bounding_box(), compute_SCM_bounds_on_training_set(), enrich_C_J(), evaluate_stability_constant(), get_rb_scm_evaluation(), perform_SCM_greedy(), print_info(), resize_SCM_vectors(), and set_rb_scm_evaluation().
|
protected |
The name of the associated RB system.
Definition at line 236 of file rb_scm_construction.h.
Referenced by add_scaled_symm_Aq(), load_matrix_B(), perform_SCM_greedy(), and set_RB_system_name().
|
protected |
Tolerance which controls when to terminate the SCM Greedy.
Definition at line 231 of file rb_scm_construction.h.
Referenced by get_SCM_training_tolerance(), perform_SCM_greedy(), process_parameters_file(), 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 273 of file rb_construction_base.h.
|
inherited |
The system shell matrix for standard eigenvalue problems.
Public access to this member variable will be deprecated in the future! Use get_shell_matrix_A() instead.
Definition at line 329 of file eigen_system.h.
Referenced by libMesh::EigenSystem::add_matrices(), libMesh::EigenSystem::clear(), libMesh::EigenSystem::get_shell_matrix_A(), libMesh::EigenSystem::get_shell_matrix_A(), libMesh::EigenSystem::has_shell_matrix_A(), libMesh::EigenSystem::init_matrices(), libMesh::EigenSystem::reinit(), and libMesh::EigenSystem::solve_helper().
|
inherited |
A second system shell matrix for generalized eigenvalue problems.
Public access to this member variable will be deprecated in the future! Use get_shell_matrix_B() instead.
Definition at line 337 of file eigen_system.h.
Referenced by libMesh::EigenSystem::add_matrices(), libMesh::EigenSystem::clear(), libMesh::EigenSystem::get_shell_matrix_B(), libMesh::EigenSystem::get_shell_matrix_B(), libMesh::EigenSystem::has_shell_matrix_B(), libMesh::EigenSystem::init_matrices(), libMesh::EigenSystem::reinit(), and libMesh::EigenSystem::solve_helper().
|
inherited |
A preconditioning shell matrix.
Public access to this member variable will be deprecated in the future! Use get_shell_precond_matrix() instead.
Definition at line 353 of file eigen_system.h.
Referenced by libMesh::EigenSystem::add_matrices(), libMesh::EigenSystem::clear(), libMesh::EigenSystem::get_shell_precond_matrix(), libMesh::EigenSystem::get_shell_precond_matrix(), libMesh::EigenSystem::has_shell_precond_matrix(), libMesh::EigenSystem::init_matrices(), libMesh::EigenSystem::reinit(), and libMesh::EigenSystem::solve_helper().
|
inherited |
Data structure to hold solution values.
Definition at line 1655 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::AdaptiveTimeSolver::advance_timestep(), libMesh::NewmarkSolver::advance_timestep(), libMesh::UnsteadySolver::advance_timestep(), libMesh::ContinuationSystem::apply_predictor(), libMesh::TransientRBConstruction::assemble_affine_expansion(), libMesh::FEMSystem::assembly(), libMesh::LinearImplicitSystem::assembly(), libMesh::VariationalSmootherSystem::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(), LinearElasticity::compute_stresses(), LargeDeformationElasticity::compute_stresses(), LinearElasticityWithContact::compute_stresses(), compute_stresses(), 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::AdjointRefinementEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::SmoothnessEstimator::estimate_smoothness(), evaluate_stability_constant(), libMesh::EigenSystem::get_eigenpair(), libMesh::CondensedEigenSystem::get_eigenpair(), LinearElasticityWithContact::get_least_and_max_gap_function(), libMesh::System::init_data(), libMesh::VariationalSmootherSystem::init_data(), libMesh::ContinuationSystem::initialize_tangent(), libMesh::TransientRBConstruction::initialize_truth(), libMesh::RBConstruction::load_basis_function(), libMesh::RBConstruction::load_rb_solution(), libMesh::TransientRBConstruction::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_parallel_data(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::System::read_serialized_data(), MeshFunctionTest::read_variable_info_from_output_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(), ParsedFEMFunctionTest::setUp(), setup(), WriteVecAndScalar::setupTests(), libMesh::NewtonSolver::solve(), libMesh::PetscDiffSolver::solve(), libMesh::TwostepTimeSolver::solve(), libMesh::LinearImplicitSystem::solve(), libMesh::NonlinearImplicitSystem::solve(), libMesh::FrequencySystem::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(), ProjectSolutionTest::test_partial_project_solution(), SystemsTest::testBoundaryProjectCube(), ConstraintOperatorTest::testCoreform(), SystemsTest::testDofCouplingWithVarGroups(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), SystemsTest::testPostInitAddVector(), SystemsTest::testProjectCubeWithMeshFunction(), MeshInputTest::testProjectionRegression(), SystemsTest::testProjectScalarCoarsening(), WriteVecAndScalar::testSolution(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::DirectSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), libMesh::BoundaryVolumeSolutionTransfer::transfer_volume_boundary(), libMesh::RBConstruction::truth_solve(), libMesh::TransientRBConstruction::truth_solve(), libMesh::System::update(), update_current_local_solution(), libMesh::System::update_global_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::RBConstruction::write_riesz_representors_to_files(), libMesh::TransientRBConstruction::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 1677 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 >::ProjectInteriors::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::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 1625 of file system.h.
Referenced by libMesh::NewmarkSolver::_general_residual(), libMesh::Euler2Solver::_general_residual(), libMesh::EulerSolver::_general_residual(), libMesh::SteadySolver::_general_residual(), libMesh::DifferentiableSystem::clear(), libMesh::DiffContext::DiffContext(), and libMesh::FEMContext::pre_fe_reinit().
|
inherited |
Public boolean to toggle verbose mode.
Definition at line 181 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::check_if_valid_params().