$extrastylesheet
#include <rb_evaluation.h>

Public Member Functions | |
| RBEvaluation (const Parallel::Communicator &comm LIBMESH_CAN_DEFAULT_TO_COMMWORLD) | |
| virtual | ~RBEvaluation () |
| virtual void | clear () |
| void | set_rb_theta_expansion (RBThetaExpansion &rb_theta_expansion_in) |
| RBThetaExpansion & | get_rb_theta_expansion () |
| bool | is_rb_theta_expansion_initialized () const |
| virtual void | resize_data_structures (const unsigned int Nmax, bool resize_error_bound_data=true) |
| NumericVector< Number > & | get_basis_function (unsigned int i) |
| virtual Real | rb_solve (unsigned int N) |
| virtual Real | get_rb_solution_norm () |
| virtual Real | compute_residual_dual_norm (const unsigned int N) |
| virtual Real | residual_scaling_denom (Real alpha_LB) |
| Real | eval_output_dual_norm (unsigned int n, const RBParameters &mu) |
| virtual Real | get_stability_lower_bound () |
| virtual unsigned int | get_n_basis_functions () const |
| virtual void | set_n_basis_functions (unsigned int n_bfs) |
| virtual void | clear_riesz_representors () |
| virtual void | write_offline_data_to_files (const std::string &directory_name="offline_data", const bool write_binary_data=true) |
| virtual void | read_offline_data_from_files (const std::string &directory_name="offline_data", bool read_error_bound_data=true, const bool read_binary_data=true) |
| virtual void | write_out_basis_functions (System &sys, const std::string &directory_name="offline_data", const bool write_binary_basis_functions=true) |
| 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) |
| virtual void | read_in_basis_functions (System &sys, const std::string &directory_name="offline_data", const bool read_binary_basis_functions=true) |
| void | read_in_vectors (System &sys, std::vector< NumericVector< Number > * > &vectors, const std::string &directory_name, const std::string &data_name, const bool read_binary_vectors) |
| void | read_in_vectors_from_multiple_files (System &sys, std::vector< std::vector< 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) |
| 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 |
| const Parallel::Communicator & | comm () const |
| processor_id_type | n_processors () const |
| processor_id_type | processor_id () const |
Static Public Member Functions | |
| static std::string | get_io_version_string () |
| static Real | get_closest_value (Real value, const std::vector< Real > &list_of_values) |
| static std::string | get_info () |
| static void | print_info (std::ostream &out=libMesh::out) |
| static unsigned int | n_objects () |
| static void | enable_print_counter_info () |
| static void | disable_print_counter_info () |
Public Attributes | |
| std::vector< NumericVector < Number > * > | basis_functions |
| std::vector< RBParameters > | greedy_param_list |
| DenseMatrix< Number > | RB_inner_product_matrix |
| std::vector< DenseMatrix < Number > > | RB_Aq_vector |
| std::vector< DenseVector < Number > > | RB_Fq_vector |
| DenseVector< Number > | RB_solution |
| std::vector< std::vector < DenseVector< Number > > > | RB_output_vectors |
| std::vector< Number > | RB_outputs |
| std::vector< Real > | RB_output_error_bounds |
| std::vector< Number > | Fq_representor_innerprods |
| std::vector< std::vector < std::vector< Number > > > | Fq_Aq_representor_innerprods |
| std::vector< std::vector < std::vector< Number > > > | Aq_Aq_representor_innerprods |
| std::vector< std::vector < Number > > | output_dual_innerprods |
| std::vector< std::vector < NumericVector< Number > * > > | Aq_representor |
| bool | evaluate_RB_error_bound |
| bool | compute_RB_inner_product |
| bool | verbose_mode |
Protected Types | |
| typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Protected Member Functions | |
| void | increment_constructor_count (const std::string &name) |
| void | increment_destructor_count (const std::string &name) |
Protected Attributes | |
| const Parallel::Communicator & | _communicator |
Static Protected Attributes | |
| static Counts | _counts |
| static Threads::atomic < unsigned int > | _n_objects |
| static Threads::spin_mutex | _mutex |
| static bool | _enable_print_counter = true |
Private Attributes | |
| RBThetaExpansion * | rb_theta_expansion |
This class is part of the rbOOmit framework.
RBEvaluation encapsulates the functionality required to _evaluate_ a given reduced basis model.
Definition at line 52 of file rb_evaluation.h.
typedef std::map<std::string, std::pair<unsigned int, unsigned int> > libMesh::ReferenceCounter::Counts [protected, inherited] |
Data structure to log the information. The log is identified by the class name.
Definition at line 113 of file reference_counter.h.
| libMesh::RBEvaluation::RBEvaluation | ( | const Parallel::Communicator &comm | LIBMESH_CAN_DEFAULT_TO_COMMWORLD | ) |
Constructor.
| virtual libMesh::RBEvaluation::~RBEvaluation | ( | ) | [virtual] |
Destructor.
| virtual void libMesh::RBEvaluation::clear | ( | ) | [virtual] |
Clear this RBEvaluation object. Delete the basis functions and clear and extra data in subclasses.
Reimplemented from libMesh::RBParametrized.
Reimplemented in libMesh::TransientRBEvaluation, and libMesh::RBEIMEvaluation.
| virtual void libMesh::RBEvaluation::clear_riesz_representors | ( | ) | [virtual] |
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.
| const Parallel::Communicator& libMesh::ParallelObject::comm | ( | ) | const [inline, inherited] |
Parallel::Communicator object used by this mesh. Definition at line 86 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::__libmesh_petsc_diff_solver_monitor(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::__libmesh_petsc_snes_residual(), libMesh::MeshRefinement::_coarsen_elements(), libMesh::ExactSolution::_compute_error(), libMesh::MetisPartitioner::_do_partition(), libMesh::ParmetisPartitioner::_do_repartition(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::SlepcEigenSolver< T >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< T >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_mult_add(), libMesh::EquationSystems::_read_impl(), libMesh::MeshRefinement::_refine_elements(), libMesh::ImplicitSystem::add_matrix(), libMesh::System::add_vector(), libMesh::UnstructuredMesh::all_second_order(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::FEMSystem::assemble_qoi(), libMesh::MeshCommunication::assign_global_indices(), libMesh::ParmetisPartitioner::assign_partitioning(), libMesh::DofMap::attach_matrix(), libMesh::MeshTools::bounding_box(), libMesh::MeshBase::cache_elem_dims(), libMesh::System::calculate_norm(), libMesh::MeshRefinement::coarsen_elements(), 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::MeshTools::correct_node_proc_ids(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), DMlibMeshFunction(), DMlibMeshSetSystem_libMesh(), libMesh::MeshRefinement::eliminate_unrefined_patches(), 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::CondensedEigenSystem::get_eigenpair(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::LocationMap< T >::init(), libMesh::TimeSolver::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::EigenSystem::init_data(), libMesh::EigenSystem::init_matrices(), libMesh::ParmetisPartitioner::initialize(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::ParallelMesh::libmesh_assert_valid_parallel_flags(), libMesh::MeshTools::libmesh_assert_valid_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::MeshRefinement::limit_level_mismatch_at_edge(), libMesh::MeshRefinement::limit_level_mismatch_at_node(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshCommunication::make_elems_parallel_consistent(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshCommunication::make_node_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_nodes_parallel_consistent(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::FEMSystem::mesh_position_set(), libMesh::MeshSerializer::MeshSerializer(), libMesh::ParallelMesh::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::ParallelMesh::parallel_max_elem_id(), libMesh::ParallelMesh::parallel_max_node_id(), libMesh::ParallelMesh::parallel_n_elem(), libMesh::ParallelMesh::parallel_n_nodes(), libMesh::Partitioner::partition(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::petsc_auto_fieldsplit(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::MeshBase::prepare_for_use(), libMesh::System::project_vector(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::System::read_header(), libMesh::System::read_legacy_data(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs(), 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::MeshBase::recalculate_n_partitions(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::MeshRefinement::refine_elements(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::LaplaceMeshSmoother::smooth(), 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::NameBasedIO::write(), libMesh::CheckpointIO::write(), libMesh::XdrIO::write(), libMesh::LegacyXdrIO::write_mesh(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), and libMesh::DivaIO::write_stream().
{ return _communicator; }
| virtual Real libMesh::RBEvaluation::compute_residual_dual_norm | ( | const unsigned int | N | ) | [virtual] |
Compute the dual norm of the residual for the solution saved in RB_solution_vector.
Reimplemented in libMesh::TransientRBEvaluation.
| void libMesh::ReferenceCounter::disable_print_counter_info | ( | ) | [static, inherited] |
Definition at line 106 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit().
{
_enable_print_counter = false;
return;
}
| void libMesh::ReferenceCounter::enable_print_counter_info | ( | ) | [static, inherited] |
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.
{
_enable_print_counter = true;
return;
}
| Real libMesh::RBEvaluation::eval_output_dual_norm | ( | unsigned int | n, |
| const RBParameters & | mu | ||
| ) |
Evaluate the dual norm of output n for the current parameters.
| NumericVector<Number>& libMesh::RBEvaluation::get_basis_function | ( | unsigned int | i | ) |
Get a reference to the i^th basis function.
| static Real libMesh::RBParametrized::get_closest_value | ( | Real | value, |
| const std::vector< Real > & | list_of_values | ||
| ) | [static, inherited] |
Helper function that returns the closest entry to value from list_of_values.
| const std::map< std::string, std::vector<Real> >& libMesh::RBParametrized::get_discrete_parameter_values | ( | ) | const [inherited] |
Get a const reference to the discrete parameter values.
| std::string libMesh::ReferenceCounter::get_info | ( | ) | [static, inherited] |
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().
{
#if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG)
std::ostringstream oss;
oss << '\n'
<< " ---------------------------------------------------------------------------- \n"
<< "| Reference count information |\n"
<< " ---------------------------------------------------------------------------- \n";
for (Counts::iterator it = _counts.begin();
it != _counts.end(); ++it)
{
const std::string name(it->first);
const unsigned int creations = it->second.first;
const unsigned int destructions = it->second.second;
oss << "| " << name << " reference count information:\n"
<< "| Creations: " << creations << '\n'
<< "| Destructions: " << destructions << '\n';
}
oss << " ---------------------------------------------------------------------------- \n";
return oss.str();
#else
return "";
#endif
}
| static std::string libMesh::RBEvaluation::get_io_version_string | ( | ) | [static] |
Version string that we need to use for writing/reading basis functions.
| virtual unsigned int libMesh::RBEvaluation::get_n_basis_functions | ( | ) | const [inline, virtual] |
Get the current number of basis functions.
Definition at line 148 of file rb_evaluation.h.
References basis_functions.
{ return cast_int<unsigned int>(basis_functions.size()); }
| unsigned int libMesh::RBParametrized::get_n_continuous_params | ( | ) | const [inherited] |
Get the number of continuous parameters.
| unsigned int libMesh::RBParametrized::get_n_discrete_params | ( | ) | const [inherited] |
Get the number of discrete parameters.
| unsigned int libMesh::RBParametrized::get_n_params | ( | ) | const [inherited] |
Get the number of parameters.
| Real libMesh::RBParametrized::get_parameter_max | ( | const std::string & | param_name | ) | const [inherited] |
Get maximum allowable value of parameter param_name.
| Real libMesh::RBParametrized::get_parameter_min | ( | const std::string & | param_name | ) | const [inherited] |
Get minimum allowable value of parameter param_name.
| std::set<std::string> libMesh::RBParametrized::get_parameter_names | ( | ) | const [inherited] |
Get a set that stores the parameter names.
| const RBParameters& libMesh::RBParametrized::get_parameters | ( | ) | const [inherited] |
Get the current parameters.
| const RBParameters& libMesh::RBParametrized::get_parameters_max | ( | ) | const [inherited] |
Get an RBParameters object that specifies the maximum allowable value for each parameter.
| const RBParameters& libMesh::RBParametrized::get_parameters_min | ( | ) | const [inherited] |
Get an RBParameters object that specifies the minimum allowable value for each parameter.
| virtual Real libMesh::RBEvaluation::get_rb_solution_norm | ( | ) | [virtual] |
Return the norm of RB_solution.
Reimplemented in libMesh::TransientRBEvaluation.
Get a reference to the rb_theta_expansion.
| virtual Real libMesh::RBEvaluation::get_stability_lower_bound | ( | ) | [virtual] |
Get a lower bound for the stability constant (e.g. coercivity constant or inf-sup constant) at the current parameter value.
| void libMesh::ReferenceCounter::increment_constructor_count | ( | const std::string & | name | ) | [inline, protected, inherited] |
Increments the construction counter. Should be called in the constructor of any derived class that will be reference counted.
Definition at line 163 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
{
Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
std::pair<unsigned int, unsigned int>& p = _counts[name];
p.first++;
}
| void libMesh::ReferenceCounter::increment_destructor_count | ( | const std::string & | name | ) | [inline, protected, inherited] |
Increments the destruction counter. Should be called in the destructor of any derived class that will be reference counted.
Definition at line 176 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
{
Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
std::pair<unsigned int, unsigned int>& p = _counts[name];
p.second++;
}
| void libMesh::RBParametrized::initialize_parameters | ( | const RBParameters & | mu_min_in, |
| const RBParameters & | mu_max_in, | ||
| const std::map< std::string, std::vector< Real > > & | discrete_parameter_values | ||
| ) | [inherited] |
Initialize the parameter ranges and set current_parameters.
| void libMesh::RBParametrized::initialize_parameters | ( | const RBParametrized & | rb_parametrized | ) | [inherited] |
Initialize the parameter ranges and set current_parameters.
| bool libMesh::RBParametrized::is_discrete_parameter | ( | const std::string & | mu_name | ) | const [inherited] |
Is parameter mu_name discrete?
| bool libMesh::RBEvaluation::is_rb_theta_expansion_initialized | ( | ) | const |
| static unsigned int libMesh::ReferenceCounter::n_objects | ( | ) | [inline, static, inherited] |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 79 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
Referenced by libMesh::LibMeshInit::~LibMeshInit().
{ return _n_objects; }
| processor_id_type libMesh::ParallelObject::n_processors | ( | ) | const [inline, inherited] |
Definition at line 92 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and libMesh::Parallel::Communicator::size().
Referenced by libMesh::ParmetisPartitioner::_do_repartition(), libMesh::ParallelMesh::add_elem(), libMesh::ParallelMesh::add_node(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::FEMSystem::assembly(), libMesh::ParmetisPartitioner::assign_partitioning(), libMesh::ParallelMesh::assign_unique_ids(), libMesh::AztecLinearSolver< T >::AztecLinearSolver(), libMesh::ParallelMesh::clear(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::UnstructuredMesh::create_pid_mesh(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::EnsightIO::EnsightIO(), libMesh::MeshBase::get_info(), libMesh::EquationSystems::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::ParmetisPartitioner::initialize(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::DofMap::local_variable_indices(), libMesh::MeshBase::n_active_elem_on_proc(), libMesh::MeshBase::n_elem_on_proc(), libMesh::MeshBase::n_nodes_on_proc(), 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::MeshTools::processor_bounding_box(), libMesh::System::project_vector(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::XdrIO::read(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::System::read_serialized_vector(), libMesh::Partitioner::repartition(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::BoundaryInfo::sync(), libMesh::ParallelMesh::update_parallel_id_counts(), libMesh::CheckpointIO::write(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::System::write_parallel_data(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), and libMesh::XdrIO::write_serialized_nodesets().
{ return cast_int<processor_id_type>(_communicator.size()); }
| void libMesh::RBParametrized::print_discrete_parameter_values | ( | ) | const [inherited] |
Print out all the discrete parameter values.
| void libMesh::ReferenceCounter::print_info | ( | std::ostream & | out = libMesh::out | ) | [static, inherited] |
Prints the reference information, by default to libMesh::out.
Definition at line 88 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
Referenced by libMesh::LibMeshInit::~LibMeshInit().
{
if( _enable_print_counter ) out_stream << ReferenceCounter::get_info();
}
| void libMesh::RBParametrized::print_parameters | ( | ) | const [inherited] |
Print the current parameters.
| processor_id_type libMesh::ParallelObject::processor_id | ( | ) | const [inline, inherited] |
Definition at line 98 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and libMesh::Parallel::Communicator::rank().
Referenced by libMesh::MetisPartitioner::_do_partition(), libMesh::EquationSystems::_read_impl(), libMesh::SerialMesh::active_local_elements_begin(), libMesh::ParallelMesh::active_local_elements_begin(), libMesh::SerialMesh::active_local_elements_end(), libMesh::ParallelMesh::active_local_elements_end(), libMesh::SerialMesh::active_local_subdomain_elements_begin(), libMesh::ParallelMesh::active_local_subdomain_elements_begin(), libMesh::SerialMesh::active_local_subdomain_elements_end(), libMesh::ParallelMesh::active_local_subdomain_elements_end(), libMesh::SerialMesh::active_not_local_elements_begin(), libMesh::ParallelMesh::active_not_local_elements_begin(), libMesh::SerialMesh::active_not_local_elements_end(), libMesh::ParallelMesh::active_not_local_elements_end(), libMesh::ParallelMesh::add_elem(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::ParallelMesh::add_node(), libMesh::UnstructuredMesh::all_second_order(), libMesh::FEMSystem::assembly(), libMesh::ParmetisPartitioner::assign_partitioning(), libMesh::ParallelMesh::assign_unique_ids(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::ParmetisPartitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::DofMap::build_sparsity(), libMesh::ParallelMesh::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::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_Helper::create(), libMesh::ParallelMesh::delete_elem(), libMesh::ParallelMesh::delete_node(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofMap::end_dof(), libMesh::DofMap::end_old_dof(), libMesh::EnsightIO::EnsightIO(), libMesh::SerialMesh::facelocal_elements_begin(), libMesh::ParallelMesh::facelocal_elements_begin(), libMesh::SerialMesh::facelocal_elements_end(), libMesh::ParallelMesh::facelocal_elements_end(), libMesh::MeshFunction::find_element(), 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::MeshBase::get_info(), libMesh::Nemesis_IO_Helper::get_init_global(), libMesh::Nemesis_IO_Helper::get_init_info(), libMesh::Nemesis_IO_Helper::get_loadbal_param(), 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::SystemSubsetBySubdomain::init(), libMesh::ParmetisPartitioner::initialize(), 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::ParallelMesh::insert_elem(), libMesh::SparsityPattern::Build::join(), libMesh::DofMap::last_dof(), libMesh::MeshTools::libmesh_assert_valid_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_procids< Node >(), libMesh::SerialMesh::local_elements_begin(), libMesh::ParallelMesh::local_elements_begin(), libMesh::SerialMesh::local_elements_end(), libMesh::ParallelMesh::local_elements_end(), libMesh::SerialMesh::local_level_elements_begin(), libMesh::ParallelMesh::local_level_elements_begin(), libMesh::SerialMesh::local_level_elements_end(), libMesh::ParallelMesh::local_level_elements_end(), libMesh::SerialMesh::local_nodes_begin(), libMesh::ParallelMesh::local_nodes_begin(), libMesh::SerialMesh::local_nodes_end(), libMesh::ParallelMesh::local_nodes_end(), libMesh::SerialMesh::local_not_level_elements_begin(), libMesh::ParallelMesh::local_not_level_elements_begin(), libMesh::SerialMesh::local_not_level_elements_end(), libMesh::ParallelMesh::local_not_level_elements_end(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), 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::SerialMesh::not_local_elements_begin(), libMesh::ParallelMesh::not_local_elements_begin(), libMesh::SerialMesh::not_local_elements_end(), libMesh::ParallelMesh::not_local_elements_end(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::SparsityPattern::Build::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::ParallelMesh::ParallelMesh(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::System::project_vector(), 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::CheckpointIO::read(), libMesh::XdrIO::read(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::System::read_header(), libMesh::System::read_legacy_data(), libMesh::ExodusII_IO_Helper::read_node_num_map(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs(), 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::MeshData::read_xdr(), libMesh::SerialMesh::semilocal_elements_begin(), libMesh::ParallelMesh::semilocal_elements_begin(), libMesh::SerialMesh::semilocal_elements_end(), libMesh::ParallelMesh::semilocal_elements_end(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::BoundaryInfo::sync(), libMesh::MeshTools::total_weight(), libMesh::ParallelMesh::update_parallel_id_counts(), libMesh::MeshTools::weight(), libMesh::NameBasedIO::write(), libMesh::ExodusII_IO::write(), libMesh::CheckpointIO::write(), libMesh::XdrIO::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_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::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::ExodusII_IO_Helper::write_nodesets(), libMesh::Nemesis_IO_Helper::write_nodesets(), libMesh::System::write_parallel_data(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bc_names(), libMesh::XdrIO::write_serialized_bcs(), 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_sidesets(), libMesh::Nemesis_IO_Helper::write_sidesets(), libMesh::ExodusII_IO::write_timestep(), and libMesh::ExodusII_IO_Helper::write_timestep().
{ return cast_int<processor_id_type>(_communicator.rank()); }
| virtual Real libMesh::RBEvaluation::rb_solve | ( | unsigned int | N | ) | [virtual] |
Perform online solve with the N RB basis functions, for the set of parameters in current_params, where 0 <= N <= RB_size.
Reimplemented in libMesh::RBEIMEvaluation, and libMesh::TransientRBEvaluation.
| virtual void libMesh::RBEvaluation::read_in_basis_functions | ( | System & | sys, |
| const std::string & | directory_name = "offline_data", |
||
| const bool | read_binary_basis_functions = true |
||
| ) | [virtual] |
Read in all the basis functions from 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
| void libMesh::RBEvaluation::read_in_vectors | ( | System & | sys, |
| std::vector< 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. We assume that the size of vectors indicates the number of vectors that need to be read in.
| void libMesh::RBEvaluation::read_in_vectors_from_multiple_files | ( | System & | sys, |
| std::vector< std::vector< 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. Reading in vectors requires us to renumber the dofs in a partition-indepdent 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.
| virtual void libMesh::RBEvaluation::read_offline_data_from_files | ( | const std::string & | directory_name = "offline_data", |
| bool | read_error_bound_data = true, |
||
| const bool | read_binary_data = true |
||
| ) | [virtual] |
Read in the saved Offline reduced basis data to initialize the system for Online solves.
Reimplemented in libMesh::RBEIMEvaluation, and libMesh::TransientRBEvaluation.
| void libMesh::RBParametrized::read_parameter_data_from_files | ( | const std::string & | continuous_param_file_name, |
| const std::string & | discrete_param_file_name, | ||
| const bool | read_binary_data | ||
| ) | [inherited] |
Read in the parameter ranges from files.
| virtual Real libMesh::RBEvaluation::residual_scaling_denom | ( | Real | alpha_LB | ) | [virtual] |
Specifies the residual scaling on the denominator to be used in the a posteriori error bound. Overload in subclass in order to obtain the desired error bound.
| virtual void libMesh::RBEvaluation::resize_data_structures | ( | const unsigned int | Nmax, |
| bool | resize_error_bound_data = true |
||
| ) | [virtual] |
Resize and clear the data vectors corresponding to the value of Nmax. Optionally resize the data structures required for the error bound. Overload to also clear and resize any extra data in subclasses.
Reimplemented in libMesh::TransientRBEvaluation, and libMesh::RBEIMEvaluation.
| virtual void libMesh::RBEvaluation::set_n_basis_functions | ( | unsigned int | n_bfs | ) | [inline, virtual] |
Set the number of basis functions. Useful when reading in stored data.
Definition at line 155 of file rb_evaluation.h.
References basis_functions.
{ basis_functions.resize(n_bfs); }
| void libMesh::RBParametrized::set_parameters | ( | const RBParameters & | params | ) | [inherited] |
Set the current parameters to params
| void libMesh::RBEvaluation::set_rb_theta_expansion | ( | RBThetaExpansion & | rb_theta_expansion_in | ) |
Set the RBThetaExpansion object.
| virtual void libMesh::RBEvaluation::write_offline_data_to_files | ( | const std::string & | directory_name = "offline_data", |
| const bool | write_binary_data = true |
||
| ) | [virtual] |
Write out all the data to text files in order to segregate the Offline stage from the Online stage.
Reimplemented in libMesh::RBEIMEvaluation, and libMesh::TransientRBEvaluation.
| virtual void libMesh::RBEvaluation::write_out_basis_functions | ( | System & | sys, |
| const std::string & | directory_name = "offline_data", |
||
| const bool | write_binary_basis_functions = true |
||
| ) | [virtual] |
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
| virtual void libMesh::RBEvaluation::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 |
||
| ) | [virtual] |
Same as write_out_basis_functions, except in this case we pass in the vectors to be written.
| void libMesh::RBParametrized::write_parameter_data_to_files | ( | const std::string & | continuous_param_file_name, |
| const std::string & | discrete_param_file_name, | ||
| const bool | write_binary_data | ||
| ) | [inherited] |
Write out the parameter ranges to files.
const Parallel::Communicator& libMesh::ParallelObject::_communicator [protected, inherited] |
Definition at line 104 of file parallel_object.h.
Referenced by libMesh::EquationSystems::build_solution_vector(), libMesh::ParallelObject::comm(), libMesh::EquationSystems::get_solution(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), and libMesh::ParallelObject::processor_id().
ReferenceCounter::Counts libMesh::ReferenceCounter::_counts [static, protected, inherited] |
Actually holds the data.
Definition at line 118 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
bool libMesh::ReferenceCounter::_enable_print_counter = true [static, protected, inherited] |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 137 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
Threads::spin_mutex libMesh::ReferenceCounter::_mutex [static, protected, inherited] |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 131 of file reference_counter.h.
Threads::atomic< unsigned int > libMesh::ReferenceCounter::_n_objects [static, protected, inherited] |
The number of objects. Print the reference count information when the number returns to 0.
Definition at line 126 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
| std::vector< std::vector< std::vector<Number> > > libMesh::RBEvaluation::Aq_Aq_representor_innerprods |
Definition at line 304 of file rb_evaluation.h.
| std::vector< std::vector< NumericVector<Number>* > > libMesh::RBEvaluation::Aq_representor |
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 320 of file rb_evaluation.h.
| std::vector< NumericVector<Number>* > libMesh::RBEvaluation::basis_functions |
The libMesh vectors storing the finite element coefficients of the RB basis functions.
Definition at line 245 of file rb_evaluation.h.
Referenced by get_n_basis_functions(), and set_n_basis_functions().
Boolean flag to indicate whether we compute the RB_inner_product_matrix.
Definition at line 331 of file rb_evaluation.h.
Boolean to indicate whether we evaluate a posteriori error bounds when rb_solve is called.
Definition at line 326 of file rb_evaluation.h.
| std::vector< std::vector< std::vector<Number> > > libMesh::RBEvaluation::Fq_Aq_representor_innerprods |
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 303 of file rb_evaluation.h.
| std::vector<Number> libMesh::RBEvaluation::Fq_representor_innerprods |
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 294 of file rb_evaluation.h.
| std::vector< RBParameters > libMesh::RBEvaluation::greedy_param_list |
The list of parameters selected by the Greedy algorithm in generating the Reduced Basis associated with this RBEvaluation object.
Definition at line 251 of file rb_evaluation.h.
| std::vector< std::vector< Number > > libMesh::RBEvaluation::output_dual_innerprods |
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 312 of file rb_evaluation.h.
| std::vector< DenseMatrix<Number> > libMesh::RBEvaluation::RB_Aq_vector |
Dense matrices for the RB computations.
Definition at line 264 of file rb_evaluation.h.
| std::vector< DenseVector<Number> > libMesh::RBEvaluation::RB_Fq_vector |
Dense vector for the RHS.
Definition at line 269 of file rb_evaluation.h.
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 259 of file rb_evaluation.h.
| std::vector< Real > libMesh::RBEvaluation::RB_output_error_bounds |
Definition at line 286 of file rb_evaluation.h.
| std::vector< std::vector< DenseVector<Number> > > libMesh::RBEvaluation::RB_output_vectors |
The vectors storing the RB output vectors.
Definition at line 279 of file rb_evaluation.h.
| std::vector< Number > libMesh::RBEvaluation::RB_outputs |
The vectors storing the RB output values and corresponding error bounds.
Definition at line 285 of file rb_evaluation.h.
The RB solution vector.
Definition at line 274 of file rb_evaluation.h.
A pointer to to the object that stores the theta expansion. This is not an UniquePtr since we may want to share it. (Note: a shared_ptr would be a good option here.)
Definition at line 340 of file rb_evaluation.h.
bool libMesh::RBParametrized::verbose_mode [inherited] |
Public boolean to toggle verbose mode.
Definition at line 172 of file rb_parametrized.h.