#include <transient_rb_construction.h>
Public Types | |
typedef TransientRBConstruction | sys_type |
typedef TransientSystem< RBConstruction > | Parent |
typedef std::map< std::string, SparseMatrix< Number > * >::iterator | matrices_iterator |
typedef std::map< std::string, SparseMatrix< Number > * >::const_iterator | const_matrices_iterator |
typedef Number(* | ValueFunctionPointer) (const Point &p, const Parameters &Parameters, const std::string &sys_name, const std::string &unknown_name) |
typedef Gradient(* | GradientFunctionPointer) (const Point &p, const Parameters ¶meters, const std::string &sys_name, const std::string &unknown_name) |
typedef std::map< std::string, NumericVector< Number > * >::iterator | vectors_iterator |
typedef std::map< std::string, NumericVector< Number > * >::const_iterator | const_vectors_iterator |
Public Member Functions | |
TransientRBConstruction (EquationSystems &es, const std::string &name, const unsigned int number) | |
virtual | ~TransientRBConstruction () |
virtual void | clear () libmesh_override |
virtual void | initialize_rb_construction (bool skip_matrix_assembly=false, bool skip_vector_assembly=false) libmesh_override |
virtual Real | truth_solve (int write_interval) libmesh_override |
virtual Real | train_reduced_basis (const bool resize_rb_eval_data=true) libmesh_override |
virtual void | process_parameters_file (const std::string ¶meters_filename) libmesh_override |
virtual void | print_info () libmesh_override |
virtual bool | greedy_termination_test (Real abs_greedy_error, Real initial_greedy_error, int count) libmesh_override |
virtual void | assemble_all_affine_operators () libmesh_override |
virtual void | assemble_misc_matrices () libmesh_override |
void | assemble_L2_matrix (SparseMatrix< Number > *input_matrix, bool apply_dirichlet_bc=true) |
void | assemble_mass_matrix (SparseMatrix< Number > *input_matrix) |
void | add_scaled_mass_matrix (Number scalar, SparseMatrix< Number > *input_matrix) |
void | mass_matrix_scaled_matvec (Number scalar, NumericVector< Number > &dest, NumericVector< Number > &arg) |
void | set_L2_assembly (ElemAssembly &L2_assembly_in) |
ElemAssembly & | get_L2_assembly () |
void | assemble_Mq_matrix (unsigned int q, SparseMatrix< Number > *input_matrix, bool apply_dirichlet_bc=true) |
SparseMatrix< Number > * | get_M_q (unsigned int q) |
SparseMatrix< Number > * | get_non_dirichlet_M_q (unsigned int q) |
virtual void | get_all_matrices (std::map< std::string, SparseMatrix< Number > * > &all_matrices) libmesh_override |
virtual void | truth_assembly () libmesh_override |
int | get_max_truth_solves () const |
void | set_max_truth_solves (int max_truth_solves_in) |
Real | get_POD_tol () const |
void | set_POD_tol (const Real POD_tol_in) |
void | set_delta_N (const unsigned int new_delta_N) |
virtual void | load_rb_solution () libmesh_override |
const NumericVector< Number > & | get_error_temporal_data () |
void | update_RB_initial_condition_all_N () |
virtual void | write_riesz_representors_to_files (const std::string &riesz_representors_dir, const bool write_binary_residual_representors) libmesh_override |
virtual void | read_riesz_representors_from_files (const std::string &riesz_representors_dir, const bool write_binary_residual_representors) libmesh_override |
sys_type & | system () |
virtual std::string | system_type () const libmesh_override |
Number | old_solution (const dof_id_type global_dof_number) const |
Number | older_solution (const dof_id_type global_dof_number) const |
virtual void | solve_for_matrix_and_rhs (LinearSolver< Number > &input_solver, SparseMatrix< Number > &input_matrix, NumericVector< Number > &input_rhs) |
void | set_rb_evaluation (RBEvaluation &rb_eval_in) |
RBEvaluation & | get_rb_evaluation () |
bool | is_rb_eval_initialized () const |
RBThetaExpansion & | get_rb_theta_expansion () |
void | set_rb_assembly_expansion (RBAssemblyExpansion &rb_assembly_expansion_in) |
RBAssemblyExpansion & | get_rb_assembly_expansion () |
virtual Real | compute_max_error_bound () |
const RBParameters & | get_greedy_parameter (unsigned int i) |
void | set_rel_training_tolerance (Real new_training_tolerance) |
Real | get_rel_training_tolerance () |
void | set_abs_training_tolerance (Real new_training_tolerance) |
Real | get_abs_training_tolerance () |
void | set_normalize_rb_bound_in_greedy (bool normalize_rb_bound_in_greedy) |
bool | get_normalize_rb_bound_in_greedy () |
unsigned int | get_Nmax () const |
virtual void | set_Nmax (unsigned int Nmax) |
void | set_quiet_mode (bool quiet_mode_in) |
bool | is_quiet () const |
virtual void | load_basis_function (unsigned int i) |
SparseMatrix< Number > * | get_inner_product_matrix () |
SparseMatrix< Number > * | get_non_dirichlet_inner_product_matrix () |
SparseMatrix< Number > * | get_non_dirichlet_inner_product_matrix_if_avail () |
SparseMatrix< Number > * | get_Aq (unsigned int q) |
SparseMatrix< Number > * | get_non_dirichlet_Aq (unsigned int q) |
SparseMatrix< Number > * | get_non_dirichlet_Aq_if_avail (unsigned int q) |
NumericVector< Number > * | get_Fq (unsigned int q) |
NumericVector< Number > * | get_non_dirichlet_Fq (unsigned int q) |
NumericVector< Number > * | get_non_dirichlet_Fq_if_avail (unsigned int q) |
NumericVector< Number > * | get_output_vector (unsigned int n, unsigned int q_l) |
NumericVector< Number > * | get_non_dirichlet_output_vector (unsigned int n, unsigned int q_l) |
virtual void | get_all_vectors (std::map< std::string, NumericVector< Number > * > &all_vectors) |
virtual void | get_output_vectors (std::map< std::string, NumericVector< Number > * > &all_vectors) |
void | assemble_inner_product_matrix (SparseMatrix< Number > *input_matrix, bool apply_dof_constraints=true) |
void | assemble_Aq_matrix (unsigned int q, SparseMatrix< Number > *input_matrix, bool apply_dof_constraints=true) |
void | assemble_Fq_vector (unsigned int q, NumericVector< Number > *input_vector, bool apply_dof_constraints=true) |
void | add_scaled_Aq (Number scalar, unsigned int q_a, SparseMatrix< Number > *input_matrix, bool symmetrize) |
virtual void | recompute_all_residual_terms (const bool compute_inner_products=true) |
void | set_rb_construction_parameters (unsigned int n_training_samples_in, bool deterministic_training_in, unsigned int training_parameters_random_seed_in, bool quiet_mode_in, unsigned int Nmax_in, Real rel_training_tolerance_in, Real abs_training_tolerance_in, bool normalize_rb_error_bound_in_greedy_in, RBParameters mu_min_in, RBParameters mu_max_in, std::map< std::string, std::vector< Real >> discrete_parameter_values_in, std::map< std::string, bool > log_scaling) |
void | print_basis_function_orthogonality () |
unsigned int | get_delta_N () const |
void | set_inner_product_assembly (ElemAssembly &inner_product_assembly_in) |
ElemAssembly & | get_inner_product_assembly () |
void | zero_constrained_dofs_on_vector (NumericVector< Number > &vector) |
void | set_convergence_assertion_flag (bool flag) |
numeric_index_type | get_n_training_samples () const |
numeric_index_type | get_local_n_training_samples () const |
numeric_index_type | get_first_local_training_index () const |
numeric_index_type | get_last_local_training_index () const |
virtual void | initialize_training_parameters (const RBParameters &mu_min, const RBParameters &mu_max, unsigned int n_training_parameters, std::map< std::string, bool > log_param_scale, bool deterministic=true) |
virtual void | load_training_set (std::map< std::string, std::vector< Number >> &new_training_set) |
void | broadcast_parameters (unsigned int proc_id) |
void | set_training_random_seed (unsigned int seed) |
void | set_deterministic_training_parameter_name (const std::string &name) |
const std::string & | get_deterministic_training_parameter_name () const |
void | set_deterministic_training_parameter_repeats (unsigned int repeats) |
unsigned int | get_deterministic_training_parameter_repeats () const |
virtual void | reinit () libmesh_override |
virtual void | assemble () libmesh_override |
virtual void | restrict_solve_to (const SystemSubset *subset, const SubsetSolveMode subset_solve_mode=SUBSET_ZERO) libmesh_override |
virtual void | solve () libmesh_override |
virtual LinearSolver< Number > * | get_linear_solver () const libmesh_override |
virtual void | release_linear_solver (LinearSolver< Number > *) const libmesh_override |
virtual void | assembly (bool get_residual, bool get_jacobian, bool apply_heterogeneous_constraints=false, bool apply_no_constraints=false) libmesh_override |
unsigned int | n_linear_iterations () const |
Real | final_linear_residual () const |
void | attach_shell_matrix (ShellMatrix< Number > *shell_matrix) |
void | detach_shell_matrix () |
ShellMatrix< Number > * | get_shell_matrix () |
virtual void | disable_cache () libmesh_override |
virtual std::pair< unsigned int, Real > | get_linear_solve_parameters () const |
virtual void | assemble_residual_derivatives (const ParameterVector ¶meters) libmesh_override |
virtual std::pair< unsigned int, Real > | sensitivity_solve (const ParameterVector ¶meters) libmesh_override |
virtual std::pair< unsigned int, Real > | weighted_sensitivity_solve (const ParameterVector ¶meters, const ParameterVector &weights) libmesh_override |
virtual std::pair< unsigned int, Real > | adjoint_solve (const QoISet &qoi_indices=QoISet()) libmesh_override |
virtual std::pair< unsigned int, Real > | weighted_sensitivity_adjoint_solve (const ParameterVector ¶meters, const ParameterVector &weights, const QoISet &qoi_indices=QoISet()) libmesh_override |
virtual void | adjoint_qoi_parameter_sensitivity (const QoISet &qoi_indices, const ParameterVector ¶meters, SensitivityData &sensitivities) libmesh_override |
virtual void | forward_qoi_parameter_sensitivity (const QoISet &qoi_indices, const ParameterVector ¶meters, SensitivityData &sensitivities) libmesh_override |
virtual void | qoi_parameter_hessian (const QoISet &qoi_indices, const ParameterVector ¶meters, SensitivityData &hessian) libmesh_override |
virtual void | qoi_parameter_hessian_vector_product (const QoISet &qoi_indices, const ParameterVector ¶meters, const ParameterVector &vector, SensitivityData &product) libmesh_override |
SparseMatrix< Number > & | add_matrix (const std::string &mat_name) |
void | remove_matrix (const std::string &mat_name) |
bool | have_matrix (const std::string &mat_name) const |
const SparseMatrix< Number > * | request_matrix (const std::string &mat_name) const |
SparseMatrix< Number > * | request_matrix (const std::string &mat_name) |
const SparseMatrix< Number > & | get_matrix (const std::string &mat_name) const |
SparseMatrix< Number > & | get_matrix (const std::string &mat_name) |
virtual unsigned int | n_matrices () const libmesh_override |
virtual void | assemble_qoi (const QoISet &qoi_indices=QoISet()) libmesh_override |
virtual void | assemble_qoi_derivative (const QoISet &qoi_indices=QoISet(), bool include_liftfunc=true, bool apply_constraints=true) libmesh_override |
void | init () |
virtual void | reinit_constraints () |
bool | is_initialized () |
virtual void | update () |
bool | is_adjoint_already_solved () const |
void | set_adjoint_already_solved (bool setting) |
virtual void | qoi_parameter_sensitivity (const QoISet &qoi_indices, const ParameterVector ¶meters, SensitivityData &sensitivities) |
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=libmesh_nullptr) const |
void | project_solution (FEMFunctionBase< Number > *f, FEMFunctionBase< Gradient > *g=libmesh_nullptr) const |
void | project_solution (ValueFunctionPointer fptr, GradientFunctionPointer gptr, const Parameters ¶meters) const |
void | project_vector (NumericVector< Number > &new_vector, FunctionBase< Number > *f, FunctionBase< Gradient > *g=libmesh_nullptr, int is_adjoint=-1) const |
void | project_vector (NumericVector< Number > &new_vector, FEMFunctionBase< Number > *f, FEMFunctionBase< Gradient > *g=libmesh_nullptr, int is_adjoint=-1) const |
void | project_vector (ValueFunctionPointer fptr, GradientFunctionPointer gptr, const Parameters ¶meters, NumericVector< Number > &new_vector, int is_adjoint=-1) const |
void | boundary_project_solution (const std::set< boundary_id_type > &b, const std::vector< unsigned int > &variables, FunctionBase< Number > *f, FunctionBase< Gradient > *g=libmesh_nullptr) |
void | boundary_project_solution (const std::set< boundary_id_type > &b, const std::vector< unsigned int > &variables, ValueFunctionPointer fptr, GradientFunctionPointer gptr, const Parameters ¶meters) |
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=libmesh_nullptr, int is_adjoint=-1) const |
void | boundary_project_vector (const std::set< boundary_id_type > &b, const std::vector< unsigned int > &variables, ValueFunctionPointer fptr, GradientFunctionPointer gptr, const Parameters ¶meters, NumericVector< Number > &new_vector, int is_adjoint=-1) const |
unsigned int | number () const |
void | update_global_solution (std::vector< Number > &global_soln) const |
void | update_global_solution (std::vector< Number > &global_soln, const processor_id_type dest_proc) const |
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 () |
void | deactivate () |
void | set_basic_system_only () |
vectors_iterator | vectors_begin () |
const_vectors_iterator | vectors_begin () const |
vectors_iterator | vectors_end () |
const_vectors_iterator | vectors_end () const |
NumericVector< Number > & | add_vector (const std::string &vec_name, const bool projections=true, const ParallelType type=PARALLEL) |
void | remove_vector (const std::string &vec_name) |
bool & | project_solution_on_reinit (void) |
bool | have_vector (const std::string &vec_name) const |
const NumericVector< Number > * | request_vector (const std::string &vec_name) const |
NumericVector< Number > * | request_vector (const std::string &vec_name) |
const NumericVector< Number > * | request_vector (const unsigned int vec_num) const |
NumericVector< Number > * | request_vector (const unsigned int vec_num) |
const NumericVector< Number > & | get_vector (const std::string &vec_name) const |
NumericVector< Number > & | get_vector (const std::string &vec_name) |
const NumericVector< Number > & | get_vector (const unsigned int vec_num) const |
NumericVector< Number > & | get_vector (const unsigned int vec_num) |
const std::string & | vector_name (const unsigned int vec_num) const |
const std::string & | vector_name (const NumericVector< Number > &vec_reference) const |
void | set_vector_as_adjoint (const std::string &vec_name, int qoi_num) |
int | vector_is_adjoint (const std::string &vec_name) const |
void | set_vector_preservation (const std::string &vec_name, bool preserve) |
bool | vector_preservation (const std::string &vec_name) const |
NumericVector< Number > & | add_adjoint_solution (unsigned int i=0) |
NumericVector< Number > & | get_adjoint_solution (unsigned int i=0) |
const NumericVector< Number > & | get_adjoint_solution (unsigned int i=0) const |
NumericVector< Number > & | add_sensitivity_solution (unsigned int i=0) |
NumericVector< Number > & | get_sensitivity_solution (unsigned int i=0) |
const NumericVector< Number > & | get_sensitivity_solution (unsigned int i=0) const |
NumericVector< Number > & | add_weighted_sensitivity_adjoint_solution (unsigned int i=0) |
NumericVector< Number > & | get_weighted_sensitivity_adjoint_solution (unsigned int i=0) |
const NumericVector< Number > & | get_weighted_sensitivity_adjoint_solution (unsigned int i=0) const |
NumericVector< Number > & | add_weighted_sensitivity_solution () |
NumericVector< Number > & | get_weighted_sensitivity_solution () |
const NumericVector< Number > & | get_weighted_sensitivity_solution () const |
NumericVector< Number > & | add_adjoint_rhs (unsigned int i=0) |
NumericVector< Number > & | get_adjoint_rhs (unsigned int i=0) |
const NumericVector< Number > & | get_adjoint_rhs (unsigned int i=0) const |
NumericVector< Number > & | add_sensitivity_rhs (unsigned int i=0) |
NumericVector< Number > & | get_sensitivity_rhs (unsigned int i=0) |
const NumericVector< Number > & | get_sensitivity_rhs (unsigned int i=0) const |
unsigned int | n_vectors () const |
unsigned int | n_vars () const |
unsigned int | n_variable_groups () const |
unsigned int | n_components () const |
dof_id_type | n_dofs () const |
dof_id_type | n_active_dofs () const |
dof_id_type | n_constrained_dofs () const |
dof_id_type | n_local_constrained_dofs () const |
dof_id_type | n_local_dofs () const |
unsigned int | add_variable (const std::string &var, const FEType &type, const std::set< subdomain_id_type > *const active_subdomains=libmesh_nullptr) |
unsigned int | add_variable (const std::string &var, const Order order=FIRST, const FEFamily=LAGRANGE, const std::set< subdomain_id_type > *const active_subdomains=libmesh_nullptr) |
unsigned int | add_variables (const std::vector< std::string > &vars, const FEType &type, const std::set< subdomain_id_type > *const active_subdomains=libmesh_nullptr) |
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=libmesh_nullptr) |
const Variable & | variable (unsigned int var) const |
const VariableGroup & | variable_group (unsigned int vg) const |
bool | has_variable (const std::string &var) const |
const std::string & | variable_name (const unsigned int i) const |
unsigned short int | variable_number (const std::string &var) const |
void | get_all_variable_numbers (std::vector< unsigned int > &all_variable_numbers) const |
unsigned int | variable_scalar_number (const std::string &var, unsigned int component) const |
unsigned int | variable_scalar_number (unsigned int var_num, unsigned int component) const |
const FEType & | variable_type (const unsigned int i) const |
const FEType & | variable_type (const std::string &var) const |
bool | identify_variable_groups () const |
void | identify_variable_groups (const bool) |
Real | calculate_norm (const NumericVector< Number > &v, unsigned int var, FEMNormType norm_type, std::set< unsigned int > *skip_dimensions=libmesh_nullptr) const |
Real | calculate_norm (const NumericVector< Number > &v, const SystemNorm &norm, std::set< unsigned int > *skip_dimensions=libmesh_nullptr) const |
void | read_header (Xdr &io, const std::string &version, const bool read_header=true, const bool read_additional_data=true, const bool read_legacy_format=false) |
void | read_legacy_data (Xdr &io, const bool read_additional_data=true) |
template<typename ValType > | |
void | read_serialized_data (Xdr &io, const bool read_additional_data=true) |
void | read_serialized_data (Xdr &io, const bool read_additional_data=true) |
template<typename InValType > | |
std::size_t | read_serialized_vectors (Xdr &io, const std::vector< NumericVector< Number > * > &vectors) const |
std::size_t | read_serialized_vectors (Xdr &io, const std::vector< NumericVector< Number > * > &vectors) const |
template<typename InValType > | |
void | read_parallel_data (Xdr &io, const bool read_additional_data) |
void | read_parallel_data (Xdr &io, const bool read_additional_data) |
void | write_header (Xdr &io, const std::string &version, const bool write_additional_data) const |
void | write_serialized_data (Xdr &io, const bool write_additional_data=true) const |
std::size_t | write_serialized_vectors (Xdr &io, const std::vector< const NumericVector< Number > * > &vectors) const |
void | write_parallel_data (Xdr &io, const bool write_additional_data) const |
std::string | get_info () const |
void | attach_init_function (void fptr(EquationSystems &es, const std::string &name)) |
void | attach_init_object (Initialization &init) |
void | attach_assemble_function (void fptr(EquationSystems &es, const std::string &name)) |
void | attach_assemble_object (Assembly &assemble) |
void | attach_constraint_function (void fptr(EquationSystems &es, const std::string &name)) |
void | attach_constraint_object (Constraint &constrain) |
void | attach_QOI_function (void fptr(EquationSystems &es, const std::string &name, const QoISet &qoi_indices)) |
void | attach_QOI_object (QOI &qoi) |
void | attach_QOI_derivative (void fptr(EquationSystems &es, const std::string &name, const QoISet &qoi_indices, bool include_liftfunc, bool apply_constraints)) |
void | attach_QOI_derivative_object (QOIDerivative &qoi_derivative) |
virtual void | user_initialization () |
virtual void | user_assembly () |
virtual void | user_constrain () |
virtual void | user_QOI (const QoISet &qoi_indices) |
virtual void | user_QOI_derivative (const QoISet &qoi_indices=QoISet(), bool include_liftfunc=true, bool apply_constraints=true) |
virtual void | restrict_vectors () |
virtual void | prolong_vectors () |
Number | current_solution (const dof_id_type global_dof_number) const |
Number | point_value (unsigned int var, const Point &p, const bool insist_on_success=true) const |
Number | point_value (unsigned int var, const Point &p, const Elem &e) const |
Number | point_value (unsigned int var, const Point &p, const Elem *e) const |
Gradient | point_gradient (unsigned int var, const Point &p, const bool insist_on_success=true) const |
Gradient | point_gradient (unsigned int var, const Point &p, const Elem &e) const |
Gradient | point_gradient (unsigned int var, const Point &p, const Elem *e) const |
Tensor | point_hessian (unsigned int var, const Point &p, const bool insist_on_success=true) const |
Tensor | point_hessian (unsigned int var, const Point &p, const Elem &e) const |
Tensor | point_hessian (unsigned int var, const Point &p, const Elem *e) const |
void | local_dof_indices (const unsigned int var, std::set< dof_id_type > &var_indices) const |
void | zero_variable (NumericVector< Number > &v, unsigned int var_num) const |
bool & | hide_output () |
void | projection_matrix (SparseMatrix< Number > &proj_mat) 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) |
void | initialize_parameters (const RBParametrized &rb_parametrized) |
unsigned int | get_n_params () const |
unsigned int | get_n_continuous_params () const |
unsigned int | get_n_discrete_params () const |
std::set< std::string > | get_parameter_names () const |
const RBParameters & | get_parameters () const |
void | set_parameters (const RBParameters ¶ms) |
const RBParameters & | get_parameters_min () const |
const RBParameters & | get_parameters_max () const |
Real | get_parameter_min (const std::string ¶m_name) const |
Real | get_parameter_max (const std::string ¶m_name) const |
void | print_parameters () const |
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) |
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) |
bool | is_discrete_parameter (const std::string &mu_name) const |
const std::map< std::string, std::vector< Real > > & | get_discrete_parameter_values () const |
void | print_discrete_parameter_values () const |
Real | get_delta_t () const |
void | set_delta_t (const Real delta_t_in) |
Real | get_euler_theta () const |
void | set_euler_theta (const Real euler_theta_in) |
unsigned int | get_time_step () const |
void | set_time_step (const unsigned int k) |
unsigned int | get_n_time_steps () const |
void | set_n_time_steps (const unsigned int K) |
Real | get_control (const unsigned int k) const |
void | set_control (const std::vector< Real > &control) |
void | process_temporal_parameters_file (const std::string ¶meters_filename) |
void | pull_temporal_discretization_data (RBTemporalDiscretization &other) |
Static Public Member Functions | |
static void | print_info (std::ostream &out=libMesh::out) |
static void | print_info (std::ostream &out=libMesh::out) |
static std::unique_ptr< DirichletBoundary > | build_zero_dirichlet_boundary_object () |
static std::string | get_info () |
static std::string | get_info () |
static unsigned int | n_objects () |
static unsigned int | n_objects () |
static void | enable_print_counter_info () |
static void | enable_print_counter_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) |
Protected Types | |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Protected Member Functions | |
virtual void | allocate_data_structures () libmesh_override |
virtual void | assemble_affine_expansion (bool skip_matrix_assembly, bool skip_vector_assembly) libmesh_override |
virtual void | initialize_truth () |
virtual SparseMatrix< Number > & | get_matrix_for_output_dual_solves () libmesh_override |
void | add_IC_to_RB_space () |
virtual void | enrich_RB_space () libmesh_override |
virtual void | update_system () libmesh_override |
virtual void | update_RB_system_matrices () libmesh_override |
virtual void | update_residual_terms (bool compute_inner_products) libmesh_override |
Number | set_error_temporal_data () |
virtual void | re_update () libmesh_override |
virtual std::unique_ptr< DGFEMContext > | build_context () |
void | update_greedy_param_list () |
void | add_scaled_matrix_and_vector (Number scalar, ElemAssembly *elem_assembly, SparseMatrix< Number > *input_matrix, NumericVector< Number > *input_vector, bool symmetrize=false, bool apply_dof_constraints=true) |
virtual void | set_context_solution_vec (NumericVector< Number > &vec) |
virtual void | assemble_all_affine_vectors () |
virtual void | assemble_all_output_vectors () |
virtual void | compute_output_dual_innerprods () |
virtual void | compute_Fq_representor_innerprods (bool compute_inner_products=true) |
virtual Real | get_RB_error_bound () |
virtual void | init_context (FEMContext &) |
bool | get_convergence_assertion_flag () const |
void | check_convergence (LinearSolver< Number > &input_solver) |
virtual void | init_data () |
RBParameters | get_params_from_training_set (unsigned int index) |
void | set_params_from_training_set (unsigned int index) |
virtual void | set_params_from_training_set_and_broadcast (unsigned int index) |
virtual void | init_matrices () |
void | project_vector (NumericVector< Number > &, int is_adjoint=-1) const |
void | project_vector (const NumericVector< Number > &, NumericVector< Number > &, int is_adjoint=-1) const |
void | increment_constructor_count (const std::string &name) |
void | increment_constructor_count (const std::string &name) |
void | increment_destructor_count (const std::string &name) |
void | increment_destructor_count (const std::string &name) |
Static Protected Member Functions | |
static void | get_global_max_error_pair (const Parallel::Communicator &communicator, std::pair< numeric_index_type, Real > &error_pair) |
static void | generate_training_parameters_random (const Parallel::Communicator &communicator, std::map< std::string, bool > log_param_scale, std::map< std::string, std::unique_ptr< NumericVector< Number >>> &training_parameters_in, unsigned int n_training_samples_in, const RBParameters &min_parameters, const RBParameters &max_parameters, int training_parameters_random_seed=-1, bool serial_training_set=false) |
static void | generate_training_parameters_deterministic (const Parallel::Communicator &communicator, std::map< std::string, bool > log_param_scale, std::map< std::string, std::unique_ptr< NumericVector< Number >>> &training_parameters_in, unsigned int n_training_samples_in, const RBParameters &min_parameters, const RBParameters &max_parameters, bool serial_training_set=false) |
Protected Attributes | |
Real | POD_tol |
int | max_truth_solves |
ElemAssembly * | L2_assembly |
DenseVector< Number > | RB_ic_proj_rhs_all_N |
unsigned int | Nmax |
unsigned int | delta_N |
bool | quiet_mode |
bool | output_dual_innerprods_computed |
bool | assert_convergence |
bool | serial_training_set |
std::unique_ptr< NumericVector< Number > > | inner_product_storage_vector |
unsigned int | _n_linear_iterations |
Real | _final_linear_residual |
ShellMatrix< Number > * | _shell_matrix |
const SystemSubset * | _subset |
SubsetSolveMode | _subset_solve_mode |
const Parallel::Communicator & | _communicator |
Static Protected Attributes | |
static Counts | _counts |
static Counts | _counts |
static Threads::atomic< unsigned int > | _n_objects |
static Threads::atomic< unsigned int > | _n_objects |
static Threads::spin_mutex | _mutex |
static Threads::spin_mutex | _mutex |
static bool | _enable_print_counter = true |
static bool | _enable_print_counter = true |
Private Attributes | |
std::vector< std::unique_ptr< NumericVector< Number > > > | temporal_data |
This class is part of the rbOOmit framework.
TransientRBConstruction extends RBConstruction to add functionality relevant in the time-dependent case.
We can handle time controls on the RHS as h(t)*f(x, ). See Martin Grepl's thesis for more details.
Definition at line 48 of file transient_rb_construction.h.
|
inherited |
Definition at line 290 of file implicit_system.h.
|
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 |
Matrix iterator typedefs.
Definition at line 289 of file implicit_system.h.
The type of the parent.
Definition at line 73 of file transient_rb_construction.h.
The type of system.
Definition at line 68 of file transient_rb_construction.h.
|
inherited |
|
inherited |
libMesh::TransientRBConstruction::TransientRBConstruction | ( | EquationSystems & | es, |
const std::string & | name, | ||
const unsigned int | number | ||
) |
Constructor. Optionally initializes required data structures.
|
virtual |
Destructor.
|
inlineinherited |
Activates the system. Only active systems are solved.
Definition at line 2054 of file system.h.
References libMesh::System::_active.
Referenced by libMesh::System::get_equation_systems().
|
inlineinherited |
true
if the system is active, false
otherwise. An active system will be solved. Definition at line 2046 of file system.h.
References libMesh::System::_active.
Referenced by libMesh::System::get_equation_systems().
|
inherited |
Definition at line 1022 of file system.C.
References libMesh::System::add_vector().
Referenced by libMesh::ExplicitSystem::assemble_qoi_derivative(), libMesh::FEMSystem::assemble_qoi_derivative(), and libMesh::System::project_solution_on_reinit().
|
inherited |
Definition at line 958 of file system.C.
References libMesh::System::add_vector(), and libMesh::System::set_vector_as_adjoint().
Referenced by libMesh::ImplicitSystem::adjoint_solve(), and libMesh::System::project_solution_on_reinit().
|
protected |
Initialize RB space by adding the truth initial condition as the first RB basis function.
|
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 mayor matrix, then all the additional matrices, if existent, have to be initialized by the user, too.
Definition at line 210 of file implicit_system.C.
References libMesh::ImplicitSystem::_can_add_matrices, libMesh::ImplicitSystem::_matrices, libMesh::SparseMatrix< T >::build(), libMesh::ParallelObject::comm(), and libMesh::ImplicitSystem::have_matrix().
Referenced by libMesh::ImplicitSystem::add_system_matrix(), libMesh::EigenTimeSolver::init(), and libMesh::NewmarkSystem::NewmarkSystem().
|
inherited |
Add the scaled q^th affine matrix to input_matrix. If symmetrize==true, then we symmetrize Aq before adding it.
Referenced by libMesh::RBConstruction::is_quiet().
void libMesh::TransientRBConstruction::add_scaled_mass_matrix | ( | Number | scalar, |
SparseMatrix< Number > * | input_matrix | ||
) |
Add the scaled mass matrix (assembled for the current parameter) to input_matrix.
|
protectedinherited |
This function loops over the mesh and applies the specified interior and/or boundary assembly routines, then adds the scaled result to input_matrix and/or input_vector. If symmetrize==true then we assemble the symmetric part of the matrix, 0.5*(A + A^T)
|
inherited |
Definition at line 1052 of file system.C.
References libMesh::System::add_vector().
Referenced by libMesh::ImplicitSystem::assemble_residual_derivatives(), and libMesh::System::project_solution_on_reinit().
|
inherited |
Definition at line 907 of file system.C.
References libMesh::System::add_vector().
Referenced by libMesh::System::project_solution_on_reinit(), and libMesh::ImplicitSystem::sensitivity_solve().
|
inherited |
Adds the variable var
to the list of variables for this system.
Definition at line 1082 of file system.C.
References libMesh::System::_variable_groups, libMesh::System::_variable_numbers, libMesh::System::_variables, libMesh::System::add_variables(), libMesh::VariableGroup::append(), libMesh::System::identify_variable_groups(), libMesh::System::is_initialized(), libmesh_nullptr, libMesh::System::n_variable_groups(), libMesh::System::n_vars(), libMesh::System::number(), libMesh::System::variable_name(), and libMesh::System::variable_type().
Referenced by libMesh::DifferentiableSystem::add_second_order_dot_vars(), libMesh::System::add_variable(), libMesh::ErrorVector::plot_error(), and libMesh::System::project_solution_on_reinit().
|
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
.
Definition at line 1160 of file system.C.
References libMesh::System::add_variable().
|
inherited |
Adds the variable var
to the list of variables for this system.
Definition at line 1172 of file system.C.
References libMesh::System::_variable_groups, libMesh::System::_variable_numbers, libMesh::System::_variables, libMesh::System::is_initialized(), libmesh_nullptr, libMesh::System::n_components(), libMesh::System::n_vars(), libMesh::System::number(), libMesh::System::variable_name(), and libMesh::System::variable_type().
Referenced by libMesh::System::add_variable(), libMesh::System::add_variables(), and libMesh::System::project_solution_on_reinit().
|
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
.
Definition at line 1225 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
Definition at line 662 of file system.C.
References libMesh::System::_dof_map, libMesh::System::_is_initialized, libMesh::System::_vector_is_adjoint, libMesh::System::_vector_projections, libMesh::System::_vector_types, libMesh::System::_vectors, libMesh::NumericVector< T >::build(), libMesh::ParallelObject::comm(), libMesh::GHOSTED, libMesh::System::have_vector(), libMesh::NumericVector< T >::init(), libMesh::System::n_dofs(), and libMesh::System::n_local_dofs().
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(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::SecondOrderUnsteadySolver::init(), libMesh::UnsteadySolver::init(), libMesh::OptimizationSystem::init_data(), libMesh::ContinuationSystem::init_data(), libMesh::NewmarkSystem::NewmarkSystem(), libMesh::FrequencySystem::set_frequencies(), libMesh::FrequencySystem::set_frequencies_by_range(), and libMesh::FrequencySystem::set_frequencies_by_steps().
|
inherited |
Definition at line 990 of file system.C.
References libMesh::System::add_vector(), and libMesh::System::set_vector_as_adjoint().
Referenced by libMesh::System::project_solution_on_reinit(), and libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
inherited |
Definition at line 937 of file system.C.
References libMesh::System::add_vector().
Referenced by libMesh::System::project_solution_on_reinit(), and libMesh::ImplicitSystem::weighted_sensitivity_solve().
|
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].
Uses adjoint_solve() and the adjoint sensitivity method.
Currently uses finite differenced derivatives (partial q / partial p) and (partial R / partial p).
Reimplemented from libMesh::System.
Definition at line 704 of file implicit_system.C.
References std::abs(), libMesh::ImplicitSystem::adjoint_solve(), libMesh::SensitivityData::allocate_data(), libMesh::ExplicitSystem::assemble_qoi(), libMesh::ImplicitSystem::assemble_residual_derivatives(), libMesh::NumericVector< T >::dot(), libMesh::System::get_sensitivity_rhs(), libMesh::QoISet::has_index(), libMesh::System::is_adjoint_already_solved(), std::max(), libMesh::System::qoi, libMesh::Real, libMesh::ParameterVector::size(), and libMesh::TOLERANCE.
Referenced by libMesh::ImplicitSystem::assembly().
|
virtualinherited |
Assembles & solves the linear system (dR/du)^T*z = dq/du, for those quantities of interest q specified by qoi_indices
.
Leave qoi_indices
empty to solve all adjoint problems.
Reimplemented from libMesh::System.
Reimplemented in libMesh::DifferentiableSystem.
Definition at line 379 of file implicit_system.C.
References libMesh::System::add_adjoint_solution(), libMesh::LinearSolver< T >::adjoint_solve(), libMesh::System::assemble_before_solve, libMesh::ExplicitSystem::assemble_qoi_derivative(), libMesh::ImplicitSystem::assembly(), libMesh::DofMap::enforce_adjoint_constraints_exactly(), libMesh::System::get_adjoint_rhs(), libMesh::System::get_adjoint_solution(), libMesh::System::get_dof_map(), libMesh::ImplicitSystem::get_linear_solve_parameters(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::QoISet::has_index(), libMesh::ImplicitSystem::matrix, libMesh::System::qoi, and libMesh::ImplicitSystem::release_linear_solver().
Referenced by libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::DifferentiableSystem::adjoint_solve(), libMesh::ImplicitSystem::assembly(), libMesh::ImplicitSystem::qoi_parameter_hessian(), and libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product().
|
protectedvirtual |
Helper function that actually allocates all the data structures required by this class.
Reimplemented from libMesh::RBConstruction.
|
inlinevirtualinherited |
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 from libMesh::ImplicitSystem.
Reimplemented in libMesh::FrequencySystem, and libMesh::NewmarkSystem.
Definition at line 104 of file linear_implicit_system.h.
References libMesh::ImplicitSystem::assemble(), libMesh::LinearImplicitSystem::assembly(), libMesh::LinearImplicitSystem::get_linear_solver(), libMesh::LinearImplicitSystem::release_linear_solver(), libMesh::LinearImplicitSystem::restrict_solve_to(), libMesh::LinearImplicitSystem::solve(), and libMesh::SUBSET_ZERO.
Referenced by libMesh::NewmarkSystem::assemble(), libMesh::FrequencySystem::assemble(), libMesh::LinearImplicitSystem::assembly(), and libMesh::LinearImplicitSystem::solve().
|
protectedvirtual |
Override assemble_affine_expansion to also initialize RB_ic_proj_rhs_all_N, if necessary.
Reimplemented from libMesh::RBConstruction.
|
virtual |
Assemble and store all the affine operators. Override to assemble the mass matrix operators.
Reimplemented from libMesh::RBConstruction.
|
protectedvirtualinherited |
Assemble and store the affine RHS vectors.
|
protectedvirtualinherited |
Assemble and store the output vectors.
|
inherited |
Assemble the q^th affine matrix and store it in input_matrix.
Referenced by libMesh::RBConstruction::is_quiet().
|
inherited |
Assemble the q^th affine vector and store it in input_matrix.
Referenced by libMesh::RBConstruction::is_quiet().
|
inherited |
Assemble the inner product matrix and store it in input_matrix.
Referenced by libMesh::RBConstruction::is_quiet().
void libMesh::TransientRBConstruction::assemble_L2_matrix | ( | SparseMatrix< Number > * | input_matrix, |
bool | apply_dirichlet_bc = true |
||
) |
Assemble the L2 matrix.
void libMesh::TransientRBConstruction::assemble_mass_matrix | ( | SparseMatrix< Number > * | input_matrix | ) |
Assemble the mass matrix at the current parameter and store it in input_matrix.
|
virtual |
Override to assemble the L2 matrix as well.
Reimplemented from libMesh::RBConstruction.
void libMesh::TransientRBConstruction::assemble_Mq_matrix | ( | unsigned int | q, |
SparseMatrix< Number > * | input_matrix, | ||
bool | apply_dirichlet_bc = true |
||
) |
Assemble the q^th affine term of the mass matrix and store it in input_matrix.
|
virtualinherited |
Prepares qoi
for quantity of interest assembly, then calls user qoi function. Can be overridden in derived classes.
Reimplemented from libMesh::System.
Reimplemented in libMesh::FEMSystem.
Definition at line 56 of file explicit_system.C.
References libMesh::System::assemble_qoi(), libMesh::QoISet::has_index(), and libMesh::System::qoi.
Referenced by libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), and libMesh::ExplicitSystem::system().
|
virtualinherited |
Prepares adjoint_rhs
for quantity of interest derivative assembly, then calls user qoi derivative function. Can be overridden in derived classes.
Reimplemented from libMesh::System.
Reimplemented in libMesh::FEMSystem.
Definition at line 69 of file explicit_system.C.
References libMesh::System::add_adjoint_rhs(), libMesh::System::assemble_qoi_derivative(), libMesh::QoISet::has_index(), libMesh::System::qoi, and libMesh::NumericVector< T >::zero().
Referenced by libMesh::ImplicitSystem::adjoint_solve(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), libMesh::ExplicitSystem::system(), and libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
virtualinherited |
Residual parameter derivative function.
Uses finite differences by default.
This will assemble the sensitivity rhs vectors to hold -(partial R / partial p_i), making them ready to solve the forward sensitivity equation.
Can be overridden in derived classes.
Reimplemented from libMesh::System.
Definition at line 661 of file implicit_system.C.
References std::abs(), libMesh::System::add_sensitivity_rhs(), libMesh::ImplicitSystem::assembly(), libMesh::NumericVector< T >::close(), std::max(), libMesh::Real, libMesh::ExplicitSystem::rhs, libMesh::ParameterVector::size(), and libMesh::TOLERANCE.
Referenced by libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::ImplicitSystem::assembly(), and libMesh::ImplicitSystem::sensitivity_solve().
|
virtualinherited |
Assembles a residual in rhs
and/or a jacobian in matrix
, as requested.
Reimplemented from libMesh::ImplicitSystem.
Definition at line 366 of file linear_implicit_system.C.
References libMesh::NumericVector< T >::add_vector(), libMesh::LinearImplicitSystem::assemble(), libMesh::NumericVector< T >::close(), libMesh::SparseMatrix< T >::close(), libMesh::ImplicitSystem::matrix, libMesh::ExplicitSystem::rhs, and libMesh::System::solution.
Referenced by libMesh::LinearImplicitSystem::assemble().
|
inherited |
Register a user function to use in assembling the system matrix and RHS.
Definition at line 1764 of file system.C.
References libMesh::System::_assemble_system_function, libMesh::System::_assemble_system_object, libmesh_nullptr, and libMesh::out.
Referenced by libMesh::System::read_parallel_data().
|
inherited |
Register a user object to use in assembling the system matrix and RHS.
Definition at line 1783 of file system.C.
References libMesh::System::_assemble_system_function, libMesh::System::_assemble_system_object, libmesh_nullptr, and libMesh::out.
Referenced by libMesh::System::read_parallel_data().
|
inherited |
Register a user function for imposing constraints.
Definition at line 1799 of file system.C.
References libMesh::System::_constrain_system_function, libMesh::System::_constrain_system_object, libmesh_nullptr, and libMesh::out.
Referenced by libMesh::System::read_parallel_data().
|
inherited |
Register a user object for imposing constraints.
Definition at line 1818 of file system.C.
References libMesh::System::_constrain_system_function, libMesh::System::_constrain_system_object, libmesh_nullptr, and libMesh::out.
Referenced by libMesh::System::read_parallel_data().
|
inherited |
Register a user function to use in initializing the system.
Definition at line 1729 of file system.C.
References libMesh::System::_init_system_function, libMesh::System::_init_system_object, libmesh_nullptr, and libMesh::out.
Referenced by libMesh::System::read_parallel_data().
|
inherited |
Register a user class to use to initialize the system.
attach_init_function
. Definition at line 1748 of file system.C.
References libMesh::System::_init_system_function, libMesh::System::_init_system_object, libmesh_nullptr, and libMesh::out.
Referenced by libMesh::System::read_parallel_data().
|
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 1870 of file system.C.
References libMesh::System::_qoi_evaluate_derivative_function, libMesh::System::_qoi_evaluate_derivative_object, libmesh_nullptr, and libMesh::out.
Referenced by libMesh::System::read_parallel_data().
|
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 1889 of file system.C.
References libMesh::System::_qoi_evaluate_derivative_function, libMesh::System::_qoi_evaluate_derivative_object, libmesh_nullptr, and libMesh::out.
Referenced by libMesh::System::read_parallel_data().
|
inherited |
Register a user function for evaluating the quantities of interest, whose values should be placed in System::qoi
Definition at line 1834 of file system.C.
References libMesh::System::_qoi_evaluate_function, libMesh::System::_qoi_evaluate_object, libmesh_nullptr, and libMesh::out.
Referenced by libMesh::System::read_parallel_data().
|
inherited |
Register a user object for evaluating the quantities of interest, whose values should be placed in System::qoi
Definition at line 1854 of file system.C.
References libMesh::System::_qoi_evaluate_function, libMesh::System::_qoi_evaluate_object, libmesh_nullptr, and libMesh::out.
Referenced by libMesh::System::read_parallel_data().
|
inherited |
This function enables the user to provide a shell matrix, i.e. a matrix that is not stored element-wise, but as a function. When you register your shell matrix using this function, calling solve()
will no longer use the matrix
member but the registered shell matrix instead. You can reset this behaviour to its original state by supplying a NULL
pointer to this function.
Definition at line 158 of file linear_implicit_system.C.
References libMesh::LinearImplicitSystem::_shell_matrix.
Referenced by libMesh::LinearImplicitSystem::detach_shell_matrix(), and libMesh::LinearImplicitSystem::final_linear_residual().
|
inherited |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system. Only degrees of freedom which affect the function's trace on a boundary in the set b
are affected. Only degrees of freedom associated with the variables listed in the vector variables
are projected. The function value f
and its gradient g
are user-provided cloneable functors. A gradient g
is only required/used for projecting onto finite element spaces with continuous derivatives. If non-default Parameters
are to be used, they can be provided in the parameters
argument.
This method projects an arbitrary boundary function onto the solution via L2 projections and nodal interpolations on each element.
Definition at line 986 of file system_projection.C.
|
inherited |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system. Only degrees of freedom which affect the function's trace on a boundary in the set b
are affected. Only degrees of freedom associated with the variables listed in the vector variables
are projected. The function value fptr
and its gradient gptr
are represented by function pointers. A gradient gptr
is only required/used for projecting onto finite element spaces with continuous derivatives.
This method projects components of an arbitrary boundary function onto the solution via L2 projections and nodal interpolations on each element.
Definition at line 969 of file system_projection.C.
|
inherited |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system. Only degrees of freedom which affect the function's trace on a boundary in the set b
are affected. Only degrees of freedom associated with the variables listed in the vector variables
are projected. The function value f
and its gradient g
are user-provided cloneable functors. A gradient g
is only required/used for projecting onto finite element spaces with continuous derivatives. If non-default Parameters
are to be used, they can be provided in the parameters
argument.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
This method projects an arbitrary function via L2 projections and nodal interpolations on each element.
Definition at line 1022 of file system_projection.C.
References libMesh::NumericVector< T >::close(), and libMesh::Threads::parallel_for().
|
inherited |
Projects arbitrary boundary functions onto a vector of degree of freedom values for the current system. Only degrees of freedom which affect the function's trace on a boundary in the set b
are affected. Only degrees of freedom associated with the variables listed in the vector variables
are projected. The function value fptr
and its gradient gptr
are represented by function pointers. A gradient gptr
is only required/used for projecting onto finite element spaces with continuous derivatives.
Constrain the new vector using the requested adjoint rather than primal constraints if is_adjoint is non-negative.
This method projects an arbitrary boundary function via L2 projections and nodal interpolations on each element.
Definition at line 1004 of file system_projection.C.
|
inherited |
Broadcasts parameters on processor proc_id to all processors.
|
protectedvirtualinherited |
Builds a DGFEMContext object with enough information to do evaluations on each element. We use DGFEMContext since it allows for both DG and continuous Galerkin formulations.
|
staticinherited |
It's helpful to be able to generate a DirichletBoundary that stores a ZeroFunction in order to impose Dirichlet boundary conditions.
Referenced by libMesh::RBConstruction::get_delta_N().
|
inherited |
var
in the vector v
, in the specified norm (e.g. L2, L_INF, H1) Definition at line 1364 of file system.C.
References libMesh::DISCRETE_L1, libMesh::DISCRETE_L2, libMesh::DISCRETE_L_INF, libMesh::System::discrete_var_norm(), libMesh::L2, libMesh::System::n_vars(), and libMesh::Real.
Referenced by libMesh::AdaptiveTimeSolver::calculate_norm(), libMesh::UnsteadySolver::du(), and libMesh::System::project_solution_on_reinit().
|
inherited |
v
, using component_norm
and component_scale
to choose and weight the norms of each variable. Definition at line 1386 of file system.C.
References libMesh::System::_dof_map, libMesh::System::_mesh, std::abs(), libMesh::TypeVector< T >::add_scaled(), libMesh::TypeTensor< T >::add_scaled(), libMesh::FEGenericBase< OutputType >::build(), libMesh::NumericVector< T >::build(), libMesh::ParallelObject::comm(), libMesh::FEType::default_quadrature_rule(), libMesh::DISCRETE_L1, libMesh::DISCRETE_L2, libMesh::DISCRETE_L_INF, libMesh::System::discrete_var_norm(), libMesh::DofMap::dof_indices(), libMesh::MeshBase::elem_dimensions(), libMesh::FEGenericBase< OutputType >::get_d2phi(), libMesh::System::get_dof_map(), libMesh::FEGenericBase< OutputType >::get_dphi(), libMesh::FEAbstract::get_JxW(), libMesh::System::get_mesh(), libMesh::FEGenericBase< OutputType >::get_phi(), libMesh::H1, libMesh::H1_SEMINORM, libMesh::H2, libMesh::H2_SEMINORM, libMesh::SystemNorm::is_discrete(), libMesh::L1, libMesh::NumericVector< T >::l1_norm(), libMesh::L2, libMesh::NumericVector< T >::l2_norm(), libMesh::L_INF, libmesh_nullptr, libMesh::NumericVector< T >::linfty_norm(), libMesh::NumericVector< T >::localize(), std::max(), libMesh::Parallel::Communicator::max(), libMesh::QBase::n_points(), libMesh::System::n_vars(), libMesh::TypeVector< T >::norm(), libMesh::TypeTensor< T >::norm(), libMesh::TensorTools::norm_sq(), libMesh::TypeVector< T >::norm_sq(), libMesh::TypeTensor< T >::norm_sq(), libMesh::Real, libMesh::FEAbstract::reinit(), libMesh::SERIAL, libMesh::NumericVector< T >::size(), libMesh::Parallel::Communicator::sum(), libMesh::SystemNorm::type(), libMesh::DofMap::variable_type(), libMesh::W1_INF_SEMINORM, libMesh::W2_INF_SEMINORM, libMesh::SystemNorm::weight(), and libMesh::SystemNorm::weight_sq().
|
protectedinherited |
Check if the linear solver reports convergence. Throw an error when that is not the case.
Referenced by libMesh::RBConstruction::init_context().
|
virtual |
Clear all the data structures associated with the system.
Reimplemented from libMesh::TransientSystem< RBConstruction >.
|
inlineinherited |
Parallel::Communicator
object used by this mesh. Definition at line 87 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_monitor(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::__libmesh_petsc_snes_fd_residual(), libMesh::__libmesh_petsc_snes_jacobian(), libMesh::__libmesh_petsc_snes_mffd_residual(), libMesh::__libmesh_petsc_snes_postcheck(), libMesh::__libmesh_petsc_snes_residual(), libMesh::__libmesh_tao_equality_constraints(), libMesh::__libmesh_tao_equality_constraints_jacobian(), libMesh::__libmesh_tao_gradient(), libMesh::__libmesh_tao_hessian(), libMesh::__libmesh_tao_inequality_constraints(), libMesh::__libmesh_tao_inequality_constraints_jacobian(), libMesh::__libmesh_tao_objective(), libMesh::MeshRefinement::_coarsen_elements(), libMesh::ExactSolution::_compute_error(), libMesh::ParmetisPartitioner::_do_repartition(), libMesh::UniformRefinementEstimator::_estimate_error(), 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::EquationSystems::_read_impl(), libMesh::MeshRefinement::_refine_elements(), libMesh::MeshRefinement::_smooth_flags(), libMesh::ImplicitSystem::add_matrix(), libMesh::System::add_vector(), libMesh::EigenSparseLinearSolver< T >::adjoint_solve(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::FEMSystem::assemble_qoi(), libMesh::MeshCommunication::assign_global_indices(), libMesh::ParmetisPartitioner::assign_partitioning(), libMesh::DofMap::attach_matrix(), libMesh::Parallel::BinSorter< KeyType, IdxType >::binsort(), libMesh::Parallel::Sort< KeyType, IdxType >::binsort(), libMesh::MeshCommunication::broadcast(), libMesh::SparseMatrix< T >::build(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::Parallel::Histogram< KeyType, IdxType >::build_histogram(), libMesh::PetscNonlinearSolver< T >::build_mat_null_space(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::MeshBase::cache_elem_dims(), libMesh::System::calculate_norm(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::DistributedVector< T >::clone(), libMesh::EigenSparseVector< T >::clone(), libMesh::LaspackVector< T >::clone(), libMesh::EpetraVector< T >::clone(), libMesh::PetscVector< T >::clone(), libMesh::EpetraVector< T >::close(), libMesh::Parallel::Sort< KeyType, IdxType >::communicate_bins(), 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::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshTools::create_bounding_box(), 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::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::MeshCommunication::gather(), libMesh::MeshCommunication::gather_neighboring_elements(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::DofMap::get_info(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::EquationSystems::get_solution(), libMesh::LocationMap< T >::init(), libMesh::TopologyMap::init(), libMesh::TimeSolver::init(), libMesh::TaoOptimizationSolver< T >::init(), libMesh::PetscNonlinearSolver< T >::init(), libMesh::DistributedVector< T >::init(), libMesh::EpetraVector< T >::init(), libMesh::PetscVector< T >::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::EigenSystem::init_data(), libMesh::EigenSystem::init_matrices(), libMesh::ParmetisPartitioner::initialize(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_flags(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_p_levels(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), libMesh::libmesh_petsc_snes_residual_helper(), libMesh::MeshRefinement::limit_level_mismatch_at_edge(), libMesh::MeshRefinement::limit_level_mismatch_at_node(), libMesh::MeshRefinement::limit_overrefined_boundary(), libMesh::MeshRefinement::limit_underrefined_boundary(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshCommunication::make_elems_parallel_consistent(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_new_nodes_parallel_consistent(), libMesh::MeshCommunication::make_node_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_unique_ids_parallel_consistent(), libMesh::MeshCommunication::make_nodes_parallel_consistent(), libMesh::MeshCommunication::make_p_levels_parallel_consistent(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::DistributedVector< T >::max(), libMesh::FEMSystem::mesh_position_set(), libMesh::MeshSerializer::MeshSerializer(), libMesh::DistributedVector< T >::min(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshTools::n_active_levels(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), libMesh::MeshTools::n_levels(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::MeshTools::n_p_levels(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::DistributedMesh::parallel_max_elem_id(), libMesh::DistributedMesh::parallel_max_node_id(), libMesh::ReplicatedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_n_elem(), libMesh::DistributedMesh::parallel_n_nodes(), libMesh::SparsityPattern::Build::parallel_sync(), libMesh::MeshTools::paranoid_n_levels(), libMesh::Partitioner::partition(), libMesh::LinearPartitioner::partition_range(), libMesh::MetisPartitioner::partition_range(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::petsc_auto_fieldsplit(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::MeshBase::prepare_for_use(), libMesh::SparseMatrix< T >::print(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::MeshBase::recalculate_n_partitions(), libMesh::MeshCommunication::redistribute(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::CheckpointIO::select_split_config(), libMesh::MeshCommunication::send_coarse_ghosts(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::Parallel::Sort< KeyType, IdxType >::sort(), libMesh::split_mesh(), libMesh::MeshBase::subdomain_ids(), libMesh::BoundaryInfo::sync(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::Parallel::sync_node_data_by_element_id(), libMesh::MeshRefinement::test_level_one(), libMesh::MeshRefinement::test_unflagged(), libMesh::MeshTools::total_weight(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::DistributedVector< T >::zero_clone(), libMesh::EigenSparseVector< T >::zero_clone(), libMesh::LaspackVector< T >::zero_clone(), libMesh::EpetraVector< T >::zero_clone(), and libMesh::PetscVector< T >::zero_clone().
|
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 512 of file system.C.
References libMesh::System::_is_initialized, libMesh::System::_sys_name, libMesh::System::_vectors, libMesh::System::get_vector(), libMesh::System::n_vectors(), libMesh::System::name(), libMesh::out, and libMesh::System::solution.
Referenced by libMesh::EquationSystems::compare(), and libMesh::System::set_adjoint_already_solved().
|
protectedvirtualinherited |
Compute the terms that are combined `online' to determine the dual norm of the residual. Here we compute the terms associated with the right-hand side. These terms are basis independent, hence we separate them from the rest of the calculations that are done in update_residual_terms. By default, inner product terms are also computed, but you can turn this feature off e.g. if you are already reading in that data from files.
|
virtualinherited |
(i) Compute the a posteriori error bound for each set of parameters in the training set, (ii) set current_parameters to the parameters that maximize the error bound, and (iii) return the maximum error bound.
|
protectedvirtualinherited |
Compute and store the dual norm of each output functional.
|
inherited |
Definition at line 192 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(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::HPCoarsenTest::select_refinement(), libMesh::EnsightIO::write_scalar_ascii(), and libMesh::EnsightIO::write_vector_ascii().
|
inlineinherited |
Deactivates the system. Only active systems are solved.
Definition at line 2062 of file system.h.
References libMesh::System::_active.
Referenced by libMesh::System::get_equation_systems().
|
inlineinherited |
Detaches a shell matrix. Same as attach_shell_matrix(libmesh_nullptr)
.
Definition at line 179 of file linear_implicit_system.h.
References libMesh::LinearImplicitSystem::attach_shell_matrix(), and libmesh_nullptr.
|
virtualinherited |
Avoids use of any cached data that might affect any solve result. Should be overridden in derived systems.
Reimplemented from libMesh::System.
Definition at line 313 of file implicit_system.C.
References libMesh::System::assemble_before_solve, libMesh::ImplicitSystem::get_linear_solver(), and libMesh::LinearSolver< T >::reuse_preconditioner().
|
staticinherited |
Definition at line 107 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit(), and libMesh::ReferenceCounter::n_objects().
|
staticinherited |
Definition at line 107 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit(), and libMesh::ReferenceCounter::n_objects().
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 101 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::ReferenceCounter::n_objects().
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 101 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::ReferenceCounter::n_objects().
|
protectedvirtual |
Add a new basis functions to the RB space. In the transient case we first perform a POD of the time-dependent "truth" and then add a certain number of POD modes to the reduced basis.
Reimplemented from libMesh::RBConstruction.
|
inlineinherited |
Definition at line 163 of file linear_implicit_system.h.
References libMesh::LinearImplicitSystem::_final_linear_residual, and libMesh::LinearImplicitSystem::attach_shell_matrix().
|
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].
Uses the forward sensitivity method.
Currently uses finite differenced derivatives (partial q / partial p) and (partial R / partial p).
Reimplemented from libMesh::System.
Definition at line 815 of file implicit_system.C.
References std::abs(), libMesh::SensitivityData::allocate_data(), libMesh::ExplicitSystem::assemble_qoi(), libMesh::ExplicitSystem::assemble_qoi_derivative(), libMesh::ImplicitSystem::assembly(), libMesh::NumericVector< T >::close(), libMesh::SparseMatrix< T >::close(), libMesh::NumericVector< T >::dot(), libMesh::System::get_adjoint_rhs(), libMesh::System::get_sensitivity_solution(), libMesh::QoISet::has_index(), libMesh::ImplicitSystem::matrix, std::max(), libMesh::System::qoi, libMesh::Real, libMesh::ExplicitSystem::rhs, libMesh::ImplicitSystem::sensitivity_solve(), libMesh::ParameterVector::size(), and libMesh::TOLERANCE.
Referenced by libMesh::ImplicitSystem::assembly().
|
staticprotectedinherited |
Static helper function for generating a deterministic set of parameters. Only works with 1 or 2 parameters (as defined by the lengths of min/max parameters vectors), otherwise throws an error.
|
staticprotectedinherited |
Static helper function for generating a randomized set of parameters.
|
inlineinherited |
Definition at line 186 of file rb_construction.h.
References libMesh::RBConstruction::abs_training_tolerance.
|
inherited |
Definition at line 1032 of file system.C.
References libMesh::System::get_vector().
Referenced by libMesh::ImplicitSystem::adjoint_solve(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::System::project_solution_on_reinit(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), and libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
inherited |
Definition at line 1042 of file system.C.
References libMesh::System::get_vector().
|
inherited |
Definition at line 970 of file system.C.
References libMesh::System::get_vector().
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::ImplicitSystem::adjoint_solve(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::System::project_solution_on_reinit(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), and libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
inherited |
Definition at line 980 of file system.C.
References libMesh::System::get_vector().
|
virtual |
Get a map that stores pointers to all of the matrices.
Reimplemented from libMesh::RBConstruction.
|
inherited |
Fills all_variable_numbers
with all the variable numbers for the variables that have been added to this system.
Definition at line 1259 of file system.C.
References libMesh::System::_variable_numbers, and libMesh::System::n_vars().
Referenced by libMesh::System::project_solution_on_reinit().
|
virtualinherited |
Get a map that stores pointers to all of the vectors.
Referenced by libMesh::RBConstruction::is_quiet().
|
inherited |
Get a pointer to Aq.
Referenced by libMesh::RBConstruction::is_quiet().
|
staticinherited |
value
from list_of_values
.
|
inherited |
Get/set the RHS control.
|
protectedinherited |
Getter for the flag determining if convergence should be checked after each solve.
Referenced by libMesh::RBConstruction::init_context().
|
inlineinherited |
Get delta_N, the number of basis functions we add to the RB space per iteration of the greedy algorithm. For steady-state systems, this should be 1, but can be more than 1 for time-dependent systems.
Definition at line 418 of file rb_construction.h.
References libMesh::RBConstruction::build_zero_dirichlet_boundary_object(), libMesh::RBConstruction::delta_N, libMesh::RBConstruction::get_inner_product_assembly(), libMesh::RBConstruction::set_convergence_assertion_flag(), libMesh::RBConstruction::set_inner_product_assembly(), and libMesh::RBConstruction::zero_constrained_dofs_on_vector().
|
inherited |
Get/set delta_t, the time-step size.
|
inherited |
Get the name of the parameter that we will generate deterministic training parameters for.
|
inherited |
Get the number of times each sample of the deterministic training parameter is repeated.
|
inherited |
Get a const reference to the discrete parameter values.
|
inlineinherited |
_dof_map
. Definition at line 2030 of file system.h.
References libMesh::System::_dof_map.
Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::__libmesh_petsc_snes_postcheck(), libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::DifferentiableSystem::add_dot_var_dirichlet_bcs(), libMesh::HPCoarsenTest::add_projection(), libMesh::UnsteadySolver::adjoint_advance_timestep(), libMesh::ImplicitSystem::adjoint_solve(), libMesh::NewmarkSolver::advance_timestep(), libMesh::UnsteadySolver::advance_timestep(), libMesh::EquationSystems::allgather(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::System::calculate_norm(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), DMCreateDomainDecomposition_libMesh(), DMCreateFieldDecomposition_libMesh(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), libMesh::DofMap::enforce_constraints_exactly(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::System::get_info(), libMesh::EquationSystems::get_solution(), libMesh::SystemSubsetBySubdomain::init(), libMesh::SecondOrderUnsteadySolver::init_data(), libMesh::UnsteadySolver::init_data(), libMesh::EigenSystem::init_matrices(), libMesh::ImplicitSystem::init_matrices(), libMesh::CondensedEigenSystem::initialize_condensed_dofs(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::System::local_dof_indices(), libMesh::DofMap::max_constraint_error(), libMesh::DGFEMContext::neighbor_side_fe_reinit(), libMesh::UnsteadySolver::old_nonlinear_solution(), libMesh::SecondOrderUnsteadySolver::old_solution_accel(), libMesh::SecondOrderUnsteadySolver::old_solution_rate(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::operator()(), libMesh::petsc_auto_fieldsplit(), libMesh::ErrorVector::plot_error(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::FEMContext::pre_fe_reinit(), libMesh::System::re_update(), libMesh::SecondOrderUnsteadySolver::reinit(), libMesh::UnsteadySolver::reinit(), libMesh::ImplicitSystem::reinit(), libMesh::EigenSystem::reinit(), libMesh::System::reinit_constraints(), libMesh::EquationSystems::reinit_solutions(), libMesh::UnsteadySolver::retrieve_timestep(), libMesh::HPCoarsenTest::select_refinement(), libMesh::ImplicitSystem::sensitivity_solve(), libMesh::NewtonSolver::solve(), libMesh::PetscDiffSolver::solve(), libMesh::PetscNonlinearSolver< T >::solve(), libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve(), libMesh::ImplicitSystem::weighted_sensitivity_solve(), libMesh::EnsightIO::write_scalar_ascii(), and libMesh::EnsightIO::write_vector_ascii().
|
inlineinherited |
_dof_map
. Definition at line 2038 of file system.h.
References libMesh::System::_dof_map.
|
inlineinherited |
Definition at line 698 of file system.h.
References libMesh::System::_equation_systems.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::NewmarkSystem::clear(), libMesh::FrequencySystem::clear_all(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::ImplicitSystem::get_linear_solve_parameters(), libMesh::FrequencySystem::init_data(), libMesh::FrequencySystem::n_frequencies(), libMesh::System::point_value(), libMesh::FrequencySystem::set_current_frequency(), libMesh::FrequencySystem::set_frequencies(), libMesh::FrequencySystem::set_frequencies_by_range(), libMesh::FrequencySystem::set_frequencies_by_steps(), libMesh::NewmarkSystem::set_newmark_parameters(), libMesh::NonlinearImplicitSystem::set_solver_parameters(), libMesh::EigenSystem::solve(), libMesh::CondensedEigenSystem::solve(), libMesh::FrequencySystem::solve(), libMesh::LinearImplicitSystem::solve(), and libMesh::WrappedFunction< Output >::WrappedFunction().
|
inlineinherited |
Definition at line 703 of file system.h.
References libMesh::System::_equation_systems, libMesh::System::activate(), libMesh::System::active(), libMesh::System::deactivate(), and libMesh::System::set_basic_system_only().
const NumericVector<Number>& libMesh::TransientRBConstruction::get_error_temporal_data | ( | ) |
Get the column of temporal_data corresponding to the current time level. This gives access to the truth projection error data. If the RB basis is empty, then this corresponds to the truth solution data itself.
Referenced by set_delta_N().
|
inherited |
Get/set euler_theta, parameter that determines the temporal discretization.
|
inherited |
Get the first local index of the training parameters.
|
inherited |
Get a pointer to Fq.
Referenced by libMesh::RBConstruction::is_quiet().
|
staticprotectedinherited |
Static function to return the error pair (index,error) that is corresponds to the largest error on all processors.
|
inherited |
Return the parameters chosen during the i^th step of the Greedy algorithm.
|
staticinherited |
Gets a string containing the reference information.
Definition at line 47 of file reference_counter.C.
References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().
Referenced by libMesh::ReferenceCounter::print_info().
|
staticinherited |
Gets a string containing the reference information.
Definition at line 47 of file reference_counter.C.
References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().
Referenced by libMesh::ReferenceCounter::print_info().
|
inherited |
Definition at line 1645 of file system.C.
References libMesh::FEType::family, libMesh::System::get_dof_map(), libMesh::DofMap::get_info(), libMesh::FEType::inf_map, libMesh::System::n_constrained_dofs(), libMesh::System::n_dofs(), libMesh::System::n_local_constrained_dofs(), libMesh::System::n_local_dofs(), libMesh::System::n_matrices(), libMesh::System::n_variable_groups(), libMesh::VariableGroup::n_variables(), libMesh::System::n_vectors(), libMesh::VariableGroup::name(), libMesh::System::name(), libMesh::System::number(), libMesh::FEType::order, libMesh::FEType::radial_family, libMesh::FEType::radial_order, libMesh::System::system_type(), libMesh::Variable::type(), libMesh::DofMap::variable_group(), and libMesh::System::variable_group().
Referenced by libMesh::System::read_parallel_data().
|
inherited |
Referenced by libMesh::RBConstruction::get_delta_N().
|
inherited |
Get a pointer to inner_product_matrix. Accessing via this function, rather than directly through the class member allows us to do error checking (e.g. inner_product_matrix is not defined in low-memory mode).
Referenced by libMesh::RBConstruction::is_quiet().
ElemAssembly& libMesh::TransientRBConstruction::get_L2_assembly | ( | ) |
|
inherited |
Get the last local index of the training parameters.
|
virtualinherited |
Reimplemented in libMesh::NonlinearImplicitSystem, and libMesh::DifferentiableSystem.
Definition at line 1432 of file implicit_system.C.
References libMesh::Parameters::get(), libMesh::System::get_equation_systems(), libMesh::EquationSystems::parameters, and libMesh::Real.
Referenced by libMesh::ImplicitSystem::adjoint_solve(), libMesh::ImplicitSystem::sensitivity_solve(), libMesh::ImplicitSystem::system_type(), libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve(), and libMesh::ImplicitSystem::weighted_sensitivity_solve().
|
virtualinherited |
Reimplemented from libMesh::ImplicitSystem.
Definition at line 353 of file linear_implicit_system.C.
References libMesh::LinearImplicitSystem::linear_solver.
Referenced by libMesh::LinearImplicitSystem::assemble().
|
inherited |
Get the total number of training samples local to this processor.
SparseMatrix<Number>* libMesh::TransientRBConstruction::get_M_q | ( | unsigned int | q | ) |
Get a pointer to M_q.
|
inherited |
mat_name
.None of these matrices is involved in the solution process. Access is only granted when the matrix is already properly initialized.
Definition at line 270 of file implicit_system.C.
References libMesh::ImplicitSystem::_matrices.
Referenced by libMesh::NewmarkSystem::compute_matrix(), libMesh::EigenTimeSolver::solve(), and libMesh::NewmarkSystem::update_rhs().
|
inherited |
mat_name
.None of these matrices is involved in the solution process. Access is only granted when the matrix is already properly initialized.
Definition at line 283 of file implicit_system.C.
References libMesh::ImplicitSystem::_matrices.
|
protectedvirtual |
Override to return the L2 product matrix for output dual norm solves for transient state problems.
Reimplemented from libMesh::RBConstruction.
|
inline |
Get/set max_truth_solves, the maximum number of RB truth solves we are willing to compute in the transient case.
max_truth_solves
is not needed since it is equivalent to Nmax
. Definition at line 208 of file transient_rb_construction.h.
References max_truth_solves.
|
inlineinherited |
_mesh
. Definition at line 2014 of file system.h.
References libMesh::System::_mesh.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::HPCoarsenTest::add_projection(), libMesh::FEMSystem::assemble_qoi(), libMesh::FEMSystem::assemble_qoi_derivative(), libMesh::FEMSystem::assembly(), libMesh::System::calculate_norm(), DMCreateDomainDecomposition_libMesh(), DMCreateFieldDecomposition_libMesh(), DMlibMeshSetSystem_libMesh(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::SystemSubsetBySubdomain::init(), libMesh::System::init_data(), libMesh::EigenSystem::init_matrices(), libMesh::ImplicitSystem::init_matrices(), libMesh::System::local_dof_indices(), libMesh::DofMap::max_constraint_error(), libMesh::FEMSystem::mesh_position_get(), libMesh::FEMSystem::mesh_position_set(), libMesh::petsc_auto_fieldsplit(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::FEMSystem::postprocess(), libMesh::ImplicitSystem::reinit(), libMesh::EigenSystem::reinit(), libMesh::HPSingularity::select_refinement(), libMesh::HPCoarsenTest::select_refinement(), and libMesh::System::zero_variable().
|
inlineinherited |
_mesh
. Definition at line 2022 of file system.h.
References libMesh::System::_mesh.
|
inherited |
Get the number of continuous parameters.
|
inherited |
Get the number of discrete parameters.
|
inherited |
Get the number of parameters.
|
inherited |
Get/set the total number of time-steps.
|
inherited |
Get the total number of training samples.
|
inlineinherited |
Get/set Nmax, the maximum number of RB functions we are willing to compute.
Definition at line 199 of file rb_construction.h.
References libMesh::RBConstruction::Nmax, and libMesh::RBConstruction::set_Nmax().
|
inherited |
Get a pointer to non_dirichlet_Aq.
Referenced by libMesh::RBConstruction::is_quiet().
|
inherited |
Get a pointer to non_dirichlet_Aq if it's available, otherwise get Aq.
Referenced by libMesh::RBConstruction::is_quiet().
|
inherited |
Get a pointer to non-Dirichlet Fq.
Referenced by libMesh::RBConstruction::is_quiet().
|
inherited |
Get a pointer to non_dirichlet_Fq if it's available, otherwise get Fq.
Referenced by libMesh::RBConstruction::is_quiet().
|
inherited |
Get the non-Dirichlet (or more generally no-constraints) version of the inner-product matrix. This is useful for performing multiplications on vectors that already have constraints enforced.
Referenced by libMesh::RBConstruction::is_quiet().
|
inherited |
Get the non-Dirichlet inner-product matrix if it's available, otherwise get the inner-product matrix with constraints.
Referenced by libMesh::RBConstruction::is_quiet().
SparseMatrix<Number>* libMesh::TransientRBConstruction::get_non_dirichlet_M_q | ( | unsigned int | q | ) |
Get a pointer to non_dirichlet_M_q.
|
inherited |
Get a pointer to non-Dirichlet output vector.
Referenced by libMesh::RBConstruction::is_quiet().
|
inlineinherited |
Definition at line 193 of file rb_construction.h.
References libMesh::RBConstruction::normalize_rb_bound_in_greedy.
|
inherited |
Get a pointer to the n^th output.
Referenced by libMesh::RBConstruction::is_quiet().
|
virtualinherited |
Get a map that stores pointers to all of the vectors.
Referenced by libMesh::RBConstruction::is_quiet().
|
inherited |
Get maximum allowable value of parameter param_name
.
|
inherited |
Get minimum allowable value of parameter param_name
.
|
inherited |
Get a set that stores the parameter names.
|
inherited |
Get the current parameters.
|
inherited |
Get an RBParameters object that specifies the maximum allowable value for each parameter.
|
inherited |
Get an RBParameters object that specifies the minimum allowable value for each parameter.
|
protectedinherited |
Return the RBParameters in index index
of training set.
|
inline |
|
inherited |
|
protectedvirtualinherited |
Used in the Greedy algorithm to select the next parameter.
Reimplemented in libMesh::RBEIMConstruction.
|
inherited |
Get a reference to the RBEvaluation object.
|
inherited |
Get a reference to the RBThetaExpansion object that that belongs to rb_eval.
|
inlineinherited |
Definition at line 179 of file rb_construction.h.
References libMesh::RBConstruction::rel_training_tolerance.
|
inherited |
assemble_residual_derivatives()
is called.When assembled, this vector should hold -(partial R / partial p_i)
Definition at line 1062 of file system.C.
References libMesh::System::get_vector().
Referenced by libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::System::project_solution_on_reinit(), and libMesh::ImplicitSystem::sensitivity_solve().
|
inherited |
Definition at line 1072 of file system.C.
References libMesh::System::get_vector().
|
inherited |
Definition at line 917 of file system.C.
References libMesh::System::get_vector().
Referenced by libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::System::project_solution_on_reinit(), libMesh::ImplicitSystem::qoi_parameter_hessian(), and libMesh::ImplicitSystem::sensitivity_solve().
|
inherited |
Definition at line 927 of file system.C.
References libMesh::System::get_vector().
|
inlineinherited |
NULL
else. Definition at line 185 of file linear_implicit_system.h.
References libMesh::LinearImplicitSystem::_shell_matrix.
|
inherited |
Get/set the current time-step.
|
inherited |
vec_name
. Access is only granted when the vector is already properly initialized. Definition at line 775 of file system.C.
References libMesh::System::_vectors.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::UnsteadySolver::adjoint_advance_timestep(), libMesh::NewmarkSolver::advance_timestep(), libMesh::AdaptiveTimeSolver::advance_timestep(), libMesh::UnsteadySolver::advance_timestep(), libMesh::System::compare(), libMesh::NewmarkSolver::compute_initial_accel(), libMesh::UnsteadySolver::du(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::System::get_adjoint_rhs(), libMesh::System::get_adjoint_solution(), libMesh::System::get_sensitivity_rhs(), libMesh::System::get_sensitivity_solution(), libMesh::System::get_weighted_sensitivity_adjoint_solution(), libMesh::System::get_weighted_sensitivity_solution(), libMesh::NewmarkSystem::initial_conditions(), libMesh::NewmarkSolver::project_initial_accel(), libMesh::SecondOrderUnsteadySolver::project_initial_rate(), libMesh::System::project_solution_on_reinit(), libMesh::SecondOrderUnsteadySolver::reinit(), libMesh::UnsteadySolver::reinit(), libMesh::MemorySolutionHistory::retrieve(), libMesh::UnsteadySolver::retrieve_timestep(), libMesh::TwostepTimeSolver::solve(), libMesh::TaoOptimizationSolver< T >::solve(), libMesh::NloptOptimizationSolver< T >::solve(), libMesh::FrequencySystem::solve(), libMesh::NewmarkSystem::update_rhs(), and libMesh::NewmarkSystem::update_u_v_a().
|
inherited |
vec_name
. Access is only granted when the vector is already properly initialized. Definition at line 788 of file system.C.
References libMesh::System::_vectors.
|
inherited |
vec_num
(where the vectors are counted starting with 0). Definition at line 801 of file system.C.
References libMesh::System::vectors_begin(), and libMesh::System::vectors_end().
|
inherited |
vec_num
(where the vectors are counted starting with 0). Definition at line 817 of file system.C.
References libMesh::System::vectors_begin(), and libMesh::System::vectors_end().
|
inherited |
Definition at line 1002 of file system.C.
References libMesh::System::get_vector().
Referenced by libMesh::System::project_solution_on_reinit(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), and libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
inherited |
Definition at line 1012 of file system.C.
References libMesh::System::get_vector().
|
inherited |
Definition at line 944 of file system.C.
References libMesh::System::get_vector().
Referenced by libMesh::System::project_solution_on_reinit(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), and libMesh::ImplicitSystem::weighted_sensitivity_solve().
|
inherited |
Definition at line 951 of file system.C.
References libMesh::System::get_vector().
|
virtual |
Function that indicates when to terminate the Greedy basis training.
Reimplemented from libMesh::RBConstruction.
|
inherited |
true
if a variable named var
exists in this System Definition at line 1237 of file system.C.
References libMesh::System::_variable_numbers.
Referenced by libMesh::GMVIO::copy_nodal_solution(), and libMesh::System::project_solution_on_reinit().
|
inlineinherited |
true
if this System
has a matrix associated with the given name, false
otherwise. Definition at line 403 of file implicit_system.h.
Referenced by libMesh::ImplicitSystem::add_matrix(), and libMesh::EigenTimeSolver::init().
|
inlineinherited |
true
if this System
has a vector associated with the given name, false
otherwise. Definition at line 2206 of file system.h.
References libMesh::System::_vectors.
Referenced by libMesh::System::add_vector(), and libMesh::System::project_solution_on_reinit().
|
inlineinherited |
true
, then EquationSystems::write
will ignore this system. Definition at line 1643 of file system.h.
References libMesh::System::_hide_output, libMesh::System::discrete_var_norm(), end, libMesh::System::init_data(), libMesh::invalid_uint, libMesh::ReferenceCounter::n_objects(), libMesh::System::operator=(), libMesh::System::project_vector(), libMesh::System::projection_matrix(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::System::read_serialized_vector(), libMesh::Real, and libMesh::System::System().
|
inlineinherited |
true
when VariableGroup
structures should be automatically identified, false
otherwise. Definition at line 2182 of file system.h.
References libMesh::System::_identify_variable_groups.
Referenced by libMesh::System::add_variable(), and libMesh::System::project_solution_on_reinit().
|
inlineinherited |
Toggle automatic VariableGroup
identification.
Definition at line 2190 of file system.h.
References libMesh::System::_identify_variable_groups.
|
inlineprotectedinherited |
Increments the construction counter. Should be called in the constructor of any derived class that will be reference counted.
Definition at line 185 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCounter::n_objects(), and libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectedinherited |
Increments the construction counter. Should be called in the constructor of any derived class that will be reference counted.
Definition at line 185 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCounter::n_objects(), and libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectedinherited |
Increments the destruction counter. Should be called in the destructor of any derived class that will be reference counted.
Definition at line 198 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCounter::n_objects(), and libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
inlineprotectedinherited |
Increments the destruction counter. Should be called in the destructor of any derived class that will be reference counted.
Definition at line 198 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCounter::n_objects(), and libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
inherited |
Initializes degrees of freedom on the current mesh. Sets the
Definition at line 235 of file system.C.
References libMesh::System::_basic_system_only, libMesh::System::init_data(), libMesh::System::is_initialized(), libMesh::System::n_vars(), and libMesh::System::user_initialization().
Referenced by libMesh::System::system().
|
inlineprotectedvirtualinherited |
Initialize the FEMContext prior to performing an element loop. Reimplement this in derived classes in order to call FE::get_*() as the particular physics requires.
Definition at line 697 of file rb_construction.h.
References libMesh::RBConstruction::check_convergence(), and libMesh::RBConstruction::get_convergence_assertion_flag().
|
protectedvirtualinherited |
Initializes the member data fields associated with the system, so that, e.g., assemble()
may be used.
Reimplemented from libMesh::LinearImplicitSystem.
Reimplemented in libMesh::RBEIMConstruction.
|
protectedvirtualinherited |
Initializes the matrices associated with this system.
Definition at line 107 of file implicit_system.C.
References libMesh::ImplicitSystem::_can_add_matrices, libMesh::ImplicitSystem::_matrices, libMesh::DofMap::attach_matrix(), libMesh::DofMap::compute_sparsity(), libMesh::System::get_dof_map(), libMesh::System::get_mesh(), libMesh::SparseMatrix< T >::initialized(), libMesh::DofMap::is_attached(), and libMesh::ImplicitSystem::matrix.
Referenced by libMesh::ImplicitSystem::init_data().
|
inherited |
Initialize the parameter ranges and set current_parameters.
|
inherited |
Initialize the parameter ranges and set current_parameters.
|
virtual |
Allocate all the data structures necessary for the construction stage of the RB method. This function also performs matrix and vector assembly of the "truth" affine expansion.
Override to check that theta and assembly expansions are consistently sized.
Reimplemented from libMesh::RBConstruction.
|
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.
|
protectedvirtual |
This function imposes a truth initial condition, defaults to zero initial condition if the flag nonzero_initialization is true.
|
inlineinherited |
Accessor for the adjoint_already_solved boolean
Definition at line 374 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?
|
inlineinherited |
true
iff this system has been initialized. Definition at line 2070 of file system.h.
References libMesh::System::_is_initialized.
Referenced by libMesh::System::add_variable(), libMesh::System::add_variables(), libMesh::System::init(), and libMesh::System::system().
|
inlineinherited |
Is the system in quiet mode?
Definition at line 213 of file rb_construction.h.
References libMesh::RBConstruction::add_scaled_Aq(), libMesh::RBConstruction::assemble_affine_expansion(), libMesh::RBConstruction::assemble_Aq_matrix(), libMesh::RBConstruction::assemble_Fq_vector(), libMesh::RBConstruction::assemble_inner_product_matrix(), libMesh::RBConstruction::get_all_matrices(), libMesh::RBConstruction::get_all_vectors(), libMesh::RBConstruction::get_Aq(), libMesh::RBConstruction::get_Fq(), libMesh::RBConstruction::get_inner_product_matrix(), libMesh::RBConstruction::get_non_dirichlet_Aq(), libMesh::RBConstruction::get_non_dirichlet_Aq_if_avail(), libMesh::RBConstruction::get_non_dirichlet_Fq(), libMesh::RBConstruction::get_non_dirichlet_Fq_if_avail(), libMesh::RBConstruction::get_non_dirichlet_inner_product_matrix(), libMesh::RBConstruction::get_non_dirichlet_inner_product_matrix_if_avail(), libMesh::RBConstruction::get_non_dirichlet_output_vector(), libMesh::RBConstruction::get_output_vector(), libMesh::RBConstruction::get_output_vectors(), libMesh::RBConstruction::initialize_rb_construction(), libMesh::RBConstruction::load_basis_function(), libMesh::RBConstruction::load_rb_solution(), libMesh::RBConstruction::print_basis_function_orthogonality(), libMesh::RBConstruction::print_info(), libMesh::RBConstruction::process_parameters_file(), libMesh::RBConstruction::quiet_mode, libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::Real, libMesh::RBConstruction::recompute_all_residual_terms(), libMesh::RBConstruction::set_rb_construction_parameters(), and libMesh::RBConstruction::write_riesz_representors_to_files().
|
inherited |
true
if rb_eval is initialized. False, otherwise.
|
virtualinherited |
Load the i^th RB function into the RBConstruction solution vector.
Reimplemented in libMesh::RBEIMConstruction.
Referenced by libMesh::RBConstruction::is_quiet().
|
virtual |
Load the RB solution from the current time-level into the libMesh solution vector.
Reimplemented from libMesh::RBConstruction.
Referenced by set_delta_N().
|
virtualinherited |
Overwrite the training parameters with new_training_set.
|
inherited |
Fills the std::set with the degrees of freedom on the local processor corresponding the the variable number passed in.
Definition at line 1278 of file system.C.
References libMesh::DofMap::dof_indices(), libMesh::DofMap::end_dof(), libMesh::DofMap::first_dof(), libMesh::System::get_dof_map(), and libMesh::System::get_mesh().
Referenced by libMesh::System::discrete_var_norm().
void libMesh::TransientRBConstruction::mass_matrix_scaled_matvec | ( | Number | scalar, |
NumericVector< Number > & | dest, | ||
NumericVector< Number > & | arg | ||
) |
Perform a matrix-vector multiplication with the current mass matrix and store the result in dest.
|
inlineinherited |
Definition at line 2198 of file system.h.
References libMesh::System::n_constrained_dofs(), and libMesh::System::n_dofs().
Referenced by libMesh::System::project_solution_on_reinit().
|
inlineinherited |
n_vars()
in the case of all scalar-valued variables. Definition at line 2102 of file system.h.
References libMesh::System::_variables, libMesh::Variable::first_scalar_number(), and libMesh::Variable::n_components().
Referenced by libMesh::System::add_variables(), libMesh::WrappedFunction< Output >::operator()(), and libMesh::System::project_solution_on_reinit().
|
inherited |
Definition at line 155 of file system.C.
References libMesh::System::_dof_map.
Referenced by libMesh::System::get_info(), libMesh::System::n_active_dofs(), and libMesh::System::project_solution_on_reinit().
|
inherited |
Definition at line 148 of file system.C.
References libMesh::System::_dof_map.
Referenced by libMesh::System::add_vector(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::System::get_info(), libMesh::SecondOrderUnsteadySolver::init_data(), libMesh::UnsteadySolver::init_data(), libMesh::System::init_data(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::System::n_active_dofs(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), libMesh::System::project_solution_on_reinit(), libMesh::SecondOrderUnsteadySolver::reinit(), libMesh::UnsteadySolver::reinit(), and libMesh::System::restrict_vectors().
|
inlineinherited |
Definition at line 158 of file linear_implicit_system.h.
References libMesh::LinearImplicitSystem::_n_linear_iterations.
|
inherited |
Definition at line 170 of file system.C.
References libMesh::System::_dof_map.
Referenced by libMesh::System::get_info(), and libMesh::System::project_solution_on_reinit().
|
inherited |
Definition at line 185 of file system.C.
References libMesh::System::_dof_map, and libMesh::ParallelObject::processor_id().
Referenced by libMesh::System::add_vector(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::System::get_info(), libMesh::SecondOrderUnsteadySolver::init_data(), libMesh::UnsteadySolver::init_data(), libMesh::System::init_data(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::System::project_solution_on_reinit(), libMesh::SecondOrderUnsteadySolver::reinit(), libMesh::UnsteadySolver::reinit(), and libMesh::System::restrict_vectors().
|
inlinevirtualinherited |
Reimplemented from libMesh::System.
Definition at line 410 of file implicit_system.h.
References libMesh::ImplicitSystem::_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, libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), libMesh::ReferenceCounter::increment_constructor_count(), libMesh::ReferenceCounter::increment_destructor_count(), and libMesh::Quality::name().
Referenced by libMesh::System::hide_output(), and 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, libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), libMesh::ReferenceCounter::increment_constructor_count(), libMesh::ReferenceCounter::increment_destructor_count(), and libMesh::Quality::name().
Referenced by libMesh::System::hide_output(), and libMesh::LibMeshInit::LibMeshInit().
|
inlineinherited |
Definition at line 93 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and libMesh::Parallel::Communicator::size().
Referenced by libMesh::ParmetisPartitioner::_do_repartition(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::DistributedMesh::add_elem(), libMesh::DistributedMesh::add_node(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::FEMSystem::assembly(), libMesh::ParmetisPartitioner::assign_partitioning(), libMesh::AztecLinearSolver< T >::AztecLinearSolver(), libMesh::MeshCommunication::broadcast(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::DistributedMesh::clear(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::UnstructuredMesh::create_pid_mesh(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DistributedMesh::DistributedMesh(), libMesh::EnsightIO::EnsightIO(), libMesh::MeshCommunication::gather(), libMesh::MeshCommunication::gather_neighboring_elements(), libMesh::MeshBase::get_info(), libMesh::EquationSystems::get_solution(), libMesh::DistributedVector< T >::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::ParmetisPartitioner::initialize(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::DistributedMesh::insert_elem(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshBase::n_active_elem_on_proc(), libMesh::MeshBase::n_elem_on_proc(), libMesh::MeshBase::n_nodes_on_proc(), libMesh::SparsityPattern::Build::parallel_sync(), libMesh::Partitioner::partition(), libMesh::MeshBase::partition(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::PetscLinearSolver< T >::PetscLinearSolver(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::SparseMatrix< T >::print(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_header(), libMesh::CheckpointIO::read_nodes(), libMesh::MeshCommunication::redistribute(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::Partitioner::repartition(), libMesh::MeshCommunication::send_coarse_ghosts(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Parallel::Sort< KeyType, IdxType >::sort(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), and libMesh::XdrIO::write_serialized_nodesets().
|
inlineinherited |
VariableGroup
variable groups in the system Definition at line 2094 of file system.h.
References libMesh::System::_variable_groups.
Referenced by libMesh::System::add_variable(), libMesh::FEMSystem::assembly(), libMesh::System::get_info(), libMesh::System::init_data(), and libMesh::System::project_solution_on_reinit().
|
inlineinherited |
Definition at line 2086 of file system.h.
References libMesh::System::_variables.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::DiffContext::add_localized_vector(), libMesh::System::add_variable(), libMesh::System::add_variables(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::System::calculate_norm(), libMesh::WrappedFunction< Output >::component(), libMesh::DGFEMContext::DGFEMContext(), libMesh::DiffContext::DiffContext(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::ErrorEstimator::estimate_errors(), libMesh::ExactSolution::ExactSolution(), libMesh::System::get_all_variable_numbers(), libMesh::EquationSystems::get_solution(), libMesh::System::init(), libMesh::FEMSystem::init_context(), libMesh::FEMContext::init_internal_data(), libMesh::DGFEMContext::neighbor_side_fe_reinit(), libMesh::WrappedFunction< Output >::operator()(), libMesh::petsc_auto_fieldsplit(), libMesh::FEMContext::pre_fe_reinit(), libMesh::System::project_solution_on_reinit(), libMesh::System::re_update(), libMesh::HPCoarsenTest::select_refinement(), libMesh::SystemSubsetBySubdomain::set_var_nums(), and libMesh::System::zero_variable().
|
inlineinherited |
_vectors
map Definition at line 2214 of file system.h.
References libMesh::System::_vectors.
Referenced by libMesh::ExplicitSystem::add_system_rhs(), libMesh::System::compare(), libMesh::System::get_info(), and libMesh::System::project_solution_on_reinit().
|
inlineinherited |
Definition at line 1998 of file system.h.
References libMesh::System::_sys_name.
Referenced by libMesh::System::compare(), libMesh::WrappedFunction< Output >::component(), libMesh::ContinuationSystem::ContinuationSystem(), DMlibMeshSetUpName_Private(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::ExactSolution::ExactSolution(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::System::get_info(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::NewtonSolver::init(), libMesh::TimeSolver::init_data(), libMesh::WrappedFunction< Output >::operator()(), libMesh::petsc_auto_fieldsplit(), libMesh::TimeSolver::reinit(), libMesh::System::set_adjoint_already_solved(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::FrequencySystem::solve(), libMesh::LinearImplicitSystem::solve(), libMesh::NonlinearImplicitSystem::solve(), libMesh::FrequencySystem::system_type(), libMesh::System::user_assembly(), libMesh::System::user_constrain(), libMesh::System::user_initialization(), libMesh::System::user_QOI(), and libMesh::System::user_QOI_derivative().
|
inlineinherited |
Definition at line 2006 of file system.h.
References libMesh::System::_sys_number.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::System::add_variable(), libMesh::System::add_variables(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::System::get_info(), libMesh::HPCoarsenTest::select_refinement(), and libMesh::System::zero_variable().
|
inherited |
|