libMesh
|
This class is part of the rbOOmit framework. More...
#include <rb_eim_evaluation.h>
Public Types | |
typedef RBEvaluation | Parent |
The type of the parent. More... | |
Public Member Functions | |
RBEIMEvaluation (const libMesh::Parallel::Communicator &comm_in) | |
Constructor. More... | |
virtual | ~RBEIMEvaluation () |
Destructor. More... | |
virtual void | clear () override |
Clear this object. More... | |
virtual void | resize_data_structures (const unsigned int Nmax, bool resize_error_bound_data=true) override |
Resize the data structures for storing data associated with this object. More... | |
void | attach_parametrized_function (RBParametrizedFunction *pf) |
Attach the parametrized function that we will approximate using the Empirical Interpolation Method. More... | |
unsigned int | get_n_parametrized_functions () const |
Get the number of parametrized functions that have been attached to this system. More... | |
ReplicatedMesh & | get_interpolation_points_mesh () |
Get a writable reference to the interpolation points mesh. More... | |
Number | evaluate_parametrized_function (unsigned int var_index, const Point &p, const Elem &elem) |
virtual Real | rb_solve (unsigned int N) override |
Calculate the EIM approximation to parametrized_function using the first N EIM basis functions. More... | |
void | rb_solve (DenseVector< Number > &EIM_rhs) |
Calculate the EIM approximation for the given right-hand side vector EIM_rhs . More... | |
virtual Real | get_error_bound_normalization () override |
void | initialize_eim_theta_objects () |
Build a vector of RBTheta objects that accesses the components of the RB_solution member variable of this RBEvaluation. More... | |
std::vector< std::unique_ptr< RBTheta > > & | get_eim_theta_objects () |
virtual std::unique_ptr< RBTheta > | build_eim_theta (unsigned int index) |
Build a theta object corresponding to EIM index index . More... | |
virtual void | legacy_write_offline_data_to_files (const std::string &directory_name="offline_data", const bool write_binary_data=true) override |
Write out all the data to text files in order to segregate the Offline stage from the Online stage. More... | |
virtual void | legacy_read_offline_data_from_files (const std::string &directory_name="offline_data", bool read_error_bound_data=true, const bool read_binary_data=true) override |
Read in the saved Offline reduced basis data to initialize the system for Online solves. More... | |
void | set_rb_theta_expansion (RBThetaExpansion &rb_theta_expansion_in) |
Set the RBThetaExpansion object. More... | |
RBThetaExpansion & | get_rb_theta_expansion () |
Get a reference to the rb_theta_expansion. More... | |
bool | is_rb_theta_expansion_initialized () const |
NumericVector< Number > & | get_basis_function (unsigned int i) |
Get a reference to the i^th basis function. More... | |
virtual Real | compute_residual_dual_norm (const unsigned int N) |
Compute the dual norm of the residual for the solution saved in RB_solution_vector. More... | |
virtual Real | residual_scaling_denom (Real alpha_LB) |
Specifies the residual scaling on the denominator to be used in the a posteriori error bound. More... | |
Real | eval_output_dual_norm (unsigned int n, const RBParameters &mu) |
Evaluate the dual norm of output n for the current parameters. More... | |
virtual Real | get_stability_lower_bound () |
Get a lower bound for the stability constant (e.g. More... | |
virtual unsigned int | get_n_basis_functions () const |
Get the current number of basis functions. More... | |
virtual void | set_n_basis_functions (unsigned int n_bfs) |
Set the number of basis functions. More... | |
virtual void | clear_riesz_representors () |
Clear all the Riesz representors that are used to compute the RB residual (and hence error bound). More... | |
virtual void | write_out_basis_functions (System &sys, const std::string &directory_name="offline_data", const bool write_binary_basis_functions=true) |
Write out all the basis functions to file. More... | |
virtual void | write_out_vectors (System &sys, std::vector< NumericVector< Number > * > &vectors, const std::string &directory_name="offline_data", const std::string &data_name="bf", const bool write_binary_basis_functions=true) |
Same as write_out_basis_functions, except in this case we pass in the vectors to be written. More... | |
virtual void | read_in_basis_functions (System &sys, const std::string &directory_name="offline_data", const bool read_binary_basis_functions=true) |
Read in all the basis functions from file. More... | |
void | read_in_vectors (System &sys, std::vector< std::unique_ptr< NumericVector< Number >>> &vectors, const std::string &directory_name, const std::string &data_name, const bool read_binary_vectors) |
Same as read_in_basis_functions, except in this case we pass in the vectors to be written. More... | |
void | read_in_vectors_from_multiple_files (System &sys, std::vector< std::vector< std::unique_ptr< NumericVector< Number >>> * > multiple_vectors, const std::vector< std::string > &multiple_directory_names, const std::vector< std::string > &multiple_data_names, const bool read_binary_vectors) |
Performs read_in_vectors for a list of directory names and data names. More... | |
void | initialize_parameters (const RBParameters &mu_min_in, const RBParameters &mu_max_in, const std::map< std::string, std::vector< Real >> &discrete_parameter_values) |
Initialize the parameter ranges and set current_parameters. More... | |
void | initialize_parameters (const RBParametrized &rb_parametrized) |
Initialize the parameter ranges and set current_parameters. More... | |
unsigned int | get_n_params () const |
Get the number of parameters. More... | |
unsigned int | get_n_continuous_params () const |
Get the number of continuous parameters. More... | |
unsigned int | get_n_discrete_params () const |
Get the number of discrete parameters. More... | |
std::set< std::string > | get_parameter_names () const |
Get a set that stores the parameter names. More... | |
const RBParameters & | get_parameters () const |
Get the current parameters. More... | |
void | set_parameters (const RBParameters ¶ms) |
Set the current parameters to params . More... | |
const RBParameters & | get_parameters_min () const |
Get an RBParameters object that specifies the minimum allowable value for each parameter. More... | |
const RBParameters & | get_parameters_max () const |
Get an RBParameters object that specifies the maximum allowable value for each parameter. More... | |
Real | get_parameter_min (const std::string ¶m_name) const |
Get minimum allowable value of parameter param_name . More... | |
Real | get_parameter_max (const std::string ¶m_name) const |
Get maximum allowable value of parameter param_name . More... | |
void | print_parameters () const |
Print the current parameters. More... | |
void | write_parameter_data_to_files (const std::string &continuous_param_file_name, const std::string &discrete_param_file_name, const bool write_binary_data) |
Write out the parameter ranges to files. More... | |
void | read_parameter_data_from_files (const std::string &continuous_param_file_name, const std::string &discrete_param_file_name, const bool read_binary_data) |
Read in the parameter ranges from files. More... | |
bool | is_discrete_parameter (const std::string &mu_name) const |
Is parameter mu_name discrete? More... | |
const std::map< std::string, std::vector< Real > > & | get_discrete_parameter_values () const |
Get a const reference to the discrete parameter values. More... | |
void | print_discrete_parameter_values () const |
Print out all the discrete parameter values. More... | |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
Static Public Member Functions | |
static Real | get_closest_value (Real value, const std::vector< Real > &list_of_values) |
static std::string | get_info () |
Gets a string containing the reference information. More... | |
static void | print_info (std::ostream &out=libMesh::out) |
Prints the reference information, by default to libMesh::out . More... | |
static unsigned int | n_objects () |
Prints the number of outstanding (created, but not yet destroyed) objects. More... | |
static void | enable_print_counter_info () |
Methods to enable/disable the reference counter output from print_info() More... | |
static void | disable_print_counter_info () |
Public Attributes | |
DenseMatrix< Number > | interpolation_matrix |
Dense matrix that stores the lower triangular interpolation matrix that can be used. More... | |
std::vector< Point > | interpolation_points |
The list of interpolation points, i.e. More... | |
std::vector< unsigned int > | interpolation_points_var |
The corresponding list of variables indices at which the interpolation points were identified. More... | |
std::vector< Elem * > | interpolation_points_elem |
The corresponding list of elements at which the interpolation points were identified. More... | |
std::vector< std::unique_ptr< NumericVector< Number > > > | basis_functions |
The libMesh vectors storing the finite element coefficients of the RB basis functions. More... | |
std::vector< RBParameters > | greedy_param_list |
The list of parameters selected by the Greedy algorithm in generating the Reduced Basis associated with this RBEvaluation object. More... | |
DenseMatrix< Number > | RB_inner_product_matrix |
The inner product matrix. More... | |
std::vector< DenseMatrix< Number > > | RB_Aq_vector |
Dense matrices for the RB computations. More... | |
std::vector< DenseVector< Number > > | RB_Fq_vector |
Dense vector for the RHS. More... | |
DenseVector< Number > | RB_solution |
The RB solution vector. More... | |
std::vector< std::vector< DenseVector< Number > > > | RB_output_vectors |
The vectors storing the RB output vectors. More... | |
std::vector< Number > | RB_outputs |
The vectors storing the RB output values and corresponding error bounds. More... | |
std::vector< Real > | RB_output_error_bounds |
std::vector< Number > | Fq_representor_innerprods |
Vectors storing the residual representor inner products to be used in computing the residuals online. More... | |
std::vector< std::vector< std::vector< Number > > > | Fq_Aq_representor_innerprods |
Vectors storing the residual representor inner products to be used in computing the residuals online. More... | |
std::vector< std::vector< std::vector< Number > > > | Aq_Aq_representor_innerprods |
std::vector< std::vector< Number > > | output_dual_innerprods |
The vector storing the dual norm inner product terms for each output. More... | |
std::vector< std::vector< std::unique_ptr< NumericVector< Number > > > > | Aq_representor |
Vector storing the residual representors associated with the left-hand side. More... | |
bool | evaluate_RB_error_bound |
Boolean to indicate whether we evaluate a posteriori error bounds when rb_solve is called. More... | |
bool | compute_RB_inner_product |
Boolean flag to indicate whether we compute the RB_inner_product_matrix. More... | |
bool | verbose_mode |
Public boolean to toggle verbose mode. More... | |
Protected Types | |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Data structure to log the information. More... | |
Protected Member Functions | |
void | assert_file_exists (const std::string &file_name) |
Helper function that checks if file_name exists. More... | |
void | increment_constructor_count (const std::string &name) |
Increments the construction counter. More... | |
void | increment_destructor_count (const std::string &name) |
Increments the destruction counter. More... | |
Protected Attributes | |
const Parallel::Communicator & | _communicator |
Static Protected Attributes | |
static Counts | _counts |
Actually holds the data. More... | |
static Threads::atomic< unsigned int > | _n_objects |
The number of objects. More... | |
static Threads::spin_mutex | _mutex |
Mutual exclusion object to enable thread-safe reference counting. More... | |
static bool | _enable_print_counter = true |
Flag to control whether reference count information is printed when print_info is called. More... | |
Private Member Functions | |
void | legacy_write_out_interpolation_points_elem (const std::string &directory_name) |
Write out interpolation_points_elem by putting the elements into a mesh and writing out the mesh. More... | |
void | legacy_read_in_interpolation_points_elem (const std::string &directory_name) |
Read int interpolation_points_elem from a mesh. More... | |
void | write_parameter_ranges_to_file (const std::string &file_name, const bool write_binary) |
Write out the parameter ranges to file. More... | |
void | write_discrete_parameter_values_to_file (const std::string &file_name, const bool write_binary_data) |
Write out the discrete parameter values to file. More... | |
void | read_parameter_ranges_from_file (const std::string &file_name, const bool read_binary, RBParameters ¶m_min, RBParameters ¶m_max) |
Read in the parameter ranges from file. More... | |
void | read_discrete_parameter_values_from_file (const std::string &file_name, const bool read_binary_data, std::map< std::string, std::vector< Real >> &discrete_parameter_values_in) |
Read in the discrete parameter values from file, if we have any. More... | |
bool | valid_params (const RBParameters ¶ms) |
Helper function to check that params is valid. More... | |
Static Private Member Functions | |
static bool | is_value_in_list (Real value, const std::vector< Real > &list_of_values, Real tol) |
Helper function to check if the specified value is in the list of values (within a tolerance given by tol ). More... | |
Private Attributes | |
std::vector< RBParametrizedFunction * > | _parametrized_functions |
This vector stores the parametrized functions that will be approximated in this EIM system. More... | |
std::vector< std::unique_ptr< RBTheta > > | _rb_eim_theta_objects |
The vector of RBTheta objects that are created to point to this RBEIMEvaluation. More... | |
RBThetaExpansion | _empty_rb_theta_expansion |
We initialize RBEIMEvaluation so that it has an "empty" RBThetaExpansion, because this isn't used at all in the EIM. More... | |
RBParameters | _previous_parameters |
Store the parameters at which the previous solve was performed (so we can avoid an unnecessary repeat solve). More... | |
unsigned int | _previous_N |
Store the number of basis functions used for the previous solve (so we can avoid an unnecessary repeat solve). More... | |
Real | _previous_error_bound |
Store the previous error bound returned by rb_solve (so we can return it if we are avoiding an unnecessary repeat solve). More... | |
ReplicatedMesh | _interpolation_points_mesh |
Mesh object that we use to store copies of the elements associated with interpolation points. More... | |
RBThetaExpansion * | rb_theta_expansion |
A pointer to to the object that stores the theta expansion. More... | |
bool | parameters_initialized |
Flag indicating whether the parameters have been initialized. More... | |
RBParameters | parameters |
Vector storing the current parameters. More... | |
RBParameters | parameters_min |
Vectors that define the ranges (min and max) for the parameters. More... | |
RBParameters | parameters_max |
std::map< std::string, std::vector< Real > > | _discrete_parameter_values |
Map that defines the allowable values of any discrete parameters. More... | |
This class is part of the rbOOmit framework.
RBEIMEvaluation extends RBEvaluation to encapsulate the code and data required to perform "online" evaluations for EIM approximations.
Definition at line 51 of file rb_eim_evaluation.h.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 117 of file reference_counter.h.
The type of the parent.
Definition at line 68 of file rb_eim_evaluation.h.
RBEIMEvaluation::RBEIMEvaluation | ( | const libMesh::Parallel::Communicator & | comm_in | ) |
Constructor.
Definition at line 39 of file rb_eim_evaluation.C.
References _empty_rb_theta_expansion, _interpolation_points_mesh, libMesh::MeshBase::allow_renumbering(), libMesh::RBEvaluation::compute_RB_inner_product, and libMesh::RBEvaluation::set_rb_theta_expansion().
|
virtual |
|
protectedinherited |
Helper function that checks if file_name
exists.
Definition at line 874 of file rb_evaluation.C.
Referenced by libMesh::TransientRBEvaluation::legacy_read_offline_data_from_files(), legacy_read_offline_data_from_files(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), and libMesh::RBEvaluation::read_in_vectors_from_multiple_files().
void RBEIMEvaluation::attach_parametrized_function | ( | RBParametrizedFunction * | pf | ) |
Attach the parametrized function that we will approximate using the Empirical Interpolation Method.
Definition at line 87 of file rb_eim_evaluation.C.
References _parametrized_functions.
Build a theta object corresponding to EIM index index
.
The default implementation builds an RBEIMTheta object, possibly override in subclasses if we need more specialized behavior.
Definition at line 220 of file rb_eim_evaluation.C.
Referenced by initialize_eim_theta_objects().
|
overridevirtual |
Clear this object.
Reimplemented from libMesh::RBEvaluation.
Definition at line 62 of file rb_eim_evaluation.C.
References _interpolation_points_mesh, _rb_eim_theta_objects, libMesh::RBEvaluation::clear(), libMesh::ReplicatedMesh::clear(), interpolation_points, interpolation_points_elem, and interpolation_points_var.
Referenced by ~RBEIMEvaluation().
|
virtualinherited |
Clear all the Riesz representors that are used to compute the RB residual (and hence error bound).
This is useful since once we complete the Greedy we may not need the representors any more.
Reimplemented in libMesh::TransientRBEvaluation.
Definition at line 411 of file rb_evaluation.C.
References libMesh::RBEvaluation::Aq_representor.
Referenced by libMesh::RBEvaluation::clear(), libMesh::TransientRBEvaluation::clear_riesz_representors(), and libMesh::RBEvaluation::resize_data_structures().
|
inlineinherited |
Parallel::Communicator
object used by this mesh. Definition at line 94 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_monitor(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::__libmesh_tao_equality_constraints(), libMesh::__libmesh_tao_equality_constraints_jacobian(), libMesh::__libmesh_tao_gradient(), libMesh::__libmesh_tao_hessian(), libMesh::__libmesh_tao_inequality_constraints(), libMesh::__libmesh_tao_inequality_constraints_jacobian(), libMesh::__libmesh_tao_objective(), libMesh::MeshRefinement::_coarsen_elements(), libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult_add(), libMesh::EquationSystems::_read_impl(), libMesh::MeshRefinement::_refine_elements(), libMesh::MeshRefinement::_smooth_flags(), libMesh::DofMap::add_constraints_to_send_list(), add_cube_convex_hull_to_mesh(), libMesh::PetscDMWrapper::add_dofs_helper(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::ImplicitSystem::add_matrix(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::DynaIO::add_spline_constraints(), libMesh::System::add_vector(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::TransientRBConstruction::allocate_data_structures(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::assemble_affine_expansion(), libMesh::FEMSystem::assemble_qoi(), libMesh::MeshCommunication::assign_global_indices(), libMesh::DofMap::attach_matrix(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::PetscDMWrapper::build_section(), libMesh::PetscDMWrapper::build_sf(), libMesh::System::calculate_norm(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), libMesh::RBSCMConstruction::compute_SCM_bounds_on_training_set(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshTools::create_bounding_box(), libMesh::DofMap::create_dof_constraints(), libMesh::MeshTools::create_nodal_bounding_box(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::MeshTools::create_subdomain_bounding_box(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::DTKSolutionTransfer::DTKSolutionTransfer(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::RBConstruction::enrich_RB_space(), libMesh::EpetraVector< T >::EpetraVector(), AssembleOptimization::equality_constraints(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::RBEIMConstruction::evaluate_mesh_function(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_error_tolerance(), libMesh::MeshRefinement::flag_elements_by_mean_stddev(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::DofMap::gather_constraints(), libMesh::MeshfreeInterpolation::gather_remote_data(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::DofMap::get_info(), libMesh::ImplicitSystem::get_linear_solver(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::LocationMap< T >::init(), libMesh::TimeSolver::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::EigenSystem::init_matrices(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::RBEIMConstruction::initialize_rb_construction(), integrate_function(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_flags(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_p_levels(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), libMesh::libmesh_petsc_preconditioner_apply(), 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_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(), main(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshCommunication::make_elems_parallel_consistent(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_new_nodes_parallel_consistent(), libMesh::MeshCommunication::make_node_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_unique_ids_parallel_consistent(), libMesh::MeshCommunication::make_nodes_parallel_consistent(), libMesh::MeshCommunication::make_p_levels_parallel_consistent(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), libMesh::FEMSystem::mesh_position_set(), LinearElasticityWithContact::move_mesh(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshTools::n_active_levels(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::DofMap::n_constrained_dofs(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), libMesh::MeshTools::n_levels(), 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::petsc_auto_fieldsplit(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::print_dof_constraints(), FEMParameters::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::System::read_legacy_data(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::System::read_serialized_vector(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::DistributedMesh::renumber_dof_objects(), LinearElasticityWithContact::residual_and_jacobian(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::RBEIMConstruction::set_explicit_sys_subvector(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::split_mesh(), libMesh::BoundaryInfo::sync(), libMesh::MeshRefinement::test_level_one(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), libMesh::MeshRefinement::test_unflagged(), SystemsTest::testBlockRestrictedVarNDofs(), PointLocatorTest::testLocator(), BoundaryInfoTest::testMesh(), SystemsTest::testProjectCubeWithMeshFunction(), CheckpointIOTest::testSplitter(), libMesh::MeshTools::total_weight(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::RBEIMConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::VTKIO::write_nodal_data(), libMesh::RBEvaluation::write_out_vectors(), libMesh::TransientRBConstruction::write_riesz_representors_to_files(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::RBDataSerialization::RBEvaluationSerialization::write_to_file(), libMesh::RBDataSerialization::TransientRBEvaluationSerialization::write_to_file(), libMesh::RBDataSerialization::RBEIMEvaluationSerialization::write_to_file(), and libMesh::RBDataSerialization::RBSCMEvaluationSerialization::write_to_file().
Compute the dual norm of the residual for the solution saved in RB_solution_vector.
Reimplemented in libMesh::TransientRBEvaluation.
Definition at line 302 of file rb_evaluation.C.
References std::abs(), libMesh::RBEvaluation::Aq_Aq_representor_innerprods, libMesh::RBThetaExpansion::eval_A_theta(), libMesh::RBThetaExpansion::eval_F_theta(), libMesh::RBEvaluation::Fq_Aq_representor_innerprods, libMesh::RBEvaluation::Fq_representor_innerprods, libMesh::RBThetaExpansion::get_n_A_terms(), libMesh::RBThetaExpansion::get_n_F_terms(), libMesh::RBParametrized::get_parameters(), libMesh::libmesh_conj(), libMesh::libmesh_real(), libMesh::RBEvaluation::RB_solution, libMesh::RBEvaluation::rb_theta_expansion, libMesh::Real, and std::sqrt().
Referenced by libMesh::RBEvaluation::rb_solve().
|
staticinherited |
Definition at line 106 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit().
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
inherited |
Evaluate the dual norm of output n
for the current parameters.
Definition at line 392 of file rb_evaluation.C.
References libMesh::RBThetaExpansion::eval_output_theta(), libMesh::RBThetaExpansion::get_n_output_terms(), libMesh::libmesh_conj(), libMesh::libmesh_real(), libMesh::RBEvaluation::output_dual_innerprods, libMesh::RBEvaluation::rb_theta_expansion, libMesh::Real, and std::sqrt().
Referenced by libMesh::TransientRBEvaluation::rb_solve(), and libMesh::RBEvaluation::rb_solve().
Number RBEIMEvaluation::evaluate_parametrized_function | ( | unsigned int | var_index, |
const Point & | p, | ||
const Elem & | elem | ||
) |
p
. var_index
specifies the variable (i.e. the parametrized function index) to be evaluated. elem
specifies the element of the mesh that contains p. Definition at line 103 of file rb_eim_evaluation.C.
References _parametrized_functions, get_n_parametrized_functions(), and libMesh::RBParametrized::get_parameters().
Referenced by rb_solve(), and libMesh::RBEIMConstruction::truth_solve().
|
inherited |
Get a reference to the i^th basis function.
Definition at line 202 of file rb_evaluation.C.
References libMesh::RBEvaluation::basis_functions.
Referenced by libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::RBEIMConstruction::load_basis_function(), libMesh::RBConstruction::load_basis_function(), libMesh::RBEIMConstruction::load_rb_solution(), libMesh::RBEIMAssembly::RBEIMAssembly(), libMesh::RBEIMConstruction::update_RB_system_matrices(), and libMesh::TransientRBConstruction::update_RB_system_matrices().
|
staticinherited |
value
from list_of_values
. Definition at line 433 of file rb_parametrized.C.
References std::abs(), distance(), libMesh::Real, and value.
Referenced by libMesh::RBParametrized::is_value_in_list().
|
inherited |
Get a const reference to the discrete parameter values.
Definition at line 381 of file rb_parametrized.C.
References libMesh::RBParametrized::_discrete_parameter_values, and libMesh::RBParametrized::parameters_initialized.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), libMesh::RBParametrized::get_n_discrete_params(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBParametrized::print_discrete_parameter_values(), libMesh::RBParametrized::valid_params(), and libMesh::RBParametrized::write_discrete_parameter_values_to_file().
std::vector< std::unique_ptr< RBTheta > > & RBEIMEvaluation::get_eim_theta_objects | ( | ) |
Definition at line 215 of file rb_eim_evaluation.C.
References _rb_eim_theta_objects.
|
overridevirtual |
Reimplemented from libMesh::RBEvaluation.
Definition at line 198 of file rb_eim_evaluation.C.
|
staticinherited |
Gets a string containing the reference information.
Definition at line 47 of file reference_counter.C.
References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().
Referenced by libMesh::ReferenceCounter::print_info().
ReplicatedMesh & RBEIMEvaluation::get_interpolation_points_mesh | ( | ) |
Get a writable reference to the interpolation points mesh.
Definition at line 98 of file rb_eim_evaluation.C.
References _interpolation_points_mesh.
Referenced by libMesh::RBDataDeserialization::load_rb_eim_evaluation_data().
|
inlinevirtualinherited |
Get the current number of basis functions.
Definition at line 145 of file rb_evaluation.h.
References libMesh::RBEvaluation::basis_functions.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), libMesh::RBDataSerialization::add_rb_evaluation_data_to_builder(), libMesh::RBDataSerialization::add_transient_rb_evaluation_data_to_builder(), libMesh::TransientRBConstruction::assemble_affine_expansion(), libMesh::RBEIMConstruction::compute_best_fit_error(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::RBConstruction::enrich_RB_space(), libMesh::RBEIMTheta::evaluate(), libMesh::RBConstruction::greedy_termination_test(), libMesh::RBEIMConstruction::initialize_eim_assembly_objects(), initialize_eim_theta_objects(), legacy_read_in_interpolation_points_elem(), libMesh::TransientRBEvaluation::legacy_read_offline_data_from_files(), legacy_read_offline_data_from_files(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), legacy_write_offline_data_to_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), libMesh::RBEIMConstruction::load_rb_solution(), libMesh::RBConstruction::load_rb_solution(), libMesh::TransientRBConstruction::load_rb_solution(), libMesh::RBConstruction::print_basis_function_orthogonality(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::RBEvaluation::rb_solve(), rb_solve(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::recompute_all_residual_terms(), libMesh::RBEvaluation::resize_data_structures(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::RBConstruction::train_reduced_basis(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::RBEIMConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::TransientRBConstruction::write_riesz_representors_to_files(), and libMesh::RBConstruction::write_riesz_representors_to_files().
|
inherited |
Get the number of continuous parameters.
Definition at line 125 of file rb_parametrized.C.
References libMesh::RBParametrized::get_n_discrete_params(), libMesh::RBParametrized::get_n_params(), libMesh::libmesh_assert(), and libMesh::RBParametrized::parameters_initialized.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
|
inherited |
Get the number of discrete parameters.
Definition at line 135 of file rb_parametrized.C.
References libMesh::RBParametrized::get_discrete_parameter_values(), and libMesh::RBParametrized::parameters_initialized.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), libMesh::RBParametrized::get_n_continuous_params(), and libMesh::RBParametrized::write_discrete_parameter_values_to_file().
unsigned int RBEIMEvaluation::get_n_parametrized_functions | ( | ) | const |
Get the number of parametrized functions that have been attached to this system.
Definition at line 92 of file rb_eim_evaluation.C.
References _parametrized_functions.
Referenced by evaluate_parametrized_function().
|
inherited |
Get the number of parameters.
Definition at line 115 of file rb_parametrized.C.
References libMesh::RBParameters::n_parameters(), libMesh::RBParametrized::parameters_initialized, libMesh::RBParametrized::parameters_max, and libMesh::RBParametrized::parameters_min.
Referenced by libMesh::RBConstruction::compute_max_error_bound(), libMesh::RBEIMTheta::evaluate(), libMesh::RBParametrized::get_n_continuous_params(), libMesh::RBSCMConstruction::print_info(), libMesh::RBConstruction::print_info(), and libMesh::RBParametrized::valid_params().
|
inherited |
Get maximum allowable value of parameter param_name
.
Definition at line 198 of file rb_parametrized.C.
References libMesh::RBParameters::get_value(), libMesh::RBParametrized::parameters_initialized, and libMesh::RBParametrized::parameters_max.
Referenced by libMesh::RBSCMConstruction::print_info(), libMesh::RBConstruction::print_info(), and libMesh::RBParametrized::valid_params().
|
inherited |
Get minimum allowable value of parameter param_name
.
Definition at line 190 of file rb_parametrized.C.
References libMesh::RBParameters::get_value(), libMesh::RBParametrized::parameters_initialized, and libMesh::RBParametrized::parameters_min.
Referenced by libMesh::RBSCMConstruction::print_info(), libMesh::RBConstruction::print_info(), and libMesh::RBParametrized::valid_params().
|
inherited |
Get a set that stores the parameter names.
Definition at line 144 of file rb_parametrized.C.
References libMesh::RBParameters::get_parameter_names(), libMesh::RBParametrized::parameters_initialized, and libMesh::RBParametrized::parameters_min.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder().
|
inherited |
Get the current parameters.
Definition at line 166 of file rb_parametrized.C.
References libMesh::RBParametrized::parameters, and libMesh::RBParametrized::parameters_initialized.
Referenced by libMesh::TransientRBConstruction::add_scaled_mass_matrix(), libMesh::TransientRBEvaluation::cache_online_residual_terms(), libMesh::RBEIMConstruction::compute_best_fit_error(), libMesh::RBEvaluation::compute_residual_dual_norm(), libMesh::RBSCMConstruction::compute_SCM_bounds_on_training_set(), libMesh::RBSCMConstruction::enrich_C_J(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::RBEIMTheta::evaluate(), evaluate_parametrized_function(), libMesh::RBSCMConstruction::evaluate_stability_constant(), libMesh::RBConstruction::get_RB_error_bound(), libMesh::RBSCMEvaluation::get_SCM_LB(), libMesh::RBSCMEvaluation::get_SCM_UB(), SimpleRBEvaluation::get_stability_lower_bound(), libMesh::RBConstruction::greedy_termination_test(), libMesh::RBSCMEvaluation::legacy_read_offline_data_from_files(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), libMesh::RBSCMConstruction::print_info(), libMesh::RBConstruction::print_info(), libMesh::RBParametrized::print_parameters(), libMesh::RBSCMConstruction::process_parameters_file(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::RBEvaluation::rb_solve(), rb_solve(), libMesh::RBSCMEvaluation::save_current_parameters(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::TransientRBConstruction::truth_solve(), libMesh::RBEIMConstruction::truth_solve(), libMesh::RBConstruction::truth_solve(), libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm(), and libMesh::RBConstruction::update_greedy_param_list().
|
inherited |
Get an RBParameters object that specifies the maximum allowable value for each parameter.
Definition at line 182 of file rb_parametrized.C.
References libMesh::RBParametrized::parameters_initialized, and libMesh::RBParametrized::parameters_max.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBSCMConstruction::process_parameters_file(), libMesh::RBConstruction::set_rb_construction_parameters(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
|
inherited |
Get an RBParameters object that specifies the minimum allowable value for each parameter.
Definition at line 174 of file rb_parametrized.C.
References libMesh::RBParametrized::parameters_initialized, and libMesh::RBParametrized::parameters_min.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBSCMConstruction::process_parameters_file(), libMesh::RBConstruction::set_rb_construction_parameters(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
|
inherited |
Get a reference to the rb_theta_expansion.
Definition at line 88 of file rb_evaluation.C.
References libMesh::RBEvaluation::is_rb_theta_expansion_initialized(), and libMesh::RBEvaluation::rb_theta_expansion.
Referenced by libMesh::RBDataSerialization::add_rb_evaluation_data_to_builder(), libMesh::RBDataSerialization::add_transient_rb_evaluation_data_to_builder(), libMesh::TransientRBEvaluation::cache_online_residual_terms(), libMesh::RBConstruction::get_rb_theta_expansion(), libMesh::TransientRBEvaluation::legacy_read_offline_data_from_files(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_evaluation_data(), libMesh::RBDataDeserialization::load_transient_rb_evaluation_data(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::TransientRBEvaluation::resize_data_structures(), and libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm().
|
virtualinherited |
Get a lower bound for the stability constant (e.g.
coercivity constant or inf-sup constant) at the current parameter value.
Reimplemented in SimpleRBEvaluation, SimpleRBEvaluation, SimpleRBEvaluation, SimpleRBEvaluation, SimpleRBEvaluation, and ElasticityRBEvaluation.
Definition at line 377 of file rb_evaluation.C.
Referenced by libMesh::TransientRBEvaluation::rb_solve(), and libMesh::RBEvaluation::rb_solve().
|
inlineprotectedinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 181 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectedinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 194 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
void RBEIMEvaluation::initialize_eim_theta_objects | ( | ) |
Build a vector of RBTheta objects that accesses the components of the RB_solution member variable of this RBEvaluation.
Store these objects in the member vector rb_theta_objects.
Definition at line 207 of file rb_eim_evaluation.C.
References _rb_eim_theta_objects, build_eim_theta(), and libMesh::RBEvaluation::get_n_basis_functions().
|
inherited |
Initialize the parameter ranges and set current_parameters.
Definition at line 60 of file rb_parametrized.C.
References libMesh::RBParametrized::_discrete_parameter_values, libMesh::RBParameters::get_value(), libMesh::RBParameters::n_parameters(), libMesh::RBParametrized::parameters_initialized, libMesh::RBParametrized::parameters_max, libMesh::RBParametrized::parameters_min, libMesh::Real, libMesh::RBParametrized::set_parameters(), and libMesh::RBParameters::set_value().
Referenced by libMesh::RBConstruction::enrich_basis_from_rhs_terms(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::RBDataDeserialization::load_parameter_ranges(), libMesh::RBSCMConstruction::perform_SCM_greedy(), libMesh::RBSCMConstruction::process_parameters_file(), libMesh::RBParametrized::read_parameter_data_from_files(), libMesh::RBConstruction::set_rb_construction_parameters(), and libMesh::RBConstruction::train_reduced_basis().
|
inherited |
Initialize the parameter ranges and set current_parameters.
Definition at line 108 of file rb_parametrized.C.
References libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::RBParametrized::get_parameters_max(), libMesh::RBParametrized::get_parameters_min(), and libMesh::RBParametrized::initialize_parameters().
|
inherited |
Is parameter mu_name
discrete?
Definition at line 373 of file rb_parametrized.C.
References libMesh::RBParametrized::_discrete_parameter_values, and libMesh::RBParametrized::parameters_initialized.
Referenced by libMesh::RBDataSerialization::add_parameter_ranges_to_builder(), libMesh::RBConstruction::print_info(), libMesh::RBParametrized::valid_params(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
|
inherited |
true
if the theta expansion has been initialized. Definition at line 96 of file rb_evaluation.C.
References libMesh::RBEvaluation::rb_theta_expansion.
Referenced by libMesh::RBEvaluation::get_rb_theta_expansion().
|
staticprivateinherited |
Helper function to check if the specified value is in the list of values (within a tolerance given by tol
).
Definition at line 453 of file rb_parametrized.C.
References std::abs(), libMesh::RBParametrized::get_closest_value(), libMesh::Real, and value.
Referenced by libMesh::RBParametrized::valid_params().
|
private |
Read int interpolation_points_elem from a mesh.
Definition at line 468 of file rb_eim_evaluation.C.
References _interpolation_points_mesh, libMesh::ReplicatedMesh::elem_ptr(), libMesh::RBEvaluation::get_n_basis_functions(), interpolation_points_elem, and libMesh::UnstructuredMesh::read().
Referenced by legacy_read_offline_data_from_files().
|
overridevirtual |
Read in the saved Offline reduced basis data to initialize the system for Online solves.
Reimplemented from libMesh::RBEvaluation.
Definition at line 387 of file rb_eim_evaluation.C.
References libMesh::RBEvaluation::assert_file_exists(), libMesh::DECODE, libMesh::RBEvaluation::get_n_basis_functions(), interpolation_matrix, interpolation_points, interpolation_points_var, legacy_read_in_interpolation_points_elem(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), libMesh::READ, libMesh::Real, and value.
|
overridevirtual |
Write out all the data to text files in order to segregate the Offline stage from the Online stage.
Reimplemented from libMesh::RBEvaluation.
Definition at line 225 of file rb_eim_evaluation.C.
References libMesh::ENCODE, libMesh::RBEvaluation::get_n_basis_functions(), interpolation_matrix, interpolation_points, interpolation_points_var, libMesh::RBEvaluation::legacy_write_offline_data_to_files(), legacy_write_out_interpolation_points_elem(), libMesh::ParallelObject::processor_id(), and libMesh::WRITE.
|
private |
Write out interpolation_points_elem by putting the elements into a mesh and writing out the mesh.
Definition at line 292 of file rb_eim_evaluation.C.
References _interpolation_points_mesh, libMesh::ReplicatedMesh::add_elem(), libMesh::ReplicatedMesh::add_point(), libMesh::Elem::build(), libMesh::ReplicatedMesh::clear(), libMesh::DofObject::id(), libMesh::index_range(), interpolation_points_elem, libMesh::libmesh_assert(), libMesh::ReplicatedMesh::n_elem(), libMesh::Elem::n_nodes(), libMesh::Elem::node_id(), libMesh::ReplicatedMesh::node_ptr(), libMesh::out, libMesh::ParallelObject::processor_id(), libMesh::DofObject::processor_id(), libMesh::DofObject::set_id(), libMesh::Elem::set_node(), libMesh::Elem::subdomain_id(), libMesh::Elem::type(), and libMesh::UnstructuredMesh::write().
Referenced by legacy_write_offline_data_to_files().
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 83 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
|
inlineinherited |
Definition at line 100 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::DofMap::add_constraints_to_send_list(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::AztecLinearSolver< T >::AztecLinearSolver(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::ExodusII_IO::copy_scalar_solution(), 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::EnsightIO::EnsightIO(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::DistributedMesh::insert_elem(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshBase::partition(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::prepare_send_list(), libMesh::DofMap::print_dof_constraints(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_header(), libMesh::CheckpointIO::read_nodes(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::System::read_serialized_vector(), libMesh::DistributedMesh::renumber_dof_objects(), OverlappingFunctorTest::run_partitioner_test(), libMesh::DofMap::scatter_constraints(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), CheckpointIOTest::testSplitter(), WriteVecAndScalar::testWrite(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::VTKIO::write_nodal_data(), libMesh::System::write_parallel_data(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), and libMesh::XdrIO::write_serialized_nodesets().
|
inherited |
Print out all the discrete parameter values.
Definition at line 389 of file rb_parametrized.C.
References libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::out, and value.
Referenced by libMesh::RBSCMConstruction::print_info(), and libMesh::RBConstruction::print_info().
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
Definition at line 87 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
|
inherited |
Print the current parameters.
Definition at line 206 of file rb_parametrized.C.
References libMesh::RBParametrized::get_parameters(), libMesh::RBParametrized::parameters_initialized, and libMesh::RBParameters::print().
Referenced by libMesh::RBConstruction::train_reduced_basis().
|
inlineinherited |
Definition at line 106 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::EquationSystems::_read_impl(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::ExodusII_IO_Helper::close(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::compute_communication_map_parameters(), libMesh::Nemesis_IO_Helper::compute_internal_and_border_elems_and_internal_nodes(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::Nemesis_IO_Helper::compute_node_communication_maps(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::ExodusII_IO_Helper::create(), libMesh::DistributedMesh::delete_elem(), libMesh::DistributedMesh::delete_node(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DistributedMesh::DistributedMesh(), libMesh::DofMap::end_dof(), libMesh::DofMap::end_old_dof(), libMesh::EnsightIO::EnsightIO(), libMesh::RBEIMConstruction::evaluate_mesh_function(), libMesh::MeshFunction::find_element(), libMesh::MeshFunction::find_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::DofMap::first_dof(), libMesh::DofMap::first_old_dof(), libMesh::Nemesis_IO_Helper::get_cmap_params(), libMesh::Nemesis_IO_Helper::get_eb_info_global(), libMesh::Nemesis_IO_Helper::get_elem_cmap(), libMesh::Nemesis_IO_Helper::get_elem_map(), libMesh::DofMap::get_info(), libMesh::Nemesis_IO_Helper::get_init_global(), libMesh::Nemesis_IO_Helper::get_init_info(), libMesh::Nemesis_IO_Helper::get_loadbal_param(), libMesh::DofMap::get_local_constraints(), libMesh::Nemesis_IO_Helper::get_node_cmap(), libMesh::Nemesis_IO_Helper::get_node_map(), libMesh::Nemesis_IO_Helper::get_ns_param_global(), libMesh::Nemesis_IO_Helper::get_ss_param_global(), libMesh::SparsityPattern::Build::handle_vi_vj(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), HeatSystem::init_data(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::ExodusII_IO_Helper::initialize_element_variables(), libMesh::ExodusII_IO_Helper::initialize_global_variables(), libMesh::ExodusII_IO_Helper::initialize_nodal_variables(), libMesh::DistributedMesh::insert_elem(), libMesh::DofMap::is_evaluable(), libMesh::SparsityPattern::Build::join(), libMesh::DofMap::last_dof(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), legacy_write_offline_data_to_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), legacy_write_out_interpolation_points_elem(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DofMap::local_variable_indices(), main(), libMesh::MeshRefinement::make_coarsening_compatible(), AugmentSparsityOnInterface::mesh_reinit(), libMesh::MeshBase::n_active_local_elem(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::DofMap::n_local_dofs(), libMesh::System::n_local_dofs(), libMesh::MeshBase::n_local_elem(), libMesh::MeshBase::n_local_nodes(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::SparsityPattern::Build::operator()(), libMesh::DistributedMesh::own_node(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::print_dof_constraints(), libMesh::Nemesis_IO_Helper::put_cmap_params(), libMesh::Nemesis_IO_Helper::put_elem_cmap(), libMesh::Nemesis_IO_Helper::put_elem_map(), libMesh::Nemesis_IO_Helper::put_loadbal_param(), libMesh::Nemesis_IO_Helper::put_node_cmap(), libMesh::Nemesis_IO_Helper::put_node_map(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::ExodusII_IO_Helper::read_global_values(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::System::read_legacy_data(), libMesh::ExodusII_IO_Helper::read_node_num_map(), libMesh::System::read_parallel_data(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::System::read_serialized_data(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::LaplaceMeshSmoother::smooth(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshInputTest::testDynaReadElem(), MeshInputTest::testDynaReadPatch(), MeshInputTest::testExodusCopyElementSolution(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), BoundaryInfoTest::testShellFaceConstraints(), CheckpointIOTest::testSplitter(), WriteVecAndScalar::testWrite(), libMesh::MeshTools::total_weight(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::Parallel::Packing< Node * >::unpack(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::DTKAdapter::update_variable_values(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::CheckpointIO::write(), libMesh::EquationSystems::write(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO::write_element_data(), libMesh::ExodusII_IO_Helper::write_element_values(), libMesh::ExodusII_IO_Helper::write_element_values_element_major(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::ExodusII_IO::write_global_data(), libMesh::ExodusII_IO_Helper::write_global_values(), libMesh::System::write_header(), libMesh::ExodusII_IO::write_information_records(), libMesh::ExodusII_IO_Helper::write_information_records(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::VTKIO::write_nodal_data(), libMesh::UCDIO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data_discontinuous(), libMesh::ExodusII_IO_Helper::write_nodal_values(), libMesh::Nemesis_IO_Helper::write_nodesets(), libMesh::ExodusII_IO_Helper::write_nodesets(), libMesh::RBEvaluation::write_out_vectors(), write_output_solvedata(), libMesh::System::write_parallel_data(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bc_names(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::System::write_serialized_data(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::XdrIO::write_serialized_subdomain_names(), libMesh::System::write_serialized_vector(), libMesh::System::write_serialized_vectors(), libMesh::ExodusII_IO_Helper::write_sideset_data(), libMesh::Nemesis_IO_Helper::write_sidesets(), libMesh::ExodusII_IO_Helper::write_sidesets(), libMesh::ExodusII_IO::write_timestep(), libMesh::ExodusII_IO_Helper::write_timestep(), and libMesh::ExodusII_IO::write_timestep_discontinuous().
void RBEIMEvaluation::rb_solve | ( | DenseVector< Number > & | EIM_rhs | ) |
Calculate the EIM approximation for the given right-hand side vector EIM_rhs
.
Store the solution coefficients in the member RB_solution.
Definition at line 181 of file rb_eim_evaluation.C.
References libMesh::RBEvaluation::get_n_basis_functions(), libMesh::DenseMatrix< T >::get_principal_submatrix(), interpolation_matrix, libMesh::DenseMatrix< T >::lu_solve(), libMesh::RBEvaluation::RB_solution, and libMesh::DenseVector< T >::size().
Calculate the EIM approximation to parametrized_function using the first N
EIM basis functions.
Store the solution coefficients in the member RB_solution.
Reimplemented from libMesh::RBEvaluation.
Definition at line 113 of file rb_eim_evaluation.C.
References _previous_error_bound, _previous_N, _previous_parameters, std::abs(), evaluate_parametrized_function(), libMesh::RBEvaluation::evaluate_RB_error_bound, libMesh::RBEvaluation::get_n_basis_functions(), libMesh::RBParametrized::get_parameters(), libMesh::DenseMatrix< T >::get_principal_submatrix(), interpolation_matrix, interpolation_points, interpolation_points_elem, interpolation_points_var, libMesh::DenseMatrix< T >::lu_solve(), libMesh::RBEvaluation::RB_solution, and libMesh::Real.
Referenced by libMesh::RBEIMConstruction::enrich_RB_space(), and libMesh::RBEIMTheta::evaluate().
|
privateinherited |
Read in the discrete parameter values from file, if we have any.
Definition at line 340 of file rb_parametrized.C.
References libMesh::DECODE, and libMesh::READ.
Referenced by libMesh::RBParametrized::read_parameter_data_from_files().
|
virtualinherited |
Read in all the basis functions from file.
sys | Used for file IO. |
directory_name | Specifies which directory to write files to. |
read_binary_basis_functions | Indicates whether to expect binary or ASCII data. |
Definition at line 958 of file rb_evaluation.C.
References libMesh::RBEvaluation::basis_functions, and libMesh::RBEvaluation::read_in_vectors().
|
inherited |
Same as read_in_basis_functions, except in this case we pass in the vectors to be written.
We assume that the size of vectors indicates the number of vectors that need to be read in.
Definition at line 971 of file rb_evaluation.C.
References libMesh::RBEvaluation::read_in_vectors_from_multiple_files().
Referenced by libMesh::RBEvaluation::read_in_basis_functions().
|
inherited |
Performs read_in_vectors for a list of directory names and data names.
Reading in vectors requires us to renumber the dofs in a partition-independent way. This function only renumbers the dofs once at the start (and reverts it at the end), which can save a lot of work compared to renumbering on every read.
Definition at line 993 of file rb_evaluation.C.
References libMesh::RBEvaluation::assert_file_exists(), libMesh::NumericVector< T >::build(), libMesh::ParallelObject::comm(), libMesh::Xdr::data(), libMesh::DECODE, libMesh::MeshBase::fix_broken_node_and_element_numbering(), libMesh::System::get_mesh(), libMesh::MeshTools::Private::globally_renumber_nodes_and_elements(), libMesh::libmesh_assert(), libMesh::System::n_dofs(), libMesh::System::n_local_dofs(), libMesh::PARALLEL, libMesh::ParallelObject::processor_id(), libMesh::READ, libMesh::System::read_header(), and libMesh::System::read_serialized_vectors().
Referenced by libMesh::RBEvaluation::read_in_vectors().
|
inherited |
Read in the parameter ranges from files.
Definition at line 284 of file rb_parametrized.C.
References libMesh::RBParametrized::initialize_parameters(), libMesh::RBParametrized::read_discrete_parameter_values_from_file(), and libMesh::RBParametrized::read_parameter_ranges_from_file().
Referenced by libMesh::RBEvaluation::legacy_read_offline_data_from_files(), and libMesh::RBSCMEvaluation::legacy_read_offline_data_from_files().
|
privateinherited |
Read in the parameter ranges from file.
Initialize parameters to the "minimum" parameter values.
Definition at line 303 of file rb_parametrized.C.
References libMesh::Xdr::close(), libMesh::DECODE, libMesh::READ, libMesh::Real, and libMesh::RBParameters::set_value().
Referenced by libMesh::RBParametrized::read_parameter_data_from_files().
Specifies the residual scaling on the denominator to be used in the a posteriori error bound.
Override in subclass in order to obtain the desired error bound.
Definition at line 385 of file rb_evaluation.C.
Referenced by libMesh::TransientRBEvaluation::rb_solve(), and libMesh::RBEvaluation::rb_solve().
|
overridevirtual |
Resize the data structures for storing data associated with this object.
Reimplemented from libMesh::RBEvaluation.
Definition at line 75 of file rb_eim_evaluation.C.
References interpolation_matrix, interpolation_points, interpolation_points_elem, interpolation_points_var, libMesh::DenseMatrix< T >::resize(), and libMesh::RBEvaluation::resize_data_structures().
|
virtualinherited |
Set the number of basis functions.
Useful when reading in stored data.
Definition at line 78 of file rb_evaluation.C.
References libMesh::RBEvaluation::basis_functions.
Referenced by libMesh::RBEvaluation::clear(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), and libMesh::RBDataDeserialization::load_rb_evaluation_data().
|
inherited |
Set the current parameters to params
.
Definition at line 155 of file rb_parametrized.C.
References libMesh::RBParametrized::parameters, libMesh::RBParametrized::parameters_initialized, and libMesh::RBParametrized::valid_params().
Referenced by libMesh::RBEIMConstruction::compute_best_fit_error(), libMesh::RBSCMConstruction::compute_SCM_bounds_on_training_set(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::RBEIMTheta::evaluate(), libMesh::RBConstruction::get_RB_error_bound(), SimpleRBEvaluation::get_stability_lower_bound(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBSCMEvaluation::reload_current_parameters(), libMesh::RBSCMEvaluation::set_current_parameters_from_C_J(), and libMesh::RBEIMConstruction::truth_solve().
|
inherited |
Set the RBThetaExpansion object.
Definition at line 83 of file rb_evaluation.C.
References libMesh::RBEvaluation::rb_theta_expansion.
Referenced by RBEIMEvaluation(), and SimpleRBEvaluation::SimpleRBEvaluation().
|
privateinherited |
Helper function to check that params
is valid.
Definition at line 402 of file rb_parametrized.C.
References libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::RBParametrized::get_n_params(), libMesh::RBParametrized::get_parameter_max(), libMesh::RBParametrized::get_parameter_min(), libMesh::RBParametrized::is_discrete_parameter(), libMesh::RBParametrized::is_value_in_list(), libMesh::RBParameters::n_parameters(), libMesh::out, libMesh::TOLERANCE, libMesh::Quality::valid(), and libMesh::RBParametrized::verbose_mode.
Referenced by libMesh::RBParametrized::set_parameters().
|
privateinherited |
Write out the discrete parameter values to file.
Definition at line 255 of file rb_parametrized.C.
References libMesh::ENCODE, libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::RBParametrized::get_n_discrete_params(), libMesh::Real, and libMesh::WRITE.
Referenced by libMesh::RBParametrized::write_parameter_data_to_files().
|
virtualinherited |
Write out all the basis functions to file.
sys
is used for file IO directory_name
specifies which directory to write files to read_binary_basis_functions
indicates whether to expect binary or ASCII data
Definition at line 880 of file rb_evaluation.C.
References libMesh::RBEvaluation::basis_functions, libMesh::ReferenceElem::get(), and libMesh::RBEvaluation::write_out_vectors().
Referenced by main().
|
virtualinherited |
Same as write_out_basis_functions, except in this case we pass in the vectors to be written.
Definition at line 899 of file rb_evaluation.C.
References libMesh::ParallelObject::comm(), libMesh::ENCODE, libMesh::MeshBase::fix_broken_node_and_element_numbering(), libMesh::get_io_compatibility_version(), libMesh::System::get_mesh(), libMesh::MeshTools::Private::globally_renumber_nodes_and_elements(), libMesh::Utility::mkdir(), libMesh::ParallelObject::processor_id(), libMesh::WRITE, libMesh::System::write_header(), and libMesh::System::write_serialized_vectors().
Referenced by libMesh::RBEvaluation::write_out_basis_functions().
|
inherited |
Write out the parameter ranges to files.
Definition at line 214 of file rb_parametrized.C.
References libMesh::RBParametrized::write_discrete_parameter_values_to_file(), and libMesh::RBParametrized::write_parameter_ranges_to_file().
Referenced by libMesh::RBEvaluation::legacy_write_offline_data_to_files(), and libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files().
|
privateinherited |
Write out the parameter ranges to file.
Definition at line 222 of file rb_parametrized.C.
References libMesh::Xdr::close(), libMesh::ENCODE, libMesh::RBParametrized::get_n_continuous_params(), libMesh::RBParametrized::get_parameters_max(), libMesh::RBParametrized::get_parameters_min(), libMesh::RBParametrized::is_discrete_parameter(), libMesh::Real, and libMesh::WRITE.
Referenced by libMesh::RBParametrized::write_parameter_data_to_files().
|
protectedinherited |
Definition at line 112 of file parallel_object.h.
Referenced by libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::ParallelObject::comm(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), and libMesh::ParallelObject::processor_id().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 122 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
|
privateinherited |
Map that defines the allowable values of any discrete parameters.
Definition at line 235 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::RBParametrized::initialize_parameters(), and libMesh::RBParametrized::is_discrete_parameter().
|
private |
We initialize RBEIMEvaluation so that it has an "empty" RBThetaExpansion, because this isn't used at all in the EIM.
Definition at line 225 of file rb_eim_evaluation.h.
Referenced by RBEIMEvaluation().
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 141 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
|
private |
Mesh object that we use to store copies of the elements associated with interpolation points.
Definition at line 249 of file rb_eim_evaluation.h.
Referenced by clear(), get_interpolation_points_mesh(), legacy_read_in_interpolation_points_elem(), legacy_write_out_interpolation_points_elem(), and RBEIMEvaluation().
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 135 of file reference_counter.h.
|
staticprotectedinherited |
The number of objects.
Print the reference count information when the number returns to 0.
Definition at line 130 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
|
private |
This vector stores the parametrized functions that will be approximated in this EIM system.
Definition at line 213 of file rb_eim_evaluation.h.
Referenced by attach_parametrized_function(), evaluate_parametrized_function(), and get_n_parametrized_functions().
|
private |
Store the previous error bound returned by rb_solve (so we can return it if we are avoiding an unnecessary repeat solve).
Definition at line 243 of file rb_eim_evaluation.h.
Referenced by rb_solve().
|
private |
Store the number of basis functions used for the previous solve (so we can avoid an unnecessary repeat solve).
Definition at line 237 of file rb_eim_evaluation.h.
Referenced by rb_solve().
|
private |
Store the parameters at which the previous solve was performed (so we can avoid an unnecessary repeat solve).
Definition at line 231 of file rb_eim_evaluation.h.
Referenced by rb_solve().
|
private |
The vector of RBTheta objects that are created to point to this RBEIMEvaluation.
Definition at line 219 of file rb_eim_evaluation.h.
Referenced by clear(), get_eim_theta_objects(), and initialize_eim_theta_objects().
|
inherited |
Definition at line 300 of file rb_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_evaluation_data_to_builder(), libMesh::TransientRBEvaluation::cache_online_residual_terms(), libMesh::RBEvaluation::compute_residual_dual_norm(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_evaluation_data(), libMesh::RBEvaluation::resize_data_structures(), libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm(), and libMesh::RBConstruction::update_residual_terms().
|
inherited |
Vector storing the residual representors associated with the left-hand side.
These are basis dependent and hence stored here, whereas the Fq_representors are stored in RBSystem.
Definition at line 316 of file rb_evaluation.h.
Referenced by libMesh::RBEvaluation::clear_riesz_representors(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::RBEvaluation::resize_data_structures(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), and libMesh::RBConstruction::write_riesz_representors_to_files().
|
inherited |
The libMesh vectors storing the finite element coefficients of the RB basis functions.
Definition at line 241 of file rb_evaluation.h.
Referenced by libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::RBEvaluation::clear(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::RBConstruction::enrich_RB_space(), libMesh::RBEvaluation::get_basis_function(), libMesh::RBEvaluation::get_n_basis_functions(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEvaluation::read_in_basis_functions(), libMesh::RBEvaluation::set_n_basis_functions(), and libMesh::RBEvaluation::write_out_basis_functions().
|
inherited |
Boolean flag to indicate whether we compute the RB_inner_product_matrix.
Definition at line 327 of file rb_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_evaluation_data_to_builder(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_evaluation_data(), RBEIMEvaluation(), libMesh::RBEvaluation::resize_data_structures(), and libMesh::TransientRBEvaluation::TransientRBEvaluation().
|
inherited |
Boolean to indicate whether we evaluate a posteriori error bounds when rb_solve is called.
Definition at line 322 of file rb_evaluation.h.
Referenced by libMesh::RBEIMConstruction::compute_best_fit_error(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::RBEvaluation::rb_solve(), and rb_solve().
|
inherited |
Vectors storing the residual representor inner products to be used in computing the residuals online.
We store the Aq-dependent representor inner products because they depend on a reduced basis space. The basis independent representors are stored in RBSystem.
Definition at line 299 of file rb_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_evaluation_data_to_builder(), libMesh::TransientRBEvaluation::cache_online_residual_terms(), libMesh::RBEvaluation::compute_residual_dual_norm(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_evaluation_data(), libMesh::RBEvaluation::resize_data_structures(), libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm(), and libMesh::RBConstruction::update_residual_terms().
|
inherited |
Vectors storing the residual representor inner products to be used in computing the residuals online.
These values are independent of a basis, hence they can be copied over directly from an RBSystem.
Definition at line 290 of file rb_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_evaluation_data_to_builder(), libMesh::TransientRBEvaluation::cache_online_residual_terms(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::RBEvaluation::compute_residual_dual_norm(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_evaluation_data(), libMesh::RBEvaluation::resize_data_structures(), and libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm().
|
inherited |
The list of parameters selected by the Greedy algorithm in generating the Reduced Basis associated with this RBEvaluation object.
Definition at line 247 of file rb_evaluation.h.
Referenced by libMesh::RBEvaluation::clear(), libMesh::RBConstruction::get_greedy_parameter(), libMesh::RBConstruction::greedy_termination_test(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBConstruction::train_reduced_basis(), and libMesh::RBConstruction::update_greedy_param_list().
DenseMatrix<Number> libMesh::RBEIMEvaluation::interpolation_matrix |
Dense matrix that stores the lower triangular interpolation matrix that can be used.
Definition at line 176 of file rb_eim_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), legacy_read_offline_data_from_files(), legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), rb_solve(), resize_data_structures(), and libMesh::RBEIMConstruction::update_RB_system_matrices().
std::vector<Point> libMesh::RBEIMEvaluation::interpolation_points |
The list of interpolation points, i.e.
locations at which the basis functions are maximized.
Definition at line 182 of file rb_eim_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), clear(), libMesh::RBEIMConstruction::enrich_RB_space(), legacy_read_offline_data_from_files(), legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), rb_solve(), resize_data_structures(), and libMesh::RBEIMConstruction::update_RB_system_matrices().
std::vector<Elem *> libMesh::RBEIMEvaluation::interpolation_points_elem |
The corresponding list of elements at which the interpolation points were identified.
Definition at line 194 of file rb_eim_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), clear(), libMesh::RBEIMConstruction::enrich_RB_space(), legacy_read_in_interpolation_points_elem(), legacy_write_out_interpolation_points_elem(), libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), rb_solve(), and resize_data_structures().
std::vector<unsigned int> libMesh::RBEIMEvaluation::interpolation_points_var |
The corresponding list of variables indices at which the interpolation points were identified.
Definition at line 188 of file rb_eim_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), clear(), libMesh::RBEIMConstruction::enrich_RB_space(), legacy_read_offline_data_from_files(), legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), rb_solve(), resize_data_structures(), and libMesh::RBEIMConstruction::update_RB_system_matrices().
|
inherited |
The vector storing the dual norm inner product terms for each output.
These values are independent of a basis, hence they can be copied over directly from an RBSystem.
Definition at line 308 of file rb_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_evaluation_data_to_builder(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::RBEvaluation::eval_output_dual_norm(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_evaluation_data(), and libMesh::RBEvaluation::resize_data_structures().
|
privateinherited |
Vector storing the current parameters.
Definition at line 224 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::clear(), libMesh::RBParametrized::get_parameters(), libMesh::RBParametrized::RBParametrized(), and libMesh::RBParametrized::set_parameters().
|
privateinherited |
Flag indicating whether the parameters have been initialized.
Definition at line 219 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::clear(), libMesh::RBParametrized::get_discrete_parameter_values(), libMesh::RBParametrized::get_n_continuous_params(), libMesh::RBParametrized::get_n_discrete_params(), libMesh::RBParametrized::get_n_params(), libMesh::RBParametrized::get_parameter_max(), libMesh::RBParametrized::get_parameter_min(), libMesh::RBParametrized::get_parameter_names(), libMesh::RBParametrized::get_parameters(), libMesh::RBParametrized::get_parameters_max(), libMesh::RBParametrized::get_parameters_min(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBParametrized::is_discrete_parameter(), libMesh::RBParametrized::print_parameters(), and libMesh::RBParametrized::set_parameters().
|
privateinherited |
Definition at line 230 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::clear(), libMesh::RBParametrized::get_n_params(), libMesh::RBParametrized::get_parameter_max(), libMesh::RBParametrized::get_parameters_max(), libMesh::RBParametrized::initialize_parameters(), and libMesh::RBParametrized::RBParametrized().
|
privateinherited |
Vectors that define the ranges (min and max) for the parameters.
Definition at line 229 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::clear(), libMesh::RBParametrized::get_n_params(), libMesh::RBParametrized::get_parameter_min(), libMesh::RBParametrized::get_parameter_names(), libMesh::RBParametrized::get_parameters_min(), libMesh::RBParametrized::initialize_parameters(), and libMesh::RBParametrized::RBParametrized().
|
inherited |
Dense matrices for the RB computations.
Definition at line 260 of file rb_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_evaluation_data_to_builder(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_evaluation_data(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::RBEvaluation::rb_solve(), libMesh::RBEvaluation::resize_data_structures(), and libMesh::RBConstruction::update_RB_system_matrices().
|
inherited |
Dense vector for the RHS.
Definition at line 265 of file rb_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_evaluation_data_to_builder(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_evaluation_data(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::RBEvaluation::rb_solve(), libMesh::RBEvaluation::resize_data_structures(), and libMesh::RBConstruction::update_RB_system_matrices().
|
inherited |
The inner product matrix.
This should be close to the identity, we need to calculate this rather than assume diagonality in order to accurately perform projections since orthogonality degrades with increasing N.
Definition at line 255 of file rb_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_evaluation_data_to_builder(), libMesh::RBEIMConstruction::compute_best_fit_error(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_evaluation_data(), libMesh::RBEvaluation::resize_data_structures(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::RBEIMConstruction::update_RB_system_matrices(), and libMesh::RBConstruction::update_RB_system_matrices().
|
inherited |
Definition at line 282 of file rb_evaluation.h.
Referenced by libMesh::RBEvaluation::rb_solve(), and libMesh::RBEvaluation::resize_data_structures().
|
inherited |
The vectors storing the RB output vectors.
Definition at line 275 of file rb_evaluation.h.
Referenced by libMesh::RBDataSerialization::add_rb_evaluation_data_to_builder(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBDataDeserialization::load_rb_evaluation_data(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::RBEvaluation::rb_solve(), libMesh::RBEvaluation::resize_data_structures(), and libMesh::RBConstruction::update_RB_system_matrices().
|
inherited |
The vectors storing the RB output values and corresponding error bounds.
Definition at line 281 of file rb_evaluation.h.
Referenced by libMesh::RBEvaluation::rb_solve(), and libMesh::RBEvaluation::resize_data_structures().
|
inherited |
The RB solution vector.
Definition at line 270 of file rb_evaluation.h.
Referenced by libMesh::RBEIMConstruction::compute_best_fit_error(), libMesh::TransientRBEvaluation::compute_residual_dual_norm(), libMesh::RBEvaluation::compute_residual_dual_norm(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::RBEIMTheta::evaluate(), libMesh::RBEIMConstruction::load_rb_solution(), libMesh::RBConstruction::load_rb_solution(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::RBEvaluation::rb_solve(), rb_solve(), libMesh::TransientRBEvaluation::rb_solve_again(), and libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm().
|
privateinherited |
A pointer to to the object that stores the theta expansion.
This is not a std::unique_ptr since we may want to share it.
shared_ptr
would be a good option here. Definition at line 344 of file rb_evaluation.h.
Referenced by libMesh::RBEvaluation::compute_residual_dual_norm(), libMesh::RBEvaluation::eval_output_dual_norm(), libMesh::RBEvaluation::get_rb_theta_expansion(), libMesh::RBEvaluation::is_rb_theta_expansion_initialized(), libMesh::RBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEvaluation::rb_solve(), libMesh::RBEvaluation::resize_data_structures(), and libMesh::RBEvaluation::set_rb_theta_expansion().
|
inherited |
Public boolean to toggle verbose mode.
Definition at line 170 of file rb_parametrized.h.
Referenced by libMesh::RBParametrized::valid_params().